[论文笔记]Layer Normalization

引言

这是论文神作Layer Normalization的阅读笔记。训练深层神经网络是昂贵的,减少训练时间的一种方法是归一化神经元的激活。

批归一化(Batch normalization,BN)利用小批量的训练样本中神经元累加输入的分布来计算均值和方差,然后用这些统计量来对每个训练样本中神经元的累加输入进行归一化。这种技术显著地减少了前馈网络的训练时间。然而,批归一化的效果依赖于小批量大小,并且效果在RNN网络上不明显。

本文将批归一化转换成层归一化(Layer normalization, LN),通过计算单个训练样本中一个层的所有神经元的输入的均值和方差用于归一化,将批归一化转换为层归一化。

类似批归一化,作者也为每个神经元分配一个自适应的偏差(bias)和增益(gain),它们应用在归一化之后非线性激活之前。与批归一化不同的是,层归一化在测试和训练时进行完全相同的计算。通过单独地在每个时间步计算归一化统计,也可以直接应用到RNN中。层归一化在RNN中非常有效,可以稳定隐藏状态的动态变化。

简介

批归一化被提出来通过在深度神经网络中包含额外的归一化阶段来减少训练时间。归一化通过使用训练数据中每个批次输入的均值和标准差来标准化每个输入。使用批归一化训练的前馈神经网络即使使用简单的随机梯度下降(SGD)也可以更快地收敛。除了改善训练时间外,批统计数据的随机性在训练过程中充当了一种正则化器。

尽管批归一化方法简单,但它需要计算累加输入统计量的移动平均值。在具有固定深度的前馈网络中,可以简单地为每个隐藏层单独存储统计数据。然而,在循环神经网络(RNN)中,循环神经元的累加输入通常会随着序列的长度而变化,因此对RNN应用批归一化似乎需要为不同的时间步骤

你可能感兴趣的:(论文翻译/笔记,论文阅读)