____________________________________________________________________________

层归一化

________________________________________________________
Jimmy Lei Ba
University of Toronto
jimmy@psi.toronto.edu

Jamie Ryan Kiros
University of Toronto
rkiros@cs.toronto.edu

Geoffrey E. Hinton
University of Toronto
and Google Inc.
hinton@cs.toronto.edu

摘要

训练最先进的深度神经网络的计算成本很高。 减少训练时间的一种方法是对神经元的激活进行归一化。 最近引入的一种称为批归一化的技术使用一个神经元输入的加权和在一个小批次的训练样本上的分布来计算均值和方差,然后用来归一化该神经元在每个训练样本上输入的加权和。 这大大减少前馈神经网络的训练时间。 但是,批归一化的效果取决于小批次的大小,如何将其应用于递归神经网络尚不明显。 在本文中,我们将批归一化转换为层归一化,计算在单个 训练样本上一层中所有神经元输入加权和的归一化均值和方差。 与批归一化一样,我们为每个神经元提供自己的自适应偏差和增益,在归一化之后在非线性之前应用。 与批归一化不同,层归一化在训练和测试时间执行完全相同的计算。 通过在每个时间步分别计算归一化统计量,将其应用于递归神经网络也很简单。 层归一化在稳定循环网络中的隐藏状态动态方面非常有效。 从经验上讲,我们表明与以前发布的技术相比,层归一化可以大大减少训练时间。

1 简介

在计算机视觉 [Krizhevsky 等人,2012] 和语音处理 [Hinton 等人,2012] 中,使用某种形式的随机梯度下降训练深度神经网络已被证明在各种监督学习任务上大大优于以前的方法。 但是最新的深度神经网络通常需要几天的训练。 通过在不同机器上计算训练案例不同子集的梯度,或者将神经网络本身拆分在许多机器上,可以加快学习速度 [Dean 等人,2012],但这可能需要大量的通信和复杂的软件。 随着并行化程度的增加,它也往往会导致收益迅速降低。 一个正交的方法是修改神经网前向通道中执行的计算,以使学习更容易。 最近,[Ioffe 和 Szegedy,2015] 提出批归一化,通过在深度神经网络中加入额外的归一化阶段来减少训练时间。 这种归一化使用其在整个训练数据中的平均值和标准差对每个输入加权和进行标准化。 即使使用简单的 SGD,使用批归一化训练的前馈神经网络也可以更快地收敛。 除了改善训练时间外,批统计的随机性还可以作为训练期间的一种正则化器。

尽管简单,但批归一化需要对输入加权和统计运行平均。 在深度固定的前馈网络中,直接为每个隐藏层分别存储统计信息很简单。 但是,递归神经网络(RNN)中递归神经元的输入加权和通常随序列的长度而变化,因此将批归一化应用于 RNN 似乎需要针对不同的时间步长进行不同的统计。 此外,批归一化不能应用于在线学习任务或批次必须很小的超大型分布式模型。

本文引入层归一化,一种提高各种神经网络模型训练速度的简单归一化方法。 与批归一化不同,我们提出的方法从隐藏层内神经元的输入加权和直接估算归一化统计量,因此归一化不会在训练样本之间引入任何新的依存关系。 我们表明,层归一化对 RNN 效果很好,并且改善了几种现有 RNN 模型的训练时间和泛化性能。

2 背景

前馈神经网络是从输入模式 x 到输出向量 y 的非线性映射。 考虑深度前馈神经网络中的第 lth 隐藏层,并将 al 设为该层神经元输入加权和的向量表示。 输入加权和的计算通过权重矩阵 Wl 和底层传送的输入 hl 进行线性投影,并由下列等式给出:

(1)

其中 f() 是逐元非线性函数,wil 是 第 ith 个隐藏单元的权重,bil 是标量偏置参数。 使用基于梯度的优化算法学习神经网络中的参数,并通过反向传播计算梯度。

深度学习的挑战之一是,一层中权重的梯度高度依赖于前一层中神经元的输出,尤其是如果这些输出以高度相关的方式变化时。 [Ioffe and Szegedy,2015] 提出批归一化以减少这种不希望的“协变量偏移”。 该方法对训练案例中每个隐藏单元输入的加权和进行归一化。 具体来说,对于第 lth 层中的第 ith 个输入的加权和,批归一化方法会根据数据分布的方差重新缩放输入的加权和

(2)

其中 ail 是第 lth 层第 ith 个隐藏单元输入的归一化加权和,gi 是在非线性激活函数之前缩放归一化激活的增益参数。 注意这里的期望是整个训练数据分布的期望。 计算等式 (2) 中的期望值通常是不切实际的,因为它需要使用当前的权重集遍历整个训练数据集。 取而代之的是,使用来自当前小批次的经验样本来估算 μσ 这对批次的大小有所约束,并且难以应用于递归神经网络。

3 层归一化

现在我们考虑层归一化方法,该方法旨在克服批归一化的缺点。

请注意,一层输出的变化将趋向于导致对下一层输入的加权和发生高度相关的变化,特别是对于 ReLU 单元,其输出会发生很大变化。 这表明可以通过固定每一层中输入加权和的均值和方差来减少“协变量偏移”问题。 因此,我们可以如下计算同一层中所有隐藏单元的层归一化统计信息:

(3)

其中 H 表示一个网络层中隐藏单元的数量。 等式 (2) 和等式 (3) 之间的区别是在层归一化下,一个网络层中所有隐藏单元共享相同的归一化项 μσ,但是不同的训练样本具有不同的归一化项。 与批归一化不同,层归一化不会对批次大小施加任何限制,并且可以在批次大小为 1 的纯在线环境中使用。

3.1 递归神经网络的层归一化

最近的序列到序列模型 [Sutskever 等人,2014] 利用紧凑型递归神经网络解决自然语言处理中的序列预测问题。 在 NLP 任务中,对于不同的训练案例,通常有不同的句子长度。 在 RNN 中,这很容易处理,因为在每个时间步都使用相同的权重。 但是,当我们以常见的方式将批归一化应用于 RNN 时,我们需要为序列中的每个时间步计算并存储单独的统计信息。 如果测试序列长于任何训练序列,则会遇到问题。 层归一化不存在此类问题,因为其归一化项仅取决于当前时间步一层输入的加权和。 它还只有一组增益和偏置参数,在所有时间步中共享。

在一个标准 RNN 中,递归网络层中输入的加权和是从当前输入 xt 和前一个隐藏状态 ht1 的向量计算得到的,而前一个隐藏状态是用 at =Whhht1 +Wxhxt 计算得到的。 层归一化的递归层使用类似于等式 (3) 的额外归一化项重新定中和重新缩放其激活:

(4)

其中 Whh 是递归隐藏层到隐藏层的权重,Wxh 是输入到隐藏层的权重。 是两个向量之间的逐元素乘法。 bg 定义为与 ht 尺寸相同的偏置和增益参数。

在标准 RNN 中,递归单元输入加权和的平均幅度在每个时间步都有增长或缩小的趋势,导致梯度爆炸或消失。 在层归一化的 RNN 中,归一化项使其对一层输入的所有加权和重新缩放保持不变,从而使隐藏到隐藏的动态更加稳定。

4 相关工作

批归一化业已扩展到递归神经网络 [Laurent 等人,2015,Amodei 等人,2015,Cooijmans 等人,2016]。 先前的工作 [Cooijmans 等人,2016] 建议通过保持每个时间步独立归一化统计信息来获得最佳的递归批归一化性能。 作者表明,将递归批归一化层中的增益参数初始化为 0.1 会对模型的最终性能产生重大影响。 我们的工作还与权重归一化有关 [Salimans 和 Kingma,2016]。 在权重归一化中,使用输入权重的 L2 范数代替方差来归一化神经元输入的加权和。 将统计量期望应用到权重归一化或批归一化等效于对原始前馈神经网络进行不同的参数化。 路径归一化的 SGD 研究了 ReLU 网络中的重新参数化 [Neyshabur 等人,2015]。 但是,我们提出的层归一化方法不是对原始神经网络进行重新参数化。 因此,层归一化模型具有与其他方法不同的不变性,我们将在下一节中研究它。

5 分析

在本节中,我们研究不同归一化方案之间的不变性。

5.1 权重和数据转换下的不变性

我们提出的层归一化与批归一化和权重归一化有关联性。 尽管它们的归一化标量的计算方法不同,这些方法可以概括为通过两个标量 μσ 将神经元输入的加权和 ai 归一化。 在归一化后,它们还学习每个神经元的一个自适应偏差 b 和增益 g

(5)

注意,对于层归一化和批归一化,μσ 根据等式 23 计算。 在权重归一化中,μ 为 0,σ = w2

1 突出显示三种归一化方法的以下不变性结果。








Weight matrix Weight matrix Weight vector Dataset Dataset Single training case
re-scaling re-centering re-scaling re-scaling re-centering re-scaling














Batch norm Invariant No Invariant Invariant Invariant No
Weight norm Invariant No Invariant No No No
Layer norm Invariant Invariant No Invariant No Invariant







表 1:归一化方法下的不变性。

