CNN学习笔记(二)

一、经典CNN网络结构

1.LeNet

LeNet-5是一种用于手写体字符识别的非常高效的卷积神经网络。

网络包括七层结构:

  • C1卷积层
  • S2下采样层
  • C3卷积层
  • S4下采样层
  • C5卷积层
  • F6全连接层
  • F7输出层
LeNet网络结构.png

2. AlexNet

 AlexNet是在LeNet的基础上加深了网络的结构,可以学习到更高维的图像特征。AlexNet包括8层权值网络层:五层卷积+三层全连接,使用了两块显卡训练了6天,在2012年ImageNet大赛上取得了冠军。

AlexNet网络在结构上的优化:

  • 引入了一种特殊的网络层次:Local Response Normalization(LRN,局部响应归一化),主要是对Relu激活后的输出进行局部归一化操作。

  • 每个卷积层使用了不同的滤波器进行卷积计算:
    第一层卷积核尺寸:11*11
    第二层卷积核尺寸:5*5
    第3~5层卷积核尺寸:3*3

  • 增加了Max Pooling层

  • 使用ReLu作为激活函数,替换了之前的sigmoid函数

  • 使用Dropout抑制过拟合

  • 使用了数据增强

  • 使用了带动量的SGD(momentum)

  • 多GPU训练

AlexNet络结构.png

3.ZFNet

在AlexNet的基础上,进行了微调:

  • 修改了滤波器尺寸和步长:
    第一层的滤波器- 尺寸从11*11 减小为 7*7
    第一层的步长(stride)从4降到2
  • 使用单GPU代替了AlexNet的双GPU结构

4.VGGNet

使用了非常统一的串行结构,是传统CNN神经网络中最优的模型。

网络特点:

  • 使用了更小的滤波器
  • 参数非常多:包含了1亿3千8百万参数
  • 使用了4个GPU训练了3个星期
  • 虽然是亚军,但是却非常普遍的用于特征提取/图像表达

总结:
\color{green}{VGG16网络就是:更小的卷积核尺寸,更深的网络结构。}

VGG网络结构.png

5.GoogleNet

 GoogleNet是基于Inception模块的深度神经网络模型。在2014年的ImageNet竞赛中夺得了冠军,在随后的两年中一直在改进,形成了Inception V2、Inception V3、Inception V4等版本。

网络特点:

  • 改变了CNN网络的串行结构,变为并行
  • 使用了Batch Normalization
  • 使用了Inception模块
  • 使用了图像增强、RMSprop优化器
  • 使用了比较小的滤波器,虽然有22层,但总参数只有4百万

\color{red}{Inception结构:}
 使用较大的卷积核往往意味着巨大的运算量,理论已经证明,往往可以通过几个较小的卷积核来代替较大的卷积核,从而使得计算量的下降。

1)Inception原始网络结构,将1x1,3x3,5x5的conv和3x3的pooling堆叠在一起,一方面增加了网络的宽度,另一方面增加了网络对尺度的适应性。

原始结构.png

2)Inception改进后的网络结构,借鉴了\color{purple}{NIN}的思想,在原先的卷积过程中使用1*1的卷积,通过减少通道数,以期达到减少参数计算量的目的。

改进的结构.png

* NIN(network-in-network)
1*1的卷积可以用来进行降维打破计算的瓶颈,同时也能增加网络的宽度,保持网络较高的性能。

* Inception结构参考链接:https://www.jianshu.com/p/d214112771b9

6.ResNet

  • 解决了深度神经网络的‘网络退化’问题
  • 解决了深度神经网络的梯度消失问题

残差结构:

残差结构.png

ResNet模块:

ResNet模块.png

ResNet网络结构:

ResNet网络.png

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容