2020年了,你還在用注意力作可解釋嗎?

極市導讀
?注意力方法是否構(gòu)成可解釋?而什么方法才是真正符合解釋邏輯的?本文基于2020 EMNLP Workshop上的一篇綜述文章,論述了作者對這一問題的思考。>>加入極市CV技術(shù)交流群,走在計算機視覺的最前沿
原論文鏈接:
The elephant in the interpretability room: Why use attention as explanation when we have saliency methods?
https://arxiv.org/abs/2010.05607
本文目錄
0. 引言:問題描述
注意力方法:是否構(gòu)成可解釋?
關(guān)于注意力的辯論 注意力分析的問題是否合理 注意力方法與因果解釋 改進注意力以更好地作出解釋
2. 顯著性方法
基于梯度的方法(gradient-based methods) 基于傳播的方法(propagation-based methods) 基于遮擋的方法(occlusion-based methods)
3. 注意力vs顯著性
4. 注意力一無是處?非也
注意力研究依然重要 注意力可以為其他解釋提供參考
5. 顯著性就是終極的解釋方法了嗎?
在顯著性之外 顯著性方法的局限性
6. 結(jié)論
前排提示:文章內(nèi)容較長,建議點贊+收藏慢慢閱讀。
0. 引言
注意力機制在NLP的許多領(lǐng)域都可以提高性能,其中包括機器翻譯,自然語言生成和自然語言推論等。此外它還可以提供一個窗口,了解模型的運行方式。例如,對于機器翻譯,Bahdanau等人(2015)可視化目標token要使用的源token,以對其翻譯的單詞。
在可解釋領(lǐng)域,注意力機制落入模型的運行方式是否構(gòu)成解釋成為關(guān)注焦點。盡管許多以可解釋的AI為主題發(fā)表的論文都因未定義解釋而受到批評(Lipton,2018; Miller,2019),但最早的關(guān)鍵研究引起了人們對作為解釋的關(guān)注(Jain和Wallace,2019; Serrano和Smith,2019;Wiegreffe和Pinter,2019)確實表示,他們對關(guān)注權(quán)重是否忠實代表每個輸入token對模型預測的責任很感興趣。
狹義的解釋意味著存在著最重要的預測輸入標記(arg max),準確地總結(jié)了模型的推理過程(Jacovi和Goldberg,2020b)。
有趣的是,上述工作中對解釋的隱含定義恰好與設(shè)計的輸入顯著性方法(saliency methods)相吻合。此外,該解釋的用戶通常默認為模型開發(fā)者,對他們而言忠誠度(faithfulness)至關(guān)重要。
Faithfulness和plausibility相對應(yīng),前者指解釋方法是否始終如一地能夠反映模型表現(xiàn),后者指直覺上是否合理(似然性)。關(guān)于這兩者的討論可見2020年ACL論文《Towards faithfully interpretable NLP systems: How should we de?ne and evaluate faithfulness?》
因此,標題中的“房間里的大象”即:如果使用注意力作為解釋的目標是忠實地為輸入token分配重要性權(quán)重,那么為什么要使用注意力機制而不是為實現(xiàn)該目的而設(shè)計的眾多現(xiàn)有輸入顯著性方法?

房中大象:用來隱喻某件雖然明顯卻被集體視而不見、不做討論的事情或者風險,抑或是一種不敢反抗爭辯某些明顯的問題的集體迷思。
1. 注意力方法:是否構(gòu)成解釋?
首先,介紹一下在如下關(guān)于注意力方法是否構(gòu)成可解釋的爭論中,討論的基本模型:Bi-LSTM+tanh Attention文本分類模型(如下圖):

這一模型只有一個注意力層,通常這一機制基于MLP結(jié)構(gòu):