权重重新缩放和重新对中: 首先,观察到在批归一化和权重归一化下,对单个神经元的输入权重 wi 的任何重新缩放都不会对一个神经元的归一化输入加权和产生影响。 确切地说,在批归一化和权重归一化下,如果权重向量按 δ 进行缩放,则两个标量 μσ 也将缩放 δ 归一化后的输入加权和在缩放前后保持不变。 因此,批归一化和权重归一化对于权重的重新缩放是不变的。 另一方面,层归一化对于单个权重向量的单独缩放不是不变的。 相反,层归一化对于整个权重矩阵的缩放是不变的,对于权重矩阵中所有输入权重的转移是不变的。 假设有两组模型参数 θθ,它们的权重矩阵 W W 相差一个缩放因子 δW 中所有的输入权重还偏移一个常值向量 γ,即 W= δW + 1γ 在层归一化下,两个模型有效地计算相同的输出:

(6)

请注意,如果仅在权重之前对输入应用归一化,则模型将不会对权重的重新缩放和重新对中保持不变性。

数据重新缩放和重新对中: 通过验证神经元输入的加权和在数据集重新缩放这种变化下保持恒定,我们可以证明所有归一化方法对于数据集重新缩放都是不变的。 此外,层归一化对于单个训练样本的重新缩放是不变的,因为等式 (3) 中的归一化标量 μσ 仅取决于当前输入数据。 x' 为通过 δ 重新缩放 x 而获得的新数据点。 那我们有

(7)

很容易看到重新缩放单个数据点不会改变层归一化下模型的预测。 类似于层归一化中权重矩阵的重新对中,我们还可以证明批归一化对于数据集的重新对中是不变的。

5.2 学习过程中参数空间的几何原理

我们研究了参数重新定中和重新缩放后模型预测的不变性。 但是,即使模型表达相同的底层函数,学习在不同的参数设置下也可能表现出很大的差异。 在本节中,我们将通过参数空间的几何形状和流形来分析学习行为。 我们表明归一化标量 σ 可以隐式降低学习率并使学习更加稳定。

5.2.1 黎曼度量

统计模型中的可学习参数形成一个平滑的流形,该流形由模型的所有可能的输入-输出关系组成。 对于输出为概率分布的模型,测量此流形上两点分离的自然方法是模型输出分布之间的Kullback-Leibler散度。 在KL散度度量下,参数空间是黎曼流形。

黎曼流形的曲率完全由其黎曼度量捕获,其二次形式表示为 ds2 那是参数空间中某个点处切线空间中的无穷小距离。 直观地,它测量沿切线方向从参数空间输出的模型的变化。 先前已经有人研究 KL 下的黎曼度量 [Amari,1998],并证明使用 Fisher 信息矩阵在二阶泰勒展开下可以很好地近似:

(8)
(9)

其中,δ 是对参数的微小变化。 上面的黎曼度量表示参数空间的几何视图。 以下对黎曼度量的分析提供了一些有关标准化方法如何有助于训练神经网络的见解。

5.2.2 归一化广义线性模型的几何原理

我们将几何分析的重点放在广义线性模型上。 以下分析的结果可以轻松地应用于理解与Fisher信息矩阵具有块对角近似的深层神经网络,其中每个块对应于单个神经元的参数。

广义线性模型(GLM)可以看作是使用权重向量 w 和偏差标量 b 对指数族的输出分布进行参数化。 为了与前面的部分保持一致,可以使用输入加权和 a 表示 GLM 的对数似然,如下所示:

(10)
(11)

where, f() is the transfer function that is the analog of the non-linearity in neural networks, f() is the derivative of the transfer function, η() is a real valued function and c() is the log partition function. ϕ是一个定标输出方差的常数。 Assume a H-dimensional output vector y = [y1,y2,,yH] is modeled using H independent GLMs and log P(y|x; W,b) = i=1H log P(yi|x; wi,bi). 假设 W 为权重矩阵,它的每一行是各个 GLM 的权重向量,b 表示长度为 H 的偏置,vec() 表示 Kronecker 向量运算符。 The Fisher information matrix for the multi-dimensional GLM with respect to its parameters θ = [w1,b1,,wH,bH] = vec([W,b]) is simply the expected Kronecker product of the data features and the output covariance matrix:

(12)

我们通过 μσ 对原模型中的输入加权和 a 应用归一化方法得到归一化的 GLM。 Without loss of generality, we denote F as the Fisher information matrix under the normalized multi-dimensional GLM with the additional gain parameters θ = vec([W,b,g]):

F(θ) = , Fij = E xP(x) (13)
χ i = x . (14)

