梯度加權類激活圖(Grad-CAM)
Grad-CAM是一種可視化技術,利用梯度資訊來突出顯示輸入圖像中對模型預測最重要的區域,提供模型決策的可解釋性。
完整說明
核心概念
Grad-CAM (Gradient-weighted Class Activation Mapping) 是一種可視化技術,旨在解釋深度學習模型,特別是卷積神經網路 (CNN) 的預測結果。與其他可視化方法(例如 CAM)不同,Grad-CAM 不需要修改模型架構,因此可以應用於更廣泛的模型。其核心思想是利用模型最後一層卷積層的梯度資訊,來確定輸入圖像中哪些區域對模型的預測結果影響最大。這些影響最大的區域被認為是模型關注的重點,也是模型做出決策的關鍵因素。
Grad-CAM 的輸出是一個熱圖,也稱為類激活圖 (CAM)。熱圖覆蓋在原始輸入圖像上,顏色越亮表示該區域對模型預測的貢獻越大。通過觀察熱圖,使用者可以了解模型在做出預測時關注了哪些特徵,從而判斷模型是否基於合理的依據進行決策。
運作原理
Grad-CAM 的運作原理可以分為以下幾個步驟:
- 前向傳播: 首先,將輸入圖像通過卷積神經網路進行前向傳播,直到最後一層卷積層。記錄最後一層卷積層的激活圖 (activation maps)。
- 反向傳播: 然後,計算目標類別(即模型預測的類別)的分數相對於最後一層卷積層激活圖的梯度。這個梯度表示了激活圖中每個像素對目標類別分數的影響程度。
- 全局平均池化: 對每個激活圖的梯度進行全局平均池化 (global average pooling),得到每個激活圖的權重。這個權重表示了該激活圖對目標類別的重要性。
- 加權求和: 將每個激活圖乘以其對應的權重,然後將所有加權後的激活圖相加。這個加權和就是 Grad-CAM 熱圖。
- ReLU 激活: 最後,對熱圖應用 ReLU (Rectified Linear Unit) 激活函數,去除負值。ReLU 激活函數的作用是只保留對目標類別有正向貢獻的區域,去除抑制目標類別的區域。
- 熱圖疊加: 將生成的熱圖歸一化到 0-1 範圍,然後將其疊加到原始輸入圖像上,以可視化模型關注的區域。
數學公式表示如下:
設 Ak 表示第 k 個激活圖,yc 表示類別 c 的分數。
αkc 表示第 k 個激活圖對類別 c 的權重,計算公式為:
αkc = (1/Z) Σi Σj ∂yc/∂Aijk
其中 Z 是激活圖的像素總數,∂yc/∂Aijk 表示類別 c 的分數相對於第 k 個激活圖在位置 (i, j) 的梯度的值。
Grad-CAM 熱圖 LGrad-CAMc 計算公式為:
LGrad-CAMc = ReLU(Σk αkc Ak)
實際應用
Grad-CAM 在許多領域都有廣泛的應用,包括:
- 圖像分類: 用於解釋圖像分類模型的預測結果,幫助使用者了解模型在識別圖像時關注了哪些特徵。例如,在識別貓的圖像時,Grad-CAM 可以突出顯示貓的眼睛、鼻子和耳朵等區域。
- 目標檢測: 用於定位圖像中的目標物體。Grad-CAM 可以生成目標物體的熱圖,從而幫助使用者了解模型是如何檢測到目標物體的。
- 圖像分割: 用於分割圖像中的不同區域。Grad-CAM 可以生成每個區域的熱圖,從而幫助使用者了解模型是如何分割圖像的。
- 醫療影像分析: 用於輔助醫生診斷疾病。Grad-CAM 可以突出顯示醫療影像中與疾病相關的區域,例如腫瘤或病灶。
- 自動駕駛: 用於解釋自動駕駛系統的決策。Grad-CAM 可以突出顯示自動駕駛系統在做出決策時關注的交通標誌、行人和其他車輛等區域。
常見誤區
- Grad-CAM 並非完美: Grad-CAM 只能提供模型決策的粗略解釋,並不能完全揭示模型的內部運作機制。它只是基於梯度資訊的可視化,可能受到梯度消失或梯度爆炸等問題的影響。
- Grad-CAM 的解釋可能具有誤導性: Grad-CAM 突出顯示的區域並不一定就是模型做出決策的唯一原因。模型可能還會考慮其他因素,例如上下文資訊或先驗知識。
- Grad-CAM 不能用於所有模型: Grad-CAM 主要適用於卷積神經網路。對於其他类型的模型,例如循环神经网络 (RNN) 或 Transformer,可能需要使用其他可視化方法。
- Grad-CAM 的結果可能受到超參數的影響: Grad-CAM 的結果可能受到超參數的影響,例如學習率或批量大小。因此,在使用 Grad-CAM 時,需要仔細調整超參數,以獲得最佳的可視化效果。
- Grad-CAM 不能替代嚴格的模型評估: Grad-CAM 是一種可視化工具,不能替代嚴格的模型評估。在使用 Grad-CAM 時,仍然需要使用其他評估指標,例如準確率、精確率和召回率,來評估模型的性能。
相關術語
常見問題
延伸學習
延伸學習
想看 梯度加權類激活圖 的完整影片教學?前往 美第奇 AI 學院