LASER:基于zero-shot的大规模多语言预训练方法

本文基于2018 Facebook AI Research的文章:Massively Multilingual Sentence Embeddings for Zero-Shot Cross-Lingual Transfer and Beyond

是Facebook2018年12月提出的跨语言零样本迁移的LASER框架的实现“说明书”。

  • 研究背景
  • 前人的解决方式
  • 模型核心思想
  • 具体实现细节
  • 实验结果
  • 结论

研究背景

最近几年基于大规模的unlabeled data进行预训练,然后应用于下游NLP任务的思想得到了很大的发展,如word embedding和BERT等,都是基于预训练。
然而,这些模型都是针对某种语言训练独立的语言模型,无法应用于跨语言场景。

Nevertheless, all these works learn a sepa- rate model for each language and are thus unable to leverage information across different languages, greatly limiting their potential performance for low-resource languages.

前人的解决方式

TODO

模型核心思想

提出了一种跨语言的通用句子编码方式。
这么做的目的是:

  • 希望那些资源有限的语言可以从联合语言的训练中学到通用的知识。
    文章通过一个编码器将所有语言都映射到一个共享的特征空间。不同语言中语义相近的句子在特征空间距离更近(类似Word2Vec)。


图左展示了一个单语嵌入空间;图右则展示了 LASER 的方法——将所有语言嵌入到一个独立的共享空间中。

Dataset:模型通过完全免费的平行语料库进行训练。

Our system is trained on freely available parallel texts only.

具体实现细节

模型结构如下:



方法建立在于神经机器翻译相同的底层技术上:编码器/解码器方法,也就是序列到序列处理。Facebook 为所有的输出语言使用一个共享编码器,并使用一个共享解码器来生成输出语言。
编码器由n层BiLSTM组成,其中输入的embedding层采用了BPE(Byte Pair Encoding) 的方式。

对于BPE,这是2016年Neural Machine Translation of Rare Words with Subword Units中提出的基于subword来生成词典的方法。
核心思想是综合word-level和char-level的优势,从语料中学习到所有词里边频次高的字符串子串。然后把这些频次高的字符串子串收集起来形成一个字典。这个字典里边,既存在char-level级别的子串,也存在word-level级别的子串。然后把这个字典用于模型的训练。
Byte Pair Encoding 以单个字符为单位的词典开始,通过迭代,用出现频次高的bi-gram字符串替换单个的字符,因此对于高频词来说,因为出现的次数足够多,最终编码的单元还是word-level,而对于OOV问题中的生僻单词,编码单元会是character-level,不会再被标记为#UNK。具体的实现原理可以参照论文中给出的python代码理解。

论文将所有语料的集合训练一个联合BPE词典,迭代50k次,获得的词典认为已经不具有language-specific的特征,将BPE embedding输入编码器,获得整个句子的embedding表示,此时这个句子已经无法区分是来自哪个语言了。
解码器需要被告知生成哪种语言,同时获取一个在每个时间步都连接到输入和句子嵌入上的语言标识嵌入。由于编码器没有指示输入语言的显式信号,因而该方法鼓励它去学习与语言无关的表示。Facebook 在与英语和西班牙语对齐的公共平行数据中的 2.23 亿个句子上训练他们的系统,对于每个小批量,他们都随机选择一种输入语言,并训练系统将句子翻译成英语或者西班牙语。大多数语言都与目标语言保持对齐,不过并不要求它们必须对齐。

实验结果

该模型在跨语言自然语言推理(NLI)上获得了出色的结果,其在这一任务上的表现也表明了该模型能够很好地表示句子的意义。Facebook 的研究人员考虑进行零样本设置,换句话说,就是研究人员在没有微调或者目标语言资源的情况下,在英语上训练 NLI 分类器,然后将它应用到目标语言中。对于 14 种语言,使用零样本的模型在其中的 8 种语言(包括与英语关系很远的俄语、汉语以及越南语等)上的性能是其在英语上的性能的 5% 以内。同时,该模型也在斯瓦希里语和乌尔都语等低资源的语言上表现出色。最终,对于 14 种语言,LASER 在其中的 13 种语言上的零样本迁移表现,都超越了此前的所有方法。
与此前要求句子一定要用英语表示的方法相比,Facebook 的系统完全可以使用多种语言,并且还支持任意组合不同语言的前提和假设。

结论

TODO

你可能感兴趣的:(LASER:基于zero-shot的大规模多语言预训练方法)