谷歌新神經機器翻譯系統 可實現“零數據翻譯”
過去10年中,谷歌翻譯已從僅支持幾種語言發展到了支持103種,每天翻譯超過了1400億字。為了實現這一點,我們需要構建和維護許多不同的系統,以便在任何兩種語言之間進行轉換,由此產生了巨大的計算成本。
神經網絡改革了許多領域,我們確信可以進一步提高翻譯質量,但這樣做意味著重新思考谷歌翻譯背后的技術。
今年 9 月,谷歌翻譯改為啟用谷歌神經機器翻譯(GNMT)的新系統,這是一個端到端的學習框架,可以從數百萬個示例中學習,并在翻譯質量方面有顯著提升。
不過,雖然啟用GNMT的幾種語言翻譯質量得到了提升,但將其擴展到所有 103 種谷歌翻譯支持的語種,卻是一個重大的挑戰。
實現零數據翻譯(Zero-Shot Translation)
在論文《谷歌多語言神經機器翻譯系統:實現零數據翻譯》(Google s Multilingual Neural Machine Translation System: Enabling Zero-Shot Translation)中,我們通過擴展以前的 GNMT系統解決這一挑戰,使單個系統能夠在多種語言之間進行翻譯。
我們提出的架構不需要改變基本的 GNMT 系統,而是在輸入句子的開頭使用附加的“token”,指定系統將要翻譯的目標語言。 除了提高翻譯質量,我們的方法還實現了“Zero-Shot Translation”,也即在沒有先驗數據的情況下,讓系統對從未見過的語言進行翻譯。
下圖展示了新 GNMT 的工作原理。假設我們使用日語和英語以及韓語和英語之間相互翻譯為例,訓練一個多語言系統,如動畫中藍色實線所示。
這個新的多語言系統與單個 GNMT 系統大小一樣,參數也一樣,能夠在日英和韓英這兩組語言對中進行雙語翻譯。參數共享使系統能夠將“翻譯知識”(translation knowledge)從一個語言對遷移到其他語言對。這種遷移學習和在多種語言之間進行翻譯的需要,迫使系統更好地利用其建模能力。
由此,我們想到:能夠讓系統在從未見過的語言對之間進行翻譯嗎?例如韓語和日語之間的翻譯,系統并沒有接受過日韓之間翻譯的訓練。