1 论文信息
题目:ImageNet Classification with Deep Convolutional Neural Networks
代码:Tensorflow复现,Pytorch复现
2 摘要
AlexNet 是 Hinton 与其学生 Alex 参加2012年 ILSVRC 竞赛金牌算法,top-5的错误率降为17.0%,使CNN成为图像分类任务的核心算法模型。
其主要创新在于非线性激活函数ReLU,局部响应归一化,dropout,多GPU训练。
3 方法论
3.0 网络结构
3.1 非线性激活函数ReLU
此前常用的激活函数是 sigmoid,其主要缺陷在于:输入值过大或过小时会出现饱和现象,即梯度消失。
本文引入了ReLU函数, f ( x ) = max ( 0 , x ) f(x)=\max (0, x) f(x)=max(0,x),如下图所示,其收敛速度要比 tanh 函数快得多。
3.2 多GPU训练
单个GPU的显存极大限制了网路的深度与宽度,采用多GPU训练可以极大提高网络的训练速度,也催生了更深更宽的网络模型。
3.3 局部响应归一化LRN
LRN是指被激活的神经元抑制相邻的神经元,目的是让每一个局部特征都得到缩小(缩小比例不一),提高泛化能力。公式如下:
b
x
,
y
i
=
a
x
,
y
i
/
(
k
+
α
∑
j
=
max
(
0
,
i
−
n
/
2
)
min
(
N
−
1
,
i
+
n
/
2
)
(
a
x
,
y
j
)
2
)
β
b_{x, y}^{i}=a_{x, y}^{i} /\left(k+\alpha \sum_{j=\max (0, i-n / 2)}^{\min (N-1, i+n / 2)}\left(a_{x, y}^{j}\right)^{2}\right)^{\beta}
bx,yi=ax,yi/⎝⎛k+αj=max(0,i−n/2)∑min(N−1,i+n/2)(ax,yj)2⎠⎞β
其中,
a
x
,
y
i
a_{x, y}^{i}
ax,yi表示第
i
i
i个卷积核在(x,y)处经卷积、池化、ReLU激活后的输出;
N
N
N是这一层卷积核的数目;
n
n
n表示同一位置临近卷积核的个数,是超参数,需提前设定;
k
,
α
,
β
k, \alpha, \beta
k,α,β都是超参数,需提前设定。
3.4 Dropout
dropout是指按照设定的概率随机将某个隐藏层神经元的输出设置为0,即此神经元不再参与前向传播与反向传播。目的是为了防止过拟合。