淺析大規模多語種通用神經機器翻譯方法

  • 2019 年 11 月 26 日
  • 筆記

作者|陳賀軒 編輯 | 唐里

目前,神經機器翻譯(NMT)已經成為在學術界和工業界最先進的機器翻譯方法。最初的這種基於編碼器-解碼器架構的機器翻譯系統都針對單個語言對進行翻譯。近期的工作開始探索去擴展這種辦法以支持多語言之間的翻譯,也就是通過只訓練一個模型就能夠支持在多個語言之間的翻譯。

儘管目前最流行的Transformer模型已經大大推動了機器翻譯在單個語言對上性能的提升,但針對多語言的機器翻譯模型的研究源於其特殊的需求,如多語言之間互譯的模型參數量、翻譯服務部署困難等。儘管多語言NMT已經存在大量的研究,然而,識別語言之間的共性以及針對現實場景下的大規模多語言模型等,仍然存在問題和挑戰。

一、MultilingualMachine Translation

多語言機器翻譯的最理性的目標是通過單一模型能夠翻譯任意一個語言對。如果將所有語言對的全部都只看做為「源語言」-「目標語言」的這樣一種特殊的單語言對,那麼其概率模型仍可以表示為:

儘管不同的模型有不同的損失計算方式,以Dong等人[1]提出的模型為例,很多模型內部計算損失時,仍將依賴於特定語言對計算:

多語言機器翻譯模型的研究存在着多個原因。

假設我們現在需要針對N個語言之間進行互譯,傳統的方法就是訓練N(N-1)個互譯的模型,如果通過某種中介語言,仍然需要訓練2(N-1)個互譯的模型。當需要互譯的語言數N比較大的時候,相應的就會需要大量的模型訓練、部署等,耗費大量的人力物力。而通過合理的設計和訓練,獲得單一模型實現這些語言之間的互譯,就會極大的減少開銷。

由於聯合訓練以及學習到的知識從高資源語言的遷移,多語言模型提高了在低資源甚至是零資源的語言對互譯的性能。然而這也導致了對原本高資源語言對訓練的干擾從而降低了性能。同時獲得性能的提升仍是一個具有挑戰性的問題。

從語言對之間映射的角度來看,基於源語端和目標語端所涵蓋的語言數量,在多語言NMT模型中,存在三種策略,包括多對一、一對多以及多對多。多對一模型學習將任何在源語端的語言翻譯成目標端的一種特定的語言,這種情況下通常會選取語料豐富的語言比如英語,相似的,一對多模型學習將在源語端的一種語言翻譯成目標端任意一種語言。多對一這種模式通常會看作多領域學習的問題,類似於源語端的輸入分佈是不一致的,但是都會翻譯成一種目標語。而一對多這種模式可以被看作是多任務的問題,類似於每一對源語到目標語看作一個單獨的任務。多對多這種模式就是這兩個模式的集合。

不管源語端和目標語端語言的數量,多語言機器翻譯模型的提升也基於「相關領域」以及「相關任務」之間知識的遷移作用。

儘管多語言NMT已經被大量的研究,但是這種研究仍然存在着極大的限制,所驗證的語言對數量也很有限。儘管單獨的一個模型能將一個大規模語言對的所能達到的性能是值得研究的,但是存在着大量的困難:不同語言對之間的遷移學習;模型本身參數和學習能力的限制。在大規模語言對包括在低資源和高資源數據(這種高低的比較是通過整體數據量的對比)上多語言機器翻譯的性能和問題也得到了廣泛的研究和探討。

二、訓練策略

與針對單對語種的翻譯模型的訓練方法相比,由於模型和數據分佈的不同,多語種的訓練方法有着明顯的不同。由於多語種數據中是由不同的語言對的數據構成,甚至不同的語言對的數量也有差異,存在數據不平衡的問題。這就使得如果採用與針對單對語種訓練方式相同的策略會導致所得到的模型性能的降低。所以制定一個好的訓練策略對多語言機器翻譯模型是一個比較重要的事。

針對模型訓練階段,不同的模型結構決定不同的策略。Dong等人[1]針對一對多多語言機器翻譯模式設計了單一編碼器以及多個語言獨立的解碼器模型結構,在這個結構下,採用了一種輪換的方式去更新模型的參數,在更新迭代的過程中,固定相鄰的n個批次的數據為同一種語言,同時輪換不同的語言以相同的方式,這種策略使得在針對單個語言的訓練來看「批次」中的數據會變大,為n個批次數據的大小。Johnson等人[2]採用了更加簡單的模型結構,與針對單對語種的機器翻譯模型相同只採用一個編碼器和一個解碼器結構,並只針對源語句子上添加一個表示所翻譯目標語的前綴標識來訓練模型,這種極為簡單的模型結構也對模型訓練產生了極大的壓力,由於數據的不平衡,採用過採樣或者欠採樣的方式,甚至在構建單個批次時也構建一定比例的不同語言對數量。

訓練的策略也包括了針對無監督的訓練方式(Sen等人[3])、知識精鍊(Tan等人[4])以及在原有多語機器翻譯上增加新語言對(Escolano等人[5])等不同訓練策略。

三、大規模多語種機器翻譯

為了去探索單個模型最大程度上學習大規模的語言數量。Aharoni等人[10]對此進行了研究和實現了大量的實驗。

實驗採用了Ha等人[6],Johnson等人[2]以及在源語句子上使得能夠進行多對多的翻譯。翻譯模型採用完全基於Attention的Transformer模型架構(Vaswani等人[7])。在所有的實驗結果中,採用BLEU(Papineni等人[8])的評測方式。在模型訓練中,單個批次混合不同語言對數據。實驗採用了內部數據集。該數據集包括102種語言對,由於語言對之間是相互的,可以將它們與英語進行「鏡像」轉換,每個語言對最多有100萬個示例。這樣一來,總共可以翻譯103種語言,並同時訓練204種翻譯方向。

