學術報告 中山大學吳酈軍:神經機器翻譯中的強化學習
不到現場,照樣看最乾貨的學術報告!
嗨,大家好。這裡是學術報告專欄,讀芯術小編不定期挑選並親自跑會,為大家奉獻科技領域最優秀的學術報告,為同學們記錄報告乾貨,並想方設法搞到一手的PPT和現場視頻——足夠乾貨,足夠新鮮!話不多說,快快看過來,希望這些優秀的青年學者、專家傑青的學術報告 ,能讓您在業餘時間的知識閱讀更有價值。
2018年8月4月,由北京理工大學大數據創新學習中心與中國科學院人工智慧聯盟標準組聯合主辦的「2018深度強化學習:理論與應用」學術研討會,學界與業界頂級專家濟濟一堂,共同分享深度強化學習領域的研究成果。
中山大學吳酈軍老師以Reinforcement Learning for Neural Machine Translation為主題進行報告,以下分享內容根據嘉賓口頭分享整理。
Reinforcement Learning for Neural Machine Translation
吳酈軍 微軟亞洲研究院和中山大學聯合培養博士生剛才的報告提到CycleGAN,其實是受到2016年我們在NIPS上發表的一篇Paper:Dual Learning for Machine Translation的啟發,這在CycleGAN的原文中也有提到;剛才還有提到推敲的思想,這也是2017年我們在NIPS上發的文章:Deliberation Networks: SequenceGeneration Beyond One-Pass Decoding的思想,翻譯過來就是推敲網路。今天報告的內容是強化學習與GAN的結合。機器翻譯是什麼?有一Encoder網路和一個Decoder網路,這種網路可以有很多種選擇,比如2015年很火的RNN、去年發布的CNN、Google推出的Transformer,基於self-attention網路秒殺了前面所有的結構。
我們這裡介紹的Seq2SeqFramework就以最常用的RNN來建模,ContextVector可以用Attention計算得到。
機器翻譯訓練和測試會有Mismatch問題。Training過程就是最大化一個條件概率。在給定source端句子X的情況下,依賴t之前所有正確的詞語Yt』這些詞語。
這裡大家可以看到一個Mismatch,訓練過程中Y(相當於Label)是已知的,而翻譯的inference過程,t時刻前面所有的Translate出來的詞語Y
RL是一個很天然的好方法來解決上面的問題,為促使模型能夠產生reward很高的句子,用模型生成一個句子Y』與正確的Target句子Y進行比較,給這個句子打分。實際上是給Action一個Reward,句子越好得到的Reward就越大,然後Maximize 這個Reward。
今天要講的就是這兩年的時間當中我做的三個工作:
剛才講過,我們的做法是一句中文一句英文地Pair數據,也就是有一句中文同時有一句翻譯好的英文。當我們只有其中一種語言數據,該怎麼做呢?我們需要正確的Target句子Y,也就是Target端的Label已知,如果只用X的話,則沒有Y,那就意味著沒有Label,我們就不能得到R(Y』, Y),因此不能得到Reward,這是一個很自然的問題。在沒有Label時,我們採用學習Reward Function的方法,對於沒有正確Target句子Y,依然能夠得到一個Reward作為獎勵。
我們設計了一個Reward Network來學Reward Function:這個network是一個RNN-based Network,在Bilingual 的data X和Y上學,用到了X sample出來的Y『,同時利用了attention機制。另外, Reward Function學習是動態的,整個RL後期階段Model要Update Reward Function,在每一步都有一個immediate Reward,每個Yt都可以打分。
訓練時,我們用MSE定義loss。有了Reward Function以後,我們就可以去Update SequenceModel,在Bilingual Data上直接和Y比較,得到BLEU的reward。MonolingualData上就用學出來的Reward Function得到reward。
我們在IWSLT2014De-En數據集上做了實驗,最上面幾行是MLE的結果。我們的結果比Bilingual上的RL效果更好,右邊是學習曲線。
我們還有一個研究,用部分雙語語料的X做MonolingualData,把其中Y正確的Target句子拿掉,用額外的雙語語料加入原來的雙語語料一起學習reward,然後比較兩者performance的差距。實驗表明,我們Predict出來的Reward能夠得到23.9,與真實的Reward訓練得到的結果相比只有0.8之差,說明我們的方法比較好。
第二個研究是Adversarial Neural Machine Translation。怎麼理解通過GAN來做這項任務?雖然Translate出來了一句話,和Target相比可能只會有幾個詞不一樣,但是兩者的sentence level的BLEU score可能會相差很大,所以BLEU是非常Sensitive的。我們希望學習一個很好的Reward Function,非常Smooth和Dynamic的,所以借用GAN的思想。
我們的方法就是用Adversary Training。GAN中的Discriminator提供了一個Smooth並且Dynamic的Reward方法,可以利用Discriminator輸出的概率值來做Reward。比如下面的這個翻譯:微軟亞洲研究院即將迎來二十周年的誕辰,很顯然,翻譯的結果中少了一個Asia,這個20應該是20th,下面的句子是好的,上面的句子是壞的。
我們用普通的NMT Model做Generator,隨意sample一組X,Y的 BilingualData,用Generator Translate X得到Y『,在Y和Y』之間做Classification得到Y』和Y的打分,然後Optimize D和G。
這裡有一個問題,區分Y和Y』少了X的信息。如果把X的信息加進來顯然會有助於區分翻譯準確性問題。具體來說,把X和Y的embedding拼在一起,也就是X的每個詞語與Y的每個詞語的embedding直接Contact起來,得到3D的類似圖像表達之後做分類,這樣就可以Encode X信息和Encode Y信息,效果會更好。
Training Algorithm就是把Discriminate輸出做Reward值Update我們的Generator。主要是用D進行打分,用D作為Reward,同時還是Smooth和Dynamic。去年NIPS上有一篇代表性文章,類似於IRL(Inverse Reinforcement Learning)方式,在Data中學出Reward Function,Policy以後產生更好的Data,然後UpdateReward Function。
第三個研究工作是關於RL在NMT上如何更好地work問題。RL包括很多Trick,我們並不知道怎樣的方式最Work。另外,現在都是幾十兆的Data,這需要Deep Model。怎麼進行Effective Training?怎麼才能Leverage?這也是我們需要做的事情。首先,一個Sample句子Y』,可以用Beam Search的方式來挑出當前這個model最好的一個翻譯結果,也可以根據每一步的softmax層的概率輸出multinomial的sample句子。這兩種方式顯然是不同,對應於RL來說就是Exploration和Exploitation的區別。直接挑出最大的詞,利用了已有的信息;而根據概率來取詞,則需一定的探索。另外,Reward可以用兩種計算方式:一種是Deleted Reward,每一步Reward是零,直到最後一個詞Sample完,整個句子Translate完之後打一個分;一種是Reward Shaping,每個Step都給一個Reward。
Update時PG有很強的不穩定性質,怎麼減少梯度的Variance?這種不穩定性在NMT訓練中是否非常敏感,也是我們研究的問題。我們採用Baseline RewardLearning方式,即學習一個Baseline Reward,可以是一兩層MLP。最後一點就是剛才提到的Objective Combination,MLE和RL的兩部分的Loss加起來幫助我們訓練。另外,我們還考慮了Monolingual Data,這麼多的單語數據能不能很好地Leverage?我們需要考慮不同的端點,只有X或者Y的Data怎麼用起來?Source端也要考慮Exploration和Exploitation,因為Beam search能夠保證結果比較好,根據當前最大的概率去調詞語,把它當做Reference。而Training的instance還是要用Multinomial的Sample得到,兩個之間有Gap才能促進訓練。Target端的單語語料,我們直接採用Back Translation來得到一個source端的偽句子X』和單語句子Y一起作為pair參與到RL的訓練中。
最後我們驗證單語語料的情況,非常好的MLE訓練上面RL同樣是非常不錯的一個結果。Multinomial的Sampling句子訓練比較重要,另外Objective Combination也非常重要,能夠穩定訓練過程。而Variance Reduction和Reward Shaping可能不是很重要。另外如果能夠很好的利用單語語料,那麼單語語料也是能夠促進RL的訓練效果。
精彩的學術報告背後,是一群優秀的學術人才。都說搞學術的人需要「超凡脫俗」,需要耐得住清貧寂寞,其實……芯君想說:完全不需要這樣啊!比如,馬上申請2018百度獎學金——是的,百度為每位具有AI才能的「潛力股」學術精英們提供了廣闊的平台資源和發展空間,為其提供20萬研究資金支持,幫助優秀學子全身心投入科研工作,心無旁騖地進行科學探索。
還等什麼,你——未來的學術之星,趕快申請報名吧!
留言 點贊 發個朋友圈我們一起探討AI落地的最後一公里
如需轉載,請後台留言,遵守轉載規範


※劍橋大學:SGNMT—一個用於新模型和搜索策略快速原型設計的靈活NMT解碼平台
※2018 BDIC分賽區特等獎團隊報道:大數據與人工智慧創意賽風采展示
TAG:讀芯術 |