深度神經網絡機器翻譯

2021-02-20 AI2ML人工智慧to機器學習

2013年,在Brandeis大學聆聽薛念文老師(計算語言學領域引用率最高的華人之一, 下圖居中, 薛老師右邊是好友柏曉鵬和李斌)討論小組研究語言模型的時候, 已經感到神經網絡語言模型的力度。

但是還是非常難以想像到3年不到的這麼短時間,就突破到這個程度。 去年年底Google神經網絡機器翻譯出來的時候, 本人有感於突破之快, 把當年的討論的部分收穫寫到了 「概率估值的光滑(Smoothing)」裡面。 

今天有時間和大家一起討論下下, 深度神經網絡機器翻譯。

前言

2016年年底, Google公布了神經網絡機器翻譯(GNMT), 從此宣告, 機器翻譯經過27年左右, 正式從1989年的IBM機器翻譯模型(PBMT,基於短語的機器翻譯),過渡到了神經網絡機器翻譯模型。已經極大接近了普通人的翻譯了。 

而從基於短語的翻譯到神經網絡翻譯, 相對提升可以達到60%以上, 因此一下子引起了歡呼和驚嘆。 而這背後的大功臣,就是sequence to sequence (seq2seq)的端到端的模型。 

而這個seq2seq模型,除了機器翻譯,還極大改變了整個自然語言處理相關應用。 包括基本的NLP功能:Parsing, NER等; 傳統的NLP應用:Summarization, QA, Conversation等; 還有多模的世界:圖像和文字, 語音和文字等。 

譬如, Google除了GNMT以外還有基於seq2seq的TTS系統Tacotron

基於seq2seq的問答系統

基於seq2seq的概要提取系統

接下來, 我們按如下順序介紹seq2seq模型:

Seq2Seq的簡史

PBMT 時代的基石和問題

端到端模型的出現

神經網絡語言模型的出現

RNN-LM的出現

RNN的發展

Seq2Seq的出現

Seq2Seq的發展

一. Seq2Seq的簡史

目前seq2seq的突破,離不開:

a. Attention機制: 現在Attention機制幾乎將IBM模型中alignment對齊機制發揮出新的境界。

b. RNN模型升級: RNN出現了雙向RNN,堆棧RNN,和殘差RNN。在GNMT裡面把這些技術統統用上了。使得RNN模型的學習能力達到空前高度。 

c. RNN-LM模型: RNN的使用開啟解決長距離依賴的問題, 也引發記憶計算在語言模型的新思考。 

d. NNLM模型突破:NNLM模型的發展使得非線性的投影和Softmax的近似計算得到突破。 

e. 端到端的編解碼模型:端到端的早期突破使得多模融合成為可能。 

2015年,兩個小組: Tim Rocktaschel為代表的倫敦大學院、牛津大學、還有DeepMind的小組(Reasoning about Entailment with Neural Attention),  和愛丁堡大學的Jianpeng Cheng (Long Short-Term Memory-Networks for Machine Reading),發表了基於Attention的對齊機制細分和相關的可視化的分析。 尤其Jianpeng Cheng對Shallow Attention Fusion 和 Deep Attention Fusion的區分,代表了Attention機制在NLP裡面的成熟。 

2014年 - 2015年,斯坦福計算機系Manning組的 Minh-Thang Luong 的論文 Effective Approaches to Attention-based Neural Machine Translation 正式基於高斯分布推導了Local Attention,比較了Global Align Attention和Local Align Attention, 和視頻處理裡面 Soft Attention 和 Hard Attention建立了聯繫。 

2015年 Bengio的團隊中來自德國的Dzmitry Bahdanau (NEURAL MACHINE TRANSLATION BY JOINTLY LEARNING TO ALIGN AND TRANSLATE),將Attention機制引入到機器翻譯中,正式開啟了Attention作為Alignment的大門!

2014年 兩個人, Bengio團隊的Kyunghyun Cho (Learning Phrase Representations using RNN Encoder–Decoder for Statistical Machine Translation)   和 Google的 Ilya Sutskever (Sequence to Sequence Learning with Neural Networks) 正式將RNN Encoder-Decoder搬上神經網絡機器翻譯NMT的歷史舞臺, 並且命名為Seq2Seq模型!

從上面, 我們看到從Seq2Seq簡單模型到有Attention模型的Seq2Seq的經歷。 

