Cross-lingual Language Model Pretraining

paper reading

Posted by Dawei on March 4, 2019


论文从最近大火bert等预训练模型获取灵感,因为bert只是单语言模型,是否可以扩展到多语言模型里呢?当然是可以的,论文使用两种方法,第一个只使用单语言数据的无监督任务,第二个是使用平行语料的监督任务。论文显示它在跨语言判别任务、无监督,有监督机器翻译都达到SOTA。之前的预训练模型对整个句子进行处理获取句子级别的embedding,本论文对不同语言的句子提取共享embdding空间的表示(?),特别是对跨语言任务或者某语言资源过少情况的任务下有较大的性能提升。


论文假设有N种语言,每种语言都经过BPE(Byte Pair Encoding)处理,然后构成一个共享的字典,论文阐述这种做法有利于embedding空间对齐而且可以共享一些原本就相同的字典。论文介绍三种任务,第一个:语言建模(CLM),很正常的操作,利用transformer模型基于前n-1个单词预测第n个单词,这和bert还不一样,bert是双向模型,这个任务应该是屏蔽掉了后面的单词。第二个:第二个任务就和bert一样了,masked LM任务(MLM),遮蔽掉15%的单词,然后进行预测,也是对语言句子本身进行建构,第三个:这个任务需要使用平行语料,之前两个任务只利用了单语言数据,论文介绍翻译语言模型(TLM),将两种语言的数据组成一个pair,每个句子都随机遮蔽某些单词,这样在预测这些mask掉的单词不仅可以利用本语言周围的单词,也可以让模型对另一语言对应位置的单词产生交互。注意,在这里pair的位置编码,两种语言的数据都从0开始。


论文分别针对特定任务比较CLM、MLM和TLM作为目标函数的效果,设置的超参数我就不介绍了。论文介绍跨语言模型可以用在zero shot跨语言分类任务的sentence encoder初始化;有监督、无监督机器翻译的初始化;语料不足的语言模型;无监督跨语言单词embedding(作为输入的embedding,可以看成作为参数进行训练?)。论文的insight我理解是在接触到具体任务之前,先让不同语言产生交互,把它们映射同一个状态空间里,在这个空间里的表示对齐,方便之后任务提取跨语言知识或者语言之间的对齐。


论文进行蛮多实验的,都显示出很好的效果。我介绍一下无监督机器翻译的效果,正好和我之前看的论文相呼应,论文使用CLM任务训练出来的模型,MLM模型和随机初始化,所以组合一共是9种,再加上之前的SOTA对比,一共10种。实验显示MLM+MLM效果最好,英文到法文比之前SOTA足足提高4 BLEU值。其它任务的效果感兴趣的同学可以直接看论文。