顯著性地圖 是什麼?
Saliency Map:顯著性地圖 的完整解釋
顯著性地圖是一種圖像處理技術,用於突出顯示圖像中最引人注目的區域。它通過計算每個像素的顯著性得分來實現,得分越高表示該區域越顯著。
容易混淆
顯著性地圖 vs 注意力視覺化
顯著性地圖多半看輸入對輸出的影響 注意力視覺化看的是注意力權重分布 最關鍵的區別是梯度影響還是注意力分配。
顯著性地圖 vs 分割
顯著性地圖只標出重要區域 分割要把物件邊界完整切出來 最關鍵的區別是熱區提示和精準輪廓。
記住這句就好
熱得最明顯的地方,就是模型最在意的地方。
實際案例
醫療影像 醫師可以看模型是不是把注意力放在病灶附近,而不是放在影像角落。
自動駕駛 如果模型在辨識交通號誌時把注意力放到不相關的背景,就代表它可能學歪了。
算法與應用
顯著性地圖常來自梯度,代表輸入微小變動對輸出有多大影響。 Grad-CAM 是常見做法之一,會用卷積層特徵做熱區視覺化。 它適合做輔助解釋,但不代表就是模型真正的思考過程。
中英對照與常見說法
| 說法 | 出現場合 |
|---|---|
| 顯著性圖、顯著圖 | 台灣常見譯法 |
| 顯著性地圖 | 較完整的譯法 |
| 显著性图 | 簡體寫法 |
| Saliency Map | 英文原名 |
| 熱力圖(heatmap) | 視覺呈現方式的泛稱,顯著性圖常以熱力圖形式畫出來 |
這個詞在兩個領域各有意思。電腦視覺傳統上指「人眼會先注意到畫面的哪裡」,那是視覺注意力的建模。可解釋 AI(XAI) 裡指「模型是看哪些像素做出這個判斷」。現在多數技術文章講的是後者。
怎麼算出來
最基本的做法是梯度法(vanilla gradient):把模型對目標類別的輸出,對輸入影像的每個像素做偏微分。梯度大的像素代表「稍微改動它,預測就會明顯改變」,也就是重要。取絕對值再依通道取最大,就得到一張跟原圖同尺寸的重要度圖。
純梯度法的問題是雜訊很多,看起來像一堆散點。後續方法都在處理這件事:
方法 核心想法 Grad-CAM 用最後一層卷積的特徵圖加權平均,解析度低但語意清楚、不易被雜訊干擾 SmoothGrad 對輸入加多次隨機雜訊各算一次再平均,把雜訊洗掉 Integrated Gradients 從一張基準圖(通常是全黑)到原圖沿路徑積分梯度,滿足完備性等公理 遮擋法(occlusion) 用方塊逐一遮住影像不同區域,看預測掉多少。最直觀但最慢
讀圖時要小心的三件事
顯著性圖不等於因果解釋。 它顯示的是模型的敏感區域,不代表模型「理解」了那裡的內容。
有些方法會通過健全性檢查(sanity check)失敗。 研究發現,把模型權重隨機打亂之後,某些顯著性方法產生的圖幾乎沒變,代表那張圖主要反映的是影像的邊緣結構而不是模型的行為。使用前值得先做這個檢查。
它最實用的用途是抓資料洩漏。 模型辨識「馬」卻把注意力放在角落的浮水印、辨識肺炎卻看向醫院的標記,這類問題用顯著性圖一眼就能發現,這也是它在實務上最有價值的地方。
情境判斷
Q1(直覺題):如果你想看模型在圖片上最在意哪裡,通常會看什麼?
→ 通常會看顯著性地圖或類似熱區圖。
Q2(判斷題):顯著性地圖看起來很亮,就代表模型一定判斷正確嗎?
→ 不一定。熱區只是解釋線索,不等於真正的因果證據。
相關術語
常見問題
顯著性地圖的計算複雜嗎?
A:要看方法,簡單版可以很快,基於深度模型的版本通常更吃算力。
顯著性地圖可以用在影片嗎?
A:可以,通常是逐幀分析或把多幀結果串起來看。
怎麼評估顯著性地圖品質?
A:常會看 AUC、NSS、CC,或搭配人工檢視。