通过权重向量的增长来隐式降低学习率: 请注意,与标准GLM相比,沿权重矢量w i方向的块F ij增益参数和归一化标量σ i 如果权重向量w i的范数增长两倍,即使模型的输出保持不变,则Fisher信息矩阵也会不同。 沿w i方向的曲率将改变倍,因为σ i将也要大一倍 结果,对于归一化模型中的相同参数更新,权重向量的范数有效地控制了权重向量的学习率。 在学习过程中,很难以较大的范数来改变权重向量的方向。 因此,归一化方法对权重向量具有隐式的“尽早停止”作用,有助于稳定学习趋于收敛。

学习输入权重的大小: 在归一化模型中,输入权重的大小由增益参数明确设定。 我们比较模型输出在更新归一化GLM中的增益参数与在学习过程中原始参数化下更新等效权重的大小之间的变化。 沿F中的增益参数的方向捕获传入权重大小的几何形状。 我们显示,沿着标准GLM的输入权重的黎曼度量通过其输入范数进行缩放,而学习批次归一化和层归一化模型的增益参数仅取决于预测误差的大小。 因此,与标准模型相比,在归一化模型中学习输入权重的大小对于输入及其参数的缩放更为健壮。 有关详细推导,请参见附录。

6 实验结果

我们对 6 个任务进行层归一化的实验,重点是递归神经网络:图像-句子排名、问题回答、上下文语言建模、生成式模型、手写序列生成和 MNIST 分类。 除非另有说明,否则层归一化的默认初始化是在实验中将自适应增益设置为 1,将偏差设置为 0

6.1 图像和语言的 order embedding

(a) Recall@1
(b) Recall@5
(c) Recall@10
 
图 1:使用和不使用层归一化的 order-embedding Recall@K 曲线。










MSCOCO









Caption Retrieval Image Retrieval
Model R@1 R@5 R@10 Mean r R@1 R@5 R@10 Mean r


















Sym [Vendrov et al., 2016] 45.4 88.7 5.8 36.3 85.8 9.0
OE [Vendrov et al., 2016] 46.7 88.9 5.7 37.9 85.9 8.1
OE (ours) 46.6 79.3 89.1 5.2 37.8 73.6 85.7 7.9
OE + LN 48.5 80.6 89.8 5.1 38.9 74.3 86.3 7.6









表 2:图片标题和图像检索 5 个测试集的平均结果。 R@K 是指 Recall@K(越高越好)。 Mean r 是平均排名(越低越好)。 Sym 对应于对称基线,而 OE 表示 order-embedding。

在此实验中,我们将层归一化应用于最近提出的 order-embedding 模型,由 Vendrov 等人 [2016] 用于学习图像和句子的联合嵌入空间。 我们遵循与 Vendrov 等人 [2016] 相同的实验设置并修改他们公开的 Theano 源码来融入层归一化 1 [Team 等人, 2016]。 来自 Microsoft COCO 数据集 [Lin 等人,2014]的图像和句子被嵌入到公共向量空间中,其中 GRU [Cho 等人,2014] 用于对句子进行编码,经过预训练的 VGG ConvNet [Simonyan 和 Zisserman,2015](10-crop)的输出用于对图像进行编码。 Order-embedding 模型将图像和句子表示为 2 级局部排序,并使用一个不对称的函数取代余弦相似度评分函数 Kiros 等人 [2014]。

我们训练了两个模型:基线 order-embedding 模型以及将层归一化应用于 GRU 的相同模型。 每隔 300 次迭代后,我们会根据保留的验证集计算 Recall@K(R@K)值,并在 R@K 有所改善时保存模型。 然后在 5 个独立的测试集上评估性能最佳的模型,每个测试集包含 1000 张图像和 5000 个标题,并报告其平均结果。 两种模型都使用Adam [Kingma 和 Ba,2014],它们具有相同的初始超参数,并且两种模型都使用与 Vendrov 等人 [2016] 相同的模型结构。 我们请读者参阅附录,以了解如何将层归一化应用于GRU。

1 说明使用和不使用层归一化的模型验证集曲线。 我们为图像检索任务绘制了 R@1,R@5 和 R@10。 我们观察到每次迭代层归一化在所有指标上都能提供加速,并在基线模型所需时间的 60% 内收敛到其最佳验证集模型。 在表 2 中,报告测试集的结果,从中我们观察到层归一化还可以提高原始模型的泛化能力。 我们报告的是 RNN 嵌入模型的最先进结果,其中只有结构保留模型 Wang 等人 [2016] 报告了此任务更好的结果。 但是,他们在不同条件下进行评估(1 个测试集而不是 5 个的平均值),因此不能直接比较。