二. PBMT 時代的基石和問題

首先基於短語的機器翻譯,從IBM模型一路發展而來, 已經相當成熟。 並且開源系統也很多,極大促進了機器翻譯的研究和應用。 

最重要的是完成機器翻譯的功能模塊的分解: 雙語對齊, 語言模型,翻譯模型, 解碼器, 測試。 

這個使得, 神經網絡語言模型誕生後,可以進行獨立測試, 逐步發展替代。 

其中n-gram語言模型,基於全概率公式和馬爾可夫假設,

但是問題也出現在這個n-gram模型, 主要的3大問題

1. 通過頻率計算概率, 存在數據稀疏,概率為0的情況難以輕易搞定

雖然,眾多概率光滑的算法(尤其 Modified Kneser-Ney 算法)紛紛出現, 依然對人為先驗設計要求太高。 

2. 長距離依賴的問題難以解決(短語N-Gram中N的局限性)

3. 線性模型學習的局限性

如何解決基於頻率的概率估算問題, 解決長距離依賴, 解決線性模型的問題在基於短語的機器翻譯PBMT框架下難以徹底截距。 

其實, 還有兩個神器在PBMT時代已經廣泛應用了:

 

1. Log-Linear模型的提出

在「概率分布の三奧義」 裡面,我們就提出了, 概率估計發展, 從基於頻率, 到基於經驗,再到基於最大熵。  需要的數據越來越少。 而Log-Linear就是基於最大熵的概率模型(細節參考「「66天寫的邏輯回歸」 引」) 如果想深入了解的, 簡單說來Log-Linear和最大交互熵之間的關係就是著名的Donsker-Varadhan定理:

Log-Linear表現為Softmax輸出



2. 束查詢 Beam Search

當把翻譯的詞拼成句子的時候, 要求整個句子的似然概率最大, 這時候Beam Search是介於貪心和動態規劃(譬如 Viterbi Algorithm)之間個一種均衡了效果和計算量的選擇。 

三. 端到端模型的出現

端到端模型很早就出現了, Brandeis 的Jordan Pollack早在89年左右就思考如何基於encoder-decoder開始做機器翻譯。 不過,那時候叫dual-ported RAAM (recursive auto associate memory)。

大家都知道encoder-decoder的功能是重建對應的元素, 如果x和f(x),存在同樣的內在分布表達, 那麼可以先訓練x重建, 再訓練f(x), 甚至可以訓練多個f(x)。 如果把f(x)看成是翻譯, 這就可以基於多模的翻譯, 也可以是多語言的翻譯。 

不僅僅如此, 還引入了分布表達映射的思想, 增強模型的表達能力。 

這是早期的基於神經網絡的端到端的機器翻譯, 但是局限於當時的算法和計算,效果並不突出。 

四. 神經網絡語言模型NNLM的出現

PBMT時代後期, Log-Linear的出現和應用, 基本上奠定了NNLM神經網絡語言模型的基礎了。 本質上NNLM就是Log-Linear 保留了Softmax層, 替代了線性映射變成非線性映射tahn。  這樣, 引入了非線性映射。 

Log-Linear對應的是線性Softmax網絡

NNLM: 非線性(tanh)的Softmax網絡

這裡使用的是tanh,某種意義就是截斷的對稱線性的光滑近似。 

其實,直接在Log-Linear基礎上,引入非線性存在個兩個問題

1. 需要的網絡參數太多, 訓練困難

2. Softmax網絡的計算量很大, 而且不穩定, 噪聲的影響太大。

對於這兩個問題,Bengio建議可以嘗試RNN來減少參數, 同時提出了Hierarchy Softmax方式減少計算量,但是依然不夠穩定。 

雖然NNLM引入了非線性, 也使用softmax計算概率問題(等價於最大熵估算概率), 但是並沒有解決長距離依賴問題。  

五. RNN-LM的出現

Mikolov追隨Bengio的建議, 2010年引入了RNN, 雖然引入RNN有利於簡化參數, 但是同時引入了深度網絡, 使得訓練和收斂變得困難。 為了簡化計算, 沒有採用tanh計算, 使用了sigmoid函數, 同時採用了分組計算softmax。 

