淘新聞

穀歌機器翻譯取得顛覆性突破 到底幾分真假?

雷鋒網按:據悉傳統的基於短語的機器學習將輸入句子分解成詞和短語,然後對它們的大部分進行獨立翻譯,而神經機器翻譯則將整個輸入句子視作翻譯的基本單元。所以重大突破並不僅僅是上了深度神經網路,而是以句子為單元。

最近,做機器翻譯的同志們一打開朋友圈,猛然發現好像飯碗沒了,谷歌爸爸大力出奇跡,提高了機器翻譯87%的水準。結果打開人家原文一看,原來虛驚一場,只是現有工作的整合,一篇完美的工程論文,並沒有新的模型提出。不禁長舒一口氣,呼~飯碗還在。

呼~到底火遍朋友圈的那篇文章“穀歌機器翻譯取得顛覆性突破,錯誤率下降87%”到底幾分真幾分假呢?

1. 穀歌的論文價值

穀歌在本周發佈了谷歌翻譯的實現論文Google’s Neural Machine Translation System: Bridging the Gap between Human and Machine Translation 這篇論文有非常強的工程性價值,融合了已有機器翻譯的幾大技術 Seq2Seq + Attention + Sentence loss optimization 三大技術均

不是這篇原創

,而是之前的經典工作。

如果說IBM Model1是機器翻譯的牛頓定律,那麼Seq2Seq就是機器翻譯裡的愛因斯坦相對論,Seq2Seq是穀歌在機器學習頂會NIPS的一篇論文,模型簡單漂亮,為文本生成尤其是機器翻譯打下了良好的模型基礎,所有的NMT(神經機器翻譯)均在此模型上添磚加瓦,這篇也是一樣。

換句話說,

神經機器翻譯早已取得比統計機器翻譯好的效果,只是大家不知道

,誤以為是穀歌拯救了科研界,創造了奇跡。其實是世界上所有機器翻譯學者近兩年一起的貢獻(例如:清華也貢獻了Sentence loss optimization for machine translation的技術)。

那麼穀歌這篇論文最大的價值是什麼呢?答案是:

超強的工程實現

。穀歌這篇論文的StackLSTM用了8個GPU實現了8層的StackLSTM,在當前高校以及普通公司的實現中,NMT還只跑在單卡上,由於顯存限制單卡幾乎不可能跑8層的StackLSTM,而谷歌利用GoogleBrain,向世人展示了一把當LSTM深到一定程度機器翻譯能做成什麼樣。

2. 三大核心技術簡介

(1)

Seq2Seq

是一個基於RNN的模型,他有encoder和decoder兩部分。Encoder首先將來源語言利用RNN(RNN是一個刻畫序列的模型,hidden states記錄了他讀過序列的所有資訊,變種有LSTM和GRU)進行句子的向量化表示,當Seq2Seq讀到最後一個詞的時候,他記錄了這個句子的所有資訊。

之後進入Decoder模組,此部分利用Encoder所給的來源語言信息,一個詞一個詞的生成目的語言中的詞彙。如果通俗的講解這個模型就是,機器是一個翻譯人員,突然有個人說了一串來源語言所構成的序列,要他同聲傳譯,來源語言的句子只說一遍,讓機器翻譯出來目的語言所對應的句子。

(2)

我們都知道同聲傳譯很難,於是人類很聰明,讓機器把需要翻譯的東西紀錄在紙上,每當他翻譯一個詞的時候一看下所需翻譯的完整句子。這便提出了

Attention模型

Attention模型在翻譯的時候,每當翻譯一個詞的時候,都要利用來源語言的所有詞進行一次計算,計算結果代表著當前詞和來源語言每個詞的對應關係。例如翻譯:多個機場都被迫關閉了時候,英文airport就和機場的關係非常強。這就像一個翻譯官,每次都在看自己所記錄的句子,並決定現在翻譯哪個詞。

(3)

然而這麼翻譯還是不好,像在蹦詞,而不是在翻譯一句通順的話,於是乎人類又教機器針對句子的損失進行優化。原來seq2seq優化的是當前詞翻譯的好不好(也叫作

ML Loss

),此時,直接優化我所翻譯的句子好不好。

3. 穀歌神經機器翻譯錯誤率下降最高達87%是如何算出來的?

神經機器翻譯近兩年取得了統計機器翻譯20年還沒夠著的效果,效果毋容置疑。谷歌原文裡面拿人給翻譯的句子打分,滿分六,神經機器翻譯會好於統計機器翻譯0.5分,大概就是學霸每次6分的考試都能比學渣高0.5,好是好但是遠沒有標題中的85%那麼恐怖。

那那個百分之87%是怎麼算出來的呢?比如滿分5分,我得了4.9分,你得了4分,那麼我就比你提高了90%,可謂玩了個數字遊戲。如果這百分之87%是機器翻譯的BLEU上升87%,那才是真正的顛覆。

現在BLEU普遍在30多,能提高五個點,大概就可以拿自然語言處理領域頂級會議ACL的最佳論文,而且會被歷史銘記~而五個點才提高了百分之十幾,誰要是能提高百分之八十幾,那翻譯真是可以下班了。

4. 神經機器翻譯的優勢

我們首先可以看一下神經機器翻譯和語法機器翻譯還有統計機器翻譯的效果對比

我們可以看到神經機器翻譯通過兩年的努力就超過了另外兩種機器翻譯。

那為什麼神經機器翻譯會比統計機器翻譯好這麼多呢?

端到端的訓練

(End-to-end training ) 

神經機器翻譯非常的優雅,一個模型就解決了機器翻譯。而統計機器翻譯包含詞對齊,調序,重排等十分繁瑣。

更好地詞彙相似度計算

由於Word2vec的出現,近義詞和同義詞可以更好地在語義空間進行表達。例如百度和穀歌在語義空間就十分接近,而神經機器翻譯可以很好利用word2vec的結果。

更好地利用上下文

(只是更好還沒做到很好)

Seq2Seq模型在對上下文建模時比統計機器翻譯優雅很多,他不再受N元語言模型的束縛,可以更好地處理語言的上下文依賴。

5. 機器翻譯還有什麼問題

筆者不是機器翻譯從業者,但略知機器翻譯的幾大問題。

1. 生僻詞翻譯效果極差

。例如你輸入了人名或者奇怪的機構名,都會導致翻譯一塌糊塗。

2. 經常會漏詞或者同一個詞翻譯好多次

比如圖中的development就被重複翻譯了

3. 不考慮上下文,以及無法 “雅”的翻譯俗語等~

結語

神經機器翻譯未來可期,但現在仍有諸多不足,仍然需要每一個研究人員不卑不亢,每天踏踏實實的做好研究才能真的顛覆昨天的機器翻譯。而不要為了每天寫大新聞,而急功近利。

雷鋒網注:本文為雷鋒網獨家約稿文章,未經授權拒絕轉載。

相關閱讀:

漲姿勢!如何評價Google神經機器翻譯(GNMT)系統?

Google 翻譯的“漢譯英”錯誤率降低 60%,是怎麼算出來的?