6.2 教机器阅读理解

图 2:注意力阅读理解模型的验证集曲线。 BN 结果取自 [Cooijmanset 等人,2016]。

为了将层归一化与最近提出的递归批归一化 [Cooijmans 等人,2016] 进行比较,我们在 CNN 语料库上训练了单向注意力阅读模型,两者均由 Hermann 等人 [2015] 提出。 这是一个问答任务,其中有关段落的查询描述必须通过填写空白来回答。 数据没有公开,为实体提供随机词符以防止退化的解决方案,这些解决方案在训练和评估过程中始终会发生排列变化。 我们遵循 Cooijmans 人 [2016] 提出的实验设置并修改他们公开的 Theano [Team 等人,2016] 代码来融入层归一化 2 我们的预处理数据集来自 Cooijmans 等人 [2016],它与原始实验 Hermann 等人 [2015] 不同,因为每个段落最多只能包含4个句子。 Cooijmans 等人 [2016],使用了两种递归批归一化的变体:其中一种BN 仅应用于LSTM,而另一种在整个模型中的所有地方都应用 BN。 在我们的实验中,我们仅在LSTM中应用层归一化。

实验结果如图2所示。 我们观察到层归一化不仅训练得更快,而且比基准和 BN 变体在验证集上收敛到更好的结果。 Cooijmans 等人 [2016],认为必须仔细选择 BN 中的缩放参数,并在他们的实验中将其设置为 0.1。 我们用标量 1.0 和 0.1 初始化进行层归一化实验,发现前一个模型的性能明显更好。 这表明层归一化不像递归 BN 那样对初始的缩放敏感。 3

6.3 Skip-thoughts 向量

(a) SICK(r)
(b) SICK(MSE)
(c) MR
 
(d) CR
(e) SUBJ
(f) MPQA
图 3:使用和不使用层归一化作为训练迭代函数的 skip-thought 向量在下游任务上的性能。 Original 行是 [Kiros 等人,2015] 中报告的结果。 误差图使用 10-fold 交叉验证。 Best seen in color.

Skip-thoughts [Kiros 等人,2015] 是用于学习无监督分布式句子表示的 skip-gram 模型[Mikolov 等人,2013] 的泛化。 给定连续文本,使用编码器 RNN 对句子进行编码,并使用解码器 RNN 预测周围的句子。 Kiros 等人 [2015] 表明,该模型可以产生通用的句子表示形式,可以很好地完成多项任务,而无需进行微调。 但是,训练此模型非常耗时,需要几天的训练才能产生有意义的结果。

Method SICK(r) SICK(ρ) SICK(MSE) MR CR SUBJ MPQA
Original [Kiros et al., 2015] 0.848 0.778 0.287 75.5 79.3 92.1 86.9
Ours 0.842 0.767 0.298 77.3 81.8 92.6 87.9
Ours + LN 0.854 0.785 0.277 79.5 82.6 93.4 89.0
Ours + LN 0.858 0.788 0.270 79.4 83.1 93.7 89.3
 
表 3:Skip-thoughts 的结果。 前两列指示 Pearson 和 Spearman 相关性,第三列是均方误差,其余列指示分类准确性。 对于 MSE(MSE)以外的所有评估,越高越好。 我们的模型训练了 1M 次迭代,但(†)训练了1个月(大约 1.7M 次迭代)

在此实验中,我们确定归一化层可以加速训练到什么效果。 使用公开的代码 Kiros 等人 [2015] 4 ,我们在 BookCorpus 数据集[Zhu 等人,2015] 上训练了两个模型:一个有层归一化和一个没有。 这些实验是由 Theano [Team 等人,2016] 实现的。 我们遵循 Kiros 等人 [2015] 的实验设置,训练具有相同超参数的 2400 维句子编码器。 给定所使用状态的大小,可以想象的是,层归一化将产生比没有归一化更慢的每次迭代更新。 但是,我们发现,如果使用 CNMeM 5 ,则两个模型之间没有显着差异。 我们每 50,000 次迭代后都会对这两个模型进行检查,并在五个任务上评估它们的性能:语义相关性(SICK)[Marelli 等人,2014],电影评论情感(MR)[Pang 和 Lee,2005],客户产品评论(CR)[Hu 和 Liu,2004],主观/客观性分类(SUBJ)[Pang 和 Lee,2004 ] 和意见的极性(MPQA)[Wiebe 等人,2005]。 我们在所有任务上为每个检查点绘制两种模型的性能,以确定使用 LN 是否可以提高性能。

