LayerNorm是Transformer的最优解吗?

本文转载自公众号夕小瑶的卖萌屋,专业带逛互联网算法圈的神操作

-----》我是传送门

关注后,回复以下口令:

回复【789】 :领取深度学习全栈手册(含NLP、CV海量综述、必刷论文解读)

回复【入群】:加入卖萌屋深度学习/NLP/CV/搜广推等方向的技术交流与内推社群(大V、顶会审稿人云集)

回复【0511】:领取算法岗面试手册(刷offer神器)

回复【0424】:领取刷论文神器(挖掘每日、每月必刷重磅论文)

前言

众所周知,无论在CV还是NLP中,深度模型都离不开归一化技术(Normalization)。在CV中,深度网络中一般会嵌入批归一化(BatchNorm,BN)单元,比如ResNet;而NLP中,则往往向深度网络中插入层归一化(LayerNorm,LN)单元,比如Transformer。

为什么在归一化问题上会有分歧呢?一个最直接的理由就是,BN用在NLP任务里实在太差了(相比LN),此外,BN还难以直接用在RNN中,而RNN是前一个NLP时代的最流行模型。

虽然有大量的实验观测,表明NLP任务里普遍BN比LN差太多,但是迄今为止,依然没有一个非常严谨的理论来证明LN相比BN在NLP任务里的优越性。甚至,连BN自身为什么work的问题都一直存在争议。

早期对BN有效性的解释是其有助于缓解神经网络“内部协方差漂移”(Internal Covariance Shift,ICS)问题。即,后面的层的学习是基于前面层的分布来的,只有前面一层的分布是确定的,后面的层才容易学习到有效的模式,然而,由于前面的层的分布会随着batch的变化而有所变动,导致了后面的层看来“前面一直在动,我无法安心学习呀”。

而BatchNorm这类归一化技术,目的就是让每一层的分布稳定下来,让后面的层可以在前面层的基础上安心学习知识。顾名思义,BatchNorm就是通过对batch size这个维度归一化来让分布稳定下来。LayerNorm则是通过对Hidden size这个维度归一化来让某层的分布稳定。

然而,后来也有一些研究diss了这个解释,说这个解释是错误或不充分的(incorrect/incomplete)[1],近期也有一些研究[2][3]表明BN之所以有助于训练深度神经网络,是因为它可以让loss曲面变得更加平滑。Anyway,这依然是一个未完全解开的老谜。

除了BN之外,LN也有同样的“为什么work”的终极问题。研究[4]表明,LN在反向时有助于梯度的归一化。也有研究[5][6]表示LN的主要作用是在训练初期缓解梯度消失和爆炸的问题,提升稳定性。

所以说,BN和LN本身的作用机理都没有完全搞清楚,自然也很难去证明为什么BN在NLP数据上就不work,LN就更work。

不过,近期小夕无意间刷到了一篇UC Berkeley的《Rethinking Batch Normalization in Transformers》[7],发现了一个比较有趣的实验结论,并基于这个观测,作者提出了一种针对NLP data(确切说是Transformer)改进的新的归一化方法,叫幂归一化(PowerNorm)。

后台回复【0407】获取论文PDF噢~

强上BN后的Transformer

作者这里做了一个实验,为BN在NLP data(Transformer)上不work提供了一个更加微观的观测证据。

首先,作者将Transformer中的LN都替换成了BN,然后在CV和NLP两个任务上观测BN中的两个统计量(即均值和方差)及其他们的梯度和在训练过程中的稳定程度。

上图中,蓝色是ResNet20在Cifar-10做图像分类的结果,橙色是Transformer+BN在IWSLT14做翻译的结果。X轴是训练时间,Y轴是基于batch的统计值和它对应的移动平均值的欧式距离。

可以看到,ResNet20在Cifar-10任务上统计量的震荡很小,而使用BN的Transformer不仅震荡剧烈,还有很极端的异常值,这会导致和的统计不准确,造成train/test不一致,预测效果下降

基于这个有趣的观测结果,作者这里针对性的提出了两点改进,并将改进后的BN称之为幂归一化(PowerNorm,PN)。

