1.LeNet
C1层为卷积层,kernel size = 5 * 5,步长为1,无填充,生成6个feature map
S2层为降采样层,kernel size为2*2,长和宽的步长都为2,无填充。
C3层为卷积层,kernel size为5*5,步长为1,生成16个feature map。
S4层为降采样层,kernel size为2*2,长和宽的步长均为2,无填充
C5为卷积层,kernel size为5*5,步长为1,无填充。全连接生成120个feature map
F6层为全连接层
output层
应用:
LeNet5诞生于1994年,是最早的卷积神经网络之一。1998年,Yann LeCun,Leon Bottou,Yoshua Bengio和Patrick Haffner在发表的论文中回顾了应用于手写字符识别的各种方法,并用标准手写数字识别基准任务对这些模型进行了比较,结果显示卷积神经网络的表现超过了其他所有模型。
现在在研究中已经很少将LeNet使用在实际应用上,对卷积神经网络的设计往往在某个或多个方向上进行优化,如包含更少的参数(以减轻计算代价)、更快的训练速度、更少的训练数据要求等。
2.AlexNet
1第一个卷积层
输入的图片大小为227*227*3, 第一个卷积层为:11*11*3即卷积核尺寸为11*11,有96个卷积核,步长为4,卷积层后跟ReLU,因此输出的尺寸为 (227-11)/4+1=55,因此其输出的每个特征图 为 55*55*96,同时后面经过LRN层处理,尺寸不变。最大池化层,池化核大小为3*3,步长为2,输出的尺寸为 (55-3)/2+1=27,因此特征图的大小为:27*27*96。由于双gpu处理,故每组数据有27*27*48个特征图,共两组数据,分别在两个gpu中进行运算
2第二层卷积层
每组输入的数据为27*27*48,共两组数据,每组数据都被128个卷积核大小为: 5*5*48进行卷积运算,步长为1,尺寸不会改变,同样紧跟ReLU,和LRN层进行处理.最大池化层,核大小为3*3,步长为2,因此输出两组特征图:13*13*128
3第三层至第五层卷积层
输入的数据为13*13*128,共两组
第三层每组数据都被尺寸为 3*3*192的卷积核进行卷积运算,步长为1,加上ReLU,得到两组13*13*192的像素层
第四层经过padding=1填充后,每组数据都被尺寸大小为 3*3*192的卷积核卷积运算,步长为1,加上ReLU,输出两组13*13*192的像素层
第五层经过padding=1填充后,每组数据都被尺寸大小为 3*3*128的卷积核进行卷积运算,步长为1,加上ReLU,输出两组13*13*128的像素层
经过3*3池化窗口,步长为2,池化后输出两组6*6*256的像素层
4第六层至第八层全连接层
6层. 4096 个神经元+ ReLU
7层. 4096个神经元 + ReLU
8层. 1000 个神经元,最后一层为softmax为1000类的概率值.
应用:在imageNet2012的图片分类任务上,AlexNet以15.3%的错误率登顶,而且以高出第二名十几个百分点的差距吊打所有其他参与者。
多用于图片分类任务。
3.VGG
1、输入224x224x3的图片,经64个3x3的卷积核作两次卷积+ReLU,卷积后的尺寸变为224x224x64
2、作max pooling(最大化池化),池化单元尺寸为2x2(效果为图像尺寸减半),池化后的尺寸变为112x112x64
3、经128个3x3的卷积核作两次卷积+ReLU,尺寸变为112x112x128
4、作2x2的max pooling池化,尺寸变为56x56x128
5、经256个3x3的卷积核作三次卷积+ReLU,尺寸变为56x56x256
6、作2x2的max pooling池化,尺寸变为28x28x256
7、经512个3x3的卷积核作三次卷积+ReLU,尺寸变为28x28x512
8、作2x2的max pooling池化,尺寸变为14x14x512
9、经512个3x3的卷积核作三次卷积+ReLU,尺寸变为14x14x512
10、作2x2的max pooling池化,尺寸变为7x7x512
11、与两层1x1x4096,一层1x1x1000进行全连接+ReLU(共三层)
12、通过softmax输出1000个预测结果
应用:VGG多个迁移学习任务中的表现要优于GoogLeNet。
而且,从图像中提取CNN特征,VGG模型是首选算法。
4.ResNet
ResNet也就是深度残差网络,此论文《Deep Residual Learning for Image Recognition》是由何凯明大神2015年底提出的,要说它的最大特点的话,就是很深。并且一经出世,就在ImageNet中斩获图像分类、检测、定位三项的冠军。
ResNet正是有了这样的Skip Connection,梯度能畅通无阻地通过各个Res blocks。
即增加一个identity mapping(恒等映射),将原始所需要学的函数H(x)转换成H(x)=F(x)+x,把当前输出直接传输给下一层网络(全部是1:1传输,不增加额外的参数),相当于走了一个捷径,跳过了本层运算,同时在反向传播过程中,也是将下一层网络的梯度直接传递给上一层网络,这样就解决了深层网络的梯度消失问题。
这一想法也是源于图像处理中的残差向量编码,通过一个reformulation,将一个问题分解成多个尺度直接的残差问题,能够很好的起到优化训练的效果。
这个Residual block通过shortcut connection实现,通过shortcut将这个block的输入和输出进行一个element-wise的加叠,这个简单的加法并不会给网络增加额外的参数和计算量,同时却可以大大增加模型的训练速度、提高训练效果。
比较:
对比LeNet,AlexNet加入了:
(1)非线性激活函数:ReLU;
(2)防止过拟合的方法:Dropout,Data augmentation。同时,使用多个GPU,LRN归一化层。其主要的优势有:网络扩大(5个卷积层+3个全连接层+1个softmax层);解决过拟合问题(dropout,data augmentation,LRN);多GPU加速计算。
VGG-Net来自 Andrew Zisserman 教授的组 (Oxford),在2014年的 ILSVRC localization and classification 两个问题上分别取得了第一名和第二名,其不同于AlexNet的地方是:VGG-Net使用更多的层,通常有16-19层,而AlexNet只有8层。同时,VGG-Net的所有 convolutional layer 使用同样大小的 convolutional filter,大小为 3 x 3。