實驗選取了不同語言族的10種語言: Semitic(Arabic(Ar),Hebrew(He));Romance(Galician(Gl),Italian(It) ,Romanian(Ro));Germanic(German(De),Dutch(Nl));Slavic(Belarusian(Be),Slovak(Sk))以及Turkic(Azerbaijani (Az),Turkish(Tr))。

模型結構

實驗所採用的模型是Transformer結構,如圖1。

圖1 Transformer模型結構

更多細節可以參考Vaswani等人[7]的工作。

實驗結果

表1就是從10種語言翻譯與英語的一對多、多對一和多對多實驗結果。

其中上表表示了從10種語言翻譯到英語的翻譯結果,下表表示了從英語到10種語言的翻譯結果。

表1 高資源數據中一對多、多對一以及多對多的實驗結果

分析

在實驗中,針對103種語言構建了以英文為中心的多語言機器翻譯。

在相同數據的情況下,多語言模型一對多、多對一以及多對多大多都高於單語對模型,表明模型具備同時訓練更多語言對的能力。但是一些語言對仍然出現了高度的波動以及低於相應的單語對模型。這也說明在這種設置下,一些語言對受到了比較大的干擾比如Italian-English。

多語言模型模式中,一對多、多對一大都超過了多對多模型的性能。同樣,這種優勢可能是由於一對多和多對多模型處理較少的任務,而不像多對多模型那樣在目標端偏向於英語。其中,多對一仍然存在着要弱於多對多的語言對,這種情況由於目標端大量的英文數據,潛在的可能由於受到相似語言之間的遷移學習以及解碼端的過擬合問題。

以上結果表明,大量的多語言NMT確實可以在大規模環境中使用,並且可以在強大的雙語基線上提高性能。

問題

儘管已經添加了大量的語種,顯示了單模型進行多語言翻譯的潛力。但是仍然是在一個比較受限的情況下,現實已經證明,海量的單語言對能夠大大提高模型的翻譯能力,但是多語言同時使用這樣的海量數據的性能並沒有得到合理的證明,同時實驗使用的數據質量比較高,在現實中,採集的數據會存在大量的噪音,也會損失模型的性能。

四、總結和展望

自從多語言NMT的概念被提出後,相關的論文層出不窮。近年針對在實際中使用的大規模多語言機器翻譯也受到了廣泛的研究(Aharoni等人[10],Arivazhagan等人[9]),為在更複雜的真實世界的使用提供了有力的支持。

這種大規模多語言機器翻譯所期待的優良特性包括:

1. 在單個模型中考慮的語言數量方面的最大。在模型中多能互譯的語言對越多越好,也就更能節省更多的資源;

2. 知識從高資源語言對向低資源語言的最大正向遷移。這樣不僅能夠獲得高資源語言對的性能,也能提高低資源語言對的性能,充分的利用了數據。

3. 對高資源語言的最小干擾(負遷移)。避免其他因素對高資源語言對訓練的消極影響。

4. 健壯的多語言NMT模型,在現實的開放域設置中表現良好。有助於現實的部署和使用。

儘管當前取得了極大的進展,多語言機器翻譯仍然有很多的問題和挑戰。

參考文獻

[1]DaxiangDong, Hua Wu, Wei He, Dianhai Yu, and Haifeng Wang. 2015. Multi-task learningfor multiple language translation.

[2]Melvin Johnson, Mike Schuster, Quoc V Le, et al. 2017. Google』s multilingualneural machine translation system: Enabling zero-shot translation.

[3]SukantaSen, Kamal Kumar Gupta, Asif Ekbal, Pushpak Bhattacharyya .2019.MultilingualUnsupervised NMT using Shared Encoder and Language-Specific Decoders

[4]XuTan, Yi Ren, Di He, Tao Qin, Zhou Zhao, Tie-Yan Liu.2019. Multilingual NeuralMachine Translation with Knowledge Distillation

[5]CarlosEscolano, Marta R. Costa-jussà, José A. R. Fonollosa.2019. From Bilingual toMultilingual Neural Machine Translation by Incremental Training

[6]Thanh-Le Ha, Jan Niehues, and Alexander Waibel. 2016. Toward multilingualneural machine translation with universal encoder and decoder.

[7]Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, AidanN Gomez, Łukasz Kaiser, and Illia Polosukhin.2017. Attention is all you need.

[8]Kishore Papineni, Salim Roukos, ToddWard, andWei- Jing Zhu. 2002. Bleu: amethod for automatic evaluation of machine translation.

[9]Naveen Arivazhagan, Ankur Bapna, Orhan Firat, Dmitry Lepikhin, Melvin Johnson,Maxim Krikun, Mia Xu Chen, Yuan Cao, George Foster, Colin Cherry, WolfgangMacherey, Zhifeng Chen, Yonghui Wu. 2019. Massively Multilingual Neural MachineTranslation in the Wild: Findings and Challenges

[10]Roee Aharoni, Melvin Johnson, Orhan Firat. 2019. Massively Multilingual NeuralMachine Translation


陳賀軒,東北大學自然語言處理實驗室研究生,研究方向為機器翻譯。

小牛翻譯,核心成員來自東北大學自然語言處理實驗室,由姚天順教授創建於1980年,現由朱靖波教授、肖桐博士領導,長期從事計算語言學的相關研究工作,主要包括機器翻譯、語言分析、文本挖掘等。團隊研發的支持140種語言互譯的小牛翻譯系統已經得到廣泛應用,並研發了小牛翻譯雲(https://niutrans.vip)讓機器翻譯技術賦能全球企業。