AAAI 2021最佳论文亚军:Attention+积分梯度=归因解释新方法
?PaperWeekly 原創 ·?作者|李濼秋
學校|浙江大學碩士生
研究方向|自然語言處理、知識圖譜
本文是對 AAAI 2021 最佳論文亞軍得主《Self-Attention Attribution: Interpreting Information Interactions Inside Transformer》的翻譯和思考。
首先,貼一下之前認為 attention 不適合用于作為歸因的看法在這里:
https://zhuanlan.zhihu.com/p/287126616
在上面的文章中,我們認為:相比 attention score 作為輸入歸因,使用梯度信息或者擦除對預測的影響作為輸入歸因在理論和實踐中都有更好的表現。
沒有想到這么快就有新的結論了——這一篇來自 AAAI 2021 的 Best Paper Runner?Up 就使用了 attention 相關的歸因方法(當然,重點在于 attention 的顯著性信息)。
論文標題:
Self-Attention Attribution: Interpreting Information Interactions Inside Transformer
論文鏈接:
https://arxiv.org/abs/2004.11207
全文小結
這篇文章提出的注意力歸因圖(Attention Attribution Graph)方法為 transformer 的注意力層求梯度顯著性作為注意力歸因,然后將不同層的注意力歸因作為帶權邊構造詞依賴圖:
在提出了方法的基礎上,作者進行了驗證和拓展實驗有:?
1. 剪枝 attention head:并通過將 attention heads 按 attribution sum 作為重要性剪枝,和現有模型剪枝方法進行比較,經驗性地證明了這一方法獲得的歸因圖最好地保留了模型的信息流動;?
2. 錯誤模式挖掘:通過歸因圖的可視化,可以發現模型對某些 pattern 的異常依賴——這些模式可以用于生成對抗樣本,結合對抗樣本,可以展示模型預測中的問題并針對性訓練以調整之,從而提高模型的泛化能力。
總體而言,個人認為本文的亮點在于提出了新方法,整合了注意力解釋和顯著性解釋兩個方法的優勢:
1. Attention 由于屬于模型的一部分,可以通過修改和剪枝對模型預測過程進行主動干預,從而驗證重要性的判斷,這一點對于顯著性方法這種事后解釋而言是難以實現的;
2. Attention 可以建模輸入詞對彼此的交互和依賴關系,當然,局部的依賴是沒有什么意義的,因此作者考慮了全部層的 attention attribution,并且構建了全局的依賴圖;?
3. 由于 attention score 被證明無法提供輸入的重要性解釋,采用了積分梯度這一顯著性方法,它克服了簡單梯度的飽和(saturation)現象,能夠很好地反映輸入(即 attention)對輸出的影響程度而不受其值影響,這一點作為歸因圖的邊權重。?
以下內容將介紹本文的算法和實驗結果,文末有個人對本文的詳細評價(指挑刺)。
注意力歸因
我們之前的文章(上面的鏈接)提到,注意力權重不能反映輸入重要性,而基于梯度的顯著性信息能夠反映重要性卻無法表示輸入的交互依賴。于是本文就提出了一種結合二者的方案:對每一層的注意力權重求梯度顯著性,這就是注意力歸因(Attention Attribution,ATTATTR)。?
首先,我們回顧一下 transformer 中的多頭注意力機制(multi-head attention)。?
單頭注意力的計算為:
那么多頭注意力的計算為:
其中??表示注意力頭的個數,?表示向量拼接,。
接下來,我們按照積分梯度的方法,對第??個注意力頭,按如下計算其歸因矩陣(積分梯度即對輸入在基線值到當前值的路徑上求梯度的積分,在之前的文章中有介紹):
其中??為點乘,?表示第??個注意力頭的注意力權重矩陣(同式(1)),?代表線性插值的權重,當其值為 0 時代表所有 token 間的 attention 權重為 0。這樣一來,計算結果既考慮了 attention 權重,同時也包含了輸出對這一層 attention 權重的敏感程度。
當然,我們無法直接計算積分,只能用黎曼和近似求解歸因值矩陣:
其中 m 為近似的步數,文章中設置為 20。?
下面可以看到,單個注意力歸因圖顯然比其權重圖更加稀疏:
歸因圖構造算法
在計算單層的注意力權重歸因以后,本文設計了一種注意力歸因圖構造算法,將各層的注意力歸因作為詞依賴邊的權重,進行圖的構造,并使用構造的圖作為一種可視化方法來分析模型學到的句子內詞的依賴關系。?
具體思路和過程如下:?
1. 將各層的注意力歸因按頭相加作為該層的注意力歸因:
2. 按照(1)最大化歸因圖中邊權重的和,以及(2)最小化歸因圖中邊的數量進行圖的構造。這一目標形式上表達為:
其中??為第??層的邊數量,?為兩個目標取舍的權重,?用于過濾出相對較大的注意力歸因值,實驗中為 0.4。
3. 由于上面的組合優化問題難以解決,這里采用一種啟發式的自頂向下的方法來構造圖,基于以下幾個原則:
按從后往前構造圖,即層數從大到小;?
每個節點都有自連邊,因為 transformer 中有殘差連接;
信息流動中,重復邊和反向邊應該被去除;
如果 [SEP] 為葉節點(即,沒有出現從 [SEP] 出發指向其它 token 的邊),就在圖中忽略它,畢竟這個 token 只是一個特殊標記而不包含語義信息。
根據上面的原則,設計了如下算法:
概括一下,就是從最后一層注意力歸因出發,在每層找到權重較大的邊(通過閾值?τ?進行過濾,并去除已有的邊和與已有邊反向的邊),最終合并各層的邊形成完整的圖。看看效果圖吧:
設計了歸因圖以后,自然需要驗證它是否真的有效。case study 就不必多言,文章中還通過注意力頭剪枝的方法證明了注意力的歸因值與其對模型預測的影響的相關性,以及 ATTATTR 方法的有效性。
有效性驗證——注意力頭剪枝(1)
這里主要分為兩點。?
首先是按歸因值大小(降序或者升序)對各層注意力頭進行剪枝,下圖中可以看到按歸因值升序剪枝中間竟然出現了效果提升的現象?圖中也按注意力值升序和降序進行剪枝實驗,結論顯然是:注意力值大小對模型預測沒什么影響。
對這個剪枝我有點疑惑,是對所有測試樣本統一的剪枝方式嗎?還是對每個樣本針對性地剪枝不同的注意力頭呢?而且按歸因值升序剪枝,acc 竟然不降反升?有必要驗證一下……
第二點,探究不同層 attention attribution 反映出的感受野(Receptive Field)。這一部分沒有得出什么結論,更高的層具有更大的感受野,這是顯然的。
有效性驗證——注意力頭剪枝(2)
進一步,這里細化了剪枝的實驗,提出了按重要性剪枝的方法。注意力頭重要性的定義如下:
其中,?來自驗證集,?表示該頭最大的注意力歸因值。
這里,作為參考進行比較的還有基于精確度差(accuracy difference)和泰勒展開(Taylor Expansion)作為重要性的剪枝方法(參考:2019,arxiv,《Are sixteen heads really better than one?》)。?
按重要性從低到高剪枝,對模型表現的影響如下:
看起來,基于 ATTATTR 歸因的重要性更能保留模型中重要的信息流動(其實效果和泰勒展開差不多)。
那么,對于不同任務和數據集(或者說領域 domain),這種重要性是否一致?本文也進行了相關性分析,從下圖中可以看到,RTE、MRPC 和 MNLI 都具有很大的相關性,RTE、MRPC 和 SST-2 相關性很低,而 RTE、MRPC 和 MNLI 都是 2 句分類的任務,區別在于一個和 MNLI 是同領域,一個不同,而 SST-2 是單句分類任務。
這說明,基于歸因值的注意力頭重要性只跟任務類型有關,和數據是否同領域無關。
ATTATTR 方法提供了層次化的歸因解釋,從解釋中我們可以發現模型判斷的非正常依賴——這一點表現在對某些重復出現的句子特征的記憶等,對于真正理解語義是有害的。我們可以借此構造對抗樣本來訓練和提升模型的泛化性能。
對抗樣本生成
這里通過每個句子中最大的歸因值找出有明顯依賴的詞對,并將此用于構造對抗性觸發詞(Adversarial Triggers),將其插入到正常文本中干擾原始預測,生成對抗樣本,如下圖:?
這里構造 trigger 的方式參考了 2019,EMNLP,Universal adversarial triggers for attacking and analyzing NLP。
具體的實驗設計中,從 3k 句子中抽取了 trigger,每個 trigger 包含不超過 5 個 token,并且具有一個分數,即其中每個 token 的歸因值平均值。在 SST-2 中,注意避開了具有明顯情感傾向的詞(具體做法是列黑名單)。
我有兩點疑惑:1)這里顯然插入了兩個不同的詞對(trigger)才成功實現了 attack。是不是說明只插入一對詞的影響不大呢?2)這里的插入位置具體是怎么確定的呢?總不會是人工確認吧……這一部分在文章里也沒有詳細介紹。
實驗結果如下:
總結
本文提出了一種基于注意力歸因(ATTATTR)的解釋方法,這一方法可以解釋 transformer 模型內部的信息交互,并使得注意力方法具有更好的解釋性。?
本文進一步提出了注意力歸因圖的構造算法,歸因圖展示了模型內部的信息流動。然后文章提出了量化的分析方法驗證 ATTATTR 算法的有效性,并用它標記出了重要的注意力頭,提出了一種新的剪枝方法。
最后,本文提出了一種對抗方法,根據注意力歸因發現的重要依賴構造對抗性的 trigger,構造新的對抗樣本。
個人評價(姑妄言之)
本文的思路上,采用剪枝方法驗證經驗上的合理性,實現了自圓其說(目前領域內對生成的解釋還沒有比較合理的指標);應用上,提出模型對模式(指 trigger)的依賴和構造對抗樣本,屬于錦上添花,對后續工作具有一定的指導意義。?
個人認為本文存在的不足之處有:
1. 實驗細節存在缺失:剪枝部分內容有一些細節沒有詳細闡述,對抗樣本生成的過程也比較簡單,但是這部分本該是需要詳細說明,并且和其他方法進行對比的。?
2. 歸因圖的構造算法比較依賴直覺:如果像《Axiomatic Attribution for Deep Networks》中提出公理并給出數學證明一樣那將絕殺,可惜換不得;
3. 基于閾值的方法比較經驗:文章里沒有說 τ 是怎么取的,為什么不取 0.3,0.5 或者其他數值;
4. 實驗可以更全面:看完全文似乎主要只對文本分類(SST-2,MRPC)和文本推理(MNLI,RTE),但這不影響本文的質量,屬于后續工作。
5. transformer 模型除了 multi-head attention 部分以外,還有 feed-forward network 部分,因而歸因圖其實沒有覆蓋模型內全部的信息流動。當然,這一點實驗效果說了算:)
更多閱讀
#投 稿?通 道#
?讓你的論文被更多人看到?
如何才能讓更多的優質內容以更短路徑到達讀者群體,縮短讀者尋找優質內容的成本呢?答案就是:你不認識的人。
總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學者和學術靈感相互碰撞,迸發出更多的可能性。?
PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優質內容,可以是最新論文解讀,也可以是學習心得或技術干貨。我們的目的只有一個,讓知識真正流動起來。
?????來稿標準:
? 稿件確系個人原創作品,來稿需注明作者個人信息(姓名+學校/工作單位+學歷/職位+研究方向)?
? 如果文章并非首發,請在投稿時提醒并附上所有已發布鏈接?
? PaperWeekly 默認每篇文章都是首發,均會添加“原創”標志
?????投稿郵箱:
? 投稿郵箱:hr@paperweekly.site?
? 所有文章配圖,請單獨在附件中發送?
? 請留下即時聯系方式(微信或手機),以便我們在編輯發布時和作者溝通
????
現在,在「知乎」也能找到我們了
進入知乎首頁搜索「PaperWeekly」
點擊「關注」訂閱我們的專欄吧
關于PaperWeekly
PaperWeekly 是一個推薦、解讀、討論、報道人工智能前沿論文成果的學術平臺。如果你研究或從事 AI 領域,歡迎在公眾號后臺點擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的AAAI 2021最佳论文亚军:Attention+积分梯度=归因解释新方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 哪个银行信用卡额度高 申请时需要掌握技
- 下一篇: 花呗可以自动还款吗