【重磅】谷歌發布 Zero-Shot 神經機器翻譯系統:AI 巴別塔有望成真
系統可以實現“零數據翻譯”,即能夠在從來沒有見過的語言之間進行翻譯,這意味著傳說中的“巴別塔”有望成真。
【導讀】谷歌今日更新博客,介紹了谷歌神經機器翻譯系統重大更新,實現了用單一模型對多語種通用表征。這種新的模型體積不僅與多語言翻譯模型一樣,參數相同,而且速度更快、質量更高。不僅如此,系統還實現“零數據翻譯”,也即能夠在從來沒有見過的語言之間進行翻譯。這意味著傳說中的“巴別塔”有望成真。
過去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)從一個語言對遷移到其他語言對。這種遷移學習和在多種語言之間進行翻譯的需要,迫使系統更好地利用其建模能力。
由此,我們想到:能夠讓系統在從未見過的語言對之間進行翻譯嗎?例如韓語和日語之間的翻譯,系統并沒有接受過日韓之間翻譯的訓練。但答案是肯定的——雖然從來沒有教過它但,新的系統確實能夠生成日韓兩種語言之間合理的翻譯。我們將其稱為“零數據”(zero-shot)翻譯,如動畫中的黃色虛線所示。據我們所知,這還是首次將這種類型的遷移學習應用機器翻譯中。
零數據翻譯的成功帶來了另一個重要的問題:系統是否學會了一種通用的表征,其中不同語言中具有相同意義的句子都以類似的方式表示,也即所謂的“國際通用語”(interlingua)?使用內部網絡數據的三維表征,我們能夠看見系統在翻譯日語、韓語和英語這幾種語言時,在各種可能的語言對之間進行轉換(比如日語到韓語、韓語到英語、英語到日語等等)時,內部發生的情況。
上圖中的(a)部分顯示了這些翻譯的總體幾何構成。圖中不同顏色的點代表不同的意思;意思相同的一句話,從英語翻譯為韓語,與從日語翻譯為英語的顏色相同。我們可以從上圖中看到不同顏色的點各自形成的集合(group)。(b)部分是這些點集的其中一個放大后的結果,(c)部分則由原語言的顏色所示。在單個點集中,我們能夠看到日韓英三種語言中,擁有相同含義的句子聚在一起。這意味著網絡必定是對句子的語義進行編碼,而不是簡單地記住短語到短語之間的翻譯。由此,我們認為這代表了網絡中存在了一種國際通用語(interlingua)。
我們在論文中還寫下了更多的結果和分析,希望這些的發現不僅能夠幫助從事機器學習或機器翻譯的研究人員,還能對于語言學家和對使用單一系統處理多語言感興趣的人有用。
最后,上述多語言谷歌神經機器翻譯系統(Multilingual Google Neural Machine Translation)從今天開始將陸續為所有谷歌翻譯用戶提供服務。當前的多語言系統能夠在最近推出的16個語言對中的 10 對中進行轉化,提高了翻譯質量,并且簡化了生產架構。
商業部署后,實現技術上的突破
正如前文所說,今年 9 月,谷歌宣布對部分語種啟用谷歌神經機器翻譯(GNMT)的新系統,并在幾種率先使用的測試語種(包括漢語)翻譯質量方面得到了顯著提升。下面的動圖展示了 GNMT 進行漢英翻譯的過程。首先,網絡將漢字(輸入)編碼成一串向量,每個向量代表了當前讀到它那里的意思(即 e3 代表“知識就是”,e5 代表“知識就是力量”)。整句話讀完之后開始解碼,每次生成一個作為輸出的英語單詞(解碼器)。
要每一步生成一個翻譯好的英語單詞,解碼器需要注意被編碼中文向量的加權分布中,與生成英語單詞關系最為密切的那個(上圖中解碼器 d 上面多條透明藍線中顏色最深的那條),解碼器關注越多,藍色越深。
使用人類對比評分指標,GNMT 系統生成的翻譯相比此前有了大幅提高。在幾種重要語言中,GNMT 將翻譯錯誤降低了 55%-58%。
不過,當時也有很多研究人員認為,當時谷歌翻譯取得的“里程碑”,與其說是技術突破,不如說是工程上的勝利——大規模部署本身確實需要軟硬件方面超強的實力,尤其是想谷歌翻譯這樣支持 1 萬多種語言的商業應用,對速度和質量的要求都非常的高。但是,神經機器翻譯的技術早已存在,借鑒了語言和圖像處理方面的靈感,是多種技術的整合。
現在,只用了大約 2 個月的時間(論文首次上傳到 arXiv 是 11 月 14 日),谷歌翻譯和谷歌大腦團隊就實現了技術上的突破——讓系統在從未見過的語言對之間進行翻譯,也即所謂的“zero-shot translation”。
不僅如此,谷歌研究人員還在論文最后做了分析,新的模型代表了實現一種“國際通用語”模型的可能。有評論稱,這可以說是實現“巴別塔”的第一步。
谷歌神經機器翻譯系統架構
就在幾天前,國外研究員 Smerity 在他的博客上發布了一篇分析谷歌神經機器翻譯(GNMT)架構的文章,在 HackerNews、Reddit 等網站都引發了很多討論。
Smerity 在博文中指出,GNMT 的架構并不標準,而且在很多情況下偏離主流學術論文中提出的架構。但是,根據谷歌特定的需求,谷歌修改了系統,重點保證系統的實用性而并非追求頂尖結果。
【論文】谷歌的多語言神經機器翻譯系統:實現 zero-shot 翻譯
摘要
我們提出了一種使用單一神經機器翻譯(NMT)模型,在多語種之間進行翻譯簡潔而優雅的解決方案。不需要修改谷歌現有的基礎系統模型架構,而是在輸入句子的前面加入人工 標記(token)明確其要翻譯成的目標語言。模型的其他部分(包括編碼器、解碼器和注意模型)保持不變,而且可以在所有語言上共享。使用一個共享的 wordpiece vocabulary,這種方法能夠使用單一模型實現多語種神經機器翻譯,而不需要增加參數,相比此前提出的方法更為簡單。實驗表明,這種新的方法大部分時候能提升所有相關語言對的翻譯質量,同時保持總的模型參數恒定。
在 WMT' 14 基準上,單一多語言模型在英法雙語翻譯上實現了與當前最好技術相同的結果,并在英德雙語翻譯上超越當前最佳的結果。同時,單一多語言模型分別在 WMT'14 和 WMT'15 基準上,超越了當前最佳的法英和德英翻譯結果。在用于生產的語料庫上,多達 12 個語言對的多語言模型能夠實現比許多單獨的語言對更好的表現。
除了提升該模型訓練所用的語言對的翻譯質量之外,新的模型還能在訓練過程中將沒有見過的語言對相互聯系起來(bridging),表明用于神經翻譯的遷移學習和零數據翻譯是可能的。最后,我們分析了最新模型對通用語言間表征的跡象,還展示了一些混合語言時會出現的有趣案例。
【編者按】本文轉載自新智元。文章來源: Google Research。作者:Mike Schuster (Google Brain), Melvin Johnson (Google Translate) and Nikhil Thorat (Google Brain )。編譯者:李靜怡
最后,記得關注微信公眾號:鎂客網(im2maker),更多干貨在等你!
硬科技產業媒體
關注技術驅動創新
