아래 블로그를 참고했습니다.

-https://jsideas.net/grad_cam/


alt image

CAM

  • 장점 : fc를 cam으로 바꿔도 큰 성능저하가 없다.
  • 단점 :
    • FC를 GAP로 대체해야 한다는 점
    • GAP 직전의 Conv layer만 쓸 수 있다는 점
    • 또 GAP 뒷단에 있는 Dense Layer의 weight 정보가 필요하므로 fine-tuning이나 re-training의 과정을 거쳐야하는 점

Grad-cam

  • 마지막 conv 레이어에 들어오는 gradient 정보를 사용해서 타겟 레이블에 대해 각 뉴런이 가지는 중요도
  • 마지막 레이어의 각 피처맵의 변화에 따른 output의 변화량을 더해서 $\alpha$를 구하고, 그것을 각 피처맵에 곱해서 relu를 하면 grad cam을 구할 수 있다.