CAM 관련 이전 블로그 글 : https://chang-aistory.tistory.com/34?category=933399


CAM의 한계점 :

Global Average Pooling Layer(GAP) 사용해야 하는 한계

→ GAP는 별도의 CNN구조라고 할 수 있으므로, 뒷부분의 CNN구조를 다시 fine tuning해야하는 문제

마지막 conv layer에 대해서만 CAM 추출 가능한 것이 한계


Grad CAM: Visual Explanations from Deep Networks via Gradient-based Localization

논문

Abstract

CAM의 한계점을 Gradient로 해결

Untitled

어떠한 목적을 위한 CNN일지라도 마지막 conv layer로 흐른 gradient로 이미지의 중요한 영역을 강조하는 localization map을 만든다 → 모델의 구조 변화 / 재학습 필요 x

Grad-CAM

FC 레이어에서는 공간적 정보의 손실이 일어나기 때문에 마지막 conv 레이어를 사용

마지막 conv 레이어는 이미지에서 클래스의 의미와 관련된 정보를 포함한다.

<notation 정의>

$L^C_{Grad-CAM}\in R^{u\times v}$ : u(width), v(height), class(C)에 대한 class-discrimitive-localization map

$y^c$ : softmax이전의 class c에 대한 score

첫번째로 conv레이어의 featurea map activations $A^k$ 에 대해 $y^c$ 에 대한 gradient를 계산한다. $i.e. \frac{\partial y^c}{\partial A^k}$