谷歌翻譯這幾個月的進化速度突然加快是什麼原因?

本題已收錄至知乎圓桌:機器之能 X 語言之美,更多「人工智慧」相關話題歡迎關注討論。

曾經的印象中,谷歌翻譯只是用來翻譯單詞、用來對文段粗解大意的。今天查文獻的時候,一時懶得一個個查單詞了(幾乎都是專業英語),就扔給了谷歌翻譯,結果產生了以下效果:

幾乎沒有任何語法錯誤讀下來很通順都不用改的好嗎……而且很牛逼的是

1 長句的語序也可以擼得很順毫無違和感

2 多義詞的詞義選取和近義詞的篩選也比之前靠譜多了

3 英譯中和英譯德(我德語比英語好以前經常會退而求其次地把英文翻譯成德文來讀,畢竟同語系的翻譯難度更低得多)不一樣,何止是跨語系,根本就是跨語類翻譯,這方面感覺即使是人腦都很難做好的呢。


作為Google員工,我來談談兩個令我體會比較深刻的原因吧。

1. 神經網路/深度學習在機器翻譯上的飛速進展。

大概在14年左右的時候,關於在機器翻譯上應用神經網路/深度學習的論文開始大量地被發表。[Sutskever et al., 2014]把基於RNN的序列到序列(seq2seq)模型應用於機器翻譯的任務上。

多層seq2seq模型

後來因為單純的seq2seq對於長句的效果不佳,引入了注意力機制(Attention)。[Bahdanau et al., 2015, Luong et al., 2015]。

Attention

大概的意思是把編碼層的輸出和解碼層的輸出結合起來計算一個含有對齊信息的上下文向量(Context Vector)。由於帶上了對齊信息,對長句的翻譯效果有了顯著的提高。

再後來是去年誕生的GNMT [Wu et al., 2016],在上述工作的基礎上加入了一些改進,如:

1)用WordPiece來解決低頻詞的問題。這個就相當於是子詞,如 wordpiece 會被拆分成word和piece兩個子詞。

2)加入了殘差連接(ResNet),提高了更深的網路的可訓練性。

3)雙向RNN。

基本上,每一次改進都是在原先的神經網路中一些新的結構來改善原先模型不足的地方。不得不說,神經網路其中一個美妙之處就在於可以很容易地通過在上面加結構/連接來改變模型性質,所以實驗一種新的模型不是一件難事,這也是促成神經網路在各個應用上研究大爆發的其中一個原因。

當然,為了解決RNN訓練慢的問題,後來又有研究者提出了基於CNN的方法[Gehring et al. 2017],純粹Attention的方法[Vaswani, et al., 2017]。這些方法擯棄了傳統的RNN方法,不過我們仍然可以看到組成這些模型的各個子結構大部分都是一些已經存在的結構。

另外值得一提的是,上述模型都是端到端的模型(模型的輸入和輸出都是句子),不需要我們去處理語法/句法之類的問題。這其實就是降低了機器翻譯研究的門檻,即不需要太多的領域內的專業知識。

2. Tensorflow在Google內部的廣泛應用,以及Google內部對Tensorflow強大的基礎設施支持。

Google有著大量的機器集群,並且對Tensorflow有著很好的支持。在這些集群上部署神經網路訓練任務是一件輕而易舉的事情。基本上,我們只需要指定所需要的資源,就可以把我們的訓練任務部署在機器集群上。這就大大地降低研究的成本。這不但把研究者們從這些瑣碎的事情上解放出來專心於網路結構的研究,而且可以讓研究者們同時進行很多實驗去驗證他們的想法、快速迭代。快速迭代對於研究真的非常非常重要

當然,硬體革新也是很重要的,近年來GPU越來越快,並且Google自家也開發了專門用於機器學習的TPU。這都是對於減低實驗時間成本有著很積極的作用。

