[文献阅读]—Cross-lingual Language Model Pretraining

前言

在这里插入图片描述
论文链接:https://arxiv.org/abs/1901.07291
代码链接:https://github.com/facebookresearch/XLM

前人工作与存在问题

预训练语言模型(transformer encoder)对下游任务有帮助:

多语言向量表示的对齐工作:

本文贡献

本文属于无监督句子向量对齐工作,提出了两种无监督跨语言预训练方法,和一种有监督的方法。在分类、机翻任务上表现好,在低资源的语言上得到的困惑度(perplexity)也好。

具体方法

首先对于n种单语语料,通过图1的概率采样,来学习共有的BPE词表。
在这里插入图片描述

图1. pi是第i种语料句子所占的比例,α=0.5,用于缓解对于高资源语料的偏袒

然后提出了两种无监督的预训练方式:1. CLM 2. MLM。

  • 共有:
    • 它们的输入不是单个句子,而是文本流(text stream);
    • 1个batch有64个文本流,都来自于同一种语种,长度为256个token;
    • 1个batch中句子的采样使用BPE中的采样方法,α=0.7;
  • 特有:
    • CLM的公式如图2所示,特别的,在单语的情况下,上一个batch最后的隐藏层输出可以作为下一个batch第一个隐藏层的初始化,但在多语种共同训练的情况下不适用;
    • MLM和bert的不同:1. 文本流;2. 对于token的采样仿照Distributed Representations of Words and Phrases and their Compositionality使用了多项式分布,其权重和逆词频的平方根成正比;MLM和bert的相同:从文本流中采样15%的token,80%的进行mask,10%不变,10%替换成任意token;
      在这里插入图片描述
图2. CLM training object

最后提出了一种有监督的进一步对齐的方式,从而能够利用好平行语料(TLM,如图3所示)。具体来说,把平行的句子进行拼接,同时掩膜source和target端的部分,这使得:例如,在预测source端时,source端剩下的token并不足以使模型预测出mask,此时模型可以利用target端的信息。pair的采样也是使用BPE中的方法。
在这里插入图片描述

图3. TLM training object

具体实验

跨语言分类:

  • 做法:
    • 使用MLM在大规模单语语料上预训练,取[CLS]作为句子向量表示,再在ENGLISH XNLI数据集上训练分类器。(XLM(MLM))
    • 使用MLM在大规模单语语料上预训练、同时交替地在平行语料上训练TLM,取[CLS]作为句子向量表示,再在ENGLISH XNLI数据集上训练分类器。(XLM(MLM+TLM))
    • 进一步使用 English MultiNLI -> XNLI训练encoder/decoder(TRANSLATION-TRAIN)
    • 进一步使用 XNLI -> English MultiNLI训练encoder/decoder(TRANSLATION-TEST)
  • 结论:
    • MLM和TLM都好
    • 在swahili和urdu这些低资源语料上好
    • 把English MultiNLI翻译成XNLI能进一步促进对齐
  • 疑问:
    • 为什么没有CLM的实验?
      在这里插入图片描述
      图4. 跨语言分类

无监督机器翻译:

  • 做法:
    • 采用combined BPE预训练embeddings,然后通过denoising auto-encoding(DAE)和online back-translation loss进行训练。(EMB+EMB)
    • 其他分别使用CLM和MLM对encoder和decoder初始化的组合。
  • 结论:
    • MLM\CLM > EMB
    • MLM>CLM
    • encoder>decoder
  • 疑问:
    • online back-translation loss所使用的平行语料来自哪里?1. BPE训练完以后,进行BPE BY BPE TRANSLATION? 2. 还是使用word by word translation?
      在这里插入图片描述
图5. 无监督机器翻译

有监督机器翻译:

  • 做法
    • 单向翻译(Romanian2english)
    • 双向翻译(↔)
    • 双向翻译+back translation(↔+BT)
  • 结论:
    • MLM>CLM
    • back translation进一步促进结果
  • 疑问:
    • ro->en中的CLM和MLM预训练是需要多语,还是encoder只需要用ro,decoder只需要用en?
    • 双向翻译具体是如何训练?其BELU值是如何计算?
    • BT中使用的source句子就是pretrain的单语句子,具体的训练方式?
      在这里插入图片描述
图6. 有监督机器翻译

低资源语言模型:

  • 做法:
    • 仅在Nepali训练集上训练,然后在训练集上计算perplexity(Nepali)
    • 加上不相似的english训练集(Nepali+English)
    • 加上相似的Hindi训练集(Nepali+Hindi)
  • 结论:
    • 相似的语料具有共有的符号和…,更好

在这里插入图片描述

图7. 低资源语言模型

无监督跨语言词嵌入:

  • 做法:使用对抗训练一文中产生的word translation dictionary来评估以下三种方法的对pair的 1. cosine sim 2. L2 dist ; 以及和SemEval 17单词相似任务的皮尔逊系数。
    • 对抗训练(MUSE)
    • combined BPE(Concat)
    • 本文(XLM)
  • 结论:
    • XLM牛
      在这里插入图片描述
图8. 无监督跨语言词嵌入

其它资源(数据集\工具包)

CLM和MLM预训练所使用的单语语料:WikiExtractor
TLM所使用的平行语料:

生词&生句

  • a surge of interest:兴趣的激增
  • concurrent to our work:与我们的工作同时进行

猜你喜欢

转载自blog.csdn.net/jokerxsy/article/details/120887455