PowerNorm

1. PN-V

BN强制将数据转换成均值为0方差为1的正态分布,但在数据本身均值方差剧烈震荡的情况下,强制移动均值会起到不好的效果。因此作者提出了新的scale方式,只强制数据有unit quadratic mean

这样针对batch的前向只需一个统计量,反向也简化成一个梯度:

对比新的(橙色)和之前的(蓝色),发现震荡明显减小:

2. Running Statistics in Training

从PN-V的改进可以看到,虽然震荡减少了很多,但还是有很多异常值。因此作者改用移动平均的方式计算:

但使用移动平均的话,在求梯度时无法对之前所有求导,因此作者用当前batch的统计量去近似,感兴趣的同学可以看下论文中的推导。

与LN的比较

虽然如前所述,难以说清楚在NLP data上LN比BN优越在哪里,但是是容易说清楚PN对BN的优越性的(毕竟PN的诞生就是基于BN在NLP data上的实验观测)。

那么问题来了:PN和LN哪个更有效?自然也没法直接在理论层面上进行比较,所以作者跑了一把实验,分别尝试了机器翻译和语言模型任务:

对于上述结果,小夕也去paperwithcode网站查了一下,目前IWSLT14的SOTA是36.3,论文中的35.9可以排在第二的位置;WMT14 En-De的SOTA是35,论文中的30.1可以排在第五的位置;WikiText-103的SOTA是10.8,论文的结果排在第八名第位置。由于作者没有做其他优化,看起来总体结果还是不错的~当然,PN在其他NLP data和任务上是否有效,还有待进一步验证。

由于BN和PN的统计量受batchsize的影响,作者在消融实验中也探究了不同batchsize的效果:

可以看到PN在整体上还是优于LN的。

总结

由于深度学习的不可解释性,归一化方法在网络中真正的作用和优劣一直是个谜。本文针对BN提供了一个新的研究角度,通过对统计量及梯度的稳定性观测,找到了BN为什么在NLP问题上不work的其中一个原因,即数据分布的震荡和异常值导致train/test不一致。基于该观测证据,作者对BN进行了对应的改进,提出了更适合NLP data的幂归一化PowerNorm,得到了优于原生BN的效果,且在部分任务上超过了LN的表现。

另外,看到这里后,相信会有很多小伙伴会关心BERT+PN的效果。燃鹅众所周知,要复现BERT的预训练过程是非常不可描述的,所以作者这里没有给出相应实验,也是合乎情理的。

所以目前结构创新都不会用BERT去验证,机器翻译和LM任务确实是常规benchmark。是否真正有用,可能需要慢慢被大家用起来才知道。

后台回复【0407】获取论文PDF噢~

本文转载自公众号夕小瑶的卖萌屋,专业带逛互联网算法圈的神操作

-----》我是传送门

关注后,回复以下口令:

回复【789】 :领取深度学习全栈手册(含NLP、CV海量综述、必刷论文解读)

回复【入群】:加入卖萌屋深度学习/NLP/CV/搜广推等方向的技术交流与内推社群(大V、顶会审稿人云集)

回复【0511】:领取算法岗面试手册(刷offer神器)

回复【0424】:领取刷论文神器(挖掘每日、每月必刷重磅论文)

夕小瑶的卖萌屋

_

关注&星标小夕,带你解锁AI秘籍

订阅号主页下方「撩一下」有惊喜哦

参考文献

[1]Ali Rahimi. Nuerips 2017 test-of-time award presentation, December 2017: https://www.zachpfeffer.com/single-post/2018/12/04/Transcript-of-Ali-Rahimi-NIPS-2017-Test-of-Time-Award-Presentation-Speech[2]How does batch normalization help optimization?: https://papers.nips.cc/paper/7515-how-does-batch-normalization-help-optimization.pdf

[3]PyHessian: Neural networks through the lens of the Hessian.: https://arxiv.org/pdf/1912.07145.pdf

[4]Understanding and Improving Layer Normalization: https://arxiv.org/abs/1911.07013
[5]Improving Deep Transformer with Depth-Scaled Initialization and Merged Attention: https://arxiv.org/abs/1908.11365
[6]Fixup Initialization: Residual Learning Without Normalization: https://arxiv.org/abs/1901.09321

