可視化神經網路:Grad-CAM小簡介 — 論文筆記(2)Grad-CAM的核心能力評估

Martin Huang
8 min readJun 20, 2022

--

前一篇我整理了關於Grad-CAM的模型架構,本篇將著重在Grad-CAM的物件定位能力,以及其反映模型分類判斷的忠實程度。

Grad-CAM的定位能力(section 4)

作者使用的資料集是ImageNet classification challenge [2],根據競賽要求,神經網路除了要完成分類任務,還要用bouding box將物件的位置標示出來。但資料集的標記只有分類而已,因此,這算是一種弱監督式訓練(不精確,inexact supervision)。競賽的結果,取最高及前五預測的分類兩項。

#關於弱監督式訓練:請參照弱監督式學習:inexact處理對策

作者先用一般的分類模型,以分類任務訓練,就跟之前做的都一樣。接著,利用Grad-CAM產生熱圖,並稍作裁減 — 將低於最大訊號值15%以下的區域過濾 — 再和Guided gradient產生的,像素等級的局部特徵圖結合,產生bounding box。作者在分類模型上做了一些嘗試,陸續使用了VGG、AlexNet,以及GoogleNet。

結果如下。要比較定位能力,對象是之前的其他利用梯度類似作法來找熱圖的方法,而不是神經網路架構本身。作者找的比較對象是c-MWP[3]和CAM。CAM上一篇提到過了,而c-MWP則是一種「剪輯」梯度進入影像坐後處理的方式。

表格來源:參考資料[1]

我看起來是覺得各擅勝場,不過如果考量到Grad-CAM幾乎不須做任何後製,也不需要更動原本的神經網路架構再重新訓練,Grad-CAM是有多一些優勢。

Grad-CAM的圈選(segmentation)能力

作者想用Grad-CAM來做semantic segmentation。不過,當然也是弱監督式方法。在物件偵測和圈選,一般的監督式學習,前者有YOLO系列,後者有FCN系列,基本上短期內沒有其他新架構可以和他們爭霸了。但弱監督式學習就不一樣了,這些任務要做監督式學習,標註的成本都是很高的。前者要標記物件的位置,後者甚至要描繪,給予像素層級的標註。所以,在標註較缺乏的情況下,這個領域有它的賣點。

例如,在這篇文章發表前,有人提出新的損失函數[4]用於這個任務,大致上基於以下三點:

  1. 散佈關於定位的提示點,並鼓勵神經網路去找到符合這些提示的權重;
  2. 將這些點,根據分類的特徵訊息,擴展成一個合理範圍的大小;
  3. 盡可能限制範圍到物件的邊界,以降低不精確性。

這讓我想到一部漫畫<結界師>。結界師的能力是創造結界,口訣是「方圍 — 定礎 — 結」,很像吧?因為版權問題,有興趣的人自己去google吧。

不過就像結界的方圍一樣,利用這樣的方式要做好圈選,最關鍵是定位的提示點選擇。連端點都選錯,後面再怎麼準確也都會偏離目標吧?在[4],他們用的是CAM,而作者就把他置換成Grad-CAM,達到IoU 49.6的成果(原本是44.6)。這是一部分的成果圖。

圖片來源:參考資料[1]

Grad-CAM的視覺化能力(section 5)

從這邊開始,作者不滿足於客觀統計的數據,而希望更進一步讓人加入測試,利用主觀的方式來建立信心。

Grad-CAM的分類鑑別能力

為了確認Grad-CAM是不是有能力分辨分類,作者選了PASCAL VOC
2007的驗證資料集,這裡面的圖片都有兩個分類物件,例如一張圖片有人騎著馬,那該張圖片就同時獲得兩個分類(人、馬)。神經網路選用VGG-16和AlexNet。

#關於AlexNet的介紹:(1) (2)

關於視覺化的處理,作者比較了四種方法:反卷積(deconvolution)、Guided-back propagation,以及Grad-CAM分別和這兩個方法的結合。完成處理之後,將結果給43位Amazon Mechanical Turk (AMT)的工作人員看,並詢問他們是哪兩個物件在影像中被描繪。這很直觀的是,好的視覺化結果就是,將預測的分類描繪出來,而且和另一個分類物件具鑑別性(discriminative)。人在評估的時候,看一張圖片裡被視覺化描繪的地方是對應哪個物件分類,並評估其可靠性以計分,然後經過平均(全部人的分數)之後統計。用描述的感覺有點抽象,看下圖會比較容易懂:

圖片來源:參考資料[1]

在實驗時,受試者不會看到原圖,只根據右邊的圖判斷分類。根據統計結果,Guided back propagation幫助人鑑別物件分類的比例約為44.3%,而如果搭配Grad-CAM,可提升至61.23%。此外,作者有提到deconvolution的表現比guided back propagation還要好(53.3%)。

Grad-CAM反映模型的可信度

這邊作者又設計一個實驗,一樣找到AMT的工作人員。為了將VGG-16和AlexNet本身的分類正確度和視覺化帶來的效益分開,作者從圖片中挑選出兩個模型分類結果一致的,做為視覺化比較。受試者根據同一種分類,兩個模型各自視覺化的效果,比較「以特定分類而言,哪一個視覺化結果更有可信度」。示意圖如下:

圖片來源:參考資料[1]

作者隨機將兩個模型視覺化的圖片左右排列,然後請受試者根據上方圖片敘述的五個選項選擇。只有作者及實驗設計人員知道哪一張圖是由哪一個模型的視覺化產出。結果分析,VGG-16在視覺化的結果上比AlexNet更好。搭配Guided back propagation時,VGG-16平均拿到1分,表示以Guided back propagation做視覺化之後,VGG-16比AlexNet的視覺化能稍微(slightly,請見第二點敘述)在分類上有鑑別性。但到了Grad-CAM,VGG-16竟然可以拿到1.27分,表示已經拉出一些差距了。當然,我們都知道VGG-16的概念和發表的時間點都比AlexNet更前進、更晚,不過能從一個第三方工具,側面的顯示出能讓人眼看出顯著的差異,還是一件不簡單的事情。

忠實度vs.可解釋性

先定義什麼是忠實度:忠實度,指的是能以視覺化正確解釋模型的功能(學到的東西)的能力。如同前一篇所說,由於模型走深之後不透明性一定會增加,如果要忠實反映模型學到的東西,其結果多半是很難看懂的,亦即,可解釋性下降。作者在前面花了相當篇幅,以及設計試驗,來說明Grad-CAM的可解釋性。這裡我覺得,雖然他們證明深度模型仍然可以用Grad-CAM來達到可解釋性,但主要還是在最底層;如果想看中間的卷積層學到什麼,還是困難的。理想的可解釋性模型,應該是能將深度學習模型在任意深度的層,都可以切入去觀察,並形成解釋;如此一來,無論是使用者、或是訓練模型的人,都可以對整個模型理解更透徹,並更好的掌握模型。然而,目前來說Grad-CAM確實已經做到之前做不到的事情,要知道之前連模型到底學了什麼都完全看不出來,但現在至少可以看到一部分了。總之,作者接下來想要證明Grad-CAM的忠實度。

作者的做法是利用遮擋圖片部分區域的方式,計算CNN分數的變化,對照其發生變化的區域,和Grad-CAM所描繪的區域是否一致。結果發現,其一致性比起之前的方法(例如c-MWP、guided back propagation、CAM)都要高。因此,作者認為Grad-CAM對於模型的忠實度也是比較好的。

這裡補充一下個人的想法好了。忠實度可以看成視覺化模型和原本模型的一致性,而可解釋性就是分析模型判斷的根據。Grad-CAM厲害的地方應該是把解釋性用視覺化的方式呈現,因此看起來也很像直接反映忠實度。

以上就是本篇要介紹的關於Grad-CAM的核心能力:定位和反映模型的能力。下一篇將會把這篇論文的剩餘段落整理完畢,敬請期待。

參考資料

[1] 本篇原文,https://doi.org/10.1007/s11263-019-01228-7
[2] Deng, J., Dong, W., Socher, R., Li, L.-J., Li, K., & Fei-Fei, L. (2009).
ImageNet: A large-scale hierarchical image database. In CVPR.
[3] Zhang, J., Lin, Z., Brandt, J., Shen, X.,& Sclaroff, S. (2016). Top-down
neural attention by excitation backprop. In ECCV.
[4] Kolesnikov, A., & Lampert, C. H. (2016). Seed, expand and constrain:
Three principles for weakly-supervised image segmentation. In
ECCV.

--

--

Martin Huang
Martin Huang

Written by Martin Huang

崎嶇的發展 目前主攻CV,但正在往NLP的路上。 歡迎合作或聯絡:martin12345m@gmail.com

Responses (1)