实验结果如图 3所示。 我们观察到,应用层归一化的结果既比基线加快了速度,也在 1M 迭代后得到了更好的最终结果,如表 3 所示。 我们还让带有层归一化的模型总共训练了一个月,从而使除一项任务外的所有任务都获得了进一步的性能提升。 我们注意到原始报告结果与我们报告结果之间的性能差异可能是由于以下事实:公开的代码没有在解码器的每个时间步都判断,而原始模型却会如此。

6.4 使用 DRAW 建模二值 MNIST

图4:DRAW 模型在使用和不使用层归一化时测试集的负对数似然性。

我们还对 MNIST 数据集进行生成式建模实验。 之前深度循环注意力书写器(DRAW)[Gregor 等人,2015] 在建模 MNIST 数字的分布上取得最先进结果。 该模型使用差分注意力机制和递归神经网络顺序生成图像片段。 我们使用 64 个 glimpses 和 256 个 LSTM 隐藏单元评估 DRAW 模型的层归一化效果。 使用 Adam [Kingma 和 Ba,2014] 优化器的默认设置和批次大小 128 训练模型。 关于二值 MNIST 之前公开的结果使用各种训练设置来生成其数据集。 在此实验中,我们使用 Larochelle 和 Murray [2011] 的固定二值化。 该数据集分为 50,000 个训练图像,10,000 个验证图像和 10,000 个测试图像。

4 显示前 100 个周期的测试变体界限。 它突出了应用层归一化的提速优势,即层归一化的 DRAW 收敛速度几乎是基线模型的两倍。 经过 200 个周期后,基线模型在测试数据上收敛到 82.36 纳特的变异对数似然,层归一化模型获得 82.09 纳特。

6.5 手写序列生成

图 5:使用和不使用层归一化的手写序列生成模型的负对数似然。 使用最小批量大小为8和序列长度为500的模型进行训练。

先前的实验主要检查长度在10到40之间的NLP任务上的RNN。 为了显示在更长序列上进行层归一化的有效性,我们使用IAM在线手写数据库[Liwicki and Bunke,2005]执行了手写生成任务。 IAM-OnDB由从221位不同作家那里收集的手写行组成。 给定输入字符串后,目标是预测白板上相应手写线的x和y笔坐标的序列。 共有12179个手写行序列。 输入字符串通常超过25个字符,平均手写行的长度约为700。

我们使用了与Graves [2013]的第(5.2)节中相同的模型架构。 该模型体系结构由400个LSTM单元的三个隐藏层组成,它们在输出层和大小为3的输入层上生成20个二元高斯混合分量。 字符序列使用一键式矢量进行编码,因此窗口矢量的尺寸为57。 窗口参数使用10个高斯函数的混合,需要30号参数向量。 重量总数增加到大约370万。 该模型使用大小为8的迷你批次和Adam [Kingma and Ba,2014]优化器进行训练。

小型批次的大小和非常长的序列的结合使得拥有非常稳定的隐藏动态非常重要。 5显示,层归一化收敛到与基线模型相当的对数似然,但速度更快。

6.6 置换不变MNIST

除了RNN,我们还研究了前馈网络中的层归一化。 我们展示了如何对经过精心研究的置换不变MNIST分类问题的层归一化与批归一化进行比较。 根据先前的分析,层归一化对于输入重新缩放是不变的,这对于内部隐藏层是理想的。 但这对于logit输出是不必要的,因为logit的比例决定了预测置信度。 我们仅将层归一化应用于排除最后一个softmax层的完全连接的隐藏层。

图6:置换不变MNIST 784-1000-1000-10模型的负对数似然率和测试误差以及层归一化和批次归一化。 (左)训练模型的批次大小为128。 (右)以4的批量大小训练模型。

所有模型都使用55000个训练数据点和Adam [Kingma and Ba,2014]优化器进行了训练。 对于较小的批次大小,使用无偏估计量计算批次归一化的方差项。 6 的实验结果表明,与对所有层应用的批归一化相比,层归一化对批大小具有鲁棒性,并且显示出更快的训练收敛性。

6.7 卷积网络

我们还尝试了卷积神经网络。 在我们的初步实验中,我们观察到层归一化比不进行归一化的基准模型提供更快的速度,但是批归一化的性能优于其他方法。 对于完全连接的层,层中的所有隐藏单元都倾向于对最终预测做出相似的贡献,并且将一层输入的加权和重新对中和重新缩放效果很好。 但是,对于卷积神经网络,类似贡献的假设不再成立。 接收场位于图像边界附近的大量隐藏单元很少打开,因此其统计量与同一层中的其余隐藏单元非常不同。 我们认为需要进一步研究以使层归一化在ConvNets中正常工作。

