最近了解了NLP的對偶學習,幾篇論文分享一下龟梦。
Dual Learning for Machine Translation
- NIPS 2016
This mechanism is inspired by the following observation: any machine translation task has a dual task, e.g., English-to-French translation (primal) versus French-to-English translation (dual); the primal and dual tasks can form a closed loop, and generate informative feedback signals to train the translation models, even if without the involvement of a human labeler.
現(xiàn)在的機器翻譯NMT系統(tǒng)多采用seq2seq模型着帽,這種方法的一大缺點在于需要構(gòu)建大量的平行語料庫揣钦,非常耗時耗成本。本文提出了一種低資源的機器翻譯模型訓(xùn)練方法:對偶學習(dual learning)烟勋,這中方法可以更有效地應(yīng)用單語料(包括源語言和目標語言)规求,大大減少平行語料庫。這種思路很直觀卵惦,就是當語言A被翻譯成語言B后阻肿,再將語言B翻譯成語言A,這個過程是有噪聲的沮尿,因此經(jīng)過兩次翻譯后的語言A和原始語言A肯定會出現(xiàn)差異最小化丛塌,將差異最小化即可同時改進兩個翻譯模型的性能。同理畜疾,從語言B翻譯到語言A再翻譯到語言B也可以進行相同的過程赴邻。因此如果我們有了兩個已經(jīng)訓(xùn)練好了但不完美的翻譯模型,我們只需要將兩種語言的自由文本通過對偶學習的方式進行訓(xùn)練啡捶,就能改善兩個翻譯模型的性能姥敛。
算法的主要思想也借助了強化學習的思想,通過最大化reward來更新參數(shù)瞎暑。假如我們現(xiàn)在已經(jīng)有了兩個翻譯模型和彤敛,分別是將A翻譯成B和將B翻譯成A。同時我們還訓(xùn)練了兩種語言的語言模型和了赌。首先我們從語言A的語料庫中選取語句墨榄,然后通過翻譯成B語言,此時我們得到一個立即reward 勿她,這個reward其實是衡量的流暢度袄秩。然后我們將重新翻譯會語言A,論文中稱之為重建逢并,這部分的reward為之剧。總reward 砍聊,是一個超參數(shù)背稼。
這個算法的思路還是比較直觀的,現(xiàn)在講講它的訓(xùn)練過程辩恼。最開始我們是沒有訓(xùn)練好的翻譯模型的雇庙,我們需要先用平行語聊訓(xùn)練翻譯模型,然后逐漸轉(zhuǎn)換到用單語料進行對偶學習灶伊。文中提到了一種soft-landing策略:剛開始的時候每個batch的一半是平行語料疆前,一半是單語語料,此時的目標函數(shù)是翻譯模型的目標函數(shù)和的加權(quán)和聘萨。隨著訓(xùn)練進行逐漸增大單語料的比例竹椒,直到全是單語料。
實驗結(jié)果和基于attention的NMT和pseudo-NMT進行了比較米辐。發(fā)現(xiàn)在僅用10%語料的情況下胸完,dual-NMT和前兩種方法使用全語料訓(xùn)練的結(jié)果不相上下,單獨看重建的指標翘贮,遠高于前兩種方法赊窥,同時在長句子翻譯的表現(xiàn)非常優(yōu)秀。對偶學習對于機器翻譯任務(wù)是非常有效的狸页。
文中也提到了還有很多對偶的任務(wù)值得探索锨能,如:語音識別和語音合成、圖片描述和圖片生成芍耘、問答和問題生成址遇、檢索和關(guān)鍵字抽取。同時提到了對偶學習的本質(zhì)是構(gòu)成一個閉環(huán)斋竞,讓我們能夠捕捉到反饋信號倔约,所以作者也稱對偶學習為close-loop learning,該框架不拘泥與兩種語言的對偶任務(wù)坝初,還可以擴展到很多agent之間相互反饋浸剩。
Dual Supervised Learning
- ICML 2017
In this work, we propose training the models of two dual tasks simultaneously, and explicitly exploiting the probabilistic correlation between them to regularize the training process.
上一篇文章只在NMT方面提出了對偶學習,這篇文章是愛監(jiān)督學習下提出了對偶學習的范式:Dual Supervised learning(DSL)脖卖。
本文的出發(fā)點在于乒省,很多對偶任務(wù)之間存在內(nèi)在的概率分布聯(lián)系:在傳統(tǒng)的監(jiān)督學習下,以上對偶性是無法得到保證的畦木,本文給訓(xùn)練過程顯式地加入了上述約束:
是兩個函數(shù)的差異函數(shù)袖扛,和是兩個對偶學習的模型本身。為了求解這個問題十籍,使用拉格朗日乘數(shù)法蛆封,為兩個目標函數(shù)增加乘數(shù)項
然后進行訓(xùn)練即可」蠢酰可以看出惨篱,這里中方法實際上只是在目標函數(shù)上加了一個正則項。只要能較好地估計和围俘,算法就能同時提升兩個對偶任務(wù)的性能砸讳,思路也比較直觀琢融。
本文在機器翻譯老充、圖像處理(圖像分類和生成)淤齐、情感分析(情感分類和生成)方面做了實驗,驗證了方法有效性碑诉。其中后兩個任務(wù)雖然是對偶的但是從左到右的信息是有損的常遂,而模型在這兩個任務(wù)上也獲得了不錯的效果纳令。
Model-Level Dual Learning
- ICML 2018
In this word, we propose a new learning framework, model-level dual learning, which takes duality of tasks into consideration while designing the architectures for the primal/dual models, and ties the model parameters that playing similar roles in the two tasks.
以上兩篇文章都僅關(guān)注了數(shù)據(jù)上的對偶性,這篇文章從模型的角度提出了對偶學習的范式克胳,在這種范式下平绩,對偶任務(wù)之間能夠做到參數(shù)共享。根據(jù)對偶任務(wù)的對稱性文章探索了兩種對偶范式:
- Symmetric Model-Level Dual Learning
這種情況下和具有相同的形式漠另,如機器翻譯捏雌。簡單來說,第一篇文章中的機器翻譯從到和從到是用了兩個不同參數(shù)的模型完成的笆搓,每個組件是單向的腹忽,即:
而從模型上對偶的機器翻譯如下:
這里的整個模型只有兩個雙向組件,以為例砚作,如果數(shù)據(jù)從左側(cè)進入窘奏,則它為編碼器,若從右側(cè)進入葫录,則它為解碼器着裹,同理。這樣就實現(xiàn)了之前和米同、以及和的參數(shù)共享骇扇。由于編碼器解碼器都采用一個模型,只需要形式上一致即可面粮。這里的組建可以采用RNN少孝、CNN或Transformer等。
- Asymmetric Model-Level Dual Learning
這中情況下和不具有相同的形式或語義熬苍,如情感分析稍走。但是還是可以相同的組件上面相同的組件描述,這里將編碼成語義向量柴底,然后是分類層婿脸。它的對偶任務(wù)首先將標簽的embedding(文中沒有詳細說明,猜測是隨機干擾柄驻,在訓(xùn)練時可能是前向傳播的結(jié)果)通過映射到語義向量狐树,然后用生成。
可以看出鸿脓,只要組件的兩個方向計算的數(shù)學形式一致抑钟,就可以用于對偶學習涯曲。模型層面的對偶學習有幾點好處:第一,減少了參數(shù)總量在塔;其次掀抹,給定一個訓(xùn)練pair,實際上參數(shù)訓(xùn)練了兩次心俗,而且從兩個不同的方向訓(xùn)練的,實際上是資源利用了兩次蓉驹,和都參與了訓(xùn)練城榛。
最后文章在機器翻譯和情感分析兩個任務(wù)上驗證了模型的有效性。實驗結(jié)果表明效果優(yōu)于之前的DSL框架以及其他模型态兴。