Search
💗

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

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

Grad-CAM

FC 레이어에서는 공간적 정보의 손실이 일어나기 때문에 마지막 conv 레이어를 사용
마지막 conv 레이어는 이미지에서 클래스의 의미와 관련된 정보를 포함한다.
<notation 정의>
LGradCAMCRu×vL^C_{Grad-CAM}\in R^{u\times v} : u(width), v(height), class(C)에 대한 class-discrimitive-localization map
ycy^c : softmax이전의 class c에 대한 score
첫번째로 conv레이어의 featurea map activations AkA^k 에 대해 ycy^c 에 대한 gradient를 계산한다. i.e.ycAki.e. \frac{\partial y^c}{\partial A^k}
그리고 이 거꾸로 흘러간 gradient들은 width와 height 차원들(각각 i와 j로 인덱싱) 대해 GAP된다. → neuron importance weights인 αkc\alpha^c_k 를 구하기 위해
αkc\alpha^c_k 를 activation에 대해 gradient를 역전파하면서 계산하는 동안에, 정확한 계산은 gradient가 전파되는 최종 conv layer까지 활성화 함수에 대한 gradient와 weight matrices의 연속 행렬 곱(successive matrix products)에 해당한다.
αkc\alpha^c_k : deep network의 partial linearization, featuremap k(채널)의 class C에 대한 중요도를 나타냄
AkA^k : 마지막 CNN레이어 출력의 k번째 채널 featuremap
이것과 forward activation maps(AkA^k)의 weighted combination을 수행하고 ReLU를 수행해준다. ReLU는 class C에 긍정적 영향을 미치는 feature만을 확인하기 위해 사용된다.
(부정적인 영향을 끼치는 픽셀을 알아보기 우해서는 weighted combination에 -를 붙여서 ReLU를 수행하주면 되겠다.)
이것이 마지막 conv 레이어 통과한 피쳐맵의 사이즈와 같은 사이즈의 coarse heatmap을 결과로 만들어낸다는 것을 알아야 한다.
일반적으로 ycy^c 는 꼭 CNN에서 나온 score일 필요는 없다. 그것은 자막이나 질문에 대한 대답의 단어를 포함하여 어떤 구별 가능한 activation일 수 있다.

Grad-CAM은 CAM의 일반화이다

<CAM의 수식>
<GAP의 아웃풋>
<CAM이 최종 score를 계산하는 식>
이 때 wkcw_k^c 는 k번째 featuremap과 class c를 잇는 weight
<class score ycy^c 에 대한 featuremap FkF^k 의 gradient>
FkAijk=Aijk1ZijAijk=1Z\frac{\partial F^k}{\partial A_{ij}^k} = \frac{\partial}{\partial A_{ij}^k} \frac{1}{Z}\sum_i\sum_j A_{ij}^k = \frac{1}{Z}

Guided Grad-CAM

Grad-CAM은 이미지 픽셀 단위의 세밀한 요소들은 다루지 못한다.
Guided Grad CAM은 ReLU를 거쳐 backpropagation할 때 음의 gradient를 없애며 쉽게 시각화 한다.
Grad CAM의 다소 조잡한 히트맵을 보완해 직관적으로 중요한 픽셀을 알아보기 위함이다.
두 방법론의 장점을 결합하여 Guided backpropagation과 Grad-CAM을 element-wise 곱하여 시각화를 진행한다. 이 때 LGradCAMcL^c_{Grad-CAM} 의 경우에는 2차원 선형보간법으로 인풋이미지와 같은 사이즈로 리사이즈 한다.