Adversarial Multi-task Learning for Text Classification-閱讀筆記

Adversarial Multi-task Learning for Text Classification

MTL中,通過共享網絡層,以期望共享層提取與任務無關的特徵,實際過程中可能會包含特定任務的特徵或者無關的噪音。

基於此,文章提出一個對抗的MTL框架,減少共有特種和私有特徵之間的干擾。作者通過在16個不同分類任務上證明其方法可用性,同時,共有特徵可以作爲知識遷移到新的任務上。

主要貢獻

  1. 提出的新模型以更精確的方式劃分任務特定(私有)空間和共享空間,而非粗略地共享參數。
  2. 作者將原始的二元對抗性訓練擴展到多類,這不僅使多個任務可以聯合訓練,而且允許使用未標記數據(半監督的學習)。
  3. 作者將多個任務之間的共享知識壓縮到一個現成的神經層,這可以很容易地遷移到新的任務中(模型具有較好的可遷移性)。

作者舉例:

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的公有特徵
    stk=LSTM(xt,st1k,θs) \mathbf{s}_{t}^{k}=\mathbf{L} \mathbf{S} \mathbf{T} \mathbf{M}\left(x_{t}, \mathbf{s}_{t-1}^{k}, \theta_{s}\right)

  • 任務k私有的特徵
    htk=LSTM(xt,ht1m,θk) \mathbf{h}_{t}^{k}=\mathbf{L} \mathbf{S} \mathbf{T} \mathbf{M}\left(x_{t}, \mathbf{h}_{t-1}^{m}, \theta_{k}\right)

問題1:如何保證共享編碼器提取的是公有特徵?

Adversarial Network

對於一個判別模型D,和一個生成模型G。

生成模型G:共享的編碼器,這裏是LSTM。ht=LSTM(ht1,xt,θp)\mathbf{h}_{t}=\mathbf{L} \mathbf{S} \mathbf{T} \mathbf{M}\left(\mathbf{h}_{t-1}, \mathbf{x}_{t}, \theta_{p}\right)

Task Discriminator D: 輸入是共享的特徵,目標是判斷輸入語句來自於哪一個任務。

引入對抗損失
LAdv=minθs(λmaxθD(k=1Ki=1Nkdiklog[D(E(xk))])) L_{A d v}=\min _{\theta_{s}}\left(\lambda \max _{\theta_{D}}\left(\sum_{k=1}^{K} \sum_{i=1}^{N_{k}} d_{i}^{k} \log \left[D\left(E\left(\mathbf{x}^{k}\right)\right)\right]\right)\right)
其中dikd_i^k表示第i個樣本是否屬於任務k。該損失函數優化LSTM的參數來誤導判別器,同時優化判別器參數儘量分類出語句屬於哪一個任務。

Semi-supervised Learning Multi-task Learning

從上面的公式可以看出,訓練過程並未用到樣本的label,所以可以使用兩個域的無標籤的數據來訓練對抗網絡。

問題2:如何保證私有編碼器提取的是私有特徵?

Orthogonality Constraints

Ldiff=k=1KSkHkF2 L_{diff}=\sum_{k=1}^{K} \|{{S}^{k}}^{\top}H^k\|^2_F

F2\|\cdot\|_{F}^{2}表示矩陣範式,而中間是HcsHps\mathbf{H}_{c}^{\mathbf{s} \top} \mathbf{H}_{p}^{s},只有兩個矩陣正交,範式才爲0,所以這個損失鼓勵私有特徵和共有特徵不相似,正交的時候最小。

總的損失:
L=LTask+λLAdv+γLDiff L=L_{T a s k}+\lambda L_{A d v}+\gamma L_{D i f f}

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模型被此噪音帶偏了。參考前文例子。

來源:Adversarial Multi-task Learning for Text Classification

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章