原文連結:
論文賞析[EMNLP19]Designing and Interpreting Probes with Control Tasksgodweiyang.com

論文位址:
Designing and Interpreting Probes with Control Taskswww.aclweb.org
介紹
NLP任務都存在着一個常見的問題:我的神經網絡有沒有學到某個性質
? 是以我們需要構造出一種方法,來告訴我們模型是否真的學到了某些性質。
例如對于ELMo,我們想知道它是否學到了POS tag資訊,是以我們需要設計一種探測任務(probe task)。
如上圖所示,我們将句子輸入到ELMo中,得到每個單詞的上下文表示。然後用probe函數(一般是MLP或者linear)進行分類,得到每個單詞的POS tag。
注意到這裡的ELMo是不進行fine-tune的,也就是固定住不變的,模型參數隻有probe參數。
但是我們能否說,POS tag效果好,那麼ELMo學的就好呢?其實是不行的,因為有三點因素可能影響到最終的tag準确率:
- ELMo真的學到了POS tag資訊。
- probe函數設計的比較複雜,可以很好的拟合出POS tag分布。
- POS tag任務的監督資訊加的比較多。
是以本文主要研究了如下三個問題:
- 高的探測準确率是否意味着表示真的學到了某種性質?
- 探測方法對結果有着什麼樣的影響?
- 上面提到的三點影響因素對探測結論是否有影響?
下面我們一一關注這三個問題。
問題1
首先答案是否定的,探測任務上準确率越高,并不能代表着表示學到了你想要的性質。
還是用ELMo和POS tag舉例子,上面這個模型用1000隐層次元的MLP作為probe函數,最終取得了97.3的高準确率。但是我們不能說EMLo能夠很好的學到了POS tag資訊,因為可能是MLP很好的拟合出了POS tag分布。
是以我們提出了控制任務(control task)的概念,也就是用同樣的模型去預測一個随機任務。例如對于POS tag任務,PTB資料集裡一共有45個tag,我們給每個單詞重新随機配置設定一個tag,然後用探測模型預測句子的随機tag。這樣其實有個小問題,就是消除了單詞的一詞多義問題,一個單詞在所有語境下tag都是一樣的了。
測試下來結果如上圖所示。可以看到MLP和linear對POS tag結果基本沒有影響,都非常的高。但是對control任務也就是随機tag影響很大,MLP并沒有降低很多(92.8),但是linear降低了很多(71.2)。于是我們将這個內插補點叫做selectivity。如果selectivity越大,說明probe函數影響越小,可能不是probe函數拟合出來的結果。如果selectivity越小,說明不管是gold的label還是随機的label,準确率都很高,這就可能是probe函數拟合出來的結果了,而不是表示學出來的。
問題2
顯然linear的學習能力明顯不如MLP,那麼不同的參數設定對最終結果是否有影響呢?
上圖舉了兩個例子,分别是dropout和隐層次元對結果的影響。可以看出簡單的正則化對selectivity影響不是很大,但是隐層次元影響特别大。
具體的參數影響如上圖所示,最終選取了使得準确率比較高,selectivity相對大的參數配置。
問題3
答案也是肯定的。
比如上面這個例子,一般認為ELMo第1層POS tag效果是要好于第2層的,probe測試下來也是這樣。但是可以發現,第2層的selectivity更大,說明其實第2層才更好的學到了POS tag資訊。那為什麼第1層效果更好呢?可能是因為它更靠近單詞層,是以保留了更多單詞的資訊。這也說明了selectivity方法可能也不是完美的,可能通過聚類預測POS tag,第2層效果會更好。
結論
具體的實驗細節和分析就不說了,大體就是這麼個思想。這篇主要就是說明了,光靠準确率并不能說明一個encoder的表示學到了某種性質,而可能是模型拟合的結果。是以他們提出了control task,同時預測一個随機輸出,如果準确率差距較大,則驗證了表示學到了性質。當然這個方法還有一些問題,比如probe函數的挑選,還有文中依存句法分析的control task的設計是有瑕疵的。