7 结论

在本文中,我们引入层归一化来加速神经网络的训练。 我们提供理论分析,将层归一化与批归一化和权重归一化的不变性进行了比较。 我们显示层归一化对于单个训练样本的特征平移和缩放都是不变的。

根据经验,我们表明循环神经网络从所提出的方法中获益最大,尤其是对于长序列和较小的批次。

致谢

这项研究受到 NSERC、CFI 和 Google 的资助。

参考资料

   Alex Krizhevsky, Ilya Sutskever, and Geoffrey E Hinton. Imagenet classification with deep convolutional neural networks. In NIPS, 2012.

   Geoffrey Hinton, Li Deng, Dong Yu, George E Dahl, Abdel-rahman Mohamed, Navdeep Jaitly, Andrew Senior, Vincent Vanhoucke, Patrick Nguyen, Tara N Sainath, et al. Deep neural networks for acoustic modeling in speech recognition: The shared views of four research groups. IEEE, 2012.

   Jeffrey Dean, Greg Corrado, Rajat Monga, Kai Chen, Matthieu Devin, Mark Mao, Andrew Senior, Paul Tucker, Ke Yang, Quoc V Le, et al. Large scale distributed deep networks. In NIPS, 2012.

   Sergey Ioffe and Christian Szegedy. Batch normalization: Accelerating deep network training by reducing internal covariate shift. ICML, 2015.

   Ilya Sutskever, Oriol Vinyals, and Quoc V Le. Sequence to sequence learning with neural networks. In Advances in neural information processing systems, pages 3104–3112, 2014.

   César Laurent, Gabriel Pereyra, Philémon Brakel, Ying Zhang, and Yoshua Bengio. Batch normalized recurrent neural networks. arXiv preprint arXiv:1510.01378, 2015.

   Dario Amodei, Rishita Anubhai, Eric Battenberg, Carl Case, Jared Casper, Bryan Catanzaro, Jingdong Chen, Mike Chrzanowski, Adam Coates, Greg Diamos, et al. Deep speech 2: End-to-end speech recognition in english and mandarin. arXiv preprint arXiv:1512.02595, 2015.

   Tim Cooijmans, Nicolas Ballas, César Laurent, and Aaron Courville. Recurrent batch normalization. arXiv preprint arXiv:1603.09025, 2016.

   Tim Salimans and Diederik P Kingma. Weight normalization: A simple reparameterization to accelerate training of deep neural networks. arXiv preprint arXiv:1602.07868, 2016.

   Behnam Neyshabur, Ruslan R Salakhutdinov, and Nati Srebro. Path-sgd: Path-normalized optimization in deep neural networks. In Advances in Neural Information Processing Systems, pages 2413–2421, 2015.

   Shun-Ichi Amari. Natural gradient works efficiently in learning. Neural computation, 1998.

   Ivan Vendrov, Ryan Kiros, Sanja Fidler, and Raquel Urtasun. Order-embeddings of images and language. ICLR, 2016.

   The Theano Development Team, Rami Al-Rfou, Guillaume Alain, Amjad Almahairi, Christof Angermueller, Dzmitry Bahdanau, Nicolas Ballas, Frédéric Bastien, Justin Bayer, Anatoly Belikov, et al. Theano: A python framework for fast computation of mathematical expressions. arXiv preprint arXiv:1605.02688, 2016.

   Tsung-Yi Lin, Michael Maire, Serge Belongie, James Hays, Pietro Perona, Deva Ramanan, Piotr Dollár, and C Lawrence Zitnick. Microsoft coco: Common objects in context. ECCV, 2014.

   Kyunghyun Cho, Bart Van Merriënboer, Caglar Gulcehre, Dzmitry Bahdanau, Fethi Bougares, Holger Schwenk, and Yoshua Bengio. Learning phrase representations using rnn encoder-decoder for statistical machine translation. EMNLP, 2014.

   Karen Simonyan and Andrew Zisserman. Very deep convolutional networks for large-scale image recognition. ICLR, 2015.

   Ryan Kiros, Ruslan Salakhutdinov, and Richard S Zemel. Unifying visual-semantic embeddings with multimodal neural language models. arXiv preprint arXiv:1411.2539, 2014.

   D. Kingma and J. L. Ba. Adam: a method for stochastic optimization. ICLR, 2014. arXiv:1412.6980.

   Liwei Wang, Yin Li, and Svetlana Lazebnik. Learning deep structure-preserving image-text embeddings. CVPR, 2016.

   Karl Moritz Hermann, Tomas Kocisky, Edward Grefenstette, Lasse Espeholt, Will Kay, Mustafa Suleyman, and Phil Blunsom. Teaching machines to read and comprehend. In NIPS, 2015.

   Ryan Kiros, Yukun Zhu, Ruslan R Salakhutdinov, Richard Zemel, Raquel Urtasun, Antonio Torralba, and Sanja Fidler. Skip-thought vectors. In NIPS, 2015.

   Tomas Mikolov, Kai Chen, Greg Corrado, and Jeffrey Dean. Efficient estimation of word representations in vector space. arXiv preprint arXiv:1301.3781, 2013.

   Yukun Zhu, Ryan Kiros, Rich Zemel, Ruslan Salakhutdinov, Raquel Urtasun, Antonio Torralba, and Sanja Fidler. Aligning books and movies: Towards story-like visual explanations by watching movies and reading books. In ICCV, 2015.

   Marco Marelli, Luisa Bentivogli, Marco Baroni, Raffaella Bernardi, Stefano Menini, and Roberto Zamparelli. Semeval-2014 task 1: Evaluation of compositional distributional semantic models on full sentences through semantic relatedness and textual entailment. SemEval-2014, 2014.

   Bo Pang and Lillian Lee. Seeing stars: Exploiting class relationships for sentiment categorization with respect to rating scales. In ACL, pages 115–124, 2005.

   Minqing Hu and Bing Liu. Mining and summarizing customer reviews. In Proceedings of the tenth ACM SIGKDD international conference on Knowledge discovery and data mining, 2004.

   Bo Pang and Lillian Lee. A sentimental education: Sentiment analysis using subjectivity summarization based on minimum cuts. In ACL, 2004.

   Janyce Wiebe, Theresa Wilson, and Claire Cardie. Annotating expressions of opinions and emotions in language. Language resources and evaluation, 2005.

   K. Gregor, I. Danihelka, A. Graves, and D. Wierstra. DRAW: a recurrent neural network for image generation. arXiv:1502.04623, 2015.

   Hugo Larochelle and Iain Murray. The neural autoregressive distribution estimator. In AISTATS, volume 6, page 622, 2011.

   Marcus Liwicki and Horst Bunke. Iam-ondb-an on-line english sentence database acquired from handwritten text on a whiteboard. In ICDAR, 2005.

   Alex Graves. Generating sequences with recurrent neural networks. arXiv preprint arXiv:1308.0850, 2013.

