哈工大SCIR力作:Attention!注意力機制可解釋嗎?

  • 2019 年 10 月 11 日
  • 筆記

作者 | 哈工大SCIR 顧宇軒 編輯 | 唐里

本文轉自公眾號哈工大SCIR,AI科技評論獲授權轉載,如需轉載請聯繫原公眾號。

參考來源

NAACL 2019《Attention is Not Explanation》

ACL 2019《Is Attention Interpretable?》

EMNLP 2019《Attention is Not Not Explanation》

本文將與您探討注意力機制的可解釋性問題。

序言

自2014年Bahdanau將Attention作為軟對齊引入神經機器翻譯以來,大量的自然語言處理工作都將其作為模型中一個提升性能的重要模塊,大量的實驗表明Attention機制是計算高效且效果顯著的。隨之而來的便是對其進行可解釋性的探討研究,人們希望能更好地了解其內在的機理來優化模型,另一方面,也有學者對其提出質疑。在此,作為SCIR實驗室的准博士生,我基於自己對Attention機制的理解,寫了這篇相關論文的心得筆記,希望能對各位讀者有所啟發,由於個人水平的限制,文中出現的謬誤歡迎大家指正。

1. 注意力機制(Attention Mechanism)

1.1 背景

Attention機制目前是自然語言處理領域最常採用的方法之一,因其能在一系列任務上對模型性能產生顯著的提升,尤其是基於循環神經網絡結構的seq-to-seq模型。再加上谷歌提出的完全基於Attention的Transformer模型[1]以及Bert模型[2]的大量使用,Attention機制幾乎是可以寫入教科書的技術。一方面,Attention在直覺上模擬了人類理解語言時會集中注意到一些關鍵詞的行為,正如Bahdanau[3]將其作為軟對齊引入神經機器翻譯那樣。另一方面,多年來大量的實驗表明Attention確實是一個可行的高效的提升模型性能的方法。因此,進一步去挖掘這一機制內在的原理,解釋其有效的原因並提供證明是一個很有價值的研究方向。

1.2 結構

Attention機制經過長時間的發展,雖然不同論文里的實現方法可能各不一樣,但是基本上都遵循着同一個範式。其中包含三個成分:

  • Key(鍵) 與值相對應同時又用來與查詢計算相似度作為Attention選取的依據
  • Query(查詢) 一次執行Attention時的查詢
  • Value(值) 被注意並選取的數據

對應的公式為:

其中值Value往往是上一層的輸出,一般保持不變,其餘部分例如鍵,查詢,以及相似度函數往往實現方法都各不相同。這裡我們先介紹Bahdanau[3]和Yang[7]實現的Attention結構,因為之後Serrano[4]和Jain[5]進行可解釋性探索的時候也是以此為基礎。

Attention的公式如下:

(作為Value)是上一層的在序列第i個位置的輸出張量,如果上一層是雙向RNN結構則

是第i個位置的鍵Key,由值Value通過一層全連接層計算得到;

是這一個Attention層的查詢Query,隨機初始化,在訓練的過程中同步更新,如果Attention並不單獨成層而是搭建在解碼器上,則

與編碼階段對應位置的輸出相關;相似度函數是矩陣點積,計算得到的

即是Attention權重,

是Attention層的輸出。

其核心的思路如下:

  1. 對每個輸入元素計算一個非負對歸一化權重
  2. 將這些權重與對應成分的表示相乘
  3. 將得到的結果求和,產生一個固定長度的表示

這是最原始的Attention的形式,對其可解釋性的實驗測試也是在這一模型的基礎上進行的。

2. 可解釋性的定義

關於可解釋性有多種定義,大部分相關文章論證的差異往往就從這裡開始,進而導出不同的結論。不過或多或少有一些共識是可以總結出來的。

可解釋性的概念上的共識基本可以這樣描述:如果一個模型是可解釋的,人是可以理解這個模型的,分為兩個方面,一是模型對人是透明(transparency)[9]的,可以在模型對具體任務訓練之前就預測到對應的參數以及模型決策,二是模型做出一個決策之後,人類可以理解這一決策的原因。也有一些其他角度的定義,例如:可解釋意味着可以人為地重建模型進行決策的過程。

