Understanding and Improving Layer Normalization | NIPS 2019 论文解读

本文对NIPS 2019录用的论文Understanding and Improving Layer Normalization做出详细的解读,敬请批评指正。

点击下载论文

点击下载论文解读电子书

摘要:这项研究针对的是目前非常常用的技术layer normalization (LN)。LN类似于batch normalization,也是一种深度学习的归一化的技巧。LN主要作用于层的维度,一般对神经网络中间层的表示的分布进行归一化。尤其在最近大火的Transformer等模型中,LN起到非常重要的作用。然而,一直以来我们并不知道为什么LN有效。这篇文章则对LN的作用进行了研究。作者们认为,前向归一化并非LN起作用的唯一因素,均值和方差也是重要原因。它们改变了后向梯度的中心和范围。同时,作者还发现,LN的参数,包括bias和gain,并非总是能够提升模型表现,甚至它们可能会增加过拟合的风险。因此,为了解决这个问题,作者们提出了自适应的LN(简称AdaNorm)。AdaNorm将LN中的bias和gain替换成线性映射函数的输出。这个函数能够自适应地根据不同的输入调整权重。作者们在七个数据集上做了实验都表明AdaNorm能够取得更好的效果。同时可以看到,AdaNorm缓解了过拟合的问题,并且给训练带来更好的收敛效果。

一、引言

继BN之后,学术界提出了LN,针对的是RNN模型,后来科研人员发现LN对于基于自注意力的模型非常有效。典型的例子就是LN在Transformer中的大量使用。LN帮助更快地训练Transformer模型。然而,LN的成功一直是个疑问。一种解释是前向归一化提升了分布的稳定性,但最新研究则表明BN的效果和输入分布的稳定性没有关系,而是让优化的损失更加平滑。大家依然不清楚为何LN有效。

在这项工作中,作者通过分析提出了几个重要的观点,并提出了一种新的归一化的方法。作者们指出,前向归一化、以及均值和方差的导数都对LN非常重要。前向归一化并非成功的唯一因素。作者们通过一种叫DetachNorm的方法,说明了均值和方差的导数的重要性。作者们还指出,因为LN的参数,包括bias和gain,会提升过拟合的风险,它们并非总是对模型起到正向作用。实验表明,将bias和gain从LN中去掉并步总是会影响模型表现。通过对比分析不同情况下的损失函数曲线,作者们认为bias和gain会增加过拟合的风险。

因此作者们提出了AdaNorm的方法,下文将会对AdaNorm做详细的介绍。

二、Layer Normalization和相关实验数据集

LN类似于BN,可以用比较简单的式子表达:
Understanding and Improving Layer Normalization | NIPS 2019 论文解读

其中的b和g则是文章中提到的bias和gain。

在这里先简单介绍一下实验用的数据集,后面的分析与之相关。本研究在5个任务上的7个数据集做了实验,其中包括机器翻译的IWSLT 14 德语英语翻译和IWSLT 15英语越南语翻译、语言模型的Enwiki8、文本分类的IMDB、RT和SST2、图片分类的MNIST以及句法分析的PTB。

三、如何理解LN

作者们采用ablation study(模型简化测试)的方式,去分析LN中每个部份的作用。下表列举了相关的实验结果:

Understanding and Improving Layer Normalization | NIPS 2019 论文解读

首先从这个表不难看出,LN对于模型的重要性不可言喻,有LN的模型相比baseline有比较大的提高。然而有趣的是,去掉bias和gain并没有对模型表现造成明显的损害,甚至有的能够提升表现。这说明bias和gain并不总是带来正向的影响。作者观察模型的训练过程发现,bias和gain可能会提升过拟合的风险,结果如下图所示:

Understanding and Improving Layer Normalization | NIPS 2019 论文解读

接下来作者们探讨前向归一化的作用。为了检验前向归一化,作者提出一种叫DetachNorm的方法,它让LN的均值和方差的梯度在反向传播过程中不回传,结果如下图所示:

Understanding and Improving Layer Normalization | NIPS 2019 论文解读

从上述结果可以看出,前向归一化和均值方差的导数都在LN中起到重要的作用。甚至可以发现,后者的重要性更大。于是作者们接着探讨均值方差的导数,通过理论论证结合相关实验的方式说明,均值的梯度能让梯度的中心调整到0,方差的梯度则减小方差的大小。总结而言,LN将前向的输入和后向的梯度做了归一化。

四、AdaNorm

针对上述的分析,作者们提出一个新的归一化的方案,即自适应的LN。这个方法能够自适应地根据不同的输入控制权重。下面介绍一些这个方法的核心部分的内容:

Understanding and Improving Layer Normalization | NIPS 2019 论文解读

其中z为AdaNorm的输出,y为归一化后的向量表示。与LN不同的是,AdaNorm用一个线性映射的函数代替了原来的bias和gain。作者又通过推导的方式指出,函数可以写为:

Understanding and Improving Layer Normalization | NIPS 2019 论文解读

其中k推荐设为1/10,而C则为超参数,并且C(1-ky)的梯度不会在反向传播中回传。

作者们在上述的数据集上做了实验对比LN和AdaNorm的效果,结果如图:

Understanding and Improving Layer Normalization | NIPS 2019 论文解读

上述结果表明,AdaNorm相比LN在实验中能帮助模型取得更好的表现。同时,作者展示了LN和AdaNorm的损失曲线,表明AdaNorm能够缓解过拟合的问题,如图所示:

Understanding and Improving Layer Normalization | NIPS 2019 论文解读

五、总结

本篇文章主要对LN展开研究,探讨了为何LN能够有效。作者表明,LN的成功源自于前向归一化的过程以及均值方差的导数,同时表明bias和gain可能会提升过拟合的风险。针对这个问题,作者提出解决方案AdaNorm,将bias和gain修改为自适应于输入的函数,并通过实验证明它能比LN取得更好的效果。

上一篇:linux常用的操作命令


下一篇:迫于压力 Win8提供浏览器选择更新