Google 翻譯里程碑,Zero-Shot 系統正式上線

54

在過去的 10 年裡,Google 翻譯(Google Translate)從最初僅支持幾種語言發展到今天的 103 種,每天翻譯的字詞超過 1,400 億個。為了做到這一點,在任意兩種語言之間,Google 翻譯都要執行多個翻譯系統,這帶來巨大的計算成本。如今,許多領域都正在被神經網路技術顛覆。Google 確信他們可以利用神經網路進一步提升翻譯品質。這要求 Google 重新思考 Google 翻譯的演算法架構。

今年 9 月,Google 發表聲明,基於神經機器翻譯的 Google 翻譯(Google Neural Machine Translation,GNMT)全新上線。神經機器翻譯是端到端的學習架構,它能從數百萬的實例中學習,提供大幅提升的翻譯效果。雖然功能得到了改善,但是讓 Google 翻譯把當下支持的 103 種語言全部採用神經機器翻譯技術,卻是一項巨大的挑戰。

一周前,Google 的工程師們發表了一篇論文《Google 的多語言神經機器翻譯系統:使 Zero-Shot 翻譯成為可能》(Google’s Multilingual Neural Machine Translation System: Enabling Zero-Shot Translation),其中,Zero-Shot 翻譯是指在完成語言 到語言 的翻譯訓練之後,語言 到語言 的翻譯不需要再經過任何學習。它能自動把之前的學習成果轉化到翻譯任意一門語言,即便工程師們從來沒有進行過相關訓練。

透過 Zero-ShotGoogle 解決了把神經機器翻譯系統擴展到全部語言的難題。有了它,一套系統就可以完成所有語言的互翻。從前兩種語言之間都需要多個翻譯系統的情況,從此成為了歷史。這套架構在翻譯其他語言時,不需要在底層 GNMT 系統做任何改變。只需在輸入語句的開頭插入一個輸出語種標記,就可以把結果翻譯為任意語言。

下圖是該 Zero-Shot 系統如何運作的示意圖。

Google 翻譯里程碑,Zero-Shot 系統正式上線

假設 Google 訓練該系統做日語英語、韓語英語的互譯,圖中用藍色實線來代表。GNMT 系統就可以分享這 4 組翻譯(日英、英日、韓英、英韓)的參數。這允許它把任意一組語言的翻譯經驗轉到其他語言上去。學習成果轉移和多語言翻譯的要求,迫使該系統更好地使用建模的能力。

這啟發了工程師們思考:我們能否讓系統翻譯一組它從來沒有翻譯過的語言?這可以用韓語日語互譯的例子來說明。雖然該系統從未處理過韓日互譯,但它利用之前的韓英、日英翻譯學習成果,能進行水平不錯的韓日互譯。Google 把這個過程稱為「zero-shot」翻譯,圖中用黃虛線表示。Google 宣稱,這是世界上首例應用在機器翻譯上的學習成果轉移。

Zero-shot 翻譯的成功帶來了另外一個重要問題:這個系統是否在學習語言的通用表達(不管是翻譯成什麼語種,相同含義的語句都被系統使用相似的表達方式?)──類似於「國際語」或者中介語言?工程師們使用了 3D 圖像展示系統的內部網路數據,以了解它在處理日、韓、英的任意互譯組合時是如何運作的。

Google 翻譯里程碑,Zero-Shot 系統正式上線

上方圖片 部分(左)展示了這些翻譯的幾何結構。意義一致的語句用顏色相同的點代表。比方說,英譯韓和日譯英的兩句話如果意思一致,就會是圖上顏色相同的兩個點。透過這種方式,我們可以很容易地區分不同顏色(含義)的點。部分放大了紅色區的點,部分則對源語言進行區分。在同一組顏色的點裡,我們看到含義相同但從屬不同語種的句子。這意味著該系統必然對句子的語義進行了編碼,而不是記憶一個短語到另一個短語的翻譯。Google 的工程師把這看做是系統中存在中介語言的標誌。

Google 在論文裡面展示了更多的分析結果。他們希望這些發現不但對機器學習和機器翻譯的研究人員們有用處,也能對語言學家和對單一系統怎麼處理多語言學習感興趣的人帶來價值。

美國時間 11 月 22 日,基於 Zero-Shot 的多語言神經機器學習系統正式登陸 Google 翻譯。它目前被應用於新增加的 16 個語言組中的 10 個,帶來更高的翻譯品質和簡化的系統架構。我們可以期待在不久的將來,該系統會逐步支持更多的 Google 翻譯語種。

(本文由 雷鋒網 授權轉載)