ICML 2018 | 模型層面的對偶學習
48 人贊了文章
編者按:很多人工智慧任務都具有對偶的性質,例如中文到英文翻譯和英文到中文翻譯、語音識別和語音合成等。基於此,微軟亞洲研究院在2016年提出了對偶學習,利用任務互為對偶的特點從無標註的數據中進行學習。事實上,對偶性不僅存在於數據層面,也存在於模型的層面。因此微軟亞洲研究院在ICML 2018上提出了一個全新的角度——在模型層面來研究對偶學習。模型層面的對偶學習能夠利用一個模型來解決一組對偶任務,該方法在神經機器翻譯和文本分析兩個任務上都被驗證了其有效性。
多個任務聯合學習被機器學習領域廣泛地接受,特別是在數據不足,或者任務之間關聯性很強的場景下。研究人員提出了多種不同的學習框架,例如多任務學習(multi-task learning)、遷移學習、對偶學習等。多任務學習的思想是讓多個相關任務之間通過參數共享的方式實現特徵表述,或是關係表述的共享,其能夠成功的原因在於多個任務之間知識能夠互相傳遞,從而提升了模型的泛化能力。遷移學習是另一種將知識在任務之間互相遷移的學習方法,目的是將一個已經學習好的模型遷移到另一個任務中。
微軟亞洲研究院機器學習組在NIPS 2016上提出的對偶學習事實上也是多個任務之間通過互相協作提高模型性能的工作。最初的對偶學習方法可以總結為數據層面的對偶,也就是所有的對偶信息都是通過數據為媒介傳遞的。而在很多任務中(例如神經機器翻譯、對話生成等),模型的不同部分已經具備了對偶的性質,以神經機器翻譯為例:通常的神經機器翻譯模型都是利用了編碼器-解碼器(encoder-decoder)的結構,我們在下圖抽象了以遞歸神經網路(LSTM)為例的神經機器翻譯過程。
神經機器翻譯過程可以用如下數學公式描述:
受到多任務學習中共享表述的啟發,我們提出共享對偶任務中相關的模型參數,即對於神經機器翻譯,做如下設置:
我們將這種方法稱為模型層面的對偶學習(model-level dual learning,縮寫為MDL)。
除了類似於神經機器翻譯這種嚴格對稱的模型,模型層面的對偶學習同樣適用於非對稱的機器學習任務。以情感分類為例,原始任務是判斷一個句子具有積極情感還是消極情感,解決這個任務的網路結構是:輸入的句子會被長短期記憶網路(LSTM)逐詞編碼得到隱狀態,而後這些隱狀態會被輸入到一個全連接網路進行分類。對偶任務是給定一個標籤,生成具有特定感情色彩的回復。在對偶任務中,標籤首先會被單詞嵌入投射到一個特定的空間,而後,另一個LSTM會基於這個標籤產生一個句子。在這個非對稱的任務中,原始任務的編碼器和對偶任務的解碼器可以被共享。這可以視為我們提出的模型的一種退化形式——只需要設置
模型框架
我們考慮建立在兩個空間x和y之間的對偶任務,其中,原始任務是學習映射f:x→y,對偶任務是學習反向的映射g : y→x。
對於對稱的場景,x和y中的元素形式相同,因而有可能使用相同的模型結果來對對偶學習中的兩個任務進行建模。例如,在神經機器翻譯和Q&A中,x和y中元素都是自然語言的句子,因此我們都可以用LSTM來為f和g進行建模。
圖2 對稱條件下,模型層面的對偶學習模型結構的有向圖(黑色的框表示一個單位的延遲,圖中結點對應變數,有向邊對應運算元,其中箭頭指向的點為輸出,另一端為輸入)
在非對稱的場景中,x和y中的元素不對等,甚至語義空間也不同,因此,原始和對偶任務的模型也不盡相同。例如,在情感分類的任務中,x是自然語言的集合,而y是標籤的集合,例如,y={0,1}。x和y的異質性使得我們要使用不同的模型結構。
在模型層面的對偶學習中,原始模型和對偶模型的參數是共享的,意味著模型有著更少的參數,因此這種方法也可以看作是一種全新的模型壓縮的辦法。另外,對於給定的一對有標數據(x, y),模型的每一部分都被更新兩次,分別來自原始任務和對偶任務。因此,相比於標準的有監督學習,數據會被利用的更加充分。最後,由於參數的共享,兩個模型的複雜度被降低了,因此會有更好的泛化能力。
模型層面對偶學習在神經機器翻譯中的應用
我們在神經機器翻譯任務中對模型層面的對偶學習方法進行測試,選用Transformer作為實驗的模型,Transformer是由一個基本模塊不斷堆疊得到的一個完整模型。一個基本模塊包括三個部分:(1)自我注意力機制,用於將底層的隱藏表達自適應地線性加權並提交給上一層;(2)編碼器-解碼器注意力機制:用於自適應地將編碼器端的隱藏表達加權得到相應地文本信息;(3)非線性變換層,用於對自我注意力機制和編碼器-解碼器注意力機制的輸出進行非線性變換。
下圖展示了Transformer中的基本模塊和前面介紹的模型的對應關係。
該實驗中,我們選擇了三個廣泛應用的數據集作為訓練數據:
- IWSLT 2014的德英互譯的任務 (153k訓練數據),簡記為IWSLT De?En;
- LDC的中英互譯任務(1.25M訓練數據),簡記為Zh?En;
- WMT14的英德互譯任務(4.5M訓練數據),簡記為WMT En?De。
測試數據:
- 對於IWSLT De?En,我們選用和表1列出的對比演算法一樣的測試集;
- 對於Zh?En,我們選用NIST2004、2005、2006、2008和2012作為測試集;
- 對於WMT En?De,我們選取newstest14為測試集。
我們將所有的實驗模型設置為6個模塊。對於IWSLTDe?En任務,我們選擇transformer_small參數配置辦法,其餘兩個任務選擇的配置均為transformer_big。同時,我們使用對偶有監督學習作為對比演算法。
IWSLT De?En的實驗結果如下表:
在IWSLT De?En任務中,我們得到了德文到英文的最佳結果34.71。相比於基準演算法Transformer,我們在原始任務德文到英文和對偶任務英文到德文上分別提高了1.85和0.90個點。相比於對偶有監督學習,我們的方法能夠分別獲得1.13和0.73個點的提升。
為了進一步探索新模型如何隨著模型複雜度變化而工作,我們研究了隨著網路模塊數的變化,BLEU值的變化。我們分別測試了含有2、4、6、8個模塊的模型的BLEU值(注意每個模塊含有3層)。測試的結果如下圖所示:
通過實驗,我們發現:
(1)對於不同的模塊數目以及不同的任務,我們提出的演算法都能夠提高模型的性能;
(2)當模型的模塊數小於6的時候,在兩個方向的翻譯任務上,隨著模塊數的增加,模型層面的對偶學習提升的性能(圖中綠色部分)會提升。這說明,雖然更深的模型有更強的表達力,但可能會受到過擬合的影響,特別是在數據量比較小的IWSLT數據集上。我們提出的方法能將對偶性引入模型中約束模型空間,並且能夠更加充分地利用數據;
(3)即便是對於具有8個模塊的網路,我們的方法仍然能夠提升模型性能,儘管沒有6個模塊帶來的提升明顯。在這種情況下,為了帶來更大的提升,我們需要引入更強的泛化性能的約束,例如採用對偶有監督學習。
中英互譯的結果如下表:
在中文到英文的翻譯任務中,模型層面的對偶學習利用更簡單的模型和更少的數據,再一次取得了最好的效果。在Transformer的演算法之上,我們的方法平均給每個數據集帶來1.21個點的性能提升,同時也超越了對偶有監督學習演算法的表現。對於英文到中文的翻譯任務,相比於基準演算法,我們的方法在每個數據集上平均取得0.69個點的增益。
最後,在WMT英德互譯的任務上,模型層面的對偶學習能夠在Transformer的基礎上將模型的性能進一步提升0.5個點。實驗結果如下表:
模型層面的對偶學習在情感分析中的應用
在情感分析中,原始任務是情感分類,對偶任務是帶有情感的句子生成。x是自然語言的集合,y是標籤的集合。因此,兩個空間的數據形式和語言完全不同。所以,我們要採用非對稱形式的模型層面的對偶學習。
我們在IMDB數據集上進行了驗證。我們選用標準的LSTM網路作為原始任務和對偶任務模型的基本單元。模型的單詞嵌入和情感標籤的嵌入表達均為500維,隱藏層節點數為1024,詞表的大小是10k,Dropout的值設置為0.5。我們將softmax矩陣和單詞嵌入矩陣(包括單詞的和情感標籤的)共享。實驗結果如下表:
在原始任務中,相比於標準的LSTM,模型層面的對偶學習能夠將錯誤率下降2.69個百分點;相比於對偶有監督學習,我們的方法也能將錯誤率下降1.79個百分點。在對偶任務中,模型層面的對偶學習能夠比對偶有監督學習下降3.19個點。
與對偶推斷的結合
對偶推斷是我們在IJCAI 2017上提出的將對偶性應用到推斷的過程中,用來提升已有對偶模型推斷/預測準確度的方法。為了進一步提升模型效果,我們將對偶推斷和模型層面對偶學習進行結合。
模型層面的對偶學習和對偶推斷結合的結果如下:
我們在IWSLT德英互譯任務上驗證了模型層面的對偶學習和對偶推斷結合的性能,實驗結果如下表:
可以看出,對偶推斷可以將我們提出的演算法在兩個任務上分別提升0.48個點(德文到英文)和0.19個點(英文到德文)。對偶推斷也能為標準Transformer分別帶來0.66和0.10個點的提升。
我們同樣在情感分類任務中測試了模型層面對偶學習和對偶推斷結合的性能。下表展示了對偶推斷在IMDB數據集的分類錯誤率:
從表格中可以看出,在使用了對偶推斷之後,我們可以將錯誤率下降0.45個點。
總結來說,模型層面的對偶學習可以與數據層面的對偶學習形成互補。這種新的方法利用模型層面的對偶性來設計網路結構,進而提升網路性能。同時,模型層面的對偶學習可以用一個模型解決一組對偶任務,能夠起到節省參數量的作用。
了解更多細節,請訪問下面鏈接或點擊閱讀原文訪問我們的論文:
論文鏈接:
http://proceedings.mlr.press/v80/xia18a.html
作者簡介
夏應策,中國科技大學2015博士生,在微軟亞洲研究院機器學習組實習。主要研究方向為對偶學習、神經機器翻譯以及深度學習演算法設計。
感謝大家的閱讀。
本賬號為微軟亞洲研究院的官方知乎賬號。本賬號立足於計算機領域,特別是人工智慧相關的前沿研究,旨在為人工智慧的相關研究提供範例,從專業的角度促進公眾對人工智慧的理解,並為研究人員提供討論和參與的開放平台,從而共建計算機領域的未來。
微軟亞洲研究院的每一位專家都是我們的智囊團,你在這個賬號可以閱讀到來自計算機科學領域各個不同方向的專家們的見解。請大家不要吝惜手裡的「邀請」,讓我們在分享中共同進步。
也歡迎大家關注我們的微博和微信(ID: MSRAsia)賬號,了解更多我們研究。
推薦閱讀:
※強化學習(十三):logistic regression
※SVD奇異值分解的數學描述
※EdX-Columbia機器學習課第6講筆記:稀疏線性回歸
※邏輯回歸之sigmoid函數追本溯源