順帶一提,Google已經在Tensorflow的官方教程中加入了關於機器翻譯的教程(https://www.tensorflow.org/versions/master/tutorials/seq2seq)。如果哪位同學對這個感興趣的話,可以比較容易地跟著上面的教程,開發一個自己的機器翻譯模型出來。


Found in translation: More accurate, fluent sentences in Google Translate

Neural Machine Translation has been generating exciting research results for a few years and in September, our researchers announced Google"s version of this technique. At a high level, the Neural system translates whole sentences at a time, rather than just piece by piece. It uses this broader context to help it figure out the most relevant translation, which it then rearranges and adjusts to be more like a human speaking with proper grammar. Since it』s easier to understand each sentence, translated paragraphs and articles are a lot smoother and easier to read. And this is all possible because of end-to-end learning system built on Neural Machine Translation, which basically means that the system learns over time to create better, more natural translations.

簡單說就是去年九月谷歌搞出了一個叫「神經機器翻譯」的大新聞,讓谷歌翻譯學會了整句翻譯,而不是一個字一個字的蹦。

谷歌的程序猿們利用端到端學習系統,讓它自己學會了說人話。

當然有時間的話你也可以到 http://g.co/translate/community 谷歌翻譯社區去調教谷歌娘,讓她更快更好的學會人類怎麼說話。

就是這樣,喵。


我覺得恰恰因爲是專業英語,翻譯難度才低。對人和機器都是如此,當然對機器加倍如此。


先上論文鏈接Google"s Neural Machine Translation System:Bridging the Gap between Human and Machine Translation:

首先以往翻譯系統有如下缺點:  

  • 基於短語翻譯,長語句翻譯效果不好
  • 系統訓練和翻譯推理計算成本較高
  • 難以應對罕見詞

以上是顯著的缺點,而這些使得翻譯系統在實際應用中的準確度和速度。下圖為翻譯系統的核心演算法框架圖:

Google"s Neural Machine Translation System由帶有 8 個encoder和 8 個decoder的深度 LSTM 網路組成,同時加入了attention機制和殘差連接(residual connections)。為了提升並行性從而降低訓練時間,我們的注意機制將decoder的底層連接到了encoder的頂層。為了加速最終的翻譯速度,我們在推理計算過程中使用了低精度運算。為了改善對罕見詞的處理,我們將詞分成常見子詞(sub-word)單元(詞的組件)的一個有限集合,該集合既是輸入也是輸出。這種方法能提供字元(character)-delimited models 的靈活性和詞(word)-delimited models 的有效性之間的平衡、能自然地處理罕見詞的翻譯、並能最終提升系統的整體準確度。我們的波束搜索技術(beam search technique)使用了一個長度規範化(length-normalization)過程,並使用了一個覆蓋度懲罰(coverage penalty),其可以激勵很可能能覆蓋源句子中所有的詞的輸出句子的生成。在 WMT" 14 英語-法語和英語-德語基準上,GNMT 實現了可與當前最佳結果媲美的結果。通過在一個單獨的簡單句子集合的人類對比評估中,它相比於谷歌已經投入生產的基於短語的系統的翻譯誤差平均降低了 60%。

-------

以上是論文的abstract翻譯,隨著深度學習在nlp領域的應用,加上一些新的演算法的提出:如batch normalization, 各種LSTM變種,attention機制等,使得實際應用性能提升。不過google還是大廠,總是搞些大新聞


除了機器學習,還有「我」們的貢獻……


這樣中-英-中 兩次,再也沒人說抄襲了。。。


這是我剛剛用谷歌翻譯對文末論文名稱和摘要的翻譯,你能看出來這是機器翻譯的嗎?

長期咖啡消費與新發高血壓發病率降低相關:劑量反應薈萃分析

目的:對前瞻性隊列研究進行劑量反應薈萃分析,研究長期攝入咖啡與高血壓風險之間的關係。方法:對截至2016年11月發表的研究進行在線系統搜索。線性和非線性劑量反應薈萃分析進行;通過敏感性和元回歸分析研究了選擇變數的異質性,發表偏倚和混雜效應的潛在證據。結果:共納入7個隊列,包括205349人和44120例高血壓。在非線性分析中,每天喝七杯咖啡的高血壓風險顯著降低9%,而在線性劑量反應關聯中,每增加一杯咖啡,高血壓的風險就降低1%每天。在亞組中,女性,含咖啡因的咖啡和在美國進行的研究有較長時間的隨訪。對潛在混雜因素的分析顯示,與吸煙有關的變數削弱了咖啡消費與高血壓風險之間關聯的強度。結論:增加咖啡的攝入量與前瞻性隊列研究中高血壓風險的適度降低有關。吸煙狀態是咖啡消費與高血壓風險之間關聯的潛在影響因素。

原文鏈接:

Long-Term Coffee Consumption Is Associated with Decreased Incidence of New-Onset Hypertension: A Dose–Response Meta-Analysis


因為谷歌伺服器掛掉了,這段時間一直是jeff dean手動處理請求,伺服器恢復之後又是老樣子


emmm,歪個樓

這個bug有段時間了,還沒修復|?ω?`)


看到這麼牛逼我趕緊去試了一下。


But, most of all, they know that it is essential to keep people off the streets, which is why they censor it as they do.

譯文

但是,最重要的是,他們知道讓人們走上街頭是很重要的,這就是為什麼他們要像他們那樣審查。


詞性判斷和語序差不多搞定了, 不過意思嘛

=====================

更:

Naturally, law enforcement will seek to establish whether the brothers had ties to radical Islamists abroad. Anyone familiar with the modern saga of Caucasian Muslims will know that the idea is not farfetched. The YouTube account of Tamerlan Tsarnaev disclosed that his favorite videos included a production titled "The Emergence of Prophecy: The Black Flags of Khorasan," predicting a victorious jihad in Central Asia. That concept is a favorite of al Qaeda and more generally of Saudi-inspired Wahhabism.

譯文

自然,執法部門將設法確定這些兄弟是否與國外激進的伊斯蘭主義者有聯繫。任何熟悉高加索穆斯林現代傳奇的人都會知道這個想法並不是遙遠的。 Tamerlan Tsarnaev的YouTube帳戶透露,他最喜愛的視頻包括名為「預言的出現:呼羅珊的黑旗」的預言,預測中亞勝利的聖戰。這個概念是基地組織和沙特瓦哈比派更受歡迎的。

===

語序判斷還是有重大瑕疵


看到那個」牛逼」的回答,我就試了一下:

emmmmm,一定是我兒化音太重了,重來

huadu?好吧,查了以後才發現是一個地名。


我看還是要學習一個┐( ̄ー ̄)┌

又試了下歐路詞典,貌似更通順


谷歌翻譯是可以修改的,如果你這篇文獻有人之前用谷歌翻譯並且修改過,那就會被記住


表示懷疑,這幾年每次看到這種言論,我都喜歡把自己翻譯的書里的某一段技術類內容貼進去,這麼多年了,從來谷歌都是語無倫次


我用翻譯軟體主要是看生物學方面的文獻。我遇到長難句需要翻譯的時候一般至少同時打開三個翻譯軟體,谷歌,百度,必應或有道,這是因為我也不知道哪個翻譯靠譜,於是讓他們「投票」表決吧,少數服從多數,最後我再自己斟酌。最後我的體驗是必應翻譯學術論文的效果最好,其次百度,谷歌和有道差不多一個水平,真沒發覺谷歌的翻譯能好到哪兒去


你說啥??


什麼時候能翻譯好這個再說吧



有沒有人發現,微信自帶的翻譯功能越來越好用了,準確度比百度谷歌有道好很多。

下面是我隨手找的歐萊雅洗面奶的英文標籤,

感覺騰訊最近都在默默發力。


推薦閱讀:

如何評價Google神經機器翻譯(GNMT)系統?
為什麼「pro」在 Google 翻譯中被翻譯成「親」?

TAG:人工智慧 | 演算法 | Google翻譯 |