其中
?是BiLSTM狀態(tài)?
?的注意力得分。當只有一個輸入文本時,沒有查詢輸入(query),所以q或者是參與訓練的參數(shù),或者?
?只是被排除在公式外。1.1 注意力之辯:是(不是)解釋?
反方辯手:注意力不能做解釋!
1,Jain和Wallace(2019)的論文《Attention is not Explanation》將注意力權(quán)重的分布和基于特征的顯著性度量分布進行比較,并且做了將句子輸入進行擾動然后對注意力權(quán)重做對抗性搜索,得出結(jié)論:
注意力通常與基于梯度/LOO方法的特征重要性度量不相關(guān):

可以找到一組完全不同的注意力權(quán)重而得出相同的預測。具體是對預測的attention權(quán)重單獨優(yōu)化一個目標(通過構(gòu)造損失函數(shù)進行梯度下降優(yōu)化),找到一個讓模型預測改變較小,而最大化JS散度:

2,Serrano和Smith(2019)在論文《Is Attention Interpretable?》中寫道:
通過修改注意力權(quán)重(修改方法:intermediate representation erasure,如下圖),它們經(jīng)常沒有識別出那些對模型預測最重要的表示; 基于梯度的注意力排序往往比注意力權(quán)重更能反映文本對預測的的重要程度。

正方辯手:注意力可以是解釋!
1,Wiegreffe和Pinter(2019)在論文《Attention is not not Explanation》(看標題就知道是在懟誰,笑)聲稱注意力可以是(might be)解釋:
反方一辯論將注意力和基于梯度的方法比較的部分沒有問題,但是通過對抗找到等價注意力權(quán)重的方式是有問題的:
"Attention Distribution is not a Primitive.":注意力機制本來就不是一組數(shù)字,和整個模型協(xié)調(diào)工作才有意義,憑空產(chǎn)生一個對抗分布只是在數(shù)值上等價但是這個分布是沒有意義的。 "Existence does not Entail Exclusivity.":LSTM模型輸出可以通過多種方式組合得到模型預測,而這里偏偏使用了注意力的輸出。并且對每個樣本各自做對抗找到反例而不是找一個對全部樣本都有效的分布簡直不要太簡單。 而且,這一工作沒有提供一個基線能證明對抗方法的有效性:到底能在多大程度上改變多少注意力權(quán)重?改變多大能算有顯著區(qū)別?
注意力并非在所有場合起作用,以下四個定量的測試可以說明。:
實驗一,uniform-weights baseline:將注意力權(quán)重固定為隨機分布和原始模型進行比較,發(fā)現(xiàn)竟然效果差別不大(如下圖)。

實驗二,expected variance:和反方一辯提出的對抗注意力方法一樣,但是變換隨機種子對比效果——結(jié)果發(fā)現(xiàn)在SST數(shù)據(jù)集上進行擾動較為穩(wěn)定,而其他數(shù)據(jù)集上attention的分布情況變化較大。但是總體可以看出無論是對抗方法還是隨機種子,對模型attention的影響都比較大。

實驗三,diagnose attention:將原模型的LSTM換成一個帶tanh激活的線性層,分別進行(1)隨機化MLP并進行測試;(2)固定注意力層,單獨訓練MLP部分并進行測試。在替換后的模型中,除了attention層以外不會接觸上下文信息。將這一結(jié)果與原模型的效果進行比較,效果為原模型>替換LSTM為線性層>>隨機分布attention,說明attention并不是隨機的,它有學習到某種模型無關(guān)的token重要性信息。



實驗四的補刀來了:這時候?qū)Φ谒臈l的對抗產(chǎn)生的模型進行LSTM替換的實驗(即diagnose attention的實驗),發(fā)現(xiàn)模型在替換后無法為MLP層提供預測信息,導致新的模型效果變得很差!(下表最后一行,Adversery模型結(jié)果顯著低于上方模型)

