目录
本章将会介绍几个典型的卷积神经网络模型来帮助我们加深对知识的了解。
1 典型网络模型
LeNet-5提出于1998年,它是第一个成功应用于数字识别问题的卷积神经网络。
上图展示了 LeNet-5模型的结构,其顺序一般是CONV layer->POOL layer->CONV layer->POOL layer->FC layer->FC layer->OUTPUT layer。这个模型包含了大约6万个参数。
上图是AlexNet模型结构,类似于LeNet-5模型,其包含了大约六千万个参数。
这是VGG-16模型,它的卷积核尺寸为,步长为1,采用same padding,使用最大池化,尺寸为
,池化步长为2 ,有多达一亿三千万个参数。
2 残差网络
1 残差网络结构
神经网络的层数越多,由于梯度爆炸和梯度消失,整个模型也就越难训练,现在有一种解决方法,类似于数据旁路技术,人为的让神经网络某些层跳过下一层的神经元链接,隔层相连,弱化相邻层之间的联系,这种神经网络就是残差网络。
残差网络由许多隔层相连的神经元模块,叫做残差块,单个残差块的结构如下所示:
图像中很明显的看出,skip connection直接建立了 与
之间的联系:
实践证明这种模型对于训练非常深的神经网络会有很好的效果,整个网络结构如下所示
与之对应的我们称非残差网络为普通网络,与普通网络相比残差网络有效避免了梯度爆炸和梯度消失的发生
2 残差网络原理
从上图中可以看出,输入x经过很多层神经网络后输出 ,此时的权重参数W和偏置参数b均已趋近于零,因此由
很明显即使发生了梯度消失,残差网络同样可以建立起从 到
的直接线性联系,削弱了某些神经元的联系,从而使模型本身可以容忍更深层次的神经网络了,当然,如果忽略short cut,也可以训练得到非线性关系。
为了保证 到
的维度相同,需要引入矩阵
与
相乘从而与
的维度保持一致,对于矩阵
的获取,既可以作为学习参数通过训练得到,也可以作为单位矩阵,不经过训练,使其仅仅作为截断或补零作用得到。
残差网络同类型层之间大多使用same类型,不同类型,如卷积层到池化层之间,可以使用矩阵
3 网络中的网络和1×1卷积
1×1卷积也称网络中的网络,这种结构的特点是卷积核的维度是1×1,对于单个卷积核而言,也就是说卷积操作等同于乘积操作。
对于多个卷积核,1×1卷积类似于全连接层,它可以用来缩减输入图片的通道数
4 Inception网络
之前学习中卷积核的尺寸都是固定的,1x1,3x3,5x5等等,而Inception就是在单层网络上使用多个不同尺寸的卷积核进行same卷积,然后把所有输出拼接,同时还可以把卷积层和池化层混合,同时实现各种效果。
Inception网络的优点在于将所有功能输出组合拼接,再由神经网络本身去学习参数并选择最好的模块。
虽然Inception网络会提升性能但是计算量很大:28x28x32x5x5x192=120m
为此可以引入1x1卷积来降低计算量:28x28x16x192+28x28x32x5x5x16=12.4m
通常把引入的1x1卷积层称为瓶颈层,引入1x1卷积后总计算量大大减少。
5 数据增强
大部分CV问题需要大量数据,为了获取足够的数据,可以使用数据增强方法,通常的数据增强方法包括镜像和随机裁剪
另外一种方法是色彩转换,也就是对图片的RGB通道数值进行随机增减
除了改变通道数之外,还可以进行图片色彩主成分分析,采用高斯扰动来增加样本数量。