CNNの判断根拠の可視化に取り組んだ論文. Class Activation Mapping の改良版(#24)
既存研究の Guided Backpropagation とともに用いることで,より詳細に判断根拠を可視化できるようになった.
CAMとは違い,全結合層のないネットワークに対しても用いることができる.
提案手法
Grad-CAMを生成するためには,まずあるクラスcのスコアの勾配を計算する.スコアはソフトマックス関数を計算する前のもので,そのスコアを畳み込み層のkチャネル目の特徴マップAkに関して微分する.Global Average Pooling も考慮して算出.
これは特徴マップのkチャンネル目におけるクラスcに対する重要度を表す.この重要度を特徴マップに掛け合わせることで,クラスcに対する可視化の結果であるGrad-CAMを得る.ReLUに通している理由は,ここで知りたいのは結果のクラスに寄与したピクセルであり,負の値になっているピクセルは他のクラスに寄与した可能性が高いため,それらを無視するためである.
INFO
author
Ramprasaath R. Selvaraju1, Michael Cogswell2, Abhishek Das2 , Ramakrishna Vedantam1, Devi Parikh2, Dhruv Batra2
affiliation
1Virginia Tech, 2Georgia Institute of Technology
conference
ICCV 2017
link
pdf まとめslide pytorch実装
概要
CNNの判断根拠の可視化に取り組んだ論文. Class Activation Mapping の改良版(#24) 既存研究の Guided Backpropagation とともに用いることで,より詳細に判断根拠を可視化できるようになった. CAMとは違い,全結合層のないネットワークに対しても用いることができる.
提案手法
Grad-CAMを生成するためには,まずあるクラスcのスコアの勾配を計算する.スコアはソフトマックス関数を計算する前のもので,そのスコアを畳み込み層のkチャネル目の特徴マップAkに関して微分する.Global Average Pooling も考慮して算出. これは特徴マップのkチャンネル目におけるクラスcに対する重要度を表す.この重要度を特徴マップに掛け合わせることで,クラスcに対する可視化の結果であるGrad-CAMを得る.ReLUに通している理由は,ここで知りたいのは結果のクラスに寄与したピクセルであり,負の値になっているピクセルは他のクラスに寄与した可能性が高いため,それらを無視するためである.
CAMの一般化
クラスcに対するCAMは以下の式で与えられるが,αkc=wkcとすれば,Grad-CAMはCAMの一般化であると言える.ここでwkcは全結合層の重み.詳しくはAppendixのSec. 1に記述されている.
Guided Grad-CAM
Grad-CAMでは,CNNがどこを見たのかはわかるが,その領域からなぜその結果だと判断したのかは不明瞭である.そこで既存手法である Guided Backpropagation(#33)と組み合わせることで,より詳細な判断根拠を可視化できるようになった.これをGuided Grad-CAMと呼ぶ.Guided Grad-CAMを生成する際は,Grad-CAMのサイズを元の画像サイズと同じ大きさになるよう,bilinear interpolation でリサイズしている.
date
Feb. 6, 2019