最后,Pruthi等人(ACL2020)在《Learning to Deceive with Attention-Based Explanations》中提出了一種產(chǎn)生欺騙性注意力權(quán)重的方法。他們的方法通過在訓練過程添加一個懲罰項,可以誘導注意力權(quán)重分布傾向于部分“不被允許的詞”(例如,特定性別相關(guān)的token),以很小的性能損失訓練出一個結(jié)構(gòu)相同但是帶有偏見的模型,當使用這一模型的注意力權(quán)重進行解釋時,將會影響公正性。
從上述討論可以發(fā)現(xiàn),注意力即使可以用作解釋,其適用范圍也存在很大的局限性,至少無法完全對預測作出忠實的解釋——因為即便是針對同一個預測,也能通過一定方法獲得不同的注意力解釋,說明這一解釋是不合理的。
補充:關(guān)于《Attention is not Explanation》和《Attention is not not Explanation》之間的爭論,知乎上也有一些評論和解說:如何評價NAACL2019 paper:Attention is not Explanation? - LinT的回答 - 知乎
如何評價NAACL2019 paper:Attention is not Explanation?
https://www.zhihu.com/question/314463239/answer/816564113
1.2 使用注意力機制分析的任務(wù)是否合理?
本節(jié)指出,在不同任務(wù)上注意力能起的作用不同,因而解釋效果也有不同,無法一概而論。
Vashishth等人(2019年)《ATTENTION INTERPRETABILITY ACROSS NLP TASKS》提出注意力機制在單個序列的模型中遠不如涉及兩個序列的模型(如NLI或MT)重要。
如果使用統(tǒng)一權(quán)重,NMT 模型的性能會顯著降低,而隨機注意權(quán)重對文本分類性能的影響最小。因此,文本分類研究的結(jié)果可能不會概括為注意力是關(guān)鍵組成部分的任務(wù)。

然而,即使在機器翻譯這樣的領(lǐng)域,顯著性方法表現(xiàn)依然比attention好(Ding等,2019,《Saliency-driven word alignment interpretation for neural machine translation》)。
Ding等人的工作中在基于梯度和注意力的解釋方法基礎(chǔ)上,還提出smooth-grad,以及smooth-attention:對輸入的word embedding做擾動,加入高斯分布的隨機噪音,并將梯度/注意力結(jié)果取平均值,以獲得更穩(wěn)定的結(jié)果。
下圖為對比的實驗結(jié)果,這里的比較方法為將注意力的關(guān)注結(jié)果與人工標注的結(jié)果進行對比,指標為AER(Alignment Error Rate):

1.3 注意力機制是否能構(gòu)成因果解釋?
這一部分筆者了解并不多,所以僅僅簡略摘要部分內(nèi)容,有待補充。
Grimsley等人(2020年)在《Why attention is not explanation: Surgical intervention and causal reasoning about neural models》說,按照解釋的因果(Causality)定義,注意力就不是定義的解釋。
借鑒科學哲學工作,作者指出因果解釋預意味著“外科手術(shù)式的干預“(surgical intervention)是可能的,而深度神經(jīng)網(wǎng)絡(luò)則不是這樣:無法在保持所有其他變量不變性的同時僅僅干預注意力這一變量。
盡管人們期待直觀的“know it when they see it”一望便知的解釋方法,然而關(guān)于解釋的定義及其評估方法尚無一致的結(jié)論。這篇文章從干預主義的因果邏輯出發(fā),針對可解釋提出了三個問題:
干預主義的觀點分析可解釋研究是否合適? 可解釋的研究是否實現(xiàn)了手術(shù)式的干預(surgical intervention)以獲得因果上的論據(jù)? 當attention無法被手術(shù)式地操作,基于attention的解釋方法會導致什么結(jié)果?
干預主義者的論述只涉及科學中的因果解釋。這也導向了一個推論:當一個網(wǎng)絡(luò)不會也不會產(chǎn)生因果關(guān)系的解釋時,它仍然可以提供替代的非因果類型的解釋。并且:
在產(chǎn)生可解釋的神經(jīng)模型時應(yīng)尋求這些類型的解釋。 非因果解釋是可以從手術(shù)干預失敗的神經(jīng)模型中得出的唯一解釋類型。
插入介紹一下解釋哲學的流派:

作為因果解釋,需要有以下的要素:
干預的可操作性
干預即對變量進行量化的操作,觀察記錄其帶來系統(tǒng)整體的輸出變化 可量化的干預會對結(jié)果造成相應(yīng)的影響
干預的過程是手術(shù)式的,即控制變量
下圖中,左圖是可干預的(觀察A和C關(guān)系時控制B),右圖則抵抗干預(做不到控制變量)

注意力機制只是整個模型的一小部分,而和注意力相關(guān)的還有注意力之前的層;而在控制變量的干預中,其他的變量必須指保持不變的(invariant)。
由于不滿足因果解釋的條件,這種基于注意力的解釋方法不是因果解釋,只是似然的解釋(滿足人們心理的解釋)。
這里僅僅涉及文章的一部分討論,具體細節(jié)請查看原始論文《Why attention is not explanation: Surgical intervention and causal reasoning about neural models》
1.4 提升注意力的可解釋性
如果對注意力還不死心的話,還可以想辦法改進注意力以實現(xiàn)更忠實的可解釋。
Mohankumar 等人 (2020)《Towards transparent and explainable attention models》 觀察到 LSTM狀態(tài)的隱藏表示高度相似性,并提出了多元化驅(qū)動(diversity-driven)的訓練目標,使隱藏表示在時間步長之間更加多樣化。它們使用representation erasure,與原始注意力相比,由此產(chǎn)生的注意力權(quán)重更容易導致決策翻轉(zhuǎn)。
這文章批判了一番注意力,抬了一手積分梯度,不過這不是最早提出將積分梯度用在NLP上的工作。 發(fā)現(xiàn)各個單詞的LSTM隱藏表示接近,隨機化排列attention都不影響模型結(jié)果。 提出了一種diversity-driven LSTM以增強attention可解釋性,并用pearson相關(guān)度和JS散度來衡量attention結(jié)果和IG的相似度,說明了自己模型的效果。
Tutek 和 Snajder (2020) 具有類似的動機,使用單詞級目標,在隱藏狀態(tài)和它們所代表的詞之間實現(xiàn)更牢固的連接,從而影響注意力。Deng等人(2018年)提議以variational attention作為Bahdanau等人(2015年)soft attention的替代,認為后者不是一致的,而只是一種近似性。它們具有允許后對齊的額外好處,以輸入和輸出句子為條件。
2. 顯著性方法
終于到了本文的主角——顯著性方法(Saliency methods)。
這里的顯著性方法主要討論了基于梯度的方法(Gradient-based methods)、基于傳播的方法(Propagation-based methods)和基于擦除的方法(Occlusion-based methods)。此外還有一類方法依賴替代模型(LIME等),由于解釋成本較高而不在此討論。
下圖來源:《Evaluating Recurrent Neural Network Explanations》,這里的CD又是另一種方法了,不做展開

2.1 基于梯度的方法
2.1.1 Gradient/梯度:
Jiwei Li等,2016《Visualizing and understanding neural models in NLP》
本文首先總結(jié)了此前CV領(lǐng)域的多種特征可視化方法:反演(Inversion)、反向傳播與反卷積網(wǎng)絡(luò)(Back-propagation & Deconvolutional Networks)、生成(Generation)等技巧。
然后對NLP領(lǐng)域的SST情感分析、AutoEncoder還原兩個任務(wù),分別在原始詞句、語義增強或取反、以及語句連接(轉(zhuǎn)折/并列關(guān)系等)的詞句上進行如下的可視化技巧:
t-SNE,對詞/句向量進行降維,在2d平面可視化。 Saliency,繪制輸出對輸入的一階梯度熱力圖,以梯度絕對值衡量預測對輸入的敏感度,較大梯度對應(yīng)的詞稱為sentiment token(或者sentiment indicator),即在情感分析任務(wù)起較大作用的詞。 Average and Variance,對saliency作句內(nèi)平均和差分,和第二點的作用相同。
下圖為情感分析任務(wù)的saliency可視化:

