본문 바로가기

Paper

[논문] CAM, Grad-CAM

> CAM (class activation map)

cnn을 해석하는 것을 목표로 하는 기법

 

>GAP(global average pooling)

피처맵 전체에 대해서 pooling 시행, 

즉 각각의 피처맵 채널에 대해 평균을 내고 그 값을 vector로 나타내는 pooling

 

기존의 CNN 모델에서 FC 대신에 GAP을 사용했을 때 장점!

1. 인풋 이미지 사이즈에 상관없이 모델링을 할 수 있다. -> GAP을 통과하면, 각 피처맵 채널 당 평균을 내서 하나의 값으로 mapping 시키때문에 가로 세로 size는 의미가 없어진다 

 

>CAM의 한계

1. GAP을 무조건 써야함 -> GAP은 채널에 대한 평균이므로, CNN에서만 쓸 수 있음

2. VGG 같은 classification 모델 마지막 단의 FC을 GAP으로 수정하면 fine tuning 해줘야 되고 이로 인해 결과가 조금 안 좋아 질 수 있다는 점

 

 

>grad-cam

그래드캠에서 Guided backpropa와 ReLU 쓰는 이유

gradient가 음수인 경우, 결국 nagative back ground이므로 0으로 다 죽여버려서

연산 효율 증대