ImageNet Classification with Deep Convolutional Neural Networks
基于深度卷积神经网络的图像分类
目录
论文结构:
摘要: 介绍背景及提出AlexNet模型
1. Introduction: 研究的成功得益于大量数据及高性能GPU;介绍本论文主要贡献
2. The Dataset: ILSVRC数据集简介;图片预处理细节
3. The Architecture: AlexNet网络结构及内部细节:Relu、GPU、LRN、Overlapping Pooling
4. Reducing Overfitting: 防止过拟合技术,数据增强和Dropout
5. Details of learning: 实验超参数设置:超参调整,权重初始化
6. Results: AlexNet比赛指标、成绩及详细设置
6.1 Qualitative Evaluations: 实验探究,分析卷积核模式,模型输出合理性,高级特征的相似性
7. Discussion: 强调网络结构之间的强关联,提出进一步研究方向
一、AlexNet网络结构(论文中3的第一段)
① 五个卷积层+三个全连接层 连接方式:
conv1->Relu->Pool->LRN
像素变化 224×224->55×55->27×27
conv2->Relu->Pool->LRN
像素变化 27×27->27×27->13×13
conv3->Relu
conv4->Relu
conv5->Relu->Pool
像素变化 13×13->6×6
② 特征图计算
公式:O=(I-K+2P)/S+1
K:卷积核大小,P:像素,S:步长
以第一层卷积层为例计算:
conv1:11×11,stride=4,96kernels
(224-11+2×2)/4+1=55
∴卷积层之后,224×224×3->55×55×96
max pool:3×3,stride=2
(55-3)/2+1=27
∴经过池化后,55×55×96->27×27×96
###③参数量计算
I*(K*K)*N + N’
权重:
I*(K*K)*N;Bias数量:N’
I:前一层通道数, K*K:卷积核大小, N:卷积核数量(输出通道数)
二、结构特点(论文中的3.1-3.4)
① ReLU非线性(论文中3.1)
因为不饱和,所以训练会比tanh、sigmoid要快
优点:
1 使网络训练更快
2 防止梯度消失(因为不饱和)
3 使网络具有稀疏性(负半轴为0)
②多GPU进行训练(论文中3.2 )
将网络分布在2个GPU上,双GPU在第三个卷积层进行信息交互
③LRN局部响应标准化(论文中3.3 )
相当于侧抑制,有助于提升AlexNet的泛化能力
分母越大,经过LRN的神经元激活值就越小,因此实现了对神经元的抑制。LRN对周围神经元产生抑制,防止向相同方向分化。
bx,y^i:经过LRN的神经元激活值
ax,y^i:原始神经元激活值
k=2,n=5,α=10^-4,β=0.75,N是最内存向量的列数
在feature map中,从第0列~第N-1列,中间第i列channel
在求和的多项式中,0和N-1的作用是 防止计算超出特征图边界
通过 ±n/2 体现周围区域,范围从i-n/2到i+n/2
④ Overlapping Pooling 带重叠的池化 (论文中3.4 )
s:池化步长 z:滑动窗口大小
通常s=z,不会重叠
当s<z时,带重叠,论文中将参数设置为s=2,z=3,在输出维度相同的情况下,可以降低错误率,而且更难过拟合。
三、训练技巧(论文中的4.1-4.2)
① Data Augmentation 数据增强(论文中的4.1)
优点:快,不需要大量计算,可以在训练中实现大量计数。
方法一:针对位置
训练阶段:
256×256随机裁剪出224×224,再水平翻转。—>实现扩增2048倍
256-224=32 有32个不同的像素点,长和宽两个维度,扩增了32*32=1024倍,水平翻转后,1024*2=2048倍。
测试阶段:
256×256在四个角和中心的图像块,取5个224×224—>扩增10倍
方法二:针对色彩——图片色彩扰动
RGB通道上的数据进行PCA,对参数进行扰动。
色彩发生微小变化,来实现图像数据增强,增加图像的多样性。(仅在top-1提升1个百分点,效果不够明显)
②Dropout 随机失活(论文中的4.2 )
使weight=0,实现different models,每次输入时,神经网络会采用不同的架构,但所有架构共享权重,因此神经元被强迫学习更鲁棒的特征。
训练和测试的数据尺度变化:
测试时,神经元输出值×0.5(因为dropout以0.5的概率对每个隐藏层神经元的输出设为0)
四、实验结果及分析(论文中的6)
① 改进思路
1CNN->5CNNs->1CNN*->7CNNs* 错误率越来越小
其中:* 表示预训练
1CNN:训练一个AlexNet
5CNNs:训练五个AlexNet取平均值
1CNN*:在最后一个池化层后,加第6个卷积层,并用ImageNet数据集上进行预训练
7CNNs*:2个预训练微调与5CNNs取平均值
②卷积核可视化(论文6.1的前两段)
(1) 卷积核呈现不同的频率、方向、颜色
(2) 2个GPU分工学习
比如,GPU1学习方向和频率,GPU2学习色彩。并且与随机权重初始化无关。
选择第一个卷积层的卷积核可视化的原因:
(1)kernel size是11×11,比较大,所以可视化后可以看到内容。
(2)最底层的特征,没有那么抽象,接近人眼可以观察到的特征。
③ 特征相似性(论文6.1的第三段)
相似图片的第二个全连接层输出特征向量的欧氏距离相近。
2个4096特征计算欧氏距离比较复杂,若基于这两个4096特征,代替原始图像,去训练一个自编码器来压缩特征向量,会更高效。
因为维度下降了,但是不损失相似性。–>可以用来做图像检索
图像检索过程:
在原始图片上先auto-encoder,用AlexNet在原图上提取4096个特征,再做图像检索后面的工作。大大降低了复杂度,还加快了运算。
五、论文探讨(论文的7)
① 网络结构有相关性,不能轻易移掉某个卷积层
② 未来方向:用视频的数据训练更大的卷积神经网络。(因为视频的时序结构会提供非常有帮助的信息)
六、论文总结
关键点: 算料采用了ImageNet数据集,算力使用的高性能计算资源GPU,算法使用的AlexNet算法模型。
创新点:
(1)采用ReLU加快大型神经网络训练
(2)采用LRN提升网络泛化能力
(3)采用overlapping pooling提升指标
(4)采用数据增强增加数据多样性
(5)采用Dropout减轻过拟合
备用参考文献知识点:
(1)图片缩放先缩放短边
Given a rectangular image, we first rescaled the image such that the shorter side was of length 256, and then cropped out the central 256×256 patch from the resulting image.(论文中的2的第3段)
(2)相似图片具有相近的高级特征
If two images produce feature activation vectors with a small Euclidean sepofaration, we can say that the higher levels the neural network consider them to be similar.(论文中6.1的第3段)
(3)图像检索可基于高级特征,效果应该优于基于原始图像
This should produce a much better image retrieval method than applying autoencoders to the raw pixels.(论文6.1的第4段)
(4)网络结构具有相关性,不可轻易移除某一层
It is notable that our network’s performance degrades if a single convolutional layer is removed.(论文中7的第1段)
(5)采用视频数据,可能有新突破
retrieval method than applying autoencoders to the raw pixels.(论文6.1的第4段)
(4)网络结构具有相关性,不可轻易移除某一层
It is notable that our network’s performance degrades if a single convolutional layer is removed.(论文中7的第1段)
(5)采用视频数据,可能有新突破
Ultimately we would like to use very large and deep convolutional nets on video sequences.(论文中7的第2段)