作者:潘小小,字节跳动AI-Lab算法工程师,专业机器翻译算法,业余法语和音乐。


在这篇文章中,我会介绍一篇最新的预训练语言模型的论文,出自MASS的同一作者。这篇文章的亮点是:将两种经典的预训练语言模型(Masked Language Model, Permuted Language Model)统一到一个框架中,并且基于它们的优势和缺点,取长补短,提出了一个新的预训练语言模型---- MPNet,其混合了MLM和PLM各自的优势,达到了比两者更好的效果,在Natural Language Understanding和Natural Language Generation任务中,都取得了较好的结果。实验表明MPNet在大量下游任务中超越了MLM和PLM,从而证明了pretrain方法中的2个关键点:

  • 被预测的token之间的依赖关系 (MPNet vs MLM)

  • 整个序列的位置信息 (MPNet vs PLM)

MPNet: Masked and Permuted Pre-training for Language Understanding(https://arxiv.org/pdf/2004.09297.pdf)

【小小说】 这篇论文我很喜欢,读下来有一种打通了任督二脉一般行云流水的感觉。在本文中,我会从BERT和XLNet的统一理论框架讲起,然后引出作者如何得到MPNet这一训练方式,接着会介绍一下作者具体实现上用到的方法。希望本文可以让你对预训练语言模型的设计有一个更加理论化的认识。


1. BERT和XLNet各自的优缺点

既然是从BERT和XLNet到MPNet,那么当然是要先从这两者讲起。大家对BERT应该比较熟悉,它是划时代的工作,可以说从BERT开始,NLP领域正式进入了“预训练模型”的时代。而XLNet是随后的重磅之作,在这一节中,我们先来回顾一下它们。

  • 「BERT」 : Masked Language Model , 使用了双边的context信息,但是忽略了masked token之间的依赖关系

  • 「XLNet」 : Permuted Language Model , 保留了masked token之间的依赖关系,但是预测的时候每个token只能看到permuted sequence中的前置位的token的信息,不能看到所有token的信息。(p.s. 不知道XLNet的宝宝辛苦去复习 【论文串讲】从GPT和BERT到XLNet )

作者分别从input和output两个角度总结了两者的优缺点分别存在的地方:

  • 「Input Discrepancy」 : 在Natural Language Understanding的任务中,模型可以见到完整的input sentence,因此要求在预训练阶段,input要尽可能输入完整的信息

    • MLM中,token的语言信息是不完整的,不过位置信息是保留的(通过position embedding,p.s. 想具体了解如何通过position embedding保留的,请移步参考 【经典精读】Transformer模型深度解读 中"使用Positional Encoding带来的独特优势"这部分的内容)

    • PLM中,每个被预测的token只能“看”到被打乱的序列中位于它自己前面的token,而不能像MLM一样“看”到两侧的token。

  • 「Output Dependency」 :

    • MLM中,输出的token,即在input端被mask掉的token,是 「互相独立的」 。也就是说这些被mask掉的token之间是假定没有context层面的关系的。

    • PLM规避了MLM中的问题,被预测的token之间也存在context层面的关系。

  • 「总结一下就是:」

「PLM在output dependency的问题上处理得比MLM好,但是预训练阶段和fine-tune阶段之间的差异比MLM的更大。」

2. 统一MLM和PLM的优化目标

了解了BERT和XLNet各自的优缺点和适用的场景后,本文的作者试图从一个统一的视角去总结这两种预训练模型,而这个总结,引出了后来的MPNet。

  • 基于以上两点观察,本文的作者提出了统一Masked Language Model和Permuted Language Model的想法,并且起名叫 「M」 asked and 「P」 ermuted Language Model,缩写 「MPNet」 ,意在取两者之长,避两者之短。

2.1. 统一优化目标的提出

  1. MLM: 由于Masked Language Model中的独立性假设“每个被mask的位置的token之间是彼此独立的”,我们可以换一种方式看待Masked Language Model: 把Masked tokens统一挪到序列的末尾,这样做并不会改变模型的任何部分,只是我们的看待方式变了。

重新看待Masked Language Model

2. PLM: 原顺序  































 被打乱成

































,然后最右边的两个token  









 和









 就被选作要预测的token。

重新看待Permuted Language Model

基于上述的讨论,作者给出了统一MLM和PLM训练目标的框架:将没有被mask的token放在左边,而将需要被预测的token(被mask掉的)放在右边。

  • 「MLM」

  • 「PLM」

  • 其中,




    是序列的其中一个permutation,







    表示在该permutation中的第  




    位,










    表示位置小于




    的所有位置。

2.2. 讨论

MLM和PLM的训练目标公式非常接近,唯一的区别在于,MLM条件概率的条件部分是  













 和













 ; 而PLM的条件部分是













,它们的区别是:

  1. MLM比PLM多了  













     这个条件,也就是比PLM多了关于序列长度的信息(一个[M]就是一个位置)。

  2. PLM比MLM多了被预测部分token之间的相关性:PLM的

















    是随着预测的进行(t的变化)而动态变化的,MLM的  

















     对于整个模型预测过程进行是恒定不变的。

3. 提出MPNet

基于上一节的总结,作者按照相同的思路提出了MPNet的预训练目标

「a. MPNet的预训练目标」

  • 我们既要像MLM那样,在预测时获取到序列长度的信息;又要像PLM那样,在预测后一个token时,以前面的所有token(包含前置位被预测出来的)为条件。MPNet做到了:

MPNet示意图
  • (b)图中灰色的部分是encoder端的bidirectional self-attention

  • (b)图中蓝色和绿色的部分分别是decoder端的two stream self-attention的content stream和query stream (two stream self-attention的具体定义请参考 【论文串讲】从GPT和BERT到XLNet ),这里提一下,content stream相当于query stream右移一步。

    • (a)图中黑色的线+绿色的线即对应了(b)图中的绿色点,(a)图中黑色的线+蓝色的线即对应了(b)图中的蓝色点。

  • (b)图中的行对应着query position,列对应着column position。

「b. ”位置补偿“」

由于用到了Permuted Language Model的思想,所以MPNet和XLNet一样,也要使用two-stream self- attention。想要实现预训练目标中的  

















 ,在实现上作者提出了“位置补偿”(position compensation),也就是说,在预测过程的每一步,query stream和content stream都可以看到N(N即序列长度)个token,具体结合图中的例子来说就是,

  • 预测  




















     时: 已知  




















     ,  




















     ,  




















     ,  









     ,  









     ,  









     ,  









     ,  









     ,  









  • 预测  




















     时: 已知  




















     ,  




















     ,  




















     ,  




















     ,  









     ,  









     ,  









     ,  









     ,  









     ,  









  • 预测  




















     时: 已知  




















     ,  




















     ,  




















     ,  




















     ,  




















     ,  









     ,  









     ,  









     ,  









     ,  









     ,  









也就是说,无论预测到哪一步,  









 ,  









 ,











,  









 ,  









 ,  









这6个位置信息都可见。我们回顾一下XLNet,作一下对比:

  • 预测  




















     时: 已知  




















     ,  




















     ,  




















     ,  









     ,  









     ,  









     ,  









  • 预测  




















     时: 已知  




















     ,  




















     ,  




















     ,  




















     ,  









     ,  









     ,  









     ,  









     ,  









  • 预测  




















     时: 已知  




















     ,  




















     ,  




















     ,  




















     ,  




















     ,  









     ,  









     ,  









     ,  









     ,  









     ,  









可以看出,在预测  




















 时,比MPNet少了  









 ,









 ,在预测  




















 时,比MPNet少了









 。

「c. 总结」

MPNet有效性来自于它保留了更多的信息

通过上面的详细讲解,相信到这儿大家也明白了:MPNet保留的信息是BERT和XLNet的并集,第一,它利用PLM的自回归特性,规避了MLM的独立性假设,在预测后面token时也利用了之前预测出来的token;第二,它利用MLM建模中自带的序列信息,规避了PLM在预测前面的token时不知道序列整体的长度的缺点。这两点保证了MPNet完美扬长避短,因此在下游任务中完美击败了前两者。


给我们的启发

致力于弥合pre-train阶段和下游任务fine- tune阶段的预训练目标,尽可能减少训练和预测过程中信息的损失,是研究预训练模型的重中之重,也是预训练模型领域整体的发展方向。读预训练系列论文的时候一定要抓住这个核心线索去读。

往期精彩回顾适合初学者入门人工智能的路线及资料下载机器学习及深度学习笔记等资料打印机器学习在线手册深度学习笔记专辑《统计学习方法》的代码复现专辑
AI基础下载机器学习的数学基础专辑

获取一折本站知识星球优惠券,复制链接直接打开:

https://t.zsxq.com/y7uvZF6

本站qq群704220115。

加入微信群请扫码:

【论文解读】从BERT和XLNet到MPNet相关推荐

  1. 从BERT、XLNet到MPNet,细看NLP预训练模型发展变迁史

    文章目录 1.BERT 原理及 MLM 简述 1.1 Masked Language Model & Next Sentence Predict** 1.2 Self-Attention 1. ...

  2. 论文解读:《基于BERT和二维卷积神经网络的DNA增强子序列识别transformer结构》

    论文解读:<A transformer architecture based on BERT and 2D convolutional neural network to identify DN ...

  3. 论文解读:Spelling Error Correction with Soft-Masked BERT

    论文解读:Spelling Error Correction with Soft-Masked BERT(2020ACL)   拼写错误纠错是一个比较重要且挑战的任务,非常依赖于人类的语言理解能力.本 ...

  4. 论文解读:PromptBERT: Improving BERT Sentence Embeddings with Prompts

    论文解读:PromptBERT: Improving BERT Sentence Embeddings with Prompts 一.动机 虽然BERT等语言模型有很大的成果,但在对句子表征方面(se ...

  5. ACL 2019 | 基于知识增强的语言表示模型,多项NLP任务表现超越BERT(附论文解读)...

    来源:PaperWeekly 本文共2000字,建议阅读10分钟. 本文提出了一种新方法,将知识图谱的信息加入到模型的训练中. 论文动机 自从 BERT 被提出之后,整个自然语言处理领域进入了一个全新 ...

  6. 【论文解读】文本分类上分利器:Bert微调trick大全

    论文标题:How to Fine-Tune BERT for Text Classification? 中文标题:如何微调 BERT 进行文本分类? 论文作者:复旦大学邱锡鹏老师课题组 实验代码:ht ...

  7. 15篇论文全面概览BERT压缩方法

    作者 | Mitchell A. Gordon 译者 | 孙薇 出品 | AI科技大本营(ID:rgznai100) 模型压缩可减少受训神经网络的冗余--由于几乎没有BERT或者BERT-Large模 ...

  8. AAAI 2020 开源论文 | 语义感知BERT(SemBERT)

    作者丨张倬胜 学校丨上海交通大学硕士生 研究方向丨自然语言理解 本文从计算语言学角度,提出使用显性语义角色信息来改善深度语言模型的建模性能,将语义角色标注用于机器阅读理解和推理任务中,提供更加丰富和精 ...

  9. BERT or XLNet,围观NLP巅峰烧钱大战。技术发展太快,如何才能跟得上节奏?

    在过去的几个月时间里,Google和Facebook在一场别样的大战上打得火热,自从Google的XLNet横空出世战胜了BERT的记录,Facebook就开始默默憋大招了.上周剧情再次翻转,改进版B ...

最新文章

  1. Eureka单机高可用伪集群配置
  2. 【C#小知识】C#中一些易混淆概念总结(三)---------结构,GC,静态成员,静态类...
  3. USB CDC 可变形参
  4. mysql重新载入my.cnf_怎么重新加载MySQL的my.cnf?
  5. 【LeetCode笔记】剑指 Offer 16. 数值的整数次方(Java、分治)
  6. 【英语学习】【WOTD】adversary 释义/词源/示例
  7. DSP中两个延时函数的区别(转)
  8. Spring Boot(1) 入门、自动配置
  9. paip.提升性能----jvm参数调整.txt
  10. 机器学习中MinMaxScaler
  11. Java牛客项目课_仿牛客网讨论区_第七章
  12. 成为一名数据分析师,需要学习统计学吗?
  13. SoftIce,IDA pro强强联合!从SOFTICE中打开IDA Pro输出的map信息文件
  14. P3966 [TJOI2013]单词(AC自动机)
  15. 微信小程序获取用户微信绑定手机号
  16. open_table和opened_table的区别
  17. Kotlin Flow 背压和线程切换竟然如此相似
  18. Android - Windows 多样化投屏方案
  19. 和ChatGPT的一番对话
  20. 有一个班4个学生,5门课程①求第1门课程的平均分;②找出有两门以上课程不及格的学生,输出他们的学号和全部课程成绩及平均成绩;③找出平均成绩在90分以上或全部课程成绩在85分以上的学生分别编3个函数实

热门文章

  1. Android柳叶刀之Button之UI交互
  2. appium连接模拟器时屏幕倒转
  3. Python xlrd、xlwt、xlutils修改Excel文件
  4. CentOS中输入yum报错:sudo: unable to execute /bin/yum: No such file or directory
  5. 像这样的作业调度器,你会怎么设计?
  6. UIControl事件---iOS-Apple苹果官方文档翻译
  7. 全面快速准确地检索医学文献信息的策略
  8. r15电脑测试软件,Cinebench r15
  9. mysql gtid 5.7_MySQL5.7之GTID复制
  10. 可靠性不是测试出来的,是设计出来的!