下圖為seq2seq任務(wù)(這里用的是還原輸入的auto-encoder)的saliency可視化隨時間步的變化:

2.1.2 Gradient*input/梯度與輸入的乘積:
Denil等,2015年arxiv《Extraction of salient sentences from labelled documents》
這一篇提出了一種層次卷積CNN,并提出了基于梯度和輸入乘積的可視化方法識別和提取與主題相關(guān)的句子,如下圖:

這篇參考了CV領(lǐng)域的《Deep Inside Convolutional Networks: Visualising Image Classification Models and Saliency Maps》的顯著性圖,這一篇也推薦讀者閱讀。
以及為自動句子提取系統(tǒng)引入了一種新的可擴展評估技術(shù),從而避免了耗時的人驗證數(shù)據(jù)的注釋。當然,這篇文章對比對象比較弱(一個用了word2vec的淺層網(wǎng)絡(luò),一個隨機方法,一個啟發(fā)式方法)。
2.1.3 Integrated Gradient/積分梯度:
Sundararajan等,ICML2017《Axiomatic attribution for deep networks》
這篇文章不但提出了預測歸因的新方法——積分梯度,還提出了如下的解釋性方法應(yīng)當滿足的公理(Axiom):
Sensitivity(敏感度):對于某個特征不同導致預測結(jié)果不同的輸入,解釋方法應(yīng)該對這一不同的特征具有非零的歸因。反之,如果模型預測(數(shù)學上)不取決于某個變量,那么它的歸因因該是零。
梯度方法違背了該公理。舉個具體的例子,對于
,對
的變化區(qū)間,輸出從0變到1,但是在
的時候,梯度方法給出的歸因值為0。這顯然是不合適的——這就是重要的梯度飽和(Gradient Saturation)問題。反卷積網(wǎng)絡(luò)(Deconvolution networks)和引導反向傳播(Guided Back-propagation)方法也違背了這一公理,原因同上。 DeepLIFT和LRP(Layer Relevance Propagation,后面會介紹)這一類方法計算的是離散梯度而非瞬時梯度,它們滿足這一公理。
關(guān)于梯度飽和問題,可以參考《Not just a black box: Learning important features through propagating activation differences》。此外,之前的文章里也有討論相關(guān)的內(nèi)容,以及積分梯度的簡單科普(Q3部分):
https://zhuanlan.zhihu.com/p/257450912
Implementation Invariance(實現(xiàn)不變性):如果兩個結(jié)構(gòu)實現(xiàn)不同的網(wǎng)絡(luò)的輸出對于所有輸入均相等,則它們在功能上是等效的,則應(yīng)當滿足其歸因一致。歸因方法應(yīng)滿足實現(xiàn)不變性,即,對于兩個功能等效的網(wǎng)絡(luò),歸因始終是相同的。這樣的定義不涉及實現(xiàn)細節(jié)。
現(xiàn)在討論DeepLIFT和LRP。這兩個方法使用離散梯度代替了常規(guī)的梯度,而梯度方法是滿足實現(xiàn)不變性的,替代后的結(jié)果則不滿足這一規(guī)則。下圖(來自原文附錄B)是一個具體例子,兩個功能完全一致的網(wǎng)絡(luò),DeepLIFT和LRP的最終歸因不同,而積分梯度是滿足這一性質(zhì)的。 如果歸因方法不能滿足實現(xiàn)不變性,則歸因可能對模型的不重要方面敏感。例如,如果網(wǎng)絡(luò)體系結(jié)構(gòu)的自由度超過了表示一個功能所需的自由度,則可能有兩組導致相同功能的網(wǎng)絡(luò)參數(shù)值。取決于初始化或其他原因,訓練過程可以收斂到一組值上,但是底層網(wǎng)絡(luò)功能將保持不變。由于這些原因,模型的歸因解釋是不同的。

好,接下來用一句話介紹積分梯度這一方法:
所謂積分梯度,就是將輸入沿著基線(即輸入的變化起點)到當前值(即當前輸入)的梯度進行積分,獲得一個路徑積分:

這一條積分路徑不影響結(jié)果,所以出于簡單考慮選擇線性路徑,用等間隔的面積進行近似。
緊接著作者提出了另一條公理:
Completeness(完整性):歸因等于輸入值的預測與基線值的預測之間的差。這一公理使得解釋性方法可以定量計算特征的重要性,而不僅僅是選擇最高的標簽。
顯然,積分梯度方法是滿足這一公理的。而積分梯度也滿足實現(xiàn)不變性,因為它只基于模型梯度!
這是一個很神奇的推論:兩個模型的功能完全一致->模型的梯度一致->基于梯度的可解釋是一致的。
此外,積分梯度還滿足很多奇妙的性質(zhì),此處篇幅所限不加展開。
下面介紹積分梯度方法的實驗結(jié)果。
ImageNet圖像識別(看起來更還原圖像的邊緣了)

問題分類,標記紅色和藍色分別對應(yīng)支持預測結(jié)果的token和不支持的token。
這里的紅色,灰色,藍色對應(yīng)正,零,負的歸因 這里發(fā)現(xiàn),基于積分梯度的歸因很大程度上和人工定義的規(guī)則一致,同時也有助于發(fā)現(xiàn)新規(guī)則;但是也有如“charles”之類的數(shù)據(jù)bias導致的錯誤歸因。

翻譯任務(wù)

這篇文章在圖像、文本和一個化學場景都做了實驗。大概這就是ICML水準的論文吧~除了新方法,還有理論,實驗跨領(lǐng)域~
在介紹了梯度方法以后,這里引用Ancona在2017年的《Gradient-Based Attribution Methods》提出的一點小小區(qū)分:敏感度(Sensitivity)和顯著性(Saliency):
敏感度(Sensitivity)指的是,輸入需要變化多少才會引起輸出變化;顯著性(Saliency)指的是每個輸入單詞對預測的邊際效應(yīng)(marginal effect)。 梯度方法測量Sensitivity,而梯度×輸入和IG測量顯著性(Saliency)。模型可能在某個時間步上對輸入敏感,但對預測很重要的部分則取決于實際輸入向量。
2.2 基于傳播的方法
這里特別討論分層相關(guān)傳播(Layer-wise Relevance Propagation,LRP)。
首先是對獲得輸出
,這是頂層相關(guān)性。然后,使用特殊的向后傳遞,在每個層將傳入的相關(guān)性重新分配到該層的輸入之間。每種層都有自己的傳播規(guī)則。例如,對于前饋層(Bach等,2015)和LSTM層(Arras等,2017)有不同的規(guī)則。相關(guān)性將重新分配,直到到達輸入層。
鴿子警告??:LRP方法比較復雜,暫時留空,日后有空再作整理
……盡管LRP需要實現(xiàn)自定義的反向傳遞,但它確實允許精確控制以保持相關(guān)性,并且已被證明比在文本分類中使用基于梯度的方法更好(Arras等,2019)。
Arras等人在ACL2019的workshop《Evaluating Recurrent Neural Network Explanations》
這一篇對多種方法進行了比較:

題外話:值得注意的是,這篇文章的比較中提到積分梯度方法比CD(Contextual Decomposition,這又是另一個方法了)和LRP要差?我特地去找了他的論據(jù)如下:
論據(jù)一,ICLR2018發(fā)表的《BEYOND WORD IMPORTANCE: CONTEXTUAL DECOMPOSITION TO EXTRACT INTERACTIONS FROM LSTMS》對CD和IG進行比較,在LSTM模型上進行比較,包括詞級別、句子級別(子句):

