CAM/Grad-CAM

Class Activation Mapping / Gradient-weighted CAM

CAM/Grad-CAMとは

CAM(Class Activation Mapping)およびGrad-CAM(Gradient-weighted Class Activation Mapping)とは、画像認識モデルが判断の根拠としている画像領域を可視化する手法です。モデルが「なぜその分類結果を出したか」を視覚的に説明可能にする、説明可能なAI(XAI)の重要な技術です。

表:CAM/Grad-CAMの要点まとめ
ひとことで言うとAIが画像のどこを見て判断したかを、ヒートマップで可視化する手法。
どこで使う誤判定の原因調査、現場への説明、医療AIでの根拠提示。
注意点「見た場所」であって「理由」そのものではない。過信は禁物。

CAMとGrad-CAMの仕組み

CAM(2016年)は、Global Average Pooling層を持つCNNにおいて、最終畳み込み層の特徴マップと全結合層の重みを使って、クラスごとの活性化マップを生成します。ただし、モデルアーキテクチャにGlobal Average Poolingが必要という制約がありました。Grad-CAM(2017年)はこの制約を取り除き、任意のCNNアーキテクチャに適用可能です。特定クラスのスコアに対する最終畳み込み層の勾配を計算し、その勾配で特徴マップを重み付けしてヒートマップを生成します。

図:Grad-CAMが根拠を描くまで
1画像を分類「不良品」と判定
▶
2勾配を計算その判定への寄与度
▶
3特徴マップに重み効いた場所を強調
▶
4ヒートマップ化赤いほど根拠が強い
▶
5元画像に重ねる人が見て確認できる

発展と応用

Grad-CAMの改良版として、Grad-CAM++(より精密な局所化)、Score-CAM(勾配フリー)、Eigen-CAM、LayerCAMなどが提案されています。これらの手法は、モデルのデバッグ、誤分類の原因分析、バイアスの検出、医療AIの診断根拠の提示、モデルの信頼性検証などに活用されています。特に医療分野では、モデルが病変部分に正しく注目しているか確認するために重要です。