具體對於Attention模型的可解釋性,大體上能細化為:

  • Attention權重的高低應該與對應位置信息的重要程度正相關
  • 高權重的輸入單元對於輸出結果有決定性作用

3. 具體論證

3.1 Not Explanation

對於不可解釋性,Serrano[4]和Jain[5]各自提出了一些實驗與論證,兩人的工作有重疊也有互補,前者的工作探索的層次比較淺,只考慮了Attention層的權重本身是否與對應位置的輸入正相關,採用的手段是中間表示擦除,即不斷地使一些權重失效來觀察模型的變化,文章主要是在對不同的擦除方式進行探索,後者的工作稍微深層一點,不僅探索了刪去關鍵權重對模型的影響,還引入了構造對抗Attention權重的思想,測試模型的變化。

3.1.1 中間表示擦除

中間表示擦除考慮的是一種比較淺層的對Attention的理解,主要邏輯在於越重要的權重對輸出結果的影響越大,將它置零就會對結果有直接的影響。

首先引入評價指標,即權重和輸出結果各自的變化有多少:

  • Total Variance Distance(TVD) 作為輸出結果分佈區別的指標,公式為:

為兩個不同的輸出結果分佈。

  • Jensen-Shannon Divergence(JSD) 作為輸出結果分佈和Attention權重區別的指標,公式為:

其中

為兩個不同的分佈,可以是輸出結果也可以是Attention權重,

為Kullback-Leibler Divergence。

具體的實現方式如圖1所示,模型分為兩個部分,第一個部分是嵌入和編碼部分,例如一個全連接層實現詞嵌入再用一層雙向LSTM實現編碼,實驗中具體使用的多個模型各不相同。第二個是解碼部分,將Attention層得到的輸出張量解碼成具體任務需要的結果,在文本分類任務上就是一個全連接層實現的維度變換。需要注意的是,這裡Attention層並不是像seq-to-seq模型那樣作用在解碼器上的,而是作為一個獨立的層來進行測試。

圖1. 中間表示擦除的整體模型

整個模型運行兩次,第一次正常輸入輸出,保留得到的結果,第二次將Attention層上選中擦除的權重置為0,重新用Softmax歸一化權重,繼續之後的流程得到結果,與第一次得到的數據計算TVD指標。在Attention層上擦除而不是在輸入端擦除是為了將其影響與前置的編碼部分隔離。另外,這裡renormalizing的目的在於當模型置零了部分高權重的參數之後會導致Attention層輸出的張量趨近於0,而這是模型在訓練過程中沒有遇到過的情況,進而會導致模型的決策行為不可控。

Serrano[4]設計的實驗選用的是文本分類任務,採用了四種數據集,如圖2所示,同時也設計了四種模型互相為對照進行測試:

圖2. 四種文本分類數據集

  • Hierarchical Attention Network 由Yang[7]提出的層級Attention模型,如圖3左側所示,分為詞語級和句子級兩個部分,實驗只測試句子級的Attention層,之前的部分均視為編碼階段。
  • Flat Attention Network 在前一個模型的基礎上修改得到的只有一個詞級別的Attention層對不分句對整個文檔進行操作。
  • Flat Attention Network with CNN 在前一個模型上將作為編碼器的雙向RNN結構替換為CNN,如圖3右側所示,參考了Kim[8]的實現。
  • No Encoder 不使用編碼器,直接將詞嵌入之後的結果輸入Attention層。這一對照組的目的在於剔除編碼器而防止單個token得到上下文信息。

圖3. 分別使用BiRNN和CNN作為編碼部分的兩種Hierarchical Attention Network結構

實驗主要有兩個模塊,單一權重置零和一組權重置零,區別在於前者測試的是擦除最高權重對應的中間表示之後整個模型輸出結果的變化大小,後者測試的是為了改變模型的最終決策需要擦除多少中間表示以及如何擦除,進而從實驗數據中找到可解釋性的依據。

Single Attention Weight's Importance 首先Attention權重最高的中間表示擦除,用圖1展示的流程計算正常結果和擦除之後結果的JSD指標

,其中

是正常結果的分佈,

是擦除最高權重對應位置

