都是一些比较基础的卷积神经网络,基本模块为 卷积层-池化层,最后加上FC(全连接层)层和softmax层。
LeNet又被称为LeNet5或者LetNet - 5模型,CNN网络的鼻祖。
LeNet的结构[1]如下图所示
AlexNet的结构[2]如下,与LeNet相比变得越来越深
残差网络中最重要的部分为残差块(Residual block),通过使用残差块,理论上可以让网络无限地加深,而不会使网络的效果变差。
残差块[4]的结构如下
假设残差块的输入为 a [ y ] a^{[y]} a[y],输出为 a [ y + 2 ] a^{[y+2]} a[y+2]则此残差块的数学表达式如下:
z [ y + 1 ] = W [ y + 1 ] a [ y ] + b [ y + 1 ] a [ y + 1 ] = g ( z [ y + 1 ] ) z [ y + 2 ] = W [ y + 2 ] a [ y + 1 ] + b [ y + 2 ] a [ y + 2 ] = g ( z [ y + 2 ] + a [ y ] ) z^{[y+1]} = W^{[y+1]}a^{[y]}+b^{[y+1]}\\ a^{[y+1]} = g(z^{[y+1]})\\ z^{[y+2]} = W^{[y+2]}a^{[y+1]}+b^{[y+2]}\\ a^{[y+2]} = g(z^{[y+2]} + a^{[y]}) z[y+1]=W[y+1]a[y]+b[y+1]a[y+1]=g(z[y+1])z[y+2]=W[y+2]a[y+1]+b[y+2]a[y+2]=g(z[y+2]+a[y])
其中 g ( x ) g(x) g(x)为ReLu激活函数。
左侧是普通(Plain)网络,右侧是添加了residual block后的残差网络[4]。
下图是论文作者的实验结果[4]
由论文中的实验结果可看出:在普通网络中有一最优的神经网络层数,比之更浅或者更深的网络的误差会增大;而残差网络的训练误差随着网络层数的增加而减小。
ResNet的宗旨就是没有最深,只有更深。
Inception模型有许多的变体,如Inception-V1、Inception-V2、Inception-V3、Inception-V4、Inception-ResNet-V1、Inception-ResNet-V2。
Inception Network通过将经过各种卷积核以及池化层处理后的图像堆叠在一起,通过神经网络自动学习卷积核以及池化层的权重,与之前的神经网络相比实现了网络自动选择卷积核的大小,以及是否选择进行最大池化。其中最主要的特点为使用了大小为1x1的卷积核。
下图是Inception Network中的基本模块[5],其中最重要的是使用了1x1的卷积核,这样卷积的目的是先用1x1的卷积核将通道数扩大,然后再使用其他大小的卷积核进行same模式(不改变特征图的尺寸)下的卷积。与不使用1x1的卷积核而直接使用其他大小的卷积核相比可以显著减少网络中参数的数量。其中Pool后面的1x1卷积核的作用是为了减少图片的通道数,从而达到减少神经网络参数数量的目的。
下图是GoogLeNet(Inception-V1)[6]的模型
可以看到,该模型有三个softmax的输出,softmax0和softmax1作为辅助分类器使用,与不使用辅助分类器相比准确率会高一点。实际上,辅助分类器是一种正则化方法,如果辅助分类器采用BN或者Dropout,主分类器(softmax2)的分类效果会更好,这也就证明了辅助分类器是一种正则化方法。
Inception-V2与Inception-V1相比添加了更多的卷积核,模型的结构[5]如下
其中:
figure 5
figure 6
figure 7
将Inception-V2中的辅助分类器中添加了BN(BatchNormalization)即为Inception-V3。
将Inception结构和残余连接相结合,通过残余连接加速Inception网络的训练。提出了两个Inception残余网络:Inception-ResNet-V1、Inception-ResNet-V2网络;一个Inception网络Inception-V4,证明了在算法开销相近时,残余Inception网络比没有残余连接的Inception网络的性能稍稍好一些。
[1] LeCun, Y.; Bottou, L.; Bengio, Y. & Haffner, P. (1998). Gradient-based learning applied to document recognition.Proceedings of the IEEE. 86(11): 2278 - 2324.
[2]Krizhevsky A, Sutskever I, Hinton G E. ImageNet classification with deep convolutional neural networks[C] International Conference on Neural Information Processing Systems. Curran Associates Inc. 2012:1097-1105.
[3] Simonyan K, Zisserman A. Very Deep Convolutional Networks for Large-Scale Image Recognition[J]. Computer Science, 2014.
[4] He, K., Zhang, X., Ren, S. and Sun, J., 2016. Deep residual learning for image recognition. In Proceedings of the IEEE conference on computer vision and pattern recognition (pp. 770-778).
[5] Szegedy C, Vanhoucke V, Ioffe S, et al. Rethinking the Inception Architecture for Computer Vision[C] IEEE Conference on Computer Vision and Pattern Recognition. IEEE Computer Society, 2016:2818-2826.
[6] Szegedy C, Liu W, Jia Y, et al. Going Deeper with Convolutions[J]. arXiv: Computer Vision and Pattern Recognition, 2014.