AlexNet
研究背景
ILSVRC
:大规模图像识别挑战赛
- 强大计算资源-
GPU
高性能计算计算资源使得大型神经网络可以加速训练
研究成果
AlexNet
在ILSVRC-2012
以超出第二名10.9
个百分点夺冠
研究意义
AlexNet
历史意义:
- 拉开卷积神经网络统治计算机视觉的序幕
- 加速计算机视觉应用的落地
AlexNet结构
网络连接方式
该网络(AlexNet
)由5
个卷积层和3
个全连接层构成,共计6000
万参数,65
万个神经元
LRN
只在第1
和第2
层ReLU
存在于所有的卷积层Max Pooling
只在第1
、第2
和第5
层
数据流计算
CONV1
Conv-ReLU-Pool-LRN
pytorch
在计算卷积后特征图分辨率的时候采用向下取整
参数计算公式:Fi * (Ks * Ks) * Kn + Kn
其中:Fi
:输入的图片的维度;Ks
:卷积核大小;Kn
:卷积核数量
卷积层1的连接参数:3 * (11 * 11) * 96 + 96 = 34,944
CONV2
Conv-ReLU-Pool-LRN
卷积层2的连接参数:96 * (5 * 5) * 256 + 256 = 614,656
CONV3
Conv-ReLU
卷积层3的连接参数:256 * (3 * 3)* 384 +384 = 885,120
CONV4
Conv-ReLU
卷积层4的连接参数:384 * (3 * 3) *384 + 384 = 1,327,488
CONV5
Conv-ReLU-Pool
卷积层5的连接参数:384 * (3 * 3) * 256 + 256 = 884,992
3个全连接层
在第5
个卷积层的输出,接3
个全连接层,分别卷积个数为:4096-4096-1000(softmax)
这里的1000
是因为ImageNet
的类别有1000
个,且输出的概率所以接一个softmax
FC-1的连接参数:6 * 6 * 256 * 4096 + 4096 = 37,752,832
FC-2的连接参数:4096 * 4096 +4096 = 16,781,312
FC-3的连接参数:4096 * 1000 + 1000 = 4,097,000
通过计算可知:整个网络参数最多的发生在全连接层,因此后续很多网络会根据这个缺点进行相应的改进
结构特点
AlexNet
在进行训练的时候分别采用了ReLU、LRN
以及Overlapping
ReLU
激活函数采用ReLU
函数 ,替换激活函数的优点:使网络训练的更快;防止梯度消失;使网络具有稀疏性
Overlappping Pooling
采用重叠卷积,分降低了0.4%
和0.3%
的top-1
和top-5
LRN
局部响应标准化:有助于AlexNet泛化能力的提升受真实神经元侧抑制的启发
侧抑制:细胞分化变化时,它会对周围细胞产生抑制信号,阻止它们向相同方向分化,最终表现为细胞命运不同
公式其实表达的就是:输出的数中如果旁边出现一个比较大的输出,那么就会对旁边产生较大的抑制
注:VGG
中已经证明LRN
无用
训练技巧
在训练模型的时候采用Data Augmentation
和Dropout
Data Augmentation
- 方法一:针对位置
训练阶段:
1.
图片统一缩放至256*256
;
2.
随机位置裁剪出224*224
区域;
3.
随机进行水平翻转
测试阶段:
1.
图片统一缩放至256*256
;
2.
裁剪出5
个224*224
区域
3.
均进行水平翻转,共得到10
张224*224
图片
- 方法二:针对颜色
通过PCA
方法修改RGB
通道的像素值,实现颜色扰动,效果有限,仅在top-1
提升1
个点
dropout
采用dropout
的方式去失活神经元从而防止容易出现过拟合的现象
注意事项:训练和测试两个阶段的数据尺度变化
实验结果及分析
1. 采用了卷积核可视化得出
- 卷积核呈现出不同的频率、方向和颜色
- 两个GPU还呈现分工学习
2. 特征相似性
- 相似图片的第二个全连接层输出特征向量的欧式距离相近