补充材料

层归一化在每个实验中的应用

本节介绍如何将层归一化应用于每篇论文的实验。 为了方便表示,我们将层归一化定义为映射LN 的函数: D → t5> D具有两组自适应参数,增益α和偏差β

其中,z i是向量zi th元素。

用于读取和理解以及手写序列生成的教学机

用于这些实验的基本LSTM方程为:

融入层归一化的版本如下:
其中α i β i分别是加法和乘法参数。 每个α i初始化为零的向量,每个β i初始化为1的向量。

Order embeddings 和 skip-thoughts

这些实验使用门控循环单元的变体,其定义如下:

层归一化的应用如下:
和以前一样,α i初始化为零向量,每个β i初始化为向量的。

使用DRAW对二值化MNIST进行建模

在此实验中,层范数仅适用于LSTM隐藏状态的输出:

合并图层归一化的版本如下:

其中α β分别是加法和乘法参数。 α初始化为零的向量,而β初始化为零的向量。
了解输入权重的大小

现在,我们比较梯度下降如何更新归一化GLM和原始参数化之间等效权重的变化量。 使用归一化模型中的增益参数显式地设置权重的大小。 假设有一个梯度更新,将权向量的范数更改了δ g 我们可以将梯度更新投影到普通GLM的权重向量。 归一化模型的KL度量(即,梯度更新在多大程度上改变了模型预测)仅取决于预测误差的大小。 特别,

批归一化:

ds2 = vec([0,0g])F(vec([W,b,g])vec([0,0 g]) = δgE xP(x)δg. (32)

底层标准化:

ds 2 = vec([0,0g])F(vec([W,b,g])vec([0,0 g]
= δg E xP(x)δg (33)

权重归一化:

ds2 = vec([0,0g])F(vec([W,b,g])vec([0,0 g]
= δg ExP(x)δg. (34)

而标准GLM中的KL指标与其活动a i = w i x,这取决于其当前权重和输入数据。 We project the gradient updates to the gain parameter δgi of the ith neuron to its weight vector as δgi in the standard GLM model:

vec([δgi,0gj,0])F([w i,b i,wj,b j])vec([δ gi,0gj,0])
= ExP(x) (35)

因此,批归一化模型和层归一化模型比标准模型对输入及其参数的缩放更健壮。