這里的比較是用積分梯度的正負對應(yīng)情感的正負,并將其與LR的參數(shù)進行相關(guān)度計算,這一實驗結(jié)果中CD和IG是最好的,但是IG依然不如CD。
論據(jù)二,ACL2018發(fā)表的《Evaluating neural network explanation methods using hybrid documents and morphosyntactic agreement》對多種方法進行比較:
這邊有三種實驗的比較結(jié)果,結(jié)論是積分梯度不如LRP方法,然而還沒來得及細讀,先留空。

2.3 基于遮擋的方法
通過遮擋(Occlusion)或擦除輸入特征并測量其對模型的影響來計算輸入顯著性。直觀上,刪除不重要的特征不會影響模型,而對于重要特征則相反。
2.3.1 基于遮擋
2014ECCV《Visualizing and understanding convolutional networks》
這篇非常出名、引用量上萬的文章本意不是要講擦除的,而是對CNN的層特征進行分析,順手做的……因為主要是講CV的所以就不詳細介紹了。
貼個圖,對原始圖像的遮擋和識別的變化,一目了然:

2.3.2 擦除方法
Jiwei Li等人,2017arxiv《Understanding neural networks through representation erasure》
PS:《Visualizing and understanding neural models in NLP》也是這個大佬寫的。
這篇用擦除帶來的結(jié)果變化反映要素的重要性,還做了最小反轉(zhuǎn)預測的強化學習(略):
詞級別擦除:

維度級別擦除(探究這些重要維度的值和詞頻的關(guān)系):
用擦除維度帶來的平均結(jié)果變化表示維度的重要性 
并計算顯著的維度和詞頻的相關(guān)性,查看是否這些維度的數(shù)值絕對值大小和詞頻相關(guān)


3. 注意力vs顯著性:孰優(yōu)孰劣?
可以作出結(jié)論,在解釋方面,注意力方法就是個弟弟,完全不如直接上顯著性作解釋!
現(xiàn)在論證為什么在解釋上應(yīng)該優(yōu)先使用顯著性方法。
在許多被引用的論文中,無論是暗含的還是明示的,解釋的目的都是揭示哪些輸入單詞是最終預測中最重要的單詞。這可能是注意力計算每個輸入一個權(quán)重的結(jié)果,因此必須根據(jù)這些輸入來理解它。
忠誠度:對于模型開發(fā)人員而言,忠誠度比合理度更重要。模型未必符合人們的直覺,而輸入顯著性方法則致力于正面解決目標:它們揭示了為什么要根據(jù)每個輸入詞與該預測的相關(guān)性做出一個特定的模型預測。 覆蓋率:從輸入詞嵌入到目標輸出預測值,輸入顯著性方法通常會考慮整個計算路徑,而注意權(quán)重不是:注意權(quán)重在計算的某一點上反映了模型對每種輸入表示的參與程度,但是這些表示可能已經(jīng)混入了來自其他輸入的信息。 高效性:有人可能會爭辯說,注意力分散很容易就可以從模型提取出來,并且計算效率高。但是,在TensorFlow之類的框架中只需一行就可以計算輸出相對輸入的梯度,因此實現(xiàn)困難不是一個有力的論據(jù)。梯度方法等可解釋方法和注意力同樣高效!
最具有諷刺意味的是,有時解釋性注意力是通過將其與基于梯度的度量進行比較來進行評估的,那么為什么我們不直接用這些顯著性方法?

