changed a year ago
Published Linked with GitHub

[Explainable AI] Transformer Interpretability Beyond Attention Visualization。 Transformer可解釋性與視覺化

tags: Literature Reading XAI Visualization Interpretability Transformer

AI / ML領域相關學習筆記入口頁面


ViT與Transformer相關筆記

Transformer Interpretability Beyond Attention Visualization

官方code

核心概念

Image Not Showing Possible Reasons
  • The image was uploaded to a note which you don't have access to
  • The note which the image was originally uploaded to has been deleted
Learn More →

Image Not Showing Possible Reasons
  • The image was uploaded to a note which you don't have access to
  • The note which the image was originally uploaded to has been deleted
Learn More →

  • 模型表現

先備知識

Transformer架構與Self Attention

參考資料

Self-Attention

  • Scaled Dot-Product Attention 縮放後的點積注意力

    • 點積: 反映兩個向量間的相似性


Multi-head Attention

Transformer模型的整體結構

  • 模型架構
    Transformer

Explainability in computer vision

在給定輸入圖像和CNN的情況下,有許多方法被建議用於生成表明局部相關性的熱圖。這些方法大多屬於兩類中的一類:梯度方法(Gradient based)和歸因(Attribution propagation)方法。

XAI - Gradient based methods

Intuitive understanding of gradients

Gradient based methods

XAI - Attribution propagation methods

LRP(Layer-wise relevance propagation) 相關性逐層回傳

各神經元相關分數(貢獻度)計算方式

  • [TA 補充課] More about Explainable AI 15min
    • 看整體影響力的占比(global),而非權重敏感度(local)

    • 計算各神經元相關分數(貢獻度)

      • contribution = activation(z) x weight

    • 相關分數重新分配給下一層(outputs > inputs)

    • 遞迴反向傳播(BackPropogation)直到輸入

LRP其他參考資料

論文重點摘要

參考Intro to Transformers and Transformer Explainability(作者演講)(45min開始)

1. 從注意力矩陣(attention matrix)切入

  • 每個注意力矩陣由代表整體訊息、最前端的cls_token與其後的token(patch)組成,反映token間的相關程度
    • Attention matrix : \(A = softmax(\frac{Q·K^T}{\sqrt{d_k}})\)
    • 每個token間的注意力(相似度)計算來自於Q與K的點積(dot product) \(Q·K^T\)
  • 是否也可以藉由檢視每個token(patch)與cls_token(類別)之間的相關程度,來評估每個token(patch)對於解釋被分類為該類別的重要性(影響力)呢?
    • 注意力矩陣中的值是相似度分數(similarity score )但也可以轉換成相關性分數(Relevance score)

2. 多個Attention map如何整合

  • Attention map Need to aggregate accross
    • Attention head
    • Attention layer

Attention rollout(Abnar et al., 2000)

  • Head Aggregate by average
  • Layer Aggregate by matrix multiplucation

Transformer Interpretability Beyond Attention Visualization (Chefer et al., 2001)

Attention head的匯聚方式同時採用注意力矩陣的相關度圖(Relevance maps)與梯度(Gradients)
Relevance maps(LRP)
  • Layer-Wise Relevance Propagation (LRP)公式

    • R 是貢獻程度(相關性分數),j 是淺層神經元,k 是深層神經元,\(z_{jk}\) 則代表神經元 k 對 j 的重要程度,也就是說較淺層的 \(R_j\) 可以由較深層的 \(R_k\) 反向傳播回去,並且可以知道這個 \(R_j\) 是由多少 \(R_k\) 所組成
    • 各層的總值相等
      • \(\sum_{j}R_{j}\:=\:\sum_{k}R_{k}\)
  • LRP傳遞的過程

  • 從輸出層傳播到輸入層

  • 通過定義每一層對上一層結果的貢獻和相關性,從最後的輸出結果逐層推導至原圖中的像素層面

    • 每一層的相關分總合均為1,分配給所有權重
  • relevance map determines how much each similarity scores influences the output


  • 不直接使用Attention map中的數值而是使用相關分數(LRP Relevance values)

    Attention map只有\(Q·K^T\)的相似度值,然而整個Transformer模塊中,Attention map還需要跟其他的神經網路層(例如還會乘上Linear Layer)活化,因此單純使用Attention map的相似度數值無法充分反映反應特定token(patch)對類別的影響力。為此,此研究提議計算相關分數(LRP Relevance values)作為替代

Gradients
  • classs specific signal
    • 反向傳播時,權重對特定類別變化的反映程度
Weighted average of the heads

