Grad-CAM(グラッド・カム)とは?新人エンジニア向けにやさしく解説

こんにちは。ゆうせいです。
今回は、ディープラーニングで画像認識モデルを「説明可能にする技術」として有名な、
Grad-CAM(グラッド・カム)について、新人エンジニアの方向けにわかりやすく解説します。

「CNNの中身を可視化できるって聞いたけど、どういう仕組み?」
「Grad-CAMって何が“グラディエント”で何が“CAM”なの?」

そんな疑問に、名前の由来・仕組み・使い方・活用シーンまで、順を追ってお答えします!


結論!Grad-CAMとは?

CNNベースの画像認識モデルが「どこを見て判断したか」を、ヒートマップで可視化する手法です。

Grad-CAM は正式には
Gradient-weighted Class Activation Mapping
と呼ばれ、分類だけでなく物体検出などでも応用される技術です。


名前の意味:Grad-CAM の由来

略語意味
GradGradient(勾配)
CAMClass Activation Map(クラス活性マップ)

つまり Grad-CAM とは:

「あるクラスに関する勾配情報を使って、そのクラスがどの領域に注目していたかを可視化する」手法


どういう仕組み?流れをざっくり説明

Grad-CAM の可視化は以下のステップで行われます:

ステップ①:画像をCNNに入力して分類結果を得る

たとえば「犬」と予測された画像。


ステップ②:対象のクラス(犬)の出力スコアに対する勾配を計算

最後の畳み込み層の出力(特徴マップ)  A^k に対して、
「クラススコア  y^c 」との勾配  \frac{\partial y^c}{\partial A^k} を求めます。


ステップ③:チャネルごとの重要度(重み)を計算

特徴マップごとに、勾配の平均をとって重み(  \alpha_k^c )を計算:

 \alpha_k^c = \frac{1}{Z} \sum_i \sum_j \frac{\partial y^c}{\partial A^k_{ij}}

ここで  Z は特徴マップのサイズ(i × j)


ステップ④:ヒートマップを生成

重み付き合成:

 L_{\text{Grad-CAM}}^c = \text{ReLU} \left( \sum_k \alpha_k^c A^k \right)

  •  L_{\text{Grad-CAM}}^c がヒートマップ(画像と同じ形)
  • ReLU でマイナスの影響をカット

ステップ⑤:元画像に重ねて可視化!

→ モデルが「どこを見て判断したか」が一目瞭然に!


図で直感的に理解

[画像入力]
   ↓
[特徴抽出(CNN)]
   ↓
[最終畳み込み層出力:A^k]
   ↓            ↑
[分類スコア:y^c]  ← 勾配 ∂y^c/∂A^k
   ↓
[重み α^c_k を計算]
   ↓
[重み付き和 + ReLU]
   ↓
[ヒートマップ(Grad-CAM)]

Grad-CAMのメリットと使いどころ

メリット

  • モデルの判断根拠を視覚的に確認できる
  • 説明可能性(Explainability)を高める
  • 医療・安全分野でも有効

よくある用途

分野用途例
画像分類犬と猫、どこを見て判断したかを確認
医用画像解析病変部位に注目しているか確認
モデルのデバッグ関係ない場所を見ているか可視化

注意点・限界

  • 最後の畳み込み層の解像度に依存(粗いマップになることがある)
  • 対象クラスを指定しないと出ない(予測スコアが必要)
  • ノイズが多くなることもあり、完全な解釈とは言いきれない

覚え方のコツ!

✅ Grad-CAM =
Grad(勾配)× CAM(クラスの注目マップ)

  • 勾配を使って、CNNがどこを見ていたかを炙り出す
  • 出力に対する“感度”を空間的にマッピング

→ だから「Grad(勾配)-CAM(注目)」!


今後の学習の指針

Grad-CAMを理解したら、以下のことにもチャレンジしてみましょう:

  1. 実際にPyTorchやTensorFlowでGrad-CAMを実装して可視化
  2. CAMやScore-CAMなど他の手法と比較してみる
  3. Grad-CAM++(より細かい情報)にも挑戦してみる
  4. 画像以外(テキスト、音声)でのGrad-CAM的手法を調べてみる

Grad-CAMは、ディープラーニングモデルを“信頼できるもの”に変える大事な技術です。
名前の意味・仕組み・数式をセットで理解して、しっかり活用していきましょう!

生成AI研修のおすすめメニュー

投稿者プロフィール

山崎講師
山崎講師代表取締役
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。