Google新作:注意力機制是否真的能夠提供模型的可解釋性?

PaperWeekly發表於2020-12-03

Google新作:注意力機制是否真的能夠提供模型的可解釋性?

論文標題:

The elephant in the interpretability room: Why use attention as explanation when we have saliency methods?

論文作者:

Jasmijn Bastings, Katja Filippova

論文連結:

https://arxiv.org/abs/2010.05607

動機

注意力機制(Attention Mechanism)作為機器學習,人工智慧研究中一個里程碑式的研究成果,它能夠根據需求選擇最合適的輸入,能夠對齊兩個序列之間的 token 關係,從而實現更好的效果,可以說注意力機制已經成為現在很多人工智慧研究(NLP, CV)的標配。

隨著大家對可解釋性的需求越來越高,注意力機制也被用來實現對模型執行方式的可解釋性分析,同時由於注意力機制擁有良好的視覺化操作,因此大家都會說使用了注意力機制,提高了模型的可解釋性,同時會用一些注意力權重分佈的視覺化來支援這一觀點。

但注意力機制是否真的能夠提供模型的可解釋性,為什麼要使用注意力作為模型可解釋性研究的一個重要途徑呢?為了回答這個問題,並深入研究注意力機制在可解釋性研究中發揮的作用。就有了本文這個工作。

1.1 注意力的作用

要分析注意力對可解釋性的作用,就要看注意力被用在可解釋性上時的原因,相關文章中表述過他們更關注的地方在於輸入中哪些內容對模型的預測效能更重要。因此,如果要使用這個狹義的可解釋性定義時,那麼注意力確實能夠在方面發揮作用。

但這個定義與輸入顯著性方法研究的定義相吻合,那既然定義是吻合的,為什麼不使用這些顯著性方法要尋找輸入中的重要部分呢?與此同時,利用注意力機制進行可解釋性研究的大多數工作都會被批評沒有定義什麼是可解釋性

這是本文的一個出發點,接下來,針對注意力是否可以用於可解釋,文字展示了相關工作。

1.2 注意力是否能用於可解釋

為了更好的進行注意力機制爭辯的分析,本文以一個非常簡單的注意力例子進行分析,結構如下圖。輸入的序列首先透過 LSTM,然後在此基礎上計算注意力在隱層狀態上的權重分佈,然後以這個注意力例子進行分析

Google新作:注意力機制是否真的能夠提供模型的可解釋性?

針對注意力不能用於解釋,這裡主要是以下的幾個工作:

  1. Jain 和 Wallace [1] 透過實驗證明可以找到一組完全不同的注意力權重,但模型最後的輸出是相同,從而證明了注意力是不能用於解釋的。
  2. Serrano 和 Smith [2] 透過修改注意力權重發現模型中的注意力權重並不能識別出對輸出最終的輸入部分,證明注意力不能用於解釋。
  3. Grimsley 等人 [3] 從因果推理的角度進行分析,他們認為如果可解釋性的因果定義已經被提前定義了,那麼透過定義的方式不能說注意力結果就是解釋,這點涉及到因果推理的很多內容,這裡就不再贅述。

為了反駁以上觀點,說明注意力是可以用於解釋的,主要列舉了一下的一個工作

  1. Wiegreffe和Pinter [4] 透過反駁 [1] 中的實驗設定,首先注意力機制需要跟整個模型聯合起來執行才是有用的,單純找到一個對抗分佈是沒有意義的,不能為了分佈而找分佈。於此同時,本文提出了一些實驗方法,包括 uniform-weights baseline,expected variance, diagnose attention 等,透過這些實驗發現能夠透過一定的方法獲取針對同一輸出結果的不同注意力解釋,因此注意力能夠用於解釋,但範圍是受限的。

既然在一些工作上,注意力機制是能用於解釋的,那是否是被正確利用了呢,本文也進行了相關的分析,Vashishth 等人 [5] 透過對 NMT 中的注意力機制進行分析,發現注意力機制在不同的任務上發揮的作用是不同的,因此能否用於可解釋性的程度也是不同的,不能一概而論。

1.3 顯著性方法

上一節對注意力是否是解釋,是否能夠用於解釋進行進行了深入調研,正方反方觀點都進行了分析。正如 motivation 中提到的那麼樣,如果根據狹義的可解釋性定義:可解釋性就是找到對輸出最顯著的輸入部分,那麼為什麼不用顯著性方法呢?為此,本節就介紹了幾種顯著性方法,這幾種方法能夠直接應用到任何一個基於神經網路的 NLP 方法。

  1. 基於梯度:主要分為以下三種;
    利用梯度表示:
    Google新作:注意力機制是否真的能夠提供模型的可解釋性?
    利用梯度與輸入相乘的方法:
    Google新作:注意力機制是否真的能夠提供模型的可解釋性?
    利用積分梯度的方法:
    Google新作:注意力機制是否真的能夠提供模型的可解釋性?
  2. 基於傳播:這裡主要介紹了 layer-wise  相關傳播的方法 [5];
  3. 基於遮擋:這個方法主要透過遮擋或者擦除輸入特徵中的部分特徵,然後分析其對模型的影響,從而得出相關輸入的顯著性。因此這種型別的方法主要分為兩種,基於遮擋的方法和基於擦除的方法,作者分別介紹了在 CV 領域的一篇文章和 NLP 領域一篇關於擦除方法的文章。

1.4 顯著性 v.s. 注意力

本節中,作者首先亮明瞭一個觀點:在可解釋性研究中,應該更關注顯著性方法。現在將可解釋性侷限於計算哪部分輸入對輸出更重要主要是因為注意力機制能夠為每一個輸入計算一個權重,也是因為這個原因,現在很多方法都使用注意力來進行可解釋分析。

我們應該更關注顯著性方法,如果可解釋性的定義是計算輸入的顯著性的話。具體原因作者分別從忠誠度,覆蓋率,高效性三個方面進行了分析。

那注意力在可解釋性研究中就沒有任何意義了麼?本文同樣不這麼認為,本文認為深入探究注意力的作用依然是一個非常重要的目標,而且注意力能夠為其他解釋性研究提供參考。這些方向上已經有了很多研究。

另外,作者也部分為顯著性方法就是最終解,還有其他的一些方法有待發掘,例如反事實分析等,於此同時,顯著性方法也有一些缺陷,例如對模型中間過程表示能力的缺陷,對輸入變化太敏感等問題,這些也是一些值得研究的方向。

相關文章