的中間表示之後的結果分佈。為了檢驗這個距離到底有多少,重新隨機選擇一個位置

,用同樣的流程擦除其中間表示,得到對應的JSD指標

,此時我們可以使用

進行比較。直覺上來說,如果權重高的項確實是更重要的,那麼這個公式應該是恆為正的,並且置零的兩個權重大小差距

越大,

的值也應該越大。作者在文中展示的圖表如圖4左側所示,橫坐標是兩個權重的差值,縱坐標是

的值,作者闡述得到的數據中幾乎沒有為負的結果,就算有也都趨近於0,另外隨着兩個權重差值的增長,模型輸出結果分佈的變化程度也相應增長,但是對此作者認為「即使兩個權重之間的差值達到了0.4(權重滿足求和歸一化)這樣大的程度,大部分正的

的值也依然十分接近0」,進而初步認為Attention機制有和直覺相悖的現象。

但是從文章附錄中能找到無編碼層非層次模型的結果如圖4右側所示,所謂的變化程度不相關問題其實並沒有那麼嚴重,也就是說在這一組數據下,作者的論斷其實並不嚴謹,文中提出了一種假設是編碼層給每個位置的token進行編碼時會包含有上下文的信息,也就是說信息量已經經歷過一次類似平攤的操作,編碼層輸出的每一個token或多或少都包含有需要注意的信息,這樣Attention層的權重影響反而被弱化了。當然文中並沒有進行實驗去驗證這一假設。

圖4. 基於使用BiRNN的層次模型和基於無編碼層的非層次模型的結果對比

之後Serrano[4]又設計了一組實驗來加強對單一擦除操作影響的探討,使用的評價指標是模型決策翻轉的概率,即分別擦除最高權重對應位置

和隨機選擇位置

的中間表示之後,模型決策行為翻轉的情況,得到實驗數據如圖5所示,其中橘色區域為r導致翻轉而

沒有,藍色區域相反,但是不管怎麼樣,大部分的情況都是不翻轉模型決策,意味着這個實驗其實並沒什麼用,或者進一步說,單純地擦除一個中間表示並不會影響Attention層的魯棒性,尤其是有上下文相關的編碼器存在時。

圖5. 模型決策翻轉的情況

Jain[5]也設計了一組leave-one-out的實驗,使用的模型框架與Serrano[4]的相似,不過數據集有所增加。涉及到文本分類,問答以及自然語言推斷任務, 數據集如圖6所示,其中文本分類任務都被修改成了二分類任務來簡化對模型的要求。

圖6. 文本分類,問答以及自然語言推斷數據集

Jain[5]認為模型學到的Attention權重應該要與特徵表示的重要度評價指標相一致,進行比較的兩個評價指標分別是剔除不同位置中間表示之後模型輸出結果和原始輸出結果的一組TVD以及對每個位置進行梯度回傳而得到的一組梯度值,前者的合理性在於如果剔除的是重要的中間表示,那麼模型決策的結果變化會比較大,從而對應的TVD值大,後者則是梯度值與模型進行決策的側重相關。將這兩個指標分別與Attention權重計算JSD,得到對應的分佈如圖7所示,這裡只展示了梯度這一指標的數據,其中JSD被轉換成相關度,0表示兩者毫不相關,1表示完全一致,另外一個指標的數據也類似,就不贅述,基本上而言,單純地擦除一個中間表示進行的實驗並不能作為一個有力的論據去證明Attention是否可解釋。

圖7. Attention分佈與梯度分佈的相關度

Importance的想法是找到一個能使模型決策翻轉的最小中間表示擦除集合,如果這個集合對應位置的Attention權重就是最大的那部分,則表示Attention權重對中間表示的重要程度的排序是合理的。作者提出了這樣一個流程來驗證:

  1. 按照Attention權重從大到小依次將其加入置零集合
  2. 如果模型的決策發生翻轉則停止擴展集合
  3. 檢驗是否有真子集同樣能翻轉模型的決策

