[读论文]-Mask-Predict: Parallel Decoding of Conditional Masked Language Models阅读报告-机器翻译
1 Introduction
大多数机器翻译系统使用顺序译码的策略,即单词是一个一个预测的。本文展示了一个并行译码的模型,该模型在恒定译码迭代次数下得到翻译结果。本文提出的条件掩码语言模型(CMLMS),其中解码器的输入是一个完全被mask的句子,并行的预测所有的单词,并在恒定次数的屏蔽-预测循环之后结束。这种整体策略使模型可以在丰富的双向上下文中反复重新考虑单词的选择,并且它仅在几个周期内就可以产生高质量的翻译。Mask−predict反复掩盖并重新预测模型对当前转换最不满意的单词子集。
2 Conditional Masked Language Models
本文提出的条件掩码语言模型(CMLM),P (y|X,Yobs),给定源文本X和部分的目标文本Yobs,来预测剩下的目标文本Ymask,N是目标端文本的长度N = |Ymask|+|Yobs|。
Y:目标语句
X:源语句
Yobs,Ymask:将目标语句划分为两类
CMLM根据X与Yobs 预测Ymask。
3 Architecture
论文采用标准的transformer的模型,不同之处在于decode端的self-attention不再使用attention mask,防止看到预测单词之后的词。
Encoder:基于自注意机制对原文本进行编码。
Decoder:目标语言的译码器,具有面向编码器输出的自注意机制,以及另外一组面向目标文本的自注意力机制。作者通过删除自注意mask机制来改进标准解码器。
4 Training Objective
训练的时候,先对目标语句随机的选择Ymask,被mask的token的数量遵循正态分布,之后选中的token被一个特殊的mask token来代替。作者利用交叉熵来优化模型。尽管译码器的输出是整个目标语句,但只计算遮盖位置的loss。
5 Predicting Target Sequence Length
在非自回归机器翻译中,通常将整个编码器的输出作为一个目标语句长度,来得到目标语句的长度。本文中作者,直接将LENGTH作为一个输入token输入编码器,利用编码器来预测目标语句的长度,即编码器的一个输出为目标序列的长度N,并利用交叉熵损失来训练。
6 Decoding with Mask-Predict
使用Mask-Predict解码
主要可以分为两步:
- Mask:
第t次迭代,遮住的单词数n,T为预先设定的迭代次数。第0次迭代,遮住target端所有token;随着迭代次数的增加,逐步减少遮盖的单词数。pi是当前迭代次数的预测概率。
- Predict:
给定源文本X和部分的目标文本Yobs,,来预测mask的目标文本Ymask,并更新概率,没有被mask的token Yobs,,概率不变。
以上两个步骤迭代进行,下边是本文提出的一个例子:
第0步,遮盖整个target端所有tokens,获得target端全部输出,可以看到有很多重复的单词,整个句子语法也不合理。
第1步,根据第0步得到的概率,从12个单词中选出8个低概率的单词(标黄的部分),使用CMLM重新预测。此时的结果比第一步更加准确合理。
第2步,根据第1步得到的概率(被重新预测的8个单词的概率需要更新),从12个单词中选出4个低概率的单词,再使用CMLM重新预测。值得注意的是第1步没有被重新预测的词也可能被选中。
预测target端文本的长度,获取encoder部分 [LENGTH] token处预测到的长度分布之后,选在top l个长度作为候选,并行decode,然后选择概率值对大的序列作为最终输出:
7 实验结果
在机器翻译上的结果:
- 论文提出的方法(CMLM with Mask-Predict) 超过了其他的非自回归的方法。
- 相比自回归的方法,结果差了 0.5-1.2 BLEU, 但是速度加快了。
- 在中英(两种语言相差比较大)翻译的数据集上结果也比较好
速度与效果的trade-off:
- 牺牲2个BLEU的情况下,可以提升3倍多的速度(T=4, l=2)。
- 达到相当的效果(27.03 vs 27.74),速度提升30%。
模型简化测试:
分别从以下四方面进行:
1)分析decoder是否必须迭代多次
decoder迭代多次主要是为了改善非自回归方法共有的token repetitions问题。随着token重复率的减少,bleu也有所上升。
2)分析长句是否需要迭代更多的次数:
长句迭代多次有更好的效果。
3)分析使用更多的长度候选是否能改善效果:
并不能。
4)分析知识蒸馏是否必要:
是必要的。
注:知识蒸馏是指:训练非自回归模型时,训练集不使用原始训练集中的target端数据,而使用teacher模型预测的target结果。
8 实验总结
总结
本文作者针对在机器翻译任务上自回归模型在输出和生成的序列长度成正比,效率低的问题,提出的条件掩码模型上,该模型通过固定次数的迭代来生成高质量的句子,并与其他非自回归seq2seq模型相比,效果达到最好;并且本文用了知识蒸馏的teacher网络,使用了强模型,这也使得论文的结果强于一般模型。
不足
- 我认为该论文并没有解释清楚为什么需要知识蒸馏,对于这部分解释比较模糊,由于文章中采用了knowledge distillation来训练非自回归模型,而其采用的自回归teacher模型均为比较强的模型(28.6 on WMT14 En-De and 34.28 on WMT16 En-Ro),没有控制变量采用和baseline相同效果的自回归 teacher。而一般来说,teacher越强训练出的非自回归模型也会越强,因此这篇文章良好的效果应该也有一部分是得益于其选择了较强的teacher。但仅为我的猜测。
- 本文每次迭代并不会预测所有的单词,而是预测置信度较低的数个单词。这是一个非常良好的方向。但模型给出的概率上的置信度有时候并不会反应真正的翻译质量,如何证明/设计与翻译质量挂钩的解码策略也是一个值得思考的问题。
改进
或许可以尝试在此模型基础上利用prompt去改进。
[读论文]-Mask-Predict: Parallel Decoding of Conditional Masked Language Models阅读报告-机器翻译相关推荐
- Mask-Predict: Parallel Decoding of Conditional Masked Language Models
Mask-Predict: Parallel Decoding of Conditional Masked Language Models 来源:EMNLP2019 链接:https://arxiv. ...
- 【Auto-Debias: Debiasing Masked Language Models with Automated Biased Prompts 论文精读】
Auto-Debias: Debiasing Masked Language Models with Automated Biased Prompts 论文精读 Information Abstrac ...
- 【CrowS-Pairs: A Challenge Dataset for Measuring Social Biases in Masked Language Models 论文精读】
CrowS-Pairs: A Challenge Dataset for Measuring Social Biases in Masked Language Models 论文精读 Informat ...
- 论文笔记--On the Sentence Embeddings from Pre-trained Language Models
论文笔记--On the Sentence Embeddings from Pre-trained Language Models 1. 文章简介 2. 文章概括 3 文章重点技术 3.1 BERT模 ...
- 读论文:BERT Pre-training of Deep Bidirectional Transformers for Language Understanding
文章目录 0.Abstract 1.Introduction 2.Related Work 3.Bert模型 3.1 预训练Bert 3.2 微调Bert Bert之前预训练大多用于cv,Bert的出 ...
- 【论文解读 ACL 2019 | PLMEE】Exploring Pre-trained Language Models for Event Extraction and Generation
论文题目:Exploring Pre-trained Language Models for Event Extraction and Generation 论文来源:ACL 2019 国防科技大学 ...
- 论文笔记:How Can We Know What Language Models Know?
论文链接: https://arxiv.org/abs/1911.12543 代码开源: GitHub - jzbjyb/LPAQA: Language model Prompt And Query ...
- 论文浅尝 | Multimodal Few-Shot Learning with Frozen Language Models
笔记整理:李磊,浙江大学硕士,研究方向为自然语言处理 链接:https://arxiv.org/abs/2106.13884 动机 大规模的自回归语言模型(如GPT)在预训练阶段学习到了大量的知识,具 ...
- 语音识别(ASR)论文优选:Adapting GPT, GPT-2 and BERT Language Models for Speech Recognition
声明:平时看些文章做些笔记分享出来,文章中难免存在错误的地方,还望大家海涵.平时搜集一些资料,方便查阅学习:http://yqli.tech/page/speech.html.如转载,请标明出处.欢迎 ...
最新文章
- ASP.NET小收集:IFrame使用
- 软件需求阅读笔记之三
- 修改react-native项目名称
- 一文看懂深度学习AutoML和NAS
- php购物车生成订单,php – 在购物车,结帐和查看订单中设置产品自定义字段和显示值...
- 浅析Java.lang.ProcessBuilder类
- mysql批量更新后返回id_如何批量插入Mysql并取得各自的递增ID
- Go语言web框架 gin
- VUE自学日志01-MVC和MVVM
- 动态规划求解所有字符的组合数
- 一个 Java 方法,最多能定义多少参数?
- 点云数据集汇总整理(匠心之作,附官方下载地址)
- clion生成qt的qrc文件
- 时间序列的距离度量DTW
- win8系统电脑使用技巧的详细介绍--win7w.com
- html简单导航页单页源码
- python发送邮件封装
- 双曲嵌入论文与代码实现——1. 数据集介绍
- matlab dmc控制代码,【原创】Matlab实现DMC控制加热炉程序
- 2021年N1叉车司机考试APP及N1叉车司机新版试题
热门文章
- Bibtex4word+texlive在win7配置过程及遇到的问题
- 超市收银系统服务器搭建教程,超市收银系统快速收银步骤? 你需要学习了
- 集中式发电景气下滑分布式光伏迎新机遇
- 阿里巴巴三面总结,讲一讲从P5到P8需要掌握的知识点,本人已成功入职。
- 【期末复习】转眼到了C++的复习时间(更新中)
- Erphplogin Pro 连接QQ/微博/微信登录/弹窗登录 WordPress插件
- IDM下载器的安装与使用
- 服务器内存条能点亮显示器吗,上两根内存条显示器就不亮了
- java人民币大小写转换函数_java开发_数字转换汉语中人民币的大写_完整版
- 微信小程序 MinUI 组件库系列之 abnor 异常流组件 1