雷鋒網 AI 科技評論按:3 月 15 日的文章《機器翻譯新突破,微軟中英新聞翻譯達人類水平》中,我們介紹了微軟亞洲研究院與雷德蒙研究院共同研發(fā)的新的機器翻譯系統(tǒng),微軟稱它在 newstest2017 的中-英測試集上達到了與人工翻譯媲美的水平。
這則消息不僅引起了我們的好奇,讓我們的編輯記者們感嘆「人工智能這么快就又下一城」,同時也引起了一些讀者的疑問。畢竟,我們時常見到新模型在公開測試中刷榜,能夠和人類拿到同樣的分數,但不一定換一個數據集就還能和人類媲美,尤其是對于靈活多變的人類語言而言;另一面,谷歌、搜狗、百度等互聯(lián)網巨頭都有自己神經網絡翻譯系統(tǒng),大家都或多或少體驗過,即便最新的模型都普遍使用了注意力機制,但翻譯質量不盡如人意的地方仍時常出現(xiàn),繼續(xù)做出大跨步式的突破又談何容易呢?
微軟官方博客中提到,新的翻譯系統(tǒng)中用到了四大技術:對偶學習、聯(lián)合訓練、推敲網絡和一致性正則化,對應的論文也已經公開。雷鋒網 AI 科技評論下面根據論文,結合以往的相關研究詳細講講用在新翻譯系統(tǒng)中的這四大技術到底是怎么回事,品味品味當這四項技術同時使用的時候,能夠達到人類水準到底能不能算是「合情合理」。文末我們也會貼出一些微軟提供的中文到英文翻譯結果,不知道能否徹底打消可能的疑惑。
一,對偶學習 Dual Learning
深度學習模型的訓練需要大量數據,這不僅是領域內的常識,也是限制在更多場景下使用深度學習的一大障礙。對偶學習的提出就主要是為了減少對數據的依賴。相比標簽傳播(Label Propagation)、多任務學習(Multi-task Learning)、遷移學習(Transfer Learning)這樣利用數據相似性的解決方法,對偶學習(Dual Learning)利用的是 AI 任務中自然出現(xiàn)的對稱性。比如:
機器翻譯,有英翻中和中翻英的對稱;
語音處理,需要語音轉文字(語音識別),也有文本轉語音(語音合成)的任務;
圖像理解,圖像描述(image captioning)與圖像生成 (image generation)是一個對稱的過程;
對話任務,問題回答(Question answering)與問題生成(Question generation);
按照傳統(tǒng)的監(jiān)督學習范式,這些對稱的任務都需要分別訓練,每個方向都需要大量有標簽數據。那么考慮到任務的對稱性,如果一個英文句子被翻譯成英文,再從中文翻譯成英文,還能跟一開始的句子非常相近的話,就可以認為「英翻中」和「中翻英」兩個翻譯器都表現(xiàn)很好。這也符合人們的常識。
微軟亞研資深研究員秦濤博士就曾帶領團隊分別在 NIPS 2016 和 ICML 2017 發(fā)表「對偶學習」(https://arxiv.org/abs/1611.00179)和「對偶監(jiān)督學習」(https://arxiv.org/abs/1707.00415 )兩篇論文,介紹了對偶學習在無監(jiān)督學習和監(jiān)督學習兩種模式下的形式及表現(xiàn)。雷鋒網硬創(chuàng)公開課也曾邀請到秦濤博士給大家做了前一篇 NIPS 論文的詳細分享。
對偶學習
NIPS 2016 對偶學習論文的范式示意圖
如圖,對于對偶學習,主任務 f 把無標注英文句子 x 翻譯為中文 y,對偶任務 g 把中文 y 翻譯回英文 x'。模型從過程中得到兩個反饋,一個部分反饋是來自懂中文的智能體,評價中文 y 的質量如何(例如是不是一個通順的中文句子);另一個反饋是來自懂英文的智能體,比較 x 和 x' 的相似度獲得反饋。這樣,一個流程結束以后,模型就可以獲得完整反饋。
有了反饋,就可以把強化學習的一些方法直接用于訓練更新模型 f 和 g 。論文中所用的方法為策略梯度 policy gradient,增加主任務 f 和對偶任務 g 中好的行為出現(xiàn)的概率,降低不好的行為出現(xiàn)的概率。另一方面,由于只有單一輸入,由兩個智能體自己產生反饋,不需要把翻譯結果與輸入對應的標簽對比,所以這是一種無監(jiān)督學習方法。
學習效果上,在使用了 1200 萬個雙語標注句的英法翻譯實驗中,相比于 2016 年時基于深度神經網絡的機器翻譯算法(NMT),對偶學習只需要其中 10% 的雙語數據就可以達到 NMT 采用了全部數據進行訓練的準確度。訓練所需數據量可以減少 90%,很好地達成了預期效果。
根據秦濤博士介紹,對偶學習有一個問題是很難冷啟動,即需要先對主任務和對偶任務的兩個智能體進行一定的訓練后才能夠利用對偶學習進行聯(lián)合反饋訓練,否則模型收斂會很慢。
對偶監(jiān)督學習
ICML 2017 對偶監(jiān)督學習論文的范式示意圖
仍以翻譯任務為例,在監(jiān)督學習中,當知道主任務 f 應該得到的正確翻譯為 y 之后,就可以用最大似然準則更新 f,使 y 出現(xiàn)的概率越大越好。
對于對偶監(jiān)督學習,需要主任務 f 和對偶任務 g 各自都能出現(xiàn)正確翻譯 y 與 x,這樣就會存在一個聯(lián)合概率 P( x,y )。通過 f 和 g 都可以單獨計算出這個聯(lián)合概率 P(x,y)=P(x)P(y|x;f)=P(y)P(x|y;g) 。但如果 f 和 g 是根據監(jiān)督學習分開訓練的,就不能保證單獨計算出的聯(lián)合概率相同。
為了解決這個問題,論文中在 f 、g 兩個任務分別的損失函數基礎上,為對偶監(jiān)督學習增加了一項正則化項,它的含義是將「通過 f 計算得到聯(lián)合概率 P( x,y ) =P(x)P(y|x;f)」和「通過 g 計算得到聯(lián)合概率 P( x,y ) =P(y)P(x|y;g)」兩個概率的差值最小化,從而通過結構的對稱性加強了監(jiān)督學習過程,讓兩個互為對稱的任務共同進行學習。(上圖中間的式子) 這與 SVM 正則化項的區(qū)別在于,SVM 的正則化項與模型有關,與數據無關;但對偶監(jiān)督學習中討論的正則化項還與數據相關。由于具有了這樣的正則化項,每個訓練數據都能夠參與到正則化項中,而且主任務、對偶任務的兩個模型可以互相影響,共同提高。
根據論文中的測試,對偶監(jiān)督學習模型在機器翻譯、圖像分類、句子情感分析三對任務中都取得了明顯的提高。尤為讓人印象深刻的是句子情感分析這一對任務:正向任務判斷一個句子是正面還是負面情感,以及反向任務根據給定的正面/負面情感生成句子,任務中的信息損失非常嚴重,只留下了 1bit 的信息而已。測試結果中正向任務情感分類的錯誤率僅從基準模型的 10.1% 下降到對偶監(jiān)督學習模型的 9.2%,作者們認為就和信息損失嚴重有關。
不過到了反向生成句子的時候,對偶監(jiān)督學習模型展現(xiàn)出了強大的表現(xiàn)力,對簡單短句的使用變少了,并且選用的單詞、詞語、句式表達出的情感更強烈、更具體。如下圖
在這次新的機器翻譯系統(tǒng)中,基于單語語言語料的對偶學習和基于雙語語料的對偶監(jiān)督學習都有使用,提升了語料的訓練成效。
二,聯(lián)合訓練 Joint Training
即便有了對偶學習這樣的可以提高數據利用效率的方法,高質量的雙語訓練數據畢竟還是越多越好 —— 而實際上這樣的數據沒有那么多。所以論文中還引入了聯(lián)合訓練,讓中到英和英到中的兩個互譯模型生成新的數據,并把新生成的數據也當作訓練數據,迭代進行訓練。
具體做法如圖所示,對于現(xiàn)有的雙語語料庫 D 中的語句對 (X,Y),用預訓練過的一對翻譯器把 X 翻譯為 Y'、把 Y 翻譯成 X',構成新的語句對 (X',Y')。在每輪迭代中,新生成的語句對會添加到現(xiàn)有的雙語訓練數據中,繼續(xù)訓練兩個方向的兩個模型;經過訓練的模型會再一次翻譯出新的(X',Y'),作為新的訓練數據。同時也設計了半監(jiān)督的訓練損失,同時包含了兩個方向模型的表現(xiàn),以便能讓一個模型的進步顯式地幫助另一個模型的表現(xiàn)提高。
為了保證新生成的、即將用于下一輪訓練的生成語句對的質量,生成的語句也要挑選出最好的一部分,而且選出的語句要經過神經網絡翻譯模型的翻譯概率權重評分,以便最大程度減小不好的翻譯語句帶來的負面影響。那么,在一輪輪的迭代過程中,兩個方向的翻譯語句質量會越來越高、模型也被訓練得更好,這樣的迭代訓練過程會進行到表現(xiàn)不能繼續(xù)提高為止。