本篇博客用于记载CNN发展中的一些典型模型
经典模型
1. LeNet-5

任务:手写数字识别
激活函数:tanh和sigmoid
2. AlexNet

激活函数:ReLu(相比于tanh,错误率达到25%的时间缩减为1/6)
重叠池化(Overlapping Pooling):步长小于kernel大小,可以缩减过拟合的可能性。
数据增强:
- 256x256的图像从四周和中间分别截取224x224的图像,放入模型中进行训练,并将得到的softmax结果进行取平均值。
- 对每个像素点的RGB三通道的数值构成的向量加入以下向量
p:特征向量
λ lambda λ:特征值
α alpha α:满足均值为0,标准差为0.1高斯分布的随机变量
Dropout:每次前向传播时,按0.5的概率使神经元的输出为0。使用之后可以使训练误差减小,但是会使迭代次数几乎double

训练细节:
- 权重的更新加入0.0005的衰退,可以减少训练误差

- 初始化权重值为均值0,标准差0.01的随机变量
- 初始化2,4,5层卷积层的bias为1,可以给Relu函数一个正值输入,加速训练。其余层bias为0
已舍弃部分:
- GPU发展还不够,所以每层都用了多个GPU进行联动
- 特殊层:局部相应归一层(LRN)—对
3. VGG-16

特点:模型结构简单,更关注卷积层,参数数目庞大
ResNet(残差神经网络)

特点:通过跳跃连接的方式,该网络由一个个残差块组成
优点:相比于一般的网络,残差网络对于层数较深的情况一样会保持错误率不断下降,而不同于普通网络,随着层数的加深会导致错误率先下降后上升。
1*1卷积的意义
对于单层的输入而言,1*1的卷积实现的只是每个像素点乘上一个系数,没有太多实际作用。但对于多层的输入而言,它可以实现不同层数据之间的线性组合。

作用:
- 在大小不变的情况下,减少通道数,可以大大减小运算的时间成本。
- 增加网络复杂性(将下图的32filters改为192fliters)。

使用瓶颈层加快运算
处理好的话,不会影响性能,并且能够节约时间成本。

Inception模块


特点:不需要去选定卷积核的大小,可以各个大小都做,并且将他们如上图一样连接起来,让神经网络来学习所需参数以及所要用到的卷积核大小。
Inception网络
实际上就是多个Inception模块的连接

MobileNets
深度可分离卷积
相比于一般的卷积,先深度卷积再单点卷积的方式可以提高约10倍的效率。

MobileNet的架构
整体架构:网络由多个以下的模块连接而成。

Bottleneck:MobileNetV2相比于V1的一个改进,这样的操作不但可以增强网络的性能(中间放大的部分相当于放大了特征),并且不增加内存的负担,因为该模块的输入输出的数据大小保持一致。

EfficientNet
作用:按照需求调节网络的deepth和width,即调整网络的大小。
…持续更新
最后
以上就是孤独帅哥最近收集整理的关于CNN学习笔记(二):经典模型的全部内容,更多相关CNN学习笔记(二)内容请搜索靠谱客的其他文章。

发表评论 取消回复