XLM論文原理解析


1. 前言

近一年來,NLP領域發展勢頭強勁,從ELMO到LSTM再到去年最牛叉的Google Bert,在今年年初,Facebook又推出了XLM模型,在跨語言預訓練領域表現搶眼。實驗結果顯示XLM在XNLI任務上比原來的state-of-the-art直接高了4.9個百分點;在無監督機器翻譯WMT’16 German-English中,比原來的state-of-the-art高了9個BLEU;在有監督的機器翻譯WMT’16 Romanian-English中,比原來的state-of-the-art高了4個BLEU。

最近的研究已經證明了生成預訓練對於英語自然語言理解的有效性。在這項工作中,我們將這種方法擴展到多種語言並展示跨語言預訓練的有效性。我們提出了兩種學習跨語言語言模型(XLM)的方法:一種是無監督方式,只依賴於單語言數據另一種是監督,利用新的跨語言語言模型目標來利用並行數據。我們獲得了關於跨語言分類,非監督和監督機器翻譯的最新結果。

2. 介紹

句子編碼器的生成式預訓練(Generative pretraining)已經使許多自然語言理解的 benchmark 取得了顯著的進步。在此背景下,Transformer 語言模型在大型無監督文本語料庫上學習后,再針對具體的自然語言理解 (NLU) 任務進行微調,如分類或自然語言推理。盡管目前研究人員對學習通用句子表示的興趣激增,但該領域的研究基本上都是集中在英語 Benchmark上。學習和評估多語言的跨語言句子表示的最新進展,旨在減輕以英語為中心的偏見,並提出可以構建通用的跨語言編碼器,將任何句子編碼到共享嵌入空間中。在本文的工作中,證明了跨語言模型預訓練在多個跨語言理解(XLU)benchmark 上的有效性。具體來說,本文工作有以下貢獻:

  • 提出了一種新的無監督方法使用跨語言語言建模來學習跨語言表示,並研究了兩種單語預訓練的目標函數。
  • 提出一個新的監督學習目標。當有平行語料時,該目標可以改進跨語言的預訓練。
  • 本文的模型在跨語言分類、無監督機器翻譯和有監督機器翻譯方面都顯著優於以往的最優結果。
  • 本文實驗表明跨語言模型對於low-resource 語種數據集,也能夠顯著改善其他語種的困惑度(perplexity)。

3. 跨語言模型

本文提出3個語言模型目標函數,其中2個僅僅需要單語種數據集(無監督方式)另一個需要平行語料(有監督方式)。假設有個N個語種,對應的語料記為\(\{C_i\}_{i=1…N}\)表示\(C_i\)中的句子數量。

3.1 sub-word字典

在本文的所有實驗中,所有語種共用一個字典,該字典是通過Byte Pair Encoding (BPE)構建的。共享的內容包括相同的字母、符號token如數字符號、專有名詞。這種共享字典能夠顯著的提升不同語種在嵌入空間的對齊效果。本文在單語料庫中從隨機多項式分布中采樣句子進行BPE學習。為了保證平衡語料,句子的采樣服從多項式分布:

\[q_i=\frac{p^\alpha_i}{\sum_{j=1}^Np^\alpha_j}\;\;\;\;\;with\;\;\;\;\;p_i=\frac{n_i}{\sum_{k=1}^Nn_k} \]

其中\(\alpha=0.5\)。使用這種分布抽樣,可以增加分配給low-resource 語種的token數量,並減輕對high-resource 語種的偏見。這可以防止low-resource 語種數據集的單詞在字符級被分割。

3.2 因果語言模型(CLM)

使用Transformer在給定前序詞語的情況下預測下一個詞的概率。

本文的因果語言建模 (CLM) 任務其實是一個Transformer語言模型,該模型被訓練來對給定句子預測后一個單詞的概率,\(P(w_t∣w_1,…,w_{t−1},θ)\)。雖然 CNN 在語言建模基准(benchmarks)測試中是性能最好的, 但Transformer 模型也很有競爭力。

在 LSTM 語言模型的情況下,通過向 LSTM 提供上一個迭代的最后隱藏狀態來執行時間反向傳播 (backpropagation through time, BPTT)。對於 Transformer,可以將之前的隱藏狀態傳遞給當前的batch,為當前batch中的第一個單詞提供上下文信息。但是,這種技術不能擴展到跨語言,因此為了簡單起見,我們只保留每個 batch 中的第一個單詞,而不考慮上下文。

3.3 掩模語言模型(MLM)

本文也采用Devlin et al. (2018) 論文中提出的掩模語言模型(MLM),也稱為完形填空任務。與Devlin等人一樣,我們從文本流中隨機抽取 15% 的 BPE token,使用的時候,80%的時間用 [MASK] token 替換,10%時間的用隨機 token 替換,10%時候保持不變。與其不同的是,本文使用由任意數量的句子(每個句子截斷為256個token)組成的文本流代替成對的句子。為了均衡稀有tokens和高頻tokens(比如標點符號和停止詞),本文采用類似於Mikolov et al. (2013b)的方法對高頻詞匯進行二次采樣:文本流中的tokens都是以多項式分布進行采樣的,其權重與它們的逆文本頻率的平方根成正比。本文的MLM目標如圖1所示:

在這里插入圖片描述

圖 1: 跨語言模型預訓練。 MLM 目標類似於 Devlin et al. (2018) 里的,但不是句子對,是連續的文本流。TLM 目標將 MLM 擴展到並行的句子對。為了預測一個被遮擋的英語單詞,該模型可以同時考慮英語句子及其法語翻譯,並鼓勵將英語和法語表進行示對齊。目標句子的位置嵌入被重置以方便對齊。

3.4 翻譯語言模型(TLM)

CLM 和 MLM都是無監督的,只需要單語數據。但是,當存在平行語料數據時,上述兩者都無法使用。為此本文提出一種新的翻譯語言建模方法 (TLM) 來提高跨語言訓練的效果。TLM的目標是MLM的擴展,TLM不考慮單語種的文本流, 而是將並行的翻譯句子拼接起來,如圖 1 所示的第三張圖片,在source 句子和 target 句子中都隨機mask掉words。當要預測英文句子中被masked的word時,該模型不僅能夠注意到英文words還能夠注意到法語的翻譯內容。這就引導模型將英語和法語的表征進行對齊。特別地,該模型在英文句子不足以推斷出被masked的英文單詞時,能夠利用法語上下文信息。為了方便對齊,在target句子部分,位置編碼需要重置。

3.5 跨語言模型

本文的跨語言預訓練模型由於 CLM與MLM,或MLM與TLM結合的模型組成。對於CLM和MLM的目標,本文訓練模型過程使用的每個batch由64個句子流組成,每個句子流由256 個 token 組成。每次的迭代,一個batch來自同一個語種中的句子,句子則是按照此前介紹的多項式分布采樣得到$${q_i}_{i=1…N}$$ ,其中\(\alpha=0.7\)*當TLM聯合MLM使用時,需要在這兩個目標之間交替,並使用類似的方法對翻譯對進行采樣。

4. 跨語言模型的預訓練

本章節主要介紹如何訓練得到跨語言模型:

  • 得到一個能夠處理zero-shot跨語言分類任務的初始化更好的句子編碼器
  • 初始化更好的有監督和無監督的神經機器翻譯系統
  • 低資源(low-resource)語言的語言模型
  • 無監督的跨語言詞匯嵌入

4.1 跨語言分類器

本文預訓練的XLM模型提供通用的跨語言文本表示。在英文文本分類任務上,本文的XLM與單語種語言模型下的微調類似,在一個跨語言分類benchmark上進行微調。本文這里使用cross-lingual natural language inference (XNLI)數據集。准確地講,本文在預訓練的Transformer的第一個隱藏狀態之上加入一個線性分類器,再在英文NLI訓練集上進行微調所有參數。之后,在15個XNIL 語種數據集上評估模型。此外,本文還在訓練集和測試集上以機器翻譯任務做了性能對比。具體結果在Table 1中。

4.2 無監督機器翻譯

預訓練是無監督神經機器翻譯的重要部分,Lample et al.(2018b)的研究表明用於初始化查找表的預訓練跨語言單詞嵌入, 對無監督機器翻譯模型的性能有重要影響。本文進一步提出用跨語言模型對整個encoder和decoder進行預訓練,以提升無監督神經機器翻譯的性能。本文探索了多種不同的初始化策略,並評估了各種策略在標准機器翻譯任務(包括WMT’14 English-French,
WMT’16 English-German and WMT’16 English-Romanian)中的表現。詳細結果請見Table 2。

4.3 有監督機器翻譯

本文同時研究跨語言預訓練對於有監督機器翻譯的影響。並將Ramachandran et al. (2016)的方法進一步拓展到多語種神經機器翻譯中。本文在WMT’16 Romanian-English中評估了CLM和MLM預訓練的影響, 其結果見於Table 3。

4.4 low-resource語言建模

對於資源較少的語言,可以使用數據較相似的資源較多的語言進行預訓練,特別是它們的詞匯表很大部分相同時。比如,在維基上有100k個尼泊爾語的句子,其數量是印地語的6倍。這兩種語言在共享的BPE字典(100k subword單元)中有80%tokens是相同的。Table 4展示了尼泊爾語語言模型和在尼泊爾語上訓練的跨語言模型在perplexity上對比。這個跨語言模型還用不同的印地語和英文的組合數據進行了數據擴充。

4.5 無監督跨語言詞嵌入

Conneau et al. (2018a) 介紹過如何通過對抗訓練(MUSE)對齊單語種詞嵌入空間,來實施無監督的單詞翻譯。Lample et al. (2018a)則采用2個語種的共享字典,再將單語種語料進行拼接后輸入到fastText,也能夠提供高質量的跨語言詞嵌入(Concat),同時共享一份字母表。本文的詞嵌入是通過提出的XLM模型獲得,從余弦相似度、L2距離和跨語言詞語相似度幾個維度評估嵌入質量,在SemEval’17 cross-lingual word similarity task進行評估測試。

5. 實驗和結果

實驗結果都是一些數據表格,建議大家去原文XLM里面查看。

6. 總結

本文首次驗證了跨語言模型(XLM)的預訓練所帶來的巨大收益。

  • CLM和MLM,並證實了二者都能夠提供用於預訓練的有效跨語言特征。同時本文也證明了跨語種語言模型能夠用以提升low-resource的Nepali語言模型,此外也提供了無監跨語言詞嵌入。在無需使用任何的平行句子語料,跨語言模型在XNLI的跨語言分類任務上,平均准確率能夠超出此前最優的有監督模型1.3個百分點。
  • TLM目標的提出,該目標使用了平行語料提升了跨語言模型的預訓練。TLM天然地擴展了BERT的MLM方法,使用平行語料的batches而不是連續的句子。在MLM上使用TLM能夠進一步提升結果指標。該有監督方法以高出平均准確率4.9%的優勢刷新了此前XNLI的記錄。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM