带你俯瞰经典CNN网络--AlexNet & VGG & GoogLeNet & ResNet一起和大佬们灵感互动
带你俯瞰经典CNN网络–AlexNet & VGG & GoogLeNet & ResNet一起和大佬们灵感互动
概述
本文主要目的是带各位小伙伴畅游一下经典的CNN网络发展历程,感受一下大佬的灵感闪光点,让我们对目前深度学习CNN的最新前沿技术发展有个上帝视角的了解。毕竟,关注这篇文章的小伙伴都是深度学习的爱好者,为了赶上技术发展,我们必须站在巨人的肩膀,知道什么是好的,可以直接用,什么是可以再优化的。
友情提醒,阅读本文需要一定CNN基础哦,这样食用风味更佳!
- 卷积核运算
- 池化操作运算
- 一定的网络结构整体观
- 深度学习的主要流程
(主要需要这些基础知识是为了能搞懂每一层神经网络的结构变化。)
经典CNN网络发展历程
AlexNet网络结构图
1整体感受一下网络结构
网络第一部分
网络第二部分
网络第三部分
网络第四部分
模型数据量分析
好玩的事ヾ(=・ω・=)o
小伙伴们可能已经发现啦,这个模型为啥分成了上下两条主线。。。
简单的说就是在当时环境下,模型一个显卡装不下,只能拿两个显卡一起上,这也是为难了当时的大佬们呀!
这也反应了一个事实呀,深度学习上世纪概念已经有了,但那时候如果说自己研究深度神经网络,就会被嘲笑很LOW,主要还是数据不到位,算力不够呀~
白嫖大佬们的闪光点
-
第一次使用RELU作为**函数
这个**函数目前都还在用哦,是相当棒的。
-
数据增强思想(现在都还在用)
-
使用了dropout思想(相当好用,现在也在用)
VGG模型网络结构图
1整体感受一下网络结构
白嫖大佬们的闪光点
核心贡献就是可以利用多个3x3的卷积核,代替5x5的卷积核,能大大缩减计算量。
GoogLeNet网络结构
1整体感受一下网络结构
白嫖大佬们的闪光点
googLeNet创新点就是提出了一种多卷积核的组合模型,核心思想就是不需要人为限制死卷积核的大小,可以多种组合,让机器自己学习选择用什么尺寸。
还有一个巨大贡献就是使用1x1的卷积,咋一看没用,实际上能够减轻模型的数据量,在现在轻度模型使用很多。
Batch Normalization(匹归一化) 现在也在用的一种手段
核心思想就是虽然一开始已经进行归一化,但计算过程中,会改变数值的分布,在计算过程中及时进行归一化,有利于中间的计算。
使用全局平均池化GAP代替全连接,直接减少了全连接层带来的模型体积剧增的问题。(目前算是一个针对自己模型小小改进)
ResNet网络结构
1整体感受一下网络结构
白嫖大佬们的闪光点
ResNet网络最大的贡献点就是使用了残差网络–加快了收敛速度
解决了反向传播不稳定的问题,虽然RELU已经部分解决了梯度消失的问题,但反向传播的性能真的在深度学习中影响很大