Adversarial Multi-task Learning for Text Classification
MTL中,通過共享網絡層,以期望共享層提取與任務無關的特徵,實際過程中可能會包含特定任務的特徵或者無關的噪音。
基於此,文章提出一個對抗的MTL框架,減少共有特種和私有特徵之間的干擾。作者通過在16個不同分類任務上證明其方法可用性,同時,共有特徵可以作爲知識遷移到新的任務上。
主要貢獻
- 提出的新模型以更精確的方式劃分任務特定(私有)空間和共享空間,而非粗略地共享參數。
- 作者將原始的二元對抗性訓練擴展到多類,這不僅使多個任務可以聯合訓練,而且允許使用未標記數據(半監督的學習)。
- 作者將多個任務之間的共享知識壓縮到一個現成的神經層,這可以很容易地遷移到新的任務中(模型具有較好的可遷移性)。
作者舉例:
The infantile cart is simple and easy to use.
This kind of humour is infantile and boring.
兩句話中,單詞“infantile”在第一句話中表示中性情感,在第二句表示消極情感, 在兩種情感分類任務中,“***infantile”***會被放在共享空間,導致將第一句話分類爲消極情感。
爲了解決這個問題,本文通過引入對抗訓練和正交約束分離共享和私有空間。對抗訓練用於確保共享空間只包含共有的信息,正交約束用來消除共享和特有空間冗餘的特徵。
Adversarial Multi-task Learning
黃色lstm用於提取共有特徵,灰色提取任務的私有特徵。
-
任務k的公有特徵
-
任務k私有的特徵
問題1:如何保證共享編碼器提取的是公有特徵?
Adversarial Network
對於一個判別模型D,和一個生成模型G。
生成模型G:共享的編碼器,這裏是LSTM。
Task Discriminator D: 輸入是共享的特徵,目標是判斷輸入語句來自於哪一個任務。
引入對抗損失
其中表示第i個樣本是否屬於任務k。該損失函數優化LSTM的參數來誤導判別器,同時優化判別器參數儘量分類出語句屬於哪一個任務。
Semi-supervised Learning Multi-task Learning
從上面的公式可以看出,訓練過程並未用到樣本的label,所以可以使用兩個域的無標籤的數據來訓練對抗網絡。
問題2:如何保證私有編碼器提取的是私有特徵?
Orthogonality Constraints
表示矩陣範式,而中間是,只有兩個矩陣正交,範式才爲0,所以這個損失鼓勵私有特徵和共有特徵不相似,正交的時候最小。
總的損失:
expriment
[外鏈圖片轉存失敗(img-1Wv9YCUQ-1566834430942)(C:\Users\zhiya\iCloudDrive\經典論文\NER\assets\1566833334960.png)]
引入兩個多任務學習模型作對比MT-CNN和MT-DNN,括號中爲多任務比相應的單任務的錯誤率下降。
可視化
左圖中,y軸表示情感類別(正向和負向),x軸表示輸入詞語時間步。sp-mtl模型,在輸入無情感詞語asleep之後,變爲負向,而文中模型仍然是正向,正確標註也是正向。
說明sp-mtl模型只是單純使用不同編碼器,並未抽取出共有和私有特徵。
Shared-Private Model (SP-MTL):
作者以此說明asleep爲其他任務帶入的噪音,sp-mtl模型被此噪音帶偏了。參考前文例子。