发表位置:NIPS
发表时间: 2015
摘要
理论和经验证据表明,神经网络的深度是其成功的关键。然而,随着深度的增加,训练变得更加困难,非常深的网络训练仍然是一个开放的问题。在这里,我们介绍了一个旨在克服这一问题的新体系结构。
引言
近年来,许多有监督机器学习取得的突破性成就都是通过大型和深度神经网络实现的。网络深度可能是这些成功中最重要的角色。例如,在短短几年内,在1000类ImageNet数据集上,前5位图像分类精度从84% 提高到95%,使用的是具有较小接受域的更深层次网络。在实际机器学习问题上的其他结果也强调了更深层次网络在准确性和性能方面的优势 。非常深的网络训练仍然面临问题,尽管可能没有标准递归网络中梯度消失的问题那么基础。在传统的前馈网络架构中,几种非线性变换的叠加通常会导致激活和梯度的传播不佳。因此,对于各种各样的问题,仍然很难研究非常深的网络的好处。为了克服这一问题,作者受从长期短期记忆(LSTM)循环网络的启发,修改非常深的前馈网络的架构,使信息跨层流动变得更容易。
本文的贡献:
极深的公路网络可以直接使用随机梯度下降(SGD)来训练,而普通的网络则很难随着深度的增加而优化。计算预算有限的深度网络在转换为highway networks时也可以在单个阶段直接训练。
Highway Networks
普通的前馈神经网络,表示如下:
y = H(x,{W_H})$ (1)
其中, x x x表示网络的输入, y y y表示网络的输出, W H {W_H} WH表示网络的权重, H ( ) H() H()表示符合非线性激活函数的仿射变换。对于Highway Networks,作者又额外定义了两个非线性变换 T ( x , W T ) T(x,{W_T}) T(x,WT)和 C ( x , W C ) C(x,{W_C}) C(x,WC),即,
y = H ( x , W H ) ⋅ T ( x , W T ) + x ⋅ C ( x , W C ) y = H(x,{W_H}) \cdot T(x,{W_T}) + x \cdot C(x,{W_C}) y=H(x,WH)⋅T(x,WT)+x⋅C(x,WC) (2)
其中, T 表示 transform gate, C表示 carry gate。作者使用 C = 1 − T C=1-T C=1−T,则上述等式可以转化为,
y = H ( x , W H ) ⋅ T ( x , W T ) + x ⋅ C ( 1 − T ( x , W T ) ) y = H(x,{W_H}) \cdot T(x,{W_T}) + x \cdot C(1-T(x,{W_T})) y=H(x,WH)⋅T(x,WT)+x⋅C(1−T(x,WT)) (3)
其中,
x
x
x,
y
y
y,
H
(
x
,
W
H
)
H(x, {W_H})
H(x,WH)和
H
(
x
,
W
T
)
H(x, {W_T})
H(x,WT)的维度必须是相同的。需要注意的是,对于
T
T
T的某些特定值,
y
y
y的结果为,
同理可得层的雅可比矩阵:
(1)Constructing Highway Networks
如前所述,等式3要求 x , y , H ( x , W H ) x, y, H(x, WH) x,y,H(x,WH)和 T ( x , W r ) T(x, {W_r}) T(x,Wr)的维数相同。卷Convolutional highway layers使用权重共享和局部接受域进行 H H H和 T T T变换。我们对两者使用了相同大小的接受域和零填充,以确block state 和 transform gate feature的大小相同。
(2)Training Deep Highway Networks
本文使用的transform gate定义如下:
T ( x ) = σ ( W T T x + b T ) T(x) = \sigma ({{\rm{W}}_T}^Tx + {b_T}) T(x)=σ(WTTx+bT)
其中, W T {W_T} WT 表示 weight matrix and b T {b_T} bT表示 the bias vector for the transform gates。这意味着一个独立于 H H H, b t {b_t} bt可以被初始化为负值(例如-1、-3等),这样最初的网络就倾向于carry behavior。值得注意的是, σ ( x ) ∈ ( 0 , 1 ) , ∀ x ∈ R \sigma (x) \in (0,1),\forall x \in R σ(x)∈(0,1),∀x∈R,等式4的条件永远无法完全满足。
在我们的实验。我们发现对transform gates的偏置初始化为负值足以使训练在非常深的网络中进行,以适应 W H {W_H} WH的各种零均值初始分布和 H H H使用的不同激活函数。在预试实验中,SGD在超过1000层的网络中没有停止。虽然初始偏倚最好作为超参数处理,但作为一般指导,我们建议取值为-1,-2和-3为深度约为10、20和30的convolutional highway networks。
实验
所有的网络都使用带momentum的SGD进行训练。学习速率是从值 λ \lambda λ 开始根据 γ \gamma γ 的fixed schedule 调整。
λ \lambda λ, γ \gamma γ 和schedule 基于CIFAR-10数据集的验证集的性能选择的,在所有实验中保持固定。所有的convolutional highway networks均利用rectified linear activation function来计算block state H H H。