2015년에 나온 논문이라 Baseline과 trend가 지금과는 다소 다른 부분이 있다.
그럼에도 이번 논문을 리뷰하는 것은 Grad-CAM을 리뷰하기 위한 초석이며 해석가능한 딥러닝 모델을 공부함에 있어서 좋은 정보가 될 것이라 믿기 때문이다.
Computer vision 에서 CNN이 다른 모델에 비해 압도적인 성능을 보이고 있다.
이는 Convolution layer이 그 구조상 localization에 뛰어난 능력을 갖기 때문이라고 설명된다.
Conolution layer만을 이용해서는 모델의 output size를 조절하는 작업이 쉽지 않기 때문에 이미지 분류같은 구체적인 task를 하기 위해 Convolution layer를 거친 이후 Fully connected network (FCN)를 연결하여 사용하고 있다.
문제는 여기서 발생하는데 FCN을 거치면서 Convolution layer의 localization 정보가 손실이 된다는 것이다.
이번 논문에서는 Computer vision에서 일반적인 task (Object detection or image classification) 모델의 localization 정보를 잃지 않으면서 task 성능은 거의 유사하게 유지하는 방법을 제안한다. 궁극적으로는 이런 localization 정보를 이용해 추가적인 task를 진행할 수 있음을 보인다.
CAM은 특정 카테고리에 대해서 discriminative image region을 찾기 위한 도구이다. (Figure 3의 예시를 보자.)
그렇다면 CAM은 어떤 방식으로 구현이 되는가?
논문에서는 global average pooling을 이용해 CAM을 생성하는 모델을 제안한다.