CNN五大经典模型:Lenet(1986),Alexnet(2012),Googlenet(2014),VGG(2014),DRL(2015)。Alexnet对深度学习网络的发展起到了很大的作用。
Alexnet包含5个卷积层和3个全连接层。
一开始将图片下采样到256×256,为了减少图像数据过拟合,需要人为地放大数据集,第一种数据增强方式包括产生图像变换和水平翻转,从256×256图像上通过随机提取224 × 224的图像块,在测试时,网络会提取5个224 × 224的图像块(四个角上的图像块和中心的图像块)和它们的水平翻转(因此总共10个图像块)进行预测。
第一层卷积层:根据结构图以及上一段的描述,输入图像的尺寸为224×224×3,但实际上的输入尺寸为227×227×3,因为卷积核的尺寸为11×11,步长为4,(227−11+2×0)/4+1=55,若用224则不能整除。卷积核数为96个,因为多gpu训练,将96个卷积核分给了2个gpu,所以得到55×55×48×2,上面的48个卷积核在gpu1运行,下面的48个在gpu2运行,之后进行降采样处理(池化),采用重叠池化,尺寸为3×3,步长为2,(55-3)/2+1=27,即27×27,将此作为输入进行第二次卷积。
第二层卷积层:卷积核尺寸5×5,数量256,卷积时高度与宽度两边都填充2像素,步长为1,(27-5+2×2)/1+1=27,所以卷积后为27×27×128×2,再降采样,老样子采用重叠池化,尺寸为3×3,步长为2,(27-3)/2+1=13。
第三层卷积层:卷积核尺寸3×3,数量为384,卷积时高度与宽度两边都填充1像素,步长为1,,(13-3+2×1)/1+1=13,卷积后为13×13×192×2.
第四层卷积层:同上。
第五层卷积层:卷积成13×13×128×2后,降采样,(13-3)/2+1=6,即6×6,结果为6×6×128×2.
第六层全连接层:使用4096个神经元。
第七层全连接层:也使用4096个神经元进行全链接。
第八层全连接层:用1000个神经元全链接。
创新点:
(1) 用了两种独特的数据增强,第一种包括图像变换和水平翻转,第二种改变训练图像的RGB通道的强度。第一种方法就是随机地从256256的原始图像中截取224224大小的区域,即四个角上的图像块和中心的图像块,和它们的水平翻转,相当于增加了2*(256-224)^2=2048倍的数据量,使用了数据增强后可以大大减轻过拟合,提升泛化能力。
(2)GPU并行运算,当时的单个GTX580 只有3G显存,因为网络太大所以使用两个GPU,每个GPU放置一半的核,而且当时的GPU非常适合跨GPU并行,它们可以直接互相访问显存,不需要通过主机内存。
(3)使用了当时刚提出的dropout技术。
(4)采用了重叠池化,并且是最大池化,不是常用的均值池化,也有效减轻了过拟合。
(5)使用了局部响应归一化,使其中响应比较大的值变得相对更大,抑制其他反馈较小的神经元,以此提高泛化能力。
(6)使用均值为0,标准差为0.01的高斯分布对每一层的权重进行初始化,好的初始化参数, 能够加速收敛。
(7)权重衰减为0.0005,少量的权重衰减能减少模型训练误差。
(8)对所有的层使用相等的学习率,一开始设置学习率0.01,当验证误差在该学习率停止下降时,学习率除以10,同样操作,总共3三次。