不過這裡存在的問題是想要找到一個這樣的真子集需要指數級別的時間複雜度,幾乎是不可實現的,只能放寬要求,找到一個任意的更小的集合即可。作者設計了三種另外的排序方案,嘗試是否可以從大到小依次將權重置零到翻轉模型的決策時,需要的集合元素比用Attention權重排序的方案更少。三種排序方案如下:

  • 隨機排序
  • 用回傳到Attention層的梯度值大小來排序
  • 將梯度值與Attention權重相乘的值來排序

這三種候選的排序並不是為了去找到一個Golden-Standard的擦除組合,而是為了去和Attention權重形成的排序比較。此外還有一些數據項需要拋棄來防止破壞實驗效果,例如,有些情況下哪怕擦除到只剩一個中間表示,模型的決策都不會翻轉;或者輸入序列長度本身就為1,沒法排序。實驗的結果如圖8所示,其中每一個矩形表示數據點的取值範圍,矩形中的橫線表示數據的均值,如果沒有標示橫線則表明均值趨近於1。大部分情況下,隨機排序的效果遠遠差於其餘三種方法,另外三種排序的數據範圍會有重疊,但是在均值上的表現一般都是梯度值乘上Attention權重最好,按梯度值排序其次,按照Attention權重排序效果最差。

圖8. 不同排序規則下使模型進行決策翻轉的Attention權重置零的比例

作者得到的結論是Attention並未最大化描述模型的決策行為,以Attention權重作為依據是有效但不是最優的。不過這裡存在的問題是將Attention權重置零和模型決策翻轉的相關性只是一個直覺上的假設,並不是一個強的先驗或公理。

3.1.2 構造對抗權重

Jain[5]認為Attention權重的變化應該對模型預測的結果產生對應的影響,這一想法和模型決策的翻轉有相似之處,不過區別在於這裡想做到的是通過構造一組反常識的權重分佈來欺騙模型作出相同的決策,進而證明Attention機制是不可靠的。

作者想要構造的對抗效果如圖9所示,展示的是一個負面評價的樣例,左側的是模型學到的原始權重,Attention層的最大權重對應的單詞是waste,其次是asking,分類器給出的結果是0.01(0表示負面,1表示正面,0.5表示中立),這與人類判斷句子情感極性時的關注點不謀而合。而右側是構造出來的對抗權重,最大權重對應的單詞是was,其次是myself,這樣反常識的Attention方式卻能讓分類器給出相同的結果。

圖9. 文本情感分析樣例

作者設計了兩種構造方式來進行實驗。第一種是直接簡單地隨機打亂原始Attention權重的位置,另一種是設計一個目標函數來訓練出模型結果分佈基本相同而Attention權重分佈儘可能不同的對抗權重。

Attention Permutation 隨機打亂Attention權重,觀察模型輸出結果的變化,用TVD指標來評價變化程度。由於隨機性的問題,再加上計算複雜度限制,每個樣例實驗時只隨機100組權重,分別計算TVD指標後取中位數來進行評價。從圖10可以看到,這是一個heatmap,橫坐標是模型輸出變化程度的中位數,縱坐標是原始Attention權重的最大值,不同的顏色代表不同的類別,其中作者按照Attention最大權重範圍來劃分是想驗證是否可以只需要少量特徵就能解釋一個輸出結果。作者以SST數據集作為標準,認為打亂Attention對模型對輸出結果影響不大。但是這個實驗的結論應該是有待商榷的,作者單純地將實驗結果不一致的問題歸咎於數據集,像Diabetes數據集中只需要幾個關鍵特徵就能對結果起決定性作用,而實際上在多個數據集展現出不同甚至完全相反結果的情況下選擇一個與自己期望一致的數據集作為標準是有失偏頗的,至少在不經過深入研究和實驗的情況下妄下結論不太可取。

圖10. 隨機打亂權重後模型輸出結果的變化

Adversarial Attention 作者重點進行的實驗是構建一個生成對抗權重的方法,目的是顯式地找到一個或一組儘可能與原始的Attention權重不同的權重分佈並且能有效地保證模型預測結果不變。構造方法的數學化表達如下所示:

其中

表示一個確切定義的,即使用構造出來的權重讓模型進行的決策和使用原始權重得到結果的TVD距離所能達到的最大值,