[7]Rethinking Batch Normalization in Transformers: https://arxiv.org/abs/2003.07845
[8]详解深度学习中的Normalization,BN/LN/WN: https://zhuanlan.zhihu.com/p/33173246

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/480744.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

观点 | 滴滴 AI Labs 负责人叶杰平教授:深度强化学习在滴滴的探索与实践+关于滴滴智能调度的分析和思考+滴滴派单和Uber派单对比

AI 科技评论按:7 月 29 日,YOCSEF TDS《深度强化学习的理论、算法与应用》专题探索报告会于中科院自动化所成功举办,本文为报告会第一场演讲,讲者为滴滴副总裁、AI Labs 负责人叶杰平教授,演讲题为「深度强化学习在滴滴…

消息中间件系列(二):Kafka的原理、基础架构、以及使用场景

一:Kafka简介 Apache Kafka是分布式发布-订阅消息系统,在 kafka官网上对 kafka 的定义:一个分布式发布-订阅消息传递系统。 它最初由LinkedIn公司开发,Linkedin于2010年贡献给了Apache基金会并成为顶级开源项目。Kafka是一种快速、…

丁力 | cnSchema:中⽂知识图谱的普通话

本文转载自公众号:大数据创新学习中心。3月10日下午,复旦大学知识工场联手北京理工大学大数据创新学习中心举办的“知识图谱前沿技术课程暨学术研讨会”上,OpenKG联合发起⼈、海知智能CTO丁力博士分享了以“cnSchema:中⽂知识图谱…

详解ERNIE-Baidu进化史及应用场景

一只小狐狸带你解锁 炼丹术&NLP 秘籍Ernie 1.0ERNIE: Enhanced Representation through Knowledge Integration 是百度在2019年4月的时候,基于BERT模型,做的进一步的优化,在中文的NLP任务上得到了state-of-the-art的结果。它主要的改进是…

解读 | 滴滴主题研究计划:机器学习专题+

解读 | 滴滴主题研究计划:机器学习专题(上篇) 解读 | 滴滴主题研究计划:机器学习专题(上篇) 2018年7月31日 管理员 微信分享 复制页面地址复制成功滴滴主题研究计划 滴滴希望通过开放业务场景,与…

笔记:seafile 7.x 安装和部署摘要

文章目录1. 安装1.1. 注意事项1.2. 企业微信集成并支持自建第三方应用配置1.3. 内置 Office 文件预览配置1.3.1. 安装 Libreoffice 和 UNO 库2. 主要功能2.1. 服务器个性化配置2.2. 管理员面板2.3. seafile 命令行使用教程2.3.1. ubuntu安装2.3.2. init 初始化seafile配置文件夹…

文章合集

Hi 大家好,我是陈睿|mikechen,这是优知学院的所有文章集合,专门整理这个页面,希望会对大家在浏览感兴趣文章的时候,能有更好的帮助! 这些文章的呈现,并不是按照时间轴来排序,无论是新旧文章&…

领域应用 | 阿里发布藏经阁计划,打造 AI 落地最强知识引擎

如果没有知识引擎,人工智能将会怎样?知识引擎可以把数据加工成信息,信息和现有的知识通过推理能够获得新的知识,从而形成庞大的知识网络,像大脑一样支持各种决策。你与智能音箱进行对话,背后就是基于知识引…

ACL2020 | FastBERT:放飞BERT的推理速度

FastBERT 自从BERT问世以来,大多数NLP任务的效果都有了一次质的飞跃。BERT Large在GLUE test上甚至提升了7个点之多。但BERT同时也开启了模型的“做大做深”之路,普通玩家根本训不起,高端玩家虽然训得起但也不一定用得起。 所以BERT之后的发展…

2017年双十一最全面的大数据分析报告在此!+2018年双十一已经开始,厚昌竞价托管教你如何应对流量流失?+2019年双十一大战一触即发:阿里、京东都有哪些套路和玩法