2年後, Mikolov在提出word2vec之前差不多搞定了Negative Sampling, 進一步提出了提高了Softmax的訓練的速度和穩定性。Negative Sampling可以看成2010年 Gutmann and Hyvärinen 提出的 Noise Contrastive Estimation的一種近似。 現在NEG和NCE已經成為訓練softmax的主流。 

有人說, RNN-LM好像就是把NNLM的NN網絡換成了RNN網絡, 但是訓練難度的增加,的確阻礙了好多人的實驗成功, 有興趣可以看一下 Bengio和Mikolov聯合在2012年發表的大作 On the difficulty of training Recurrent Neural Networks。

RNN的成功引入, 解決了長距離依賴的問題, 而且引入了上下文和記憶的概念。   

RNN-LM 背後的翻譯能力的挖掘,還需要回歸到早期Encoder-Decoder的表達映射。 

六. RNN的發展

RNN自身學習能力也在不停的發展, 譬如堆棧RNN,粗細的表達能力也開始分層次。 構建起一個時間和空間的縱橫網絡。 

在語言模型裡面, 就要看雙向網絡了, 正向網絡, 好比我的老家溧陽, 那麼你遇到溧字,後面只有兩個選擇溧陽和溧水,但是反過來陽和水前面可以跟的詞就多了。 反向網絡, 好比New York, 正向看New 後面不一定跟York,但是反過來看York前面一般跟New。 

再根據訓練收斂的快慢和梯度消失的影響, 引入殘差網絡的機制, 就得到了殘差堆棧RNN。 

合併到一起,就是GNMT裡面的雙向堆棧殘差RNN網絡了。 

除了結構的疊加, 也有人開始改進 RNN本身結構, 譬如增強記憶功能的增強RNN:

七. Seq2Seq的出現

有了RNN作為語言模型, 再加上早期的Encoder-Decoder框架作為翻譯, 於是誕生了RNN Encoder-Decoder模型。 

如果把這個模型水平展開,就不很像encoder-decoder了, 於是命名成Seq2Seq模型了。 

再加上詞嵌入的發展和t-SNE可視化的發展, 剛出生的Seq2Seq翻譯的效果和影響力已經不是dual-ported RAAM可以比擬的啦。 

從此端到端的翻譯重新回到歷史的舞臺!

八. Seq2Seq的發展

隨著前面簡史裡面介紹的Attention機制的引入, Seq2Seq的效果一飛沖天。Attention本質上也是一個Softmax的權重計算網絡。 

但是它很好的構建了注意力權重、上下文向量,注意力向量等模塊。 

有了這樣的模塊化, 再加上合理的計算流程, 我們就可以得到基於Attention的候選詞計算了。 而Attention機制很好的替代了在PBMT裡面的對齊機制。 

如果再回到PBMT裡面的幾大模塊: 雙語對齊, 語言模型,翻譯模型, 解碼器, 測試。 發現可以對應到Attention,RNN-LM,Encoder-Decoder, Beam.

似乎除了Beam之外,全部可以利用神經網絡搞定了。 現在為Seq2Seq量身定做Beam Search也是一個研究熱點, 最近基於剪枝的算法又開始出現了,希望找到計算量和效果的新的平衡點.

這樣,基於概率的剪枝, 是不是和AlphaGo接近了。 這或許就是未來使用AlphaGo做機器翻譯的開始。  有興趣大家可以看看IBM Watson研究院 Markus Freitag 的論文 Beam Search Strategies for Neural Machine Translation.

小結

本文通過逐層說明的方式,對比了從PBMT到NMT的進化實現, 通過問題解答的方式, 闡明了深度神經網絡機器翻譯是怎麼發展起來的。 

相關話題:

相關焦點

  • 深度:回顧Google神經網絡機器翻譯上線歷程
    Google Translate作為久負盛名的機器翻譯產品,推出10年以來,支持103種語言,一直作為業界的標杆。而在前不久,Google官方對翻譯進行一次脫胎換骨的升級——將全產品線的翻譯算法換成了基於神經網絡的機器翻譯系統(Nueural Machine Translation,)。
  • 深度| 逐層剖析,谷歌機器翻譯突破背後的神經網絡架構是怎樣的?
    選自SMERITY機器之心編譯谷歌神經機器翻譯(GNMT)論文《Google's Neural Machine Translation System: Bridging the Gap between Human and Machine Translation》描述了一種將深度學習融入產品的有趣方法。該論文和架構是不標準的,在很多情況下偏離學術論文中的架構。
  • 人工神經網絡技術與機器翻譯實現融合
    )通過對人工神經網絡與深度學習技術的持續不斷投資,今年8月,在全球首次實現支持60多種語言對的新一代機器翻譯引擎「PNMT™」的商用化。 這次實現商用化的SYSTRAN PNMT™ (Pure Neural Machine Translation)是利用人工神經網絡技術的機器翻譯引擎,與現今機器翻譯市場上的兩大主流技術 -- 基於統計機器翻譯引擎和
  • 機器翻譯七十年:百度領跑神經網絡翻譯時代
    中新網12月22日電 機器翻譯距今已有70年的發展歷史。自上世紀40年代起,基於規則、實例以及統計的機器翻譯方法漸次登場,各領風騷。近兩年,神經網絡機器翻譯(Neural Machine Translation, NMT)技術異軍突起,取得了翻譯質量的大幅躍升。
  • 新譯科技:混合神經網絡算法使智能機器翻譯實現顛覆性突破
    新譯科技:混合神經網絡算法使智能機器翻譯實現顛覆性突破時間:2017-05-19 14:09   來源:中華網   責任編輯:青青 川北在線核心提示:原標題:新譯科技:混合神經網絡算法使智能機器翻譯實現顛覆性突破 在智能化的今天,傳統語言翻譯迎來智能化浪潮。
  • 谷歌翻譯高勤:神經網絡技術將主導機器翻譯的未來
    谷歌翻譯研發科學家高勤  中國網科技7月11日訊 谷歌翻譯研發科學家高勤在今天舉行的中國網際網路大會上介紹稱,谷歌翻譯在神經網絡機器翻譯技術上已經取得重要進展,並同時對機器翻譯技術在未來當中實際應用。他表示:「神經網絡機器翻譯和非專業人工翻譯已經相當接近,對於中英文互譯也取得最大提升。」  高勤在大會上稱,神經網絡翻譯技術與傳統翻譯技術有很大不同。傳統機器翻譯技術是基於短語統計機器翻譯拼圖過程,嘗試找出較好翻譯選項,而神經網絡機器學習屬於利用雲語言與目標語言信息,使整各翻譯過程變得連續且完整。
  • 谷歌發布神經機器翻譯:翻譯質量接近筆譯人員
    據外媒報導,谷歌於昨日發布了網頁版和移動版的谷歌翻譯。在漢譯英的過程中,會採用全新的神經機器翻譯,而這個App每天要進行一千八百萬次這樣的翻譯。此外,谷歌針對這個翻譯系統的運作原理,發表了一篇學術論文。早前,谷歌就曾表示它們在谷歌翻譯中運用了神經網絡技術,但只限於實時視覺翻譯這個功能。
  • 谷歌發布神經機器翻譯,翻譯質量接近筆譯人員
    據外媒報導,谷歌於昨日發布了網頁版本和移動版本的谷歌翻譯。在漢譯英的過程中,谷歌翻譯會採用全新的神經機器翻譯機制,而這個App每天要進行一千八百萬次這樣的翻譯。此外,谷歌針對這個神經機器翻譯系統的運作原理,專門發表了一篇學術論文。早前,谷歌就曾表示過,他們在谷歌翻譯中運用了神經網絡技術,但只限於實時視覺翻譯這個功能。前段時間,谷歌一名叫Jeff Dean的高級員工曾經告訴VentureBeat,谷歌已經在嘗試把越來越多的深度學習功能和機制融入到谷歌翻譯中。
  • 神經網絡機器翻譯介紹
    機器翻譯是指通過計算機將源語言句子翻譯到與之語義等價的目標語言句子的過程,是NLP(自然語言處理)領域一個重要的方向。
  • 科技大會百度翻譯機:神經網絡機器使用翻譯,場景運用更加精準!
    百度在科技新時代的主力發展對象不是現在廣受人知的無人汽車市場這樣淺薄而是對神經網絡機器的深入研究,要知道機器學習只是人工智慧的基礎使命,最重要的還是要讓機器能夠在深度學習中取得進展。因此百度為了能夠在神經網絡機器上有突破式的進展,還特意邀請了對該領域非常有經驗的科學家吳華擔任首席科學家。
  • Transformer新型神經網絡在機器翻譯中的應用|公開課筆記
    大家可以看到我PPT下面的幾個 LOGO,我們翻譯團隊是屬於阿里巴巴機器智能技術實驗室,中間是阿里翻譯的 Logo和我們的口號「Translate and Beyond」。這次分享的題目是「Transformer新型神經網絡在機器翻譯中的應用」。
  • 神經網絡機器翻譯技術及應用(下)
    何中軍,百度機器翻譯技術負責人。本文根據作者2018年12月在全球架構師峰會上的特邀報告整理而成。神經網絡機器翻譯技術及應用(上)篇,我們為大家介紹了神經網絡機器翻譯的基本原理和挑戰,(下)篇繼續為大家講述機器翻譯的應用與未來。
  • 網易有道上線神經網絡翻譯
    【IT168 廠商動態】在機器翻譯領域深耕了近十年的網易有道,再次給人們帶來了驚喜。  近日,網易有道在GMIC(全球移動網際網路大會)未來創新峰會上公布:由網易公司自主研發的神經網絡翻譯( Neural Machine Translation,以下簡稱NMT)技術正式上線。
  • Google發布神經網絡機器翻譯系統:支持中英
    基於短語的機器學習會將輸入句子分解成詞和短語,然後對其中的大部分進行獨立翻譯。神經網絡機器翻譯則將整個輸入句子視作翻譯的基本單元,優點是所需調整更少,很快就在中等規模的公共基準數據集上達到了與基於短語的翻譯系統不相上下的準確度。
  • 深度學習應用於機器翻譯的魔力
    但我們都知道,高中生一直在使用谷歌翻譯...嗯... 協助他們的西班牙語作業15年。這不是舊聞嗎?事實證明,在過去兩年中,深度學習完全改寫了我們的機器翻譯方法。對語言翻譯幾乎一無所知的深度學習研究人員正在將相對簡單的機器學習解決方案放在一起,這些解決方案擊敗了世界上最好的專家構建的語言翻譯系統。
  • 谷歌翻譯啟用全新神經網絡機器翻譯支持印地語、俄國和越南語
    《谷歌翻譯啟用全新神經網絡機器翻譯支持印地語、俄國和越南語》文章已經歸檔,不再展示相關內容,編輯建議你查看最新於此相關的內容:牽手Google,王雪紅意欲成就HTC再次起飛HTC與Google籤署戰略合作協議的消息傳出後
  • 陽光學院打造「語用神經網絡機器翻譯」系統
    中國網海峽訊 隨意打開一個英文網頁,複製相關內容到「語用神經網絡機器翻譯」系統裡,不一會兒就能準確翻譯出中文,而且詞語和語法邏輯均順暢可讀…近日,在陽光學院外國語與海外教育學院召開的「語料庫與語用神經網絡機器翻譯研究」專家論證會上,陽光學院「
  • 谷歌的神經翻譯系統意味著機器翻譯到盡頭了?
    整個的報告以機器翻譯為主線展開,大概分四部分:第一叫做機器翻譯的波瀾史,幾十年的發展一波三折,非常有意思;第二是機器翻譯現在主流的技術神經機器翻譯,還是可以改進的。我可以給大家看一些例子,並不是谷歌就做到頭了,還有很多的空間。
  • ACL論文 | 深度學習大神新作,神經網絡的自然語言翻譯應用
    Manning進行了關於神經機器翻譯(NMT)的講座。神經機器翻譯是一種簡單的新架構,可以讓機器學會翻譯。該方法雖然相對較新,已經顯示出了非常好的效果,在各種語言對上都實現了最頂尖的表現。神經網絡在自然語言處理方面,未來有巨大的應用潛力。
  • ACL 2019 論文:谷歌提出增強神經網絡機器翻譯魯棒性的新方法
    儘管近年來利用 Transformer 模型進行神經機器翻譯(NMT)取得了巨大成功,但是 NMT 模型對輸入的微小幹擾仍然很敏感,從而導致各種不同的錯誤。谷歌研究院的一篇 ACL 2019 論文提出了一種方法,使用生成的對抗性樣本來提高機器翻譯模型的魯棒性,防止輸入中存在的細小擾動度對其造成影響。結果表明,該方法提高了 NMT 模型在標準基準上的性能。