4. 注意力就這么一無是處嗎?非也。
大棒下去,胡蘿卜得跟上:注意力研究也是有價值的,只不過和解釋關(guān)系不大~
縱觀近年對注意力機制的研究,還是有許多有價值的工作涌現(xiàn):
4.1 注意力機制的作用依然是重要的研究目標
Voita等在ACL2019發(fā)表的《Analyzing multi-head self-attention: Specialized heads do the heavy lifting, the rest can be pruned》分析注意力頭的作用。 Michel在NIPS2019發(fā)表的《Are sixteen heads really better than one?》同樣分析了注意力頭在Transformer體系結(jié)構(gòu)中的作用,并確定了他們具有的一些獨特功能。 Strubell在EMNLP2018(還是Best Paper!)發(fā)表的《Linguistically-informed self-attention for semantic role labeling》通過增加語言學的偏見,訓練注意力頭執(zhí)行依賴關(guān)系解析。
4.2 注意力可以為其他解釋提供參考
如果調(diào)整了解釋的定義,例如,明確表達了不同的預期用戶和不同的解釋目標,則注意力可能會成為某些應(yīng)用程序的有用解釋。
Strout等(ACL2019)證明,對于用戶和目標而言,有監(jiān)督的注意力比隨機或無監(jiān)督的注意力幫助人類更快地完成任務(wù)。——至少,可以給用戶提供一種心理上的可靠性。
5. 那么,顯著性就是終極的方法了嗎?
既然你這么問了,答案一定是:沒有最好,只有更好。
5.1 超越顯著性方法之外……
來自注意力的嘲諷:我雖然實力不如你,但長得比你好看啊!
注意力的可視化有很多工具,如下:
Vig在2019的《A Multiscale Visualization of Attention in the Transformer Model》提出的注意力可視化工具:

Hoover在2020ACL demo的《exBERT: A Visual Analysis Tool to Explore Learned Representations in Transformer Models》提出的exBERT工具:

此外,顯著性方法還有一些模型中間過程的表示能力缺陷:
Abnar在2020《Quantifying attention ?ow in transformers》提出attention rollout和attention flow作為attention的近似,能更好地反映信息的流動:

于是,有人提出了拓展的方法:
DeCao在EMNLP2020的《How do decisions emerge across layers in neural models? interpretation with differentiable masking》提出的DiffMask方法不僅揭示了模型知道哪些輸入很重要,還揭示了重要信息在模型各層中的流動存儲在哪一層:

5.2 顯著性方法的局限性
顯著性方法存在一些已知的問題,這里有一些非常有趣的結(jié)果。
首先是擦除方法:
Hooker在NIPS2019的《A benchmark for interpretability methods in deep neural networks》提出,基于遮擋和擦除的方法以及基于擦除的評估的已知問題(Bach等,2015;DeYoung等,2020)是預測概率的變化可能是由于損壞的輸入脫離訓練數(shù)據(jù)的多樣性——也就是說,概率的下降可以通過輸入為OOD而不是由于缺少重要特征來解釋。
顯著性方法對輸入變化的脆弱性:
Kindersman的《The (un)reliability of saliency methods》(2017,掛在arxiv上沒發(fā)表)提出顯著性方法不滿足輸入不變性。
通過在輸入中加入固定的向量(這部分不會對預測產(chǎn)生影響),梯度方法可能會帶來歸因錯誤的結(jié)果!僅僅把輸入向量數(shù)值平移就可以讓歸因產(chǎn)生錯誤:

加個小貓試試:

最后,還有一個最大的限制:顯著性方法的表達能力問題。
顯然,基于token的顯著性權(quán)重只能在非常狹義的意義上被稱為解釋。這里有一份積分梯度的拓展工作:
Janizek的《Explaining explanations: Axiomatic feature interactions for deep networks》(2020,掛在arxiv上沒發(fā)表)拓展了IG到Integrated Hessians,通過指出重要特征之間的依賴關(guān)系,解釋了成對特征的相互作用,可以克服重要性的平坦表示的某些局限性,但很難完全理解為什么深度非線性模型僅通過查看輸入標記即可得出一定的預測。
6. 結(jié)論
本文總結(jié)了關(guān)于注意力是否是解釋的辯論,并觀察到解釋的目的通常是確定哪些輸入與預測最相關(guān)。輸入顯著性方法比注意力更具有忠實度,因而適合面向模型開發(fā)人員的解釋。
我個人的一些結(jié)論:可解釋方面目前還是以經(jīng)驗性的比較為主,缺少一個金標準;梯度這一套在CV已經(jīng)屢見不鮮了,但目前的解釋水平還有待提高。
推薦閱讀