在情感分類任務上是0.01,在問答任務上是0.05(因為問答任務的輸出向量空間更大,較小的擾動就會產生較大的TVD距離)。

是原始Attention權重,

是使用原始權重得到的模型結果。

表示的是第i組構造出來的權重分佈,

是使用第i組構造權重得到的模型結果。優化目標是得到杫組生成的Attention權重,使得在滿足每組權重讓模型產生的結果與原始結果的TVD距離不超過

的前提下,最大化每組權重和原始權重以及每組權重各自之間的JS距離。具體實現的時候優化目標是

,其中λ是超參數,訓練時被設置為500。

圖11展示了各個數據集下構造出的權重分佈和原始權重分佈的最大JS距離,其中縱坐標表示的是其對應的數量比例,由於實驗只選取了數據集中的一部分樣例進行,故而柱狀圖的每一項求和不一定為1。顏色同樣是為了區分不同的分類結果。值得注意的是,JS距離這個指標本身是有上界的,兩個完全不相同分佈的JSD指標最多只能達到0.69,而從數據中可以看出,每個數據集都可以構造出大量與原始Attention權重分佈距離接近上界的分佈,同時讓模型輸出的結果變化程度TVD指標在

以內。這意味着Attention的權重是可以被輕易構造成完全反常識反直覺的而不影響結果,作者認為這是證明Attention機制不可解釋的關鍵性證據。

圖11. 滿足約束的JS距離分佈柱狀圖

作者繼續考慮最大Attention權重值(目的在於考慮特徵有效程度的影響,即最大權重越大的模型越關注某些特徵)和能構造的對抗權重的最大JS距離之間的關係,直覺上來說,如果原始的Attention權重分佈越陡峭,那麼產生有效(JSD值大)的對抗權重的難度也相應增加。如圖12所示,這同樣也是一個heatmap圖,其中橫坐標是最大的JS距離,縱坐標是最大的原始Attention權重。作者認為,儘管確實有之前所說的趨勢,但不可否認的是,確實在每個數據集中都存在着很多原始Attention權重高而仍然能構造出JS距離大的對抗權重的樣例,也就是說,一組特定的特徵能完全影響結果這件事是misleading的。

圖12. JS距離和最大原始Attention權重分佈之間的關係

簡單總結一下以上的幾個結論,Serrano[4]圍繞着中間表示擦除設計了多組實驗,觀察模型決策的變化,得到的結論是:『Attention does not necessarily correspond to importance.』,因為實驗中Attention常常無法成功地識別能影響模型決策的最重要的中間表示。另外,有一個比較重要但是沒有經過實驗驗證的小猜想:『Attention magnitudes do seem more helpful i uncontextualized cases.』,也就是說,可能是上下文相關的編碼器導致了Attention機制難以解釋,但是作者並未對此進行深入研究。

Jain[5]則基於Attention對模型的transparency[9]貢獻程度提出了兩個問題:

  1. Attention權重與特徵的重要度指標的相關程度有多少?
  2. 是否不一樣的權重分佈就一定會讓模型作出不一樣的決策?

給出的答案如下:

  1. Only weakly and inconsistenly』,Attention權重與特徵的重要度指標(梯度分佈、刪去某個中間表示後模型結果變化程度TVD分佈)的相關度並不大,並且不穩定。
  2. It is very possible to construct adversarial attention distributions that yield effectively equivalent predictions.』,很容易就能構造出與原始權重關注特徵完全不同的對抗權重,更進一步而言,隨機設置權重往往不會對模型決策結果有太大影響。

3.2 Not Not Explanation

這一部分的標題是Not Not Explanation,是對之前關於Attention機制不可解釋論證的反駁,而不是證明了Attention可解釋,這裡主要參考了Wiegreffe[6]對Jain[5]的反駁。Wiegreffe[6]主要給出了兩個理由:

  • Attention Distribution is not a Primitive. Attention權重分佈不是獨立存在的,由於經歷了前向傳播和反向傳播的整個過程,Attention層的參數是無法同整個模型隔離開的,不然就失去了實際的意義。
  • Existence does not Entail Exclusivity. Attention分佈的存在並不蘊含著排他性,Attention只是提供一個解釋而不是提供唯一的解釋。尤其是當中間表示的向量維度很大而輸出結果的類別很少時,降維的映射函數很容易就有較大的靈活性。

作者設計了四組對照實驗來進行反駁,可以參照圖13,右側是使用的模型,和之前介紹的模型一致,都有嵌入層編碼層和獨立的Attention層,任務也是文本分類任務。左側對應的是各個實驗涉及的範圍,J&W是Jain[5]的實驗,只涉及到修改Attention權重,需要注意的是,圖中的Attention Parameters表示的是Attention層訓練的參數,最後得到的α權重是由其計算出來的。§3.2是Wiegreffe[6]在其論文里第3.2節設計的實驗,大括號表示的是各個實驗涉及的模型層次,從右到左四個實驗分別為:

  1. Uniform as Adversary 訓練一個將Attention權重固定為均值的baseline來模型。
  2. Variance with a Model 用隨機種子初始化重新訓練來作為Attention權重分佈偏差的正常基準。
  3. Diagnosing Attention Distribution by Guiding Simpler Models 實現一個利用的固定住的預訓練Attention權重的診斷框架。
  4. Training an Adversary 設計一個end-to-end的對抗權重訓練方法,需要注意的是這不是一個獨立的實驗,而是上一個實驗的對抗權重生成的具體實現。

圖13. 使用的模型結果和對照實驗部分

Uniform as Adversary 這部分實驗的初衷是驗證Attention機制在各個數據集上是否有使用的必要,因為如果任務本身太過簡單,不需要Attention也能有很好的效果,那這組數據就不具備說服力。相反,如果Attention是必要的,那麼將其去除會導致模型性能大幅度下降。實驗設計很簡單,直接將Attention權重設置為平均值並凍結,只訓練其餘部分,所有從編碼層傳入的中間表示直接計算平均作為Attention層的輸出。得到的文本分類F1指標如圖14,其中最左側是Jain[5]給出的結果,中間是Wiegreffe[6]復現的結果,最右側是這次實驗得到的結果。直觀上可以看到,以上大部分數據集在使用Attention之後效果提升其實並不顯著,尤其是後兩個數據集,幾乎是毫無增長。對此作者總結為『Attention is not explanation if you don't need it.』。

圖14. 文本分類任務的F1指標

Variance with a Model 作者使用隨機種子重新初始化並訓練模型,得到不同的Attention權重,這些權重被視為是正常的權重,也就是只是被噪音干擾而不是人為干預的非對抗權重,將其與原始權重的分佈計算JSD指標就可以得到正常權重的baseline,超過這一基準的權重都是不正常的權重。如圖15所示,這與之前的heatmap一樣,橫坐標是JS距離,縱坐標是最大Attention權重範圍。這是一組對比圖,從a到d都是用隨機種子生成出來的各個數據集上的baseline,e和f是Jain[5]的對抗權重實驗數據,可以發現,SST數據集上生成權重與原始權重之間的JSD距離遠超baseline。這意味着人工構造的對抗數據確實是不正常的,遠遠大於噪音的程度,這一結果其實和上一個實驗的現象是不謀而合的,Attention起到的作用越小,其權重的分佈就越不可預測,但是到這裡為止還只是理論上的探討,並沒有確切的數據去解釋構造出來的Attention權重到底是什麼情況。

圖15. 基於隨機種子初始化訓練得到的權重分佈與對抗權重分佈到原始分佈的JS距離比較

Diagnosing Attention Distribution by Guiding Simpler Models 這部分的模型與之前有所不同,這裡希望能更精準地檢驗Attention權重分佈,消除上下文相關結構的影響,故而將原先使用的LSTM編碼層剔除,只使用一個MLP來完成從嵌入層到分類結果的仿射變換,之後直接使用預設的不訓練的Attention權重,加權求和得到模型決策結果,具體模型如圖16所示。作者在此基礎上設計了四種對照實驗:

  1. 預設的Attention權重為均值,作為baseline
  2. 不固定權重,允許其隨着MLP一起訓練
  3. 直接使用LSTM作為編碼器時使用的原始Attention權重
  4. 使用對抗生成的Attention權重(在後一節實現)

圖16. 使用預設Attention權重的模型

四組對照實驗的結果如圖17所示,使用原始Attention權重來替換隨MLP一起訓練的權重模型效果會得到提升,另外在第一個實驗中Attention權重意義較大的數據集上,對抗權重的效果就遠低於原始權重,也就是說,Attention機制編碼的token重要度信息不是模型獨立的,在同樣的數據集上可以傳遞給其他模型使用,但構造出來的對抗權重並不是找到了數據的額外信息而只是利用了特定模型的漏洞(模型能力高於任務的要求)。

圖17. 四組對照實驗得到的F1指標

Train an Adversary 這裡是對抗權重具體的生成模型,與Jain[5]提出的模型區別主要在於損失函數:

,其中

是原始權重的模型,

是對抗權重的模型。從圖18可以看到,確實能夠得到效果不錯的對抗權重,但是在上一個實驗中也證明了這些權重只是鑽了模型的空子而已,並不是發現了更重要的信息。

圖18. 對抗權重的F1指標等

4. 結論

Attention機制的可解釋性算是目前一個熱議的話題,很多作者設計了各種這樣的實驗想去證明或證偽,但總是或多或少會存在一些不完備的地方,數據集的問題,模型設計的問題,有時候還在可解釋性的定義上出現分歧,但不管怎麼說,一步一步扎紮實實的探索總是需要的。不管是Serrano[4]設計的中間表示擦除實驗,還是Jain[5]設計的對抗權重生成實驗,歸根結底都是想去找到一些Attention權重沒有正確表達出token重要度的例子。兩人的視角都局限在Attention權重本身而忽略了很多對結果有較大影響的因素,例如數據集是否需要用到Attention機制,上下文相關的編碼器對Attention權重的影響等,這些都可能會讓實驗功虧一簣。Wiegreffe[6]則是有力地反駁了Jain[5]在實驗設計上的漏洞,但是其設計的遷移Attention權重的檢驗方式是否可靠還有待商榷。

除此之外,還有很多問題僅僅被拋出而未進行探索:

  • 什麼樣的任務需要Attention機制,它是不是普適的?
  • 編碼層的選取對Attention到底會產生什麼樣的影響?
  • 在同一個數據集上的不同模型之間遷移Attention權重是否合理?
  • 模型和數據集的複雜程度會對構造對抗權重的難易產生何種影響?

除此以外,Serrano[4]也提出了一些展望,目前而言研究還局限在基於Argmax的重要度上,大家還只考慮Attention權重對模型的最終決策結果的影響,但是這並不是全部,因為還可能存在某一個特徵會讓某一類別出現的概率下降這種情況,也就是說輸出的Softmax函數中的每一項都有研究價值,並不僅僅是那個作為結果的概率最大項。

最後,我們還是期待一下12月截稿的ACL2020能給我們帶來哪些新的進展吧。

參考文獻

[1] Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Łukasz Kaiser, and Illia Polosukhin. 2017. Attention is all you need. Advances in neural information processing systems, pp. 5998-6008.

[2] Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. 2019. BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. In Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long and Short Papers), pp. 4171-4186.

[3] Dzmitry Bahdanau, Kyunghyun Cho, and Yoshua Bengio. 2015. Neural machine translation by jointly learning to align and translate. In Proceedings of the International Conference on Learning Representations.

[4] Sofia Serrano, and Noah A. Smith. 2019. Is Attention Interpretable. arXiv preprint arXiv:1906.03731.

[5] Sarthak Jain and Byron C. Wallace. 2019. Attention is not Explanation. In Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long and Short Papers).

[6] Sarah Wiegreffe, and Yuval Pinter. 2019. Attention is not not Explanation. arXiv preprint arXiv:1908.04626.

[7] Zichao Yang, Diyi Yang, Chris Dyer, Xiaodong He, Alex Smola, and Eduard Hovy. 2016. Hierarchical attention networks for document classification. In Proceedings of the Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies.

[8] Yoon Kim. 2014. Convolutional neural networks for sentence classification. In Proceedings of the Conference on Empirical Methods in Natural Language Processing.

[9] Zachary C Lipton. 2016. The mythos of model interpretability. arXiv preprint arXiv:1606.03490.