<模型匯總_3>深度學習中最貪玩的模型dual-learning NMT
之前給介紹了牛逼的CNN(Convolutional Neural Network)和深度學習加速神器BNN(Binarized neural network)。今天給大家介紹深度學習模型中最淘氣的模型:在遊戲中學習的對偶學習(dual learning)。對偶學習之發表在去年的NIPS(Neural Information Processing Systems)的論文《Neural Information Processing Systems》提出來的一種基於強化學習機制的深度學習框架。論文最大貢獻就是提供了一個對偶學習的框架去進行機器翻譯,只需要使用10%的對其數據來熱啟動兩個對偶模型(agent),再分別使用單語料數據(corpora)讓兩個agent通過對偶的方式來學習,就達到了與傳統的NMT可比的效果。對偶機制應用於機器翻譯最大的優點就是減少了模型對對齊數據的依賴,大大降低訓練語料獲取難度。下面就仔細分析一下dual learning是如何寓「學習」於「娛樂之中」的。
用語言來描述一下本文提出的dual-learning mechanism:
1、第一個agent,只懂A語言,他發送一條信息給翻譯模型(負責把A語言轉成B語言),該模型把這條信息轉換成B語言,發送給第二個agent(只懂B語言)。
2、第二個agent接收到信息之後,會檢查這個語言是否是natural sentence in B語言(注意,第二個agent並不知道這個經過翻譯後的信息是否正確,因為它看不到原始信息)。B通過另一個翻譯模型(負責把B語言轉換成A語言)反饋一個信號給第一個agent。
3、第一個agent接收到反饋信號之後,會判斷它收到的信號是否與原信號一致,並且通過翻譯模型(A->B)反饋給第二個agent。通過這種方式,兩個agent都可以知道這兩個翻譯模型是否工作正確,並逐步提升它們的翻譯精度。
4、同樣,這個communication也可以從B端開始,這是一個對稱的過程。
這種對抗機制有兩個distinguishing優點:
1、通過強化學習過程從無標記的數據中學習,大大降低了對對齊樣本的依賴。這對於很多深度學習任務或應用場景來說非常具有借鑒意義,因為,深度學習最缺的就是帶標記的樣本。
2、展現了深度強化學習(DRL)在實際應用中的威力。以往的DRL應用集中視頻和棋盤遊戲上,在其他沒有明顯獎勵信息的場景下面臨挑戰。Dual-learning mechanism也為強化學習抽取有效獎勵提供了途徑。
不僅給出了對偶機制,文章還給出一個具體的對偶學習演算法:
場景是在在一個由兩個agent、一個forward translation step和一個backward translation step組成的對偶神經機器翻譯系統(dual-NMT)中。語言A和B各自的單語語料庫DA、DB,兩個語料庫並不需要對齊。P(.|s;Oab)和P(.|s;Oba)分別代表兩個神經翻譯模型。Oab和Oba是它們的參數。假設已經有兩個強語言模型LMa(.)和LMb(.),它們的輸出代表了它們認為這個句子是自己own language判斷的置信度。
假設遊戲從Da開始,用Smid表示翻譯輸出的中間結果,即第一個agent發送一個信號,經過Foward translation step之後的輸出。用一個immediate reward r1=LMb(Smid),表示B語言agent對這個Smid的natural程度判斷,以此衡量第一個神經翻譯模型翻譯的精度。再把Smid經過backward translation step反饋會A語言模型,通過另一個reward r2=logP(S|Smid;Oba)衡量第二個神經翻譯模型重構的精度。最後通過一個線性組合得到總的reward r=a*r1 + (1-a)*r2,通過強化學習中的策略梯度演算法(我們會在後續文章中詳細講解)來最大化這個reward,以此更新兩個神經翻譯模型的參數。因為採用策略梯度演算法更細參數,很容易得到梯度更新的公式如下:
在樣本選擇方面,文章採用seq2seq裡面的beam-search的方法來進行樣本選擇,以獲得更有意義的結果。
實驗驗證:論文選擇了一個標準的NMT模型,一個由pseudo樣本訓練的pseudo-NMT模型對比,得到如下結果:
通過對比可以發現,dual-learning NMT系統達到了和標準NMT差不多的翻譯結果。
思考:
Dual-learning mechanism不僅適用於機器翻譯場景,還適用於一下兩個場景:
1、現實場景下很多任務都可以看做是一個對偶任務,比如語音到文本vs文本到語音,問答vs答案生成(問題到答案vs答案到問題),搜索(query到document)vs關鍵詞抽取(抽取關鍵詞/query for document)(query到文檔vs文檔到query)等,都可以基於對偶的學習機制,使用強化學習演算法從大量未標註的樣本中學習。
2、對偶學習機制可以應用於一個閉環的學習系統中,同時學習多個模型。比如,對於一個中文句子x先用一個NMT翻譯成英語y,再用一個NMT翻譯成法語z,再用一個NMT翻譯成中文x』。系統可以使用大量無標記數據學習三個語言模型。
個人評價:第一次聽說dual-learning就覺得這個mechanism很有意向,覺得與深度強化學習和對抗學習有點像,仔細研究之後發現有很大的區別,後續我們介紹完深度強化學習和對抗學習之後再詳細對比。個人覺得dual-learning使用大量無標註數據學習這點很有意思,可以使深度強化學習發光發熱。
推薦閱讀:
※神經機器翻譯工具——OpenNMT
※Google的翻譯黑科技究竟表現如何?讓我們來做實驗
※模型匯總17 基於Depthwise Separable Convolutions的Seq2Seq模型_SliceNet原理解析
※【專知薈萃14】機器翻譯 Machine Translation知識資料全集(入門/進階/綜述/視頻/代碼/專家,附PDF下載)
※都柏林城市大學怎麼樣?
TAG:深度学习DeepLearning | 自然语言处理 | 机器翻译 |