首先说一个众所周知的数据:2017年双十一天猫成交额1682亿。 所以今天,从三个角度带你一起去探索1682亿背后的秘密: 1、全网热度分析:双十一活动在全网的热度变化趋势、关注来源、媒体来源以及关联词分析。 2、各平台对比分析&…

阿里P8架构师谈:大数据架构设计(文章合集)

架构师进阶有一块很重要的内容,就是需要掌握大数据的架构设计,主要涵括: MySQL等关系式数据库,需要掌握数据库的索引、慢SQL、以及长事务的优化等。 需要掌握非关系式数据库(NoSQL)的选型,以及…

论文浅尝 | 利用 RNN 和 CNN 构建基于 FreeBase 的问答系统

Qu Y,Liu J, Kang L, et al. Question Answering over Freebase via Attentive RNN withSimilarity Matrix based CNN[J]. arXiv preprint arXiv:1804.03317, 2018.概述随着近年来知识库的快速发展,基于知识库的问答系统(KBQA )吸引了业界的广…

positional encoding位置编码详解:绝对位置与相对位置编码对比

本文转载自公众号“夕小瑶的卖萌屋”,专业带逛互联网算法圈的神操作 -----》我是传送门 关注后,回复以下口令: 回复【789】 :领取深度学习全栈手册(含NLP、CV海量综述、必刷论文解读) 回复【入群】&#xf…

## 作为多目标优化的多任务学习:寻找帕累托最优解+组合在线学习:实时反馈玩转组合优化-微软研究院+用于组合优化的强化学习:学习策略解决复杂的优化问题

NIPS 2018:作为多目标优化的多任务学习:寻找帕累托最优解多任务学习本质上是一个多目标问题,因为不同任务之间可能产生冲突,需要对其进行取舍。本文明确将多任务学习视为多目标优化问题,以寻求帕累托最优解。而经过实验…

手把手教你求职进入BAT

“ 最近利用部分的时间,帮助了好几位读者朋友进入了自己心仪的公司,以下我会谈到,求职简历方面给到他们的建议。 如果你本身具备很强的实力,不要因为对求职简历细节不重视,反而痛失良机。 求职加薪,除了…

one-hot(独热)、bag of word(词袋)、word-Embedding(词嵌入)浅析

目录 词袋模型 one-hot word-embedding 我们知道,传统的数据挖掘任务面向的是结构化数据。结构化数据很好理解,就是很有结构的数据嘛。 比如下面这张银行客户数据库中的表格: 编号 姓名 年龄 年收入 职业 有无欠贷 01 夕小瑶 16(…

德勤发布《 2020 亚太四大半导体市场的崛起》报告,美国收入占比达到47%,中国大陆仅占 5%

德勤发布《 2020 亚太四大半导体市场的崛起》报告(以下简称《报告》),《报告》指出: 亚太地区半导体市场正在全球加速崛起,中国大陆、日本、韩国和中国台湾,占据全球半导体总收入前六大国家/地区的四席。美…

干货 | 机器学习算法在饿了么供需平衡系统中的应用

干货 | 机器学习算法在饿了么供需平衡系统中的应用 image:url(https://ask.qcloudimg.com/avatar/1292807/6341kxs4h2.png?imageView2/2/w/72)">用户1292807发表于携程技术中心订阅830作者简介陈宁,饿了么人工智能与策略部高级算法专家,负责供…

研讨会 | “人工智能与行业知识图谱技术实战”研讨会

人工智能时代2017年7月,国务院《新一代人工智能发展规划》明确提出“建立新一代人工智能关键共性技术体系”的重点任务和设立“新一代人工智能重大科技项目以及“1N”人工智能项目群”,特别强调“研究跨媒体统一表征、关联理解与知识挖掘、知识图谱构建与…

Sigmoid函数与Softmax函数的区别与联系

目录 缘起逻辑回归 Sigmoid Softmax 缘起逻辑回归 逻辑回归模型是用于二类分类的机器学习模型(不要说逻辑回归可以做多类分类啊喂,那是二类分类器的组合策略问题,而与逻辑回归分类器本身的构造没有半毛钱关系啊)。 我们知道&…