内容简介:近年来,预训练语言模型的出现极大地推动了自然语言处理领域的发展。相较于普通的词向量,诸如ELMo, GPT, BERT将上下文信息也编码到词向量以及文本向量中,从而收获了比普通词向量更强的表达能力,在一定程度上也减轻了在文本表示中词语歧义性、多义性所带来的问题。尽管原有的BERT模型可以在上百种语言上进行预训练,语言之间的信息并不是互通的,不同的语言模型之间没有共享知识。Facebook的XLM模型克服了信息不互通的难题,将不同语言放在一起采用新的训练目标进行训练,从而让模型能够掌握更多的跨语言信息。这种跨
近年来,预训练语言模型的出现极大地推动了自然语言处理领域的发展。相较于普通的词向量,诸如ELMo, GPT, BERT将上下文信息也编码到词向量以及文本向量中,从而收获了比普通词向量更强的表达能力,在一定程度上也减轻了在文本表示中词语歧义性、多义性所带来的问题。
而在今年年初,Facebook AI Research发布了他们的XLM模型,在原有的BERT模型上进行了预训练目标升级,成功地将BERT扩展成了跨语言模型,并在跨语言数据集上取得了很好的成果。
尽管原有的BERT模型可以在上百种语言上进行预训练,语言之间的信息并不是互通的,不同的语言模型之间没有共享知识。Facebook的XLM模型克服了信息不互通的难题,将不同语言放在一起采用新的训练目标进行训练,从而让模型能够掌握更多的跨语言信息。这种跨语言模型的一个显著优点是,对于预训练后的后续任务(比如文本分类或者翻译等任务),训练语料较为稀少的语言可以利用在其他语料上学习到的信息。
在数据预处理方面,Facebook使用了BPE(Byte Pair Encoding)对所有15种训练语言进行了切割。这对于在字母表上有很多重叠的语言,比如English-French和Nepali-Hindi,在alignment上有很大的提升效果。
为了减轻不同语言语料频率的不均衡给BPE带来的影响,训练样本从新的分布中进行采样。在下图中选取alpha=0.5,可以提高训练预料较少的语言出现的频率,这可以防止小语种在BPE的过程中直接被切割成单个字符。
在论文中,Facebook采用了三种语言模型:
-
CLM(Casual Language Modeling)
-
MLM(Masked Language Modeling)
-
TLM(Translation Language Modeling)
其中最有成效的XLM是MLM与TLM的结合。
CLM的做法是直接使用Transformer来预测下一个词,是传统的语言模型的做法。
- MLM的做法和BERT基本一致:对于输入的语句,按一定概率(15%)遮住一些词,在模型的末尾预测这些被遮住的词。在这里,Facebook和Google的BERT做法的差别是,他们使用了任意数量的句子拼接,并取256个词阶段,而非BERT原本使用的两个句子。类似地,为了平衡高频词低频词之间的差异,在遮住词的时候采用了与上文所述的重采样类似的方法。
在TLM中,输入的是两个意思相同语言不同的句子(比如“I ate an apple”和“我吃了一个苹果”),用句子分隔符拼接起来,整体作为模型的输入。然后再按照一定概率遮住一些词,再去预测这些词。MLM的训练方法,可以让模型利用其上下文信息预测被遮住的词。而TLM则是让模型不仅能利用这句话本身的上下文信息,而且同时能利用不同语言的翻译的信息,来预测被遮住的词。这样,模型就可以将跨语言信息编码到表征向量中。在XLM中,TLM和MLM交替训练,其中MLM的部分每次输入的一个batch内只包含一种语言。
除此之外,在XLM模型中,对于原来BERT中使用的Transformer也进行了改动,以更好地适用在跨语言场景下。在表示词相对句子位置的Positional Embedding中,TLM对拼接后的句子进行了位置重置,也就是接在后面的翻译句子的词下标重新从0开始计数。另外,在Positional Embedding的基础上加入了Language Embedding,用来区分不同语言的输入。
模型细节
在模型的细节方面,XLM模型采用了具有1024 hidden units, 8-head的多层(文本分类12层,机器翻译6层)Transformer以及GELU激活层,词汇表大小是95k。同时XLM模型使用了16位浮点数压缩模型空间,加快训练速度。
预训练数据集
在预训练数据集上,Facebook使用了WikiExtractor得到的Wikipedia语料作为CLM和MLM的训练预料。对于TLM,Facebook使用了与MultiUN/IIT Bombay corpus/EUBookshop/OpenSubtitles等与英语有对照数据的数据集。其中,中文、日文和泰文使用了相对应的Tokenizer进行了切词。其他语言则统一使用Moses。
预训练效果
在预训练效果上,使用平行语料(意思相同语言不同的句子对),可以降低Perplexity指数。下图中,因为Nepali和Hindi之间字母表上有很大重叠,语言关系比较近,而跟英语之间则关系不大,所以引入英语对于Nepali带来的提升没有引入Hindi带来的提升多。
论文中选择了跨语言文本分类和机器翻译作为预训练之后的下游任务。
跨语言文本分类
对于跨语言文本分类,论文采用模型的最后一层的第一个输出向量作为后续线性分类器的输入,在英语的训练预料上进行拟合,然后在所有15个语言上做测试。使用的数据集是XNLI(Cross-Lingual Natural Language Inference),其中Natural Language Inference的任务是判断两个来自相同语言的句子之间是否有Entailment, Contradict或者Natural的关系。XNLI数据集包含近40万条英语训练预料和上千条测试数据。
无监督机器翻译
对于无监督机器翻译,相比于之前的其他工作所用的预训练跨语言词向量,Facebook使用了完整的预训练编码器解码器作为后续训练的初始设定。
上图是模型在文本分类(XNLI数据集)上的表现。其中TRANSLATE-TRAIN是通过将所有的英语训练语料翻译成其他语言;TRANSLATE-TEST是将测试集翻译成英语。可以看到XLM模型相较于之前的模型有很显著的提升。
上图是模型在无监督机器翻译上的表现
上图是模型在监督机器翻译任务上的表现
在无监督和监督机器翻译任务上,MLM也表现出了很好的效果。
Facebook将从XLM中得到的跨语言词向量与之前的工作作比较,XLM的表现非常出色。
XLM模型的代码公开在 https://github.com/facebookresearch/XLM .
原文 Lample, Guillaume, and Alexis Conneau. "Cross-lingual Language Model Pretraining." arXiv preprint arXiv:1901.07291(2019).
AI Time:论道AI安全与伦理
时间:5月31日 15:00-17:00
地点:清华科技园1911主题餐厅
欢迎各位前来参加!
出席嘉宾:
清华大学人工智能研究院院长张钹
中国人民大学高瓴人工智能学院院长文继荣
搜狐智能媒体研发中心负责人 杨田
主持人:
清华大学副教授刘知远
搜狐集团招聘负责人付卓艳
赶快戳下方小程序进入报名通道!
合作媒体:学术头条 搜狐
学术头条已建立微信交流群,想进群的同学请加学术君微信:AMiner308,记得备注:名字+单位/学校噢!
[关于转载]:本文为“学术头条”原创文章。转载仅限全文转载并保留文章标题及内容,不得删改、添加内容绕开原创保护,且文章开头必须注明:转自“SciTouTiao”微信公众号。谢谢您的合作。
分享干货
AMiner迄今为止已发布18期AI系列研究报告,您可在后台回复 对应数字 获取报告。
推荐阅读:
ICLR 2019论文主题|RL最受欢迎,RNN下降幅度最大,GAN仍在继续发展
清华大学和微软研究院联合发布的“开放学术图谱(OAG)2.0版本”数据完善
WWW2019正在进行时 围观网络表示学习tutorial(附500页完整PPT 加送智库)
微信公众号菜单栏为大家设置了“ 论文推荐 ”和 “优质分享” 专栏,“北京讲座”移至“优质分享”专栏内,欢迎大家关注。
学术头条
发掘科技创新的原动力
您的转发就是我们最大的动力
点击阅读原文 访问AMiner官网
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
深入应用C++11
祁宇 / 机械工业出版社 / 2015-5 / 79
在StackOverflow的最近一次世界性调查中,C++11在所有的编程语言中排名第二, C++11受到程序员的追捧是毫不意外的,因为它就像C++之父Bjarne Stroustrup说的:它看起来就像一门新的语言。C++11新增加了相当多的现代编程语言的特性,相比C++98/03,它在生产力、安全性、性能和易用性上都有了大幅提高。比如auto和decltype让我们从书写冗长的类型和繁琐的类型......一起来看看 《深入应用C++11》 这本书的介绍吧!