CAM: 분류기가 어디를 보고 판단했는지 지도화하다
한 줄 요약
이미지 수준 라벨로만 학습한 분류 CNN의 conv 유닛들은 이미 물체 검출기처럼 동작하고 있다 — 그 위치 정보를 부수는 것은 마지막 FC층이다. FC를 global average pooling(GAP) + 선형층으로 바꾸면, 분류 가중치를 feature map에 되돌려 곱하는 것만으로 “이 클래스라고 판단한 근거 영역”의 지도, Class Activation Map을 공짜로 얻는다. 해석 가능성과 약지도 위치추정을 한 번에 연 논문이다.
핵심 기여
- CAM의 유도 — 산수 한 줄: GAP 구조에서 클래스 의 softmax 이전 점수는
합의 순서만 바꾸면 클래스 점수가 공간 위치별 기여 의 합으로 분해된다. 이 가 CAM이다 — 마지막 conv feature map 를 클래스별 분류 가중치 로 가중합한 것. 입력 크기로 업샘플하면 히트맵이 되고, 최대값의 20% 이상 영역을 묶으면 bounding box가 나온다.
-
왜 GAP인가: NIN에서 GAP는 과적합 방지용 구조적 정규화로 제안됐지만, 이 논문은 GAP의 진짜 가치가 마지막 층까지 공간 정보를 보존하는 것임을 보였다. GMP(최대 풀링)와의 비교가 논지를 선명하게 한다: 평균은 물체의 전체 범위를 활성화해야 손실이 줄지만, 최대는 가장 판별적인 한 점만 찾으면 된다 — 분류 성능은 비슷해도 위치추정은 GAP가 명확히 좋다.
-
구조 요구사항과 비용: conv feature map → GAP → 선형 softmax 구조가 필요하므로, AlexNet/VGG/GoogLeNet의 FC층을 제거해 개조했다(최종 해상도 13×13/14×14). 분류 정확도는 1~2% 하락 — 해석 가능성의 대가치고는 싸다.
주요 결과
- 약지도 위치추정: 위치 라벨을 전혀 안 쓰고 GoogLeNet-GAP로 ILSVRC top-5 위치추정 오류 37.1%(휴리스틱 박스 선택 포함) — 완전지도 AlexNet(34.2%)에 근접. 역전파 기반 saliency 베이스라인(46.4%)을 크게 앞선다.
- 범용 국소화 특징: CAM으로 잘라낸 영역으로 CUB-200 조류 세분류 정확도 63.0→67.8%. SUN397 등 8개 데이터셋 전이에서도 경쟁력 유지. 텍스트 검출, VQA, 약라벨 이미지에서의 시각 패턴 발견 등 태스크 특화 학습 없이 응용이 이어진다.
계보에서의 위치
“CNN은 블랙박스”라는 통념에 대해 “분류 가중치 자체가 이미 위치 설명”임을 보인, CNN 해석 연구의 실질적 출발점이다. 약점도 구조에서 나온다: GAP+선형층이라는 특정 구조를 요구하고, 마지막 conv층에서만 지도를 뽑을 수 있으며, 기존 학습 모델에는 재학습 없이 적용할 수 없다. 이 제약을 “가중치 대신 그래디언트로 중요도를 얻자”로 일반화해 임의 구조에 적용 가능하게 만든 것이 Grad-CAM이다. 한편 “판별 영역의 지도”라는 출력 형식은 약지도 분할(weakly-supervised segmentation) 분야 전체의 기본 재료가 됐다.