클래스 활성화 맵(CAM)은 딥러닝에서 합성곱 신경망의 예측에 대한 시각적 설명을 생성하는 기법이다. 이는 입력 이미지에서 특정 출력 클래스와 가장 관련이 있는 영역을 강조하는 거친 히트맵을 생성하여 모델 해석 가능성의 한 형태를 제공한다. 이 방법은 2016년 Bolei Zhou와 동료들의 논문에서 소개되었으며, 이후 이미지 분류 모델을 이해하고 디버깅하는 데 있어 기본적인 도구가 되었다.
CAM의 핵심 아이디어는 합성곱 네트워크의 특징 맵에 보존된 공간 정보를 활용하는 것이다. 일반적인 분류 아키텍처에서 마지막 합성곱 계층은 각각 서로 다른 시각적 패턴을 포착하는 일련의 특징 맵을 생성한다. 특정 클래스에 대한 중요도에 따라 이러한 특징 맵에 가중치를 부여하고 합산하면, 모델이 결정을 내리기 위해 "보는" 위치를 나타내는 단일 공간 맵을 얻을 수 있다. 이 맵은 일반적으로 입력 이미지 크기로 업샘플링되어 히트맵으로 오버레이된다.
역사적 배경과 동기
2010년대 딥러닝의 부상은 이미지 분류와 같은 작업에서 전례 없는 정확도를 가져왔지만, 동시에 "블랙박스" 문제를 도입했다. 모델이 특정 예측을 한 이유가 명확하지 않은 경우가 많았기 때문이다. 이러한 투명성 부족은 의료 영상 및 자율 주행과 같은 중요한 분야에서의 채택을 저해했다. CAM은 이러한 해석 가능성에 대한 필요성에 대응하여 개발되었으며, 합성곱 네트워크의 추론 과정을 시각화하는 간단하면서도 효과적인 방법을 제공했다.
CAM 이전에는 역합성곱 네트워크(deconvolutional networks) 및 가림 민감도(occlusion sensitivity)와 같은 시각화 기법이 존재했지만, 이들은 계산 비용이 높거나 덜 직관적인 결과를 제공했다. CAM은 네트워크가 최종 분류 계층 이전에 전역 평균 풀링 계층을 사용하는 한 추가 훈련이나 아키텍처 변경이 필요 없다는 점에서 차별화되었다. 이러한 제약은 원래 방법의 주요 한계였으며, 이후 변형 기법들이 등장하는 계기가 되었다.
기술적 메커니즘
원래 CAM 구현은 마지막 합성곱 계층 이후에 전역 평균 풀링(GAP) 계층을 사용하는 네트워크에 적용된다. 이러한 아키텍처에서 마지막 합성곱 계층의 특징 맵은 각 공간 차원에서 평균화되어 값의 벡터를 생성한다. 이 벡터는 소프트맥스 활성화가 있는 완전 연결 계층에 입력되어 클래스 점수를 생성한다.
주어진 클래스 c에 대해, k번째 특징 맵을 클래스 점수에 연결하는 가중치는 w_k^c로 표기된다. 클래스 c에 대한 클래스 활성화 맵은 특징 맵 A_k의 가중 합으로 계산되며, 양의 기여만 유지하기 위해 ReLU 활성화가 이어진다:
M_c = ReLU(Σ_k w_k^c * A_k)
이 합은 원본 이미지 크기로 업샘플링할 수 있는 2D 공간 맵을 생성한다. 결과 히트맵은 분류를 강하게 지지하는 영역을 강조하며, 더 밝은 영역은 더 높은 관련성을 나타낸다.
GAP의 사용은 네트워크가 단일 위치에 집중하기보다는 전역적으로 판별적인 특징 맵을 학습하도록 강제하기 때문에 중요하다. 이러한 특성은 가중 합이 위치 파악 도구로서 의미를 갖게 한다.
변형 및 확장
원래 CAM의 한계를 극복하기 위해 여러 확장 기법이 제안되었다. 주목할 만한 변형 중 하나는 2017년 Ramprasaath R. Selvaraju와 동료들이 소개한 Grad-CAM이다. Grad-CAM은 GAP 계층을 요구하지 않고 모든 합성곱 신경망에 CAM을 일반화한다. 이는 클래스 점수의 특징 맵에 대한 기울기의 전역 평균으로 가중치를 계산하여 보다 유연한 접근 방식을 제공한다.
또 다른 확장은 양의 편미분 값의 가중 조합을 사용하여 위치 파악 정확도를 개선하는 Grad-CAM++이다. Score-CAM 및 Ablation-CAM과 같은 다른 방법들은 대체 가중치 체계를 제공하며, 종종 더 시각적으로 뚜렷한 히트맵을 생성한다. 이러한 변형들은 모델 결정을 이해하는 것이 임상적 신뢰에 중요한 의료 영상 분석과 같은 분야에서 널리 채택되었다.
응용 및 영향
CAM과 그 파생 기법들은 많은 영역에서 응용되고 있다. 의료 영상에서 방사선 전문의가 폐렴이나 피부암과 같은 질병을 진단하는 모델이 인공물이 아닌 임상적으로 관련된 특징에 집중하고 있는지 확인하는 데 도움을 준다. 자율 주행에서는 엔지니어가 장면의 어떤 부분이 차량의 결정에 영향을 미치는지 보여줌으로써 인식 시스템을 디버깅하는 데 지원한다.
해석 가능성 외에도 CAM은 약한 지도 객체 위치 파악(weakly supervised object localization)에 사용되었다. 히트맵이 판별적인 영역을 강조하기 때문에, 이는 비용이 많이 드는 경계 상자 주석 없이 탐지 모델을 훈련하기 위한 의사 레이블 역할을 할 수 있다. 이러한 응용은 수동 라벨링이 비현실적인 대규모 데이터 세트에서 특히 가치가 있었다.
이 기법은 또한 자연어 처리와 같은 Machine learning의 다른 영역의 연구에 영향을 미쳤으며, 여기서 유사한 주의 기반 방법이 트랜스포머 모델을 설명하는 데 사용된다. 그러나 CAM은 여전히 합성곱 아키텍처와 가장 직접적으로 연관되어 있다.
한계 및 고려 사항
유용성에도 불구하고 CAM에는 알려진 한계가 있다. 히트맵은 거칠며 객체의 세밀한 경계를 포착하지 못할 수 있다. 또한 가장 판별적인 부분만 반영하므로, 모델이 우연한 상관 관계에 의존하는 경우 오해의 소지가 있을 수 있다. 예를 들어, 늑대와 허스키를 분류하도록 훈련된 모델은 동물 자체보다 배경의 눈에 집중할 수 있으며, CAM은 그 눈을 강조할 것이다.
또한 원래 CAM은 특정 네트워크 아키텍처를 요구하여 직접 적용 가능성이 제한된다. Grad-CAM과 같은 변형이 이 문제를 해결하지만, 기울기의 선형성과 같은 자체 가정을 도입하며 이는 항상 성립하지 않을 수 있다. 결과적으로 CAM은 모델 추론의 확정적 증거라기보다 탐색적 도구로 사용하는 것이 가장 좋다.
최근 몇 년 동안 설명 가능한 AI 분야는 SHAP 및 LIME과 같은 방법으로 확장되었지만, CAM은 단순성과 계산 효율성으로 인해 여전히 널리 선택되고 있다. 이는 해석 가능성 연구에서 표준 기준선으로 계속 사용되며 딥러닝 라이브러리와 프레임워크에 자주 포함된다.