李飞飞计算机视觉-自用笔记(第四周)

9 CNN框架

9.1 LeNet-5

在这里插入图片描述
使用步长为1,大小为5 * 5的卷积核;下采样(池化层)步长为2,大小为2 * 2
[CONV-POOL-CONV-POOL-FC-FC]
LeNet在数字识别领域取得了成功,这个模型主要有两个思想
1.卷积,它的特点是局部感知和参数共享。局部感知对应着提取局部特征,具有很好的平移等变性。共享参数可以防止过拟合。
2.下采样,叫做pooling,用的比较多的是max pooling

9.2 AlexNet

在这里插入图片描述
输入图像:227 * 227 * 3
CONV1:96个步长为4,大小为11 * 11的卷积核;通过公式计算(227-11)/4+1=55,故
第一个卷积层输出数据大小:[55 * 55 * 96]
参数个数:[11 * 11 * 3 * 96] = 35K
POOL1:步长为2,大小为3 * 3的卷积核;通过公式计算(55-3)/2+1=27,同时池化层会保留上一层的数据深度故输出:[27 * 27 * 96]
参数个数:0
……
总结如下:
在这里插入图片描述
FC8会连接一个softmax函数,进行图像分类
细节:
1.首次使用ReLU激活
2.使用了局部响应归一化层
3.增加了大量数据
4.dropout按概率摒弃一些神经元
5.batch size 128
6.带有动量的SGD
7.初始学习率1e-2,每次到达极大值点后减小10倍,保持网络收敛直至训练结束
8.权重衰减
9.模型集成
注:早期GPU计算能力有限,故论文中初始将图像特征映射图拆分成两部分,分别进行计算,最后通过全连接层进行神经元合并

9.3 VGGNet

思想:小卷积核;深度增加(16-19层)
为什么保持使用小的卷积核?
可以得到比较少的参数;
可以尝试更深层的网络和更多的卷积核;
增加非线性映射。

VGG16:
在这里插入图片描述
注:内存消耗极大
VGG19与VGG16:
在这里插入图片描述
细节:
1.不需要局部响应归一化
2.使用模型集成
3.FC7的特征表达可以泛化用于其他任务

9.4 GoogLeNet

在这里插入图片描述
特点:
1.22层
2.高效的“Inception”模块
3.没有FC层
4.只有五百万个参数,远少于AlexNet
Inception模块的思想:
设计出一个局部网络拓扑结构,将其视为网络结构,然后堆放大量局部拓扑
在这里插入图片描述
上图表示对进入相同层的相同输入同时应用不同的卷积操作(1 * 1;3 * 3;5 * 5)和池化操作(3 * 3),如此便可以在不同层中得到不同的输出;将所有卷积核输出,并在深度层表面上串联在一起,输出一个张量,进入下一层。
问题:计算复杂,例如:
在这里插入图片描述
解决方法:
加入一层“bottleneck”(瓶颈层),在卷积运算之前降低特征图的维度
在这里插入图片描述

9.5 ResNet

残差网络具有152层,性能良好
当用普通的卷积神经网络堆叠越来越多的层数时,会发生什么?或者说只通过增加网络模型的深度来达到优化模型的效果可行吗?
答案是否定的,如下例:
在这里插入图片描述
无论是在训练集还是测试集上,56层的网络模型都不如20层的表现好
ResNet作者认为这是一个优化问题,即更深层次的网络要更加难以优化,通过构造解决方案,深层次模型至少能够表现得和较浅层次模型相同。
解决方法:不仅仅堆叠这些层次,而是让每一层都尝试学习一些所需函数的底层映射,使用模块尝试并拟合残差映射,而不是直接映射
在这里插入图片描述
注:左图中H(x)为学习目标,如果用普通的神经网络进行学习,网络可能需要很深的层次,但现在通过一种间接学习的方法,可以学习到与H(x)等价的内容,如右图F(x)就是我们所说的输入X与学习目标H(x)之间的残差

完整的残差结构:
1.残差块的堆叠
2.每个残差块有两个3 * 3的卷积层
3.定期地使用两倍数量的卷积核以步长为2进行下采样
4.网络开始的地方有额外的卷积层
5.网络的最后是没有全连接层的,只有一个全局的平均池化层
6.对于深度为50层以上的残差网络,通常也会加上瓶颈层
在这里插入图片描述
训练残差网络的实践中:
1.每个卷积层后使用批量正则化
2.使用Xavier初始化
3.SGD+动量

9.6 ResNet改进

改进了残差块,新的结构能够实现一种更直接的路径,以便于信息传播
在这里插入图片描述

Wide Residual Networks:
残差量是一个重要的影响因素,而非深度;所以使用了更宽的残差模块,意味着在每个卷积层有更多的卷积核
在这里插入图片描述

ResNext:在每个残差模块内建立多分支,分支的总和称为cardinality
在这里插入图片描述

随机深度改善残差网络:在训练时让网络“浅”一些,随机抛弃一些子层集
在这里插入图片描述

FractalNet:
1.残差不是网络中必须存在的因素,关键是高效地从浅层网络转型为深层网络
2.使用分形结构,同时存在浅层和深层路径到达输出值
3.dropout
在这里插入图片描述

DenseNet:
在每个密集区块内,每层都与其后的所有层以前馈形式相连接,因此对区块的输入也是对所有其他各卷积层的输入,此方法能缓解梯度消失的问题,因为这里用到了密度很高的连接,可以强化特征图的传递
在这里插入图片描述

SqueezeNet:关注网络的效率,由fire模块组成,每个fire模块都含有一个squeeze层和许多1 * 1的卷积核,传递给一个含有一些1 * 1和3 * 3的卷积核扩张的层;效率很高,参数很少
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值