-
Grad-CAM: Visual Explanations from Deep Networks via Gradient-based Localization머신러닝, 딥러닝 공부 2020. 2. 7. 18:06반응형
https://hydragon-cv.info/entry/Learning-Deep-Features-for-Discriminative-Localization
CAM의 가장 큰 단점은 네트워크의 맨 마지막 단이 반드시 GAP layer로 구성되어야 한다는 점이다. Grad-CAM 논문에서는 이러한 단점을 해결해서 거의 모든 CNN 모델에 CAM 적용이 가능하다는 장점이 있다. 논문에서 Grad-CAM을 적용한 CNN 모델들은 다음과 같다.
- Fully-connected layer를 사용하는 CNN 모델
- Image Captioning과 같은 구조화된 출력을 사용하는 CNN 모델
- Multi-modal input을 사용하는 CNN(VQA)
- reinforcement learning
Grad-CAM
우선 CAM을 구하는 수식을 이 논문이 표현하는 방식으로 다시 나타내면 아래와 같다.
이 식의 순서를 바꾸면
여기서 L 부분이 CAM 논문에서 나온 CAM 부분이다. 문제는 w가 GAP에서 나온 weight이기 때문에 GAP layer가 반드시 필요하다. 따라서 논문에서는 이를 해결하기 위해 gradient를 이용해 weight를 구하는 방식을 제시한다.
y는 네트워크의 출력 노드이며 A는 feature map이다. 즉 feature map에 대한 출력 노드의 gradient의 GAP가 CAM을 구하기 위한 새로운 weight가 된다.
결과적으로 Grad-CAM은 다음과 같이 표현된다. 논문에서는 ReLU를 추가해 사용한다.
위 수식들은 아래 그림을 보면 쉽게 이해된다.
참고로 Grad-CAM 논문에 의하면, 다음 수식이 성립한다.
즉, Grad-CAM은 CAM을 일반화한 형태라고 볼 수 있다. 자세한 내용은 논문의 Appendix-Section A를 참고하면 된다.
Guided Grad-CAM
Guided Backpropagation을 이용해서 saliency map을 구한 후, Grad-CAM과 saliency map의 크기를 bi-linear interpolation 을 사용해서 동일하게 맞춰준 후, 서로 곱하여 계산한다.
References
반응형'머신러닝, 딥러닝 공부' 카테고리의 다른 글
Accelerating the Super-Resolution Convolutional Neural Network (0) 2020.02.16 Spatial Transformer Networks (0) 2020.02.08 Learning Deep Features for Discriminative Localization (0) 2020.02.02 Deep Residual Learning for Image Recognition (0) 2020.01.31 VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNITION (0) 2020.01.30