\(\overline{A}^{(b)} = I + \mathbb{E_h}(\bigtriangledown A^{(b)} \bigodot R^{(n_b)})^{+}\quad\quad(13)\)
\(C = \overline{A}^{(1)} · \overline{A}^{(2)} · . . . · \overline{A}^{(B)} \quad \quad(14)\)

  • \(C ∈ \mathbb{R}^{s×s}\) : 權重過的注意力相關圖(the weighted attention relevance)

    • s : number of tokens
  • \((\bigtriangledown A \bigodot R)^+\)

    • 以梯度做為權重,與LRP做逐元素相乘

    • 在計算梯度權重時,僅考慮正值

      • 正梯度數值越大,代表對模型判定為該類別有積極的反應
    • \(\mathbb{E_h}\) is the mean across the “heads” dimension

    • \(I\) : 由於Transformer模組中的跳接設計,在計算注意力相關性圖時,加上單位矩陣來避免每個token(patch)本身的特徵消失

      • (To account for the skip connections in the Transformer block, we add the identity matrix to avoid self inhibition for each token.)
    • 為了改進rollout直接平均head的做法,此研究利用梯度大小會對類別訊號反應的特性,將相關圖(LRP)逐元素乘上梯度,亦即取得與類別相關的權重,而得到權重過的平均Attention head

  • 使用矩陣相乘,將各層權重後的Attention map進行訊息匯聚(Layer Aggregate by matrix multiplucation)_見公式(14)


實驗結果評估

質性評估(Qualitative evaluation)

  • 下圖為影像中含有多類別的圖像
    • 除了GradCam與本研究方法外,其餘方法對類別反映沒有專一性
    • (GradCam其實表現得滿厲害的)

擾動測試(Perturbation tests)

正負擾動說明

  • 正、負擾動試驗採用兩階段設置。
  1. 一個預先訓練好的模型用來提取ImageNet驗證集的視覺化訊息。
  2. 逐漸掩蓋輸入圖像的像素,並測量模型的平均top-1準確度。
  • 在正向擾動中,像素依照相關性分數被從最高掩蓋到最低

    • 預期模型預測表現急劇下降,這表明被掩蓋的像素對分類得分很重要
  • 在負向擾動中,像素依照相關性分數被從最低到最高

    • 當移除的像素跟預測類別無關時,模型的預測表現會緩慢下降,也就是相關性分數確實區分了重要與不重要的圖塊區域、具有良好的解釋力
  • 在這兩種情況下,我們都測量了"曲線下的面積"(area-under-the-curve, AUC),對10%-90%的像素進行調整。

擾動測試評估結果

  • 正擾動-數值越低越好
  • 負擾動-數值越高越好

分割任務(Segmentation)

The segmentation metrics (pixel-accuracy,mAP, and mIoU)

  • mean Average Precision(mAP)指標說明

  • Mean Intersection over Union(mIoU))指標說明

    • IoU = overlap / union

語言理解(Language reasoning)

消融研究(Ablation study)

模型設定

  • Algorithm for model

    • Transformer Interpretability Beyond Attention Visualization
    • Attention Rollout
  • Setting for models

    • (i) Ours w/o ∇A(b), which modifies Eq. 13 s.t. we use A(b) instead of ∇A(b)
      • 不使用梯度,改用Attention map取代
    • (ii) ∇A(1)R(n1), i.e. disregarding rollout in Eq. 14, and using our method only on block 1, which is the block closest to the output
      • 只在最深層(最接近輸出層的Transformer模塊)使用 \((\Delta A \bigodot R)^+\)的計算方式
    • (iii) ∇A(B−1)R(nB−1 ) which similar to (ii), only for block B − 1 which is closer to the input
      • 只在最淺層(最接近輸入層的Transformer模塊)使用 \((\Delta A \bigodot R)^+\)的計算方式

結果

  • 只在深層(b=1,output前一層)採用結合 \((\Delta A^{(1)} \bigodot R^{(n_1)})^+\) 取代單純Attention Rollout(只使用Attention map)的計算方式,取得與實驗方法中最接近的結果,而預測表現只有輕微下降
    • 這一層也是在raw-attention, partial LRP,與GradCAM等方法中使用的位置
    • 顯示接近輸出層含有的資訊遠較輸入層豐富
  • 消融實驗結果顯示,本研究方法的效能增進主要來自於相關性(Relevance)分數結合Attention map梯度的計算方式

eBird MAE模型測試

方法

  • 參考官方colab
    • 先載入官方實作好的ViT模型,再載入自己訓練的權重參數,不需要修改任何模型架構

影像質性測試

  • 模型關注重點:
    • 1.腰部花紋或2.臉部花紋。
    • 比較像人類第一眼看到這幾張海鳥照片直覺會看的區域(特別是腰部明顯對比的黑白花紋)

  • 人類專家判別重點
      1. 腳是否突出尾部 2. 翅型比例 3.體型大小

討論

  • 館碩:這個也回到目的討論,如果我們上週看的兩者在飛行時外觀細到要看腳有沒有突出 (這跟體型大小或身型比例等都會受到拍照角度影響) 那就不是我們現在的模型要解決或能夠的問題。如果以全鳥類來看,某些外觀極相似,可能都是演化尺度的問題,我們模型分不出類別沒關係,但可以事後檢驗這些相似是巧合還是被環境篩選出的祖徵或是趨同演化之類

參考資料

Transformer Interpretability Beyond Attention Visualization

Select a repo