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

简介: 作者们认为,前向归一化并非LN起作用的唯一因素,均值和方差也是重要原因。它们改变了后向梯度的中心和范围。同时,作者还发现,LN的参数,包括bias和gain,并非总是能够提升模型表现,甚至它们可能会增加过拟合的风险。因此,为了解决这个问题,作者们提出了自适应的LN(简称AdaNorm)。AdaNorm将LN中的bias和gain替换成线性映射函数的输出。这个函数能够自适应地根据不同的输入调整权重。作者们在七个数据集上做了实验都表明AdaNorm能够取得更好的效果。同时可以看到,AdaNorm缓解了过拟合的问题,并且给训练带来更好的收敛效果。

本文对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,可以用比较简单的式子表达:
image.png

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

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

三、如何理解LN

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

image.png

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

image.png

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

image.png

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

四、AdaNorm

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

image.png

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

image.png

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

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

image.png

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

image.png

五、总结

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

相关文章
|
机器学习/深度学习 搜索推荐 算法
Learning Disentangled Representations for Recommendation | NIPS 2019 论文解读
近年来随着深度学习的发展,推荐系统大量使用用户行为数据来构建用户/商品表征,并以此来构建召回、排序、重排等推荐系统中的标准模块。普通算法得到的用户商品表征本身,并不具备可解释性,而往往只能提供用户-商品之间的attention分作为商品粒度的用户兴趣。我们在这篇文章中,想仅通过用户行为,学习到本身就具备一定可解释性的解离化的用户商品表征,并试图利用这样的商品表征完成单语义可控的推荐任务。
23765 0
Learning Disentangled Representations for Recommendation | NIPS 2019 论文解读
|
3月前
|
Python
[Knowledge Distillation]论文分析:Distilling the Knowledge in a Neural Network
[Knowledge Distillation]论文分析:Distilling the Knowledge in a Neural Network
24 1
|
机器学习/深度学习 PyTorch 测试技术
SegNeXt: Rethinking Convolutional Attention Design for Semantic Segmentation 论文解读
我们提出了SegNeXt,一种用于语义分割的简单卷积网络架构。最近的基于transformer的模型由于在编码空间信息时self-attention的效率而主导了语义分割领域。在本文中,我们证明卷积注意力是比transformer中的self-attention更有效的编码上下文信息的方法。
327 0
|
机器学习/深度学习 算法
Keyphrase Extraction Using Deep Recurrent Neural Networks on Twitter论文解读
该论文针对Twitter网站的信息进行关键词提取,因为Twitter网站文章/对话长度受到限制,现有的方法通常效果会急剧下降。作者使用循环神经网络(recurrent neural network,RNN)来解决这一问题,相对于其他方法取得了更好的效果。
73 0
|
机器学习/深度学习 存储 自然语言处理
【论文解读】A review on the attention mechanism of deep learning
注意力已经成为深度学习中最重要的概念之一。本文旨在对近年来提出的最新注意力模型作概述。我们建立了一个较为通用的模型,此外根据四个标准即注意力的柔软性、输入特征的形式、输入表示和输出表示来对当前注意力模型进行分类。最后讨论了注意力在深度学习可解释上的作用。
459 0
|
机器学习/深度学习 存储 自然语言处理
论文推荐:Rethinking Attention with Performers
重新思考的注意力机制,Performers是由谷歌,剑桥大学,DeepMind,和艾伦图灵研究所发布在2021 ICLR的论文已经超过500次引用
119 0
|
机器学习/深度学习 数据挖掘 计算机视觉
CV:翻译并解读2019《A Survey of the Recent Architectures of Deep Convolutional Neural Networks》第四章(一)
CV:翻译并解读2019《A Survey of the Recent Architectures of Deep Convolutional Neural Networks》第四章
CV:翻译并解读2019《A Survey of the Recent Architectures of Deep Convolutional Neural Networks》第四章(一)
|
机器学习/深度学习 数据挖掘 Java
CV:翻译并解读2019《A Survey of the Recent Architectures of Deep Convolutional Neural Networks》第四章(二)
CV:翻译并解读2019《A Survey of the Recent Architectures of Deep Convolutional Neural Networks》第四章
|
机器学习/深度学习 数据挖掘 计算机视觉
CV:翻译并解读2019《A Survey of the Recent Architectures of Deep Convolutional Neural Networks》第四章(三)
CV:翻译并解读2019《A Survey of the Recent Architectures of Deep Convolutional Neural Networks》第四章