Transformer
Transformer在2017年由Google在題為《Attention Is All You Need》的論文中提出。Transformer是一個完全基於注意力機制的編解碼器模型,它拋棄了之前其它模型引入注意力機制後仍然保留的迴圈與卷積結構,而採用了自注意力(Self-attention)機制,在任務表現、並行能力和易於訓練性方面都有大幅的提高。
在 Transformer 出現之前,基於神經網路的機器翻譯模型多數都採用了 RNN的模型架構,它們依靠迴圈功能進行有序的序列操作。雖然 RNN 架構有較強的序列建模能力,但是存在訓練速度慢,訓練質量低等問題。
與基於 RNN 的方法不同,Transformer 模型中沒有迴圈結構,而是把序列中的所有單詞或者符號並行處理,同時藉助自注意力機制對句子中所有單詞之間的關係直接進行建模,而無需考慮各自的位置。具體而言,如果要計算給定單詞的下一個表徵,Transformer 會將該單詞與句子中的其它單詞一一對比,並得出這些單詞的注意力分數。注意力分數決定其它單詞對給定詞彙的語義影響。之後,注意力分數用作所有單詞表徵的平均權重,這些表徵輸入全連線網路,生成新表徵。
由於 Transformer 並行處理所有的詞,以及每個單詞都可以在多個處理步驟內與其它單詞之間產生聯絡,它的訓練速度比 RNN 模型更快,在翻譯任務中的表現也比 RNN 模型更好。除了計算效能和更高的準確度,Transformer 另一個亮點是可以對網路關注的句子部分進行視覺化,尤其是在處理或翻譯一個給定詞時,因此可以深入瞭解資訊是如何通過網路傳播的。
之後,Google的研究人員們又對標準的 Transformer 模型進行了擴充,採用了一種新型的、注重效率的時間並行迴圈結構,讓它具有通用計算能力,並在更多工中取得了更好的結果。
改進的模型(Universal Transformer)在保留Transformer 模型原有並行結構的基礎上,把 Transformer 一組幾個各異的固定的變換函式替換成了一組由單個的、時間並行的迴圈變換函式構成的結構。相比於 RNN一個符號接著一個符號從左至右依次處理序列,Universal Transformer 和 Transformer 能夠一次同時處理所有的符號,但 Universal Transformer 接下來會根據自注意力機制對每個符號的解釋做數次並行的迴圈處理修飾。Universal Transformer 中時間並行的迴圈機制不僅比 RNN 中使用的序列迴圈速度更快,也讓 Universal Transformer 比標準的前饋 Transformer 更加強大。
預訓練Pre-train
目前神經網路在進行訓練的時候基本都是基於後向傳播(Back Propagation,BP)演算法,通過對網路模型引數進行隨機初始化,然後利用優化演算法優化模型引數。但是在標註資料很少的情況下,通過神經網路訓練出的模型往往精度有限,“預訓練”則能夠很好地解決這個問題,並且對一詞多義進行建模。
預訓練是通過大量無標註的語言文字進行語言模型的訓練,得到一套模型引數,利用這套引數對模型進行初始化,再根據具體任務在現有語言模型的基礎上進行精調。預訓練的方法在自然語言處理的分類和標記任務中,都被證明擁有更好的效果。目前,熱門的預訓練方法主要有三個:ELMo,OpenAI GPT和BERT。
在2018年初,艾倫人工智慧研究所和華盛頓大學的研究人員在題為《Deep contextualized word representations》一文中提出了ELMo。相較於傳統的使用詞嵌入(Word embedding)對詞語進行表示,得到每個詞唯一固定的詞向量,ELMo 利用預訓練好的雙向語言模型,根據具體輸入從該語言模型中可以得到在文字中該詞語的表示。在進行有監督的 NLP 任務時,可以將 ELMo 直接當做特徵拼接到具體任務模型的詞向量輸入或者是模型的最高層表示上。
在ELMo的基礎之上,OpenAI的研究人員在《Improving Language Understanding by Generative Pre-Training》提出了OpenAI GPT。與ELMo為每一個詞語提供一個顯式的詞向量不同,OpenAI GPT能夠學習一個通用的表示,使其能夠在大量任務上進行應用。在處理具體任務時,OpenAI GPT 不需要再重新對任務構建新的模型結構,而是直接在 Transformer 這個語言模型上的最後一層接上 softmax 作為任務輸出層,再對這整個模型進行微調。
ELMo和OpenAI GPT這兩種預訓練語言表示方法都是使用單向的語言模型來學習語言表示,而Google在提出的BERT則實現了雙向學習,並得到了更好的訓練效果。具體而言,BERT使用Transformer的編碼器作為語言模型,並在語言模型訓練時提出了兩個新的目標:MLM(Masked Language Model)和句子預測。MLM是指在輸入的詞序列中,隨機的擋上 15% 的詞,並遮擋部分的詞語進行雙向預測。為了讓模型能夠學習到句子間關係,研究人員提出了讓模型對即將出現的句子進行預測:對連續句子的正誤進行二元分類,再對其取和求似然。
無監督機器翻譯
現有的機器翻譯需要大量的翻譯文字做訓練樣本,這使得機器翻譯只在一小部分樣本數量充足的語言上表現良好,但如何在沒有源翻譯的情況下訓練機器翻譯模型,即無監督訓練,成為了目前熱門的研究話題。Facebook在EMNLP 2018上的論文《Phrase-Based & Neural Unsupervised Machine Translation》利用跨字嵌入(Cross Word Embedding),提升了高達11 BLEU,那麼Facebook是如何實現的呢?
第一步是讓系統學習雙語詞典。系統首先為每種語言中的每個單詞訓練詞嵌入,訓練詞嵌入通過上下文來預測給定單詞周圍的單詞。不同語言的詞嵌入具有相似的鄰域結構,因此可以通過對抗訓練等方法讓系統學習旋轉變換一種語言的詞嵌入,以匹配另一種語言的詞嵌入。基於這些資訊,就可以得到一個相對準確的雙語詞典,並基本可以實現逐字翻譯。在得到語言模型和初始的逐字翻譯模型之後,就可以構建翻譯系統的早期版本。
然後將系統翻譯出的語句作為標註過的真實資料進行處理,訓練反向機器翻譯系統,得到一個更加流暢和語法正確的語言模型,並將反向翻譯中人工生成的平行句子與該語言模型提供的校正相結合,以此來訓練這個翻譯系統。
通過對系統的訓練,形成了反向翻譯的資料集,從而改進原有的機器翻譯系統。隨著一個系統得到改進,可以使用它以迭代方式在相反方向上為系統生成訓練資料,並根據需要進行多次迭代。
逐字嵌入初始化、語言建模和反向翻譯是無監督機器翻譯的三個重要原則。將基於這些原理得到的翻譯系統應用於無監督的神經模型和基於計數的統計模型,從訓練好的神經模型開始,使用基於短語模型的其它反向翻譯句子對其進行訓練,最終得到了一個既流暢,準確率又高的模型。
對於無監督機器翻譯,微軟亞洲研究院自然語言計算組也進行了探索。研究人員利用後驗正則(Posterior Regularization)的方式將SMT(統計機器翻譯)引入到無監督NMT的訓練過程中,並通過EM過程交替優化SMT和NMT模型,使得無監督NMT迭代過程中的噪音能夠被有效去除,同時NMT模型也彌補了SMT模型在句子流暢性方面的不足。相關論文《Unsupervised Neural Machine Translation with SMT as Posterior Regularization》已被AAAI 2019接收。
感謝微軟亞洲研究院自然語言計算組研究員葛濤對本文提供的幫助。
參考論文:
[1] Attention Is All You Need:https://arxiv.org/pdf/1706.03762.pdf
[2] Universal Transformers:https://arxiv.org/abs/1807.03819
[3] Deep contextualized word representations:https://arxiv.org/pdf/1802.05365.pdf
[4] Improving Language Understanding by Generative Pre-Training:https://s3-us-west-2.amazonaws.com/openai-assets/research-covers/language-unsupervised/language_understanding_paper.pdf
[5] BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
https://arxiv.org/pdf/1810.04805.pdf
[6] Phrase-Based & Neural Unsupervised Machine Translation
https://arxiv.org/pdf/1804.07755.pdf
[7] Unsupervised Neural Machine Translation with SMT as Posterior Regularization
http://export.arxiv.org/pdf/1901.04112
其它參考資料:
自然語言處理中的語言模型預訓練方法
https://zhuanlan.zhihu.com/p/47342053
Unsupervised machine translation: A novel approach to provide fast, accurate translations for more languages
谷歌 Transformer 模型再進化,“圖靈完備”版已上線
https://mp.weixin.qq.com/s/4xIeg9qhky78Rkg2goSRlg
Unsupervised machine translation: A novel approach to provide fast, accurate translations for more languages