Grad-CAM閱讀筆記 -神經網絡輸出可視化

Paper Reading Note

URL: https://arxiv.org/abs/1610.02391

TL;DR

提出一種對神經網絡輸出進行可視化的方式Grad-CAM(Gradient-weighted Class Activation Mapping),直觀展示卷積神經網絡學習到的特徵,有助於理解神經網絡的工作原理及決策過程


Dataset/Algorithm/Model/Experiment Detail

總體思路

Grad-CAM是使用任何目標概念的梯度(比如分類類別中的某一類的logits,甚至是caption任務中的輸出),流入最後的卷積層,生成一個粗略的定位圖來突出顯示圖像中用於預測的重要區域。

Grad-CAM整體結構圖

實現方式

  • 首先計算c類別的的模型得分 ycy^c 對於某個卷積層AijkA^k_{ij}的梯度,同時在對於每個channel上的各像素值取平均(類似Global Average Pooling),得到神經元重要性權重αkc\alpha^c_k,如下公式所示:
    神經元重要權重計算
    其中Z代表特徵圖的像素個數,AijkA^k_{ij}代表第k個特徵圖的(i,j位置的像素值)
  • 利用上述得到的神經元重要性權重對選定的卷積層的特徵進行加權,如下公式所示:
    在這裏插入圖片描述
    值得注意的是這裏加權後輸出的粗糙熱力圖是和AkA^k卷積層的特徵大小一致,隨後經過ReLU操作得到熱力圖,目的是隻考慮對類別 c 有正影響的像素點。

效果展示

  • 分類任務
    在這裏插入圖片描述
  • captioning 任務
    在這裏插入圖片描述

Thoughts

這篇文章雖然思路很簡單,但作爲神經網絡可解釋化的經典作品,其對於理解神經網絡的工作原理有很大幫助。在迭代訓練模型過程中這樣的可視化方法也能對模型的決策方式有一定展示。該文章的網站也提供了相應的展示界面,其中captioning任務的展示工具提供了一些有趣的發現,一些看似不合理的預測其實也是在合理的原因下發生。

該論文的展示網頁見:Grad-CAM展示

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章