快 9 倍!Facebook 開源機器學習翻譯計畫 Fairseq

40

Facebook 的使命是讓世界變得更加開放,讓每個人都能以最高的準確性和最快的速度使用自己喜歡的語言來發帖子和影片互動,語言翻譯對此十分重要。

10 日,Facebook 的人工智慧研究團隊發表了他們的研究成果 Fairseq,使用一種新型卷積神經網路做語言翻譯,比循環神經網路的速度快了 9 倍,且準確性也是現有模型中最高的。此外,FAIR 序列建模工具包的源代碼和訓練好的系統都已經在開源平台 GitHub 上公布,其他的研究者可以在此基礎上建立自己的關於翻譯、文本總結和其他任務的模型。

為什麼選擇卷積神經網路?

卷積神經網路在數十年前由 Yann Lecun 提出,已經在諸如圖像處理之類的領域取得了成功。循環神經網路卻是文本領域的現有技術,並且由於其極高的效率而成為語言翻譯的首選。

儘管循環神經網路以前在語言翻譯上比卷積神經網路表現更好,但是其設計具固有的局限性,這可以透過它們怎麼處理資訊來理解。電腦一句一句翻譯一個文本,然後預測另外一種語言具有相同意思的單詞序列。循環神經網路以嚴格的從左到右或從右到左運算,一次處理一個單詞。這和現在高度並行的 GPU 硬體有點不符合。由於單詞只能一個接著一個進行處理,計算不能完全並行。而卷積神經網路可以同時計算所有的元素,充分利用 GPU 的並行性。CNN 的另一個優點是它對信息進行分層處理,這可以更容易獲得數據之間的複雜關係。

雷鋒網獲悉,在先前的研究中,卷積神經網路在翻譯任務上的表現要差於循環神經網路。然而,由於卷積神經網路架構上的潛力,FAIR 開始研究,發現所設計的翻譯模型顯示了 CNN 在翻譯方面的優異性能。CNN 優異的計算性能將有可能會擴展可翻譯的語言,將包括全球 6,500 種語言。

最快最好的結果

Facebook 團隊的結果表明,在廣泛應用的標準測試數據集(WMT 會議提供)上,其比 RNN 表現更好。尤其是卷積神經網路比先前在 WMT 發表的結果都要好。在英語─法語任務上提高了 1.5 BLEU,在英語─德語任務上提高了 0.5BLEU,在 WMT 2016 的英語─羅馬尼亞語任務上,提高了 1.8BLEU。

對神經機器學習實際應用考慮的一個方面在於翻譯一個句子所需要的時間。FAIR 的卷積神經網路模型計算相當快速,比循環神經網路快整整 9 倍。許多研究都透過量化權重或其他方法來加速神經網路,這也同樣可以用於卷積神經網路。

用多跳注意和門控來獲得更好的翻譯效果

團隊的架構重要部分就是多跳注意。注意力的機制類似一個人在翻譯句子的時候會把句子分開翻譯,而不僅看一次句子然後直接寫下完整的翻譯。設計的網路會重複掃描句子來決定要翻譯的下一個單詞。多跳注意是這種機制的加強版,讓網路更多掃描句子產生更好的結果。每一次掃描間都相互影響。舉個例子,第一次掃描會注意到一個動詞,然後第二次掃描會注意到相關聯的助動詞。

在下面這幅圖中,Facebook 團隊展示了一個系統是怎麼閱讀法語短語然後再翻譯成英語。首先,用卷積神經網路生成每個法語單詞的對應向量,在此同時進行計算。然後解碼的 CNN 再生成對應的英語單詞。每一步都掃描一下法語單詞,看一下哪些詞語與下一個要翻譯的英文單詞關係最密切。在解碼器中有兩層,下面的動畫說明了每層的注意力機制是怎麼完成的。綠線的強度表現網路對每個法語單詞的注意力。當網路訓練好之後,也就可以翻譯了,英文單詞的計算也可以同時進行。

快 9 倍!Facebook 開源機器學習翻譯計畫 Fairseq

系統的另一個方面是門控,其控制神經網路裡的訊息流。在每個神經網路中,訊息都流過所謂的隱藏單元。門控機制精確控制傳向下一單元的訊息,一個好的翻譯才因此產生。例如,當預測下一個單詞的時候,網路會把前面的翻譯部分考慮進去。門控允許翻譯放大特定方向──這一切都取決於網路認為其在上下文中合不合適。

以後的發展

這種方法是機器翻譯的一種替代框架,也給其他文本處理任務提供新思路。例如,多跳機制在對話系統中允許網路注意對話的不同部分。例如對兩個沒有聯繫的事實,可以把它們聯繫在一起,以回答複雜的問題。

(本文由 雷鋒網 授權轉載,圖片來源:Facebook

延伸閱讀: