Gradient-weighted Class Activation Mapping, 일반적으로 Grad-CAM으로 알려진, Deep learning에서 합성곱 신경망(CNN)의 예측에 대한 시각적 설명을 생성하는 기법입니다. 이 기법은 모델의 결정에 가장 큰 영향을 미치는 입력 이미지의 영역을 강조하는 대략적인 위치 파악 맵을 생성합니다. Grad-CAM은 마지막 합성곱 계층으로 흐르는 대상 클래스의 기울기를 활용하여 각 특징 맵에 중요도 가중치를 할당하며, 그 결과 원본 이미지 위에 겹쳐 표시할 수 있는 히트맵이 생성됩니다. 이 방법은 2017년 Ramprasaath R. Selvaraju, Michael Cogswell, Abhishek Das, Ramakrishna Vedantam, Devi Parikh, Dhruv Batra에 의해 소개되었으며, Machine learning 및 Artificial intelligence 응용 분야에서 모델 해석 가능성을 위한 표준 도구가 되었습니다.
핵심 아이디어는 이전의 클래스 활성화 매핑(CAM) 접근법을 기반으로 하지만, 전역 평균 풀링 계층이 없는 아키텍처로 일반화합니다. Grad-CAM은 아키텍처 변경이나 재학습이 필요하지 않아 다양한 CNN 모델에 적용할 수 있습니다. 이 기법은 모델 동작 디버깅, 모델이 의미적으로 관련된 특징에 집중하는지 검증, 의료 영상 및 자율 주행과 같은 분야에서 AI 시스템에 대한 신뢰 구축에 널리 채택되었습니다.
배경 및 동기
심층 신경망이 복잡해짐에 따라 의사 결정 과정이 점점 더 불투명해졌습니다. 살리언시 맵(saliency maps) 및 폐색 민감도(occlusion sensitivity)와 같은 초기 해석 가능성 방법은 픽셀 수준의 기울기를 제공했지만 종종 노이즈가 많거나 덜 해석 가능한 시각화를 생성했습니다. 2016년 Zhou 등이 소개한 CAM은 전역 평균 풀링 계층과 완전 연결 계층을 사용하여 클래스별 히트맵을 생성하는 방법을 제공했습니다. 그러나 CAM은 네트워크 아키텍처를 수정해야 했기 때문에 적용 범위가 제한되었습니다.
Grad-CAM은 이러한 한계를 극복하기 위해 개발되었습니다. 이 기법은 공간 정보를 유지하는 마지막 합성곱 특징 맵에 대한 기울기 정보를 사용하여 중요도 가중치를 계산합니다. 이 접근법은 아키텍처 변경 없이 모든 CNN에서 작동하므로 유연하고 널리 사용되는 설명 도구입니다.
Grad-CAM 작동 방식
Grad-CAM은 학습된 CNN에서 작동합니다. 주어진 입력 이미지와 대상 클래스에 대해, 이 방법은 소프트맥스 이전의 클래스 점수에 대한 마지막 합성곱 계층의 특징 맵의 기울기를 계산합니다. 이러한 기울기는 전역 평균 풀링되어 각 특징 맵에 대한 중요도 가중치를 얻습니다. 그런 다음 가중치는 특징 맵의 가중 합을 계산하는 데 사용되며, ReLU 활성화를 통해 양의 기여만 유지합니다. 결과 맵은 입력 이미지 크기로 업샘플링되어 히트맵으로 겹쳐 표시됩니다.
수학적으로, 특징 맵 A^k와 클래스 c에 대해, 가중치 alpha_k^c는 y^c의 A^k에 대한 기울기의 전역 평균입니다. Grad-CAM 맵 L^c는 ReLU(sum_k alpha_k^c A^k)입니다. ReLU는 클래스에 양의 영향을 미치는 특징만 강조되도록 보장하며, 이는 판별적 시각화를 생성하는 데 중요합니다.
응용 및 사용 사례
Grad-CAM은 다양한 분야에서 응용되고 있습니다. 의료 영상에서는 방사선 전문의가 X-ray나 MRI 스캔에서 종양을 식별하는 등 모델이 진단을 내리는 이유를 이해하는 데 도움을 줍니다. 자율 주행에서는 차량의 인식 시스템이 관련 없는 배경보다 보행자와 도로 표지판에 집중하는지 검증할 수 있습니다. 컴퓨터 비전 연구에서는 모델이 이미지의 워터마크나 텍스트와 같은 맥락적 단서에 잘못 의존하는 경우와 같은 모델 편향을 분석하는 데 사용됩니다.
이 기법은 이미지 캡셔닝 및 시각적 질문 응답과 같은 다른 작업으로도 확장되었으며, 생성된 캡션이나 답변에 기여한 영역을 강조할 수 있습니다. 또한 Grad-CAM++ 및 Score-CAM과 같은 변형이 제안되어 위치 파악 품질을 개선하고 원래 방법의 한계를 해결합니다.
한계 및 비판
널리 사용됨에도 불구하고 Grad-CAM에는 알려진 한계가 있습니다. 히트맵은 대략적이며 세부적인 정보를 포착하지 못할 수 있습니다. 이 방법은 대상 계층 선택에 민감하며, 이른 계층을 사용하면 더 상세하지만 노이즈가 많은 맵이 생성되고, 늦은 계층을 사용하면 더 매끄럽지만 덜 정밀한 위치 파악이 생성됩니다. 또한 Grad-CAM은 모델이 비선형 상호 작용을 사용하거나 기울기가 포화될 때 오해의 소지가 있는 설명을 생성할 수 있습니다. 일부 연구는 Grad-CAM 맵이 적대적 섭동에 의해 조작될 수 있음을 보여주며, 안전이 중요한 응용 분야에서 신뢰성에 대한 우려를 제기합니다.
연구자들은 또한 Grad-CAM이 인과적 설명을 제공하지 않는다는 점을 지적합니다. 이는 인과 관계가 아닌 상관 관계를 강조합니다. 따라서 고위험 결정을 내릴 때 주의해서 사용해야 합니다.
변형 및 개선
Grad-CAM의 단점을 해결하기 위해 여러 변형이 개발되었습니다. Grad-CAM++는 고차 기울기를 사용하여 동일한 클래스의 여러 발생을 더 잘 위치 파악합니다. Score-CAM은 기울기를 채널별 신뢰도 증가로 대체하여 더 안정적일 수 있습니다. Layer-CAM 및 XGrad-CAM은 설명 품질을 개선하는 다른 예입니다. 이러한 방법은 다양한 데이터 세트에서 벤치마킹되었으며, 단일 방법이 보편적으로 우수하지는 않지만 사용 사례에 따라 대안을 제공합니다.
다른 해석 가능성 방법과의 관계
Grad-CAM은 사후 해석 가능성 기법의 더 넓은 계열에 속합니다. Transformer (architecture) 모델에서 사용되는 주의 기반 방법과 달리 주의 가중치를 제공하는 Grad-CAM은 기울기와 특징 맵에 의존합니다. 이는 입력을 변경하여 예측을 설명하는 LIME 및 SHAP와 같은 섭동 기반 방법과 보완적입니다. 실제로 실무자는 모델 동작에 대한 더 포괄적인 이해를 얻기 위해 Grad-CAM을 다른 방법과 결합하는 경우가 많습니다.
구현 및 도구
Grad-CAM은 PyTorch 및 TensorFlow와 같은 인기 있는 딥러닝 라이브러리에서 구현됩니다. pytorch-grad-cam 라이브러리를 포함한 여러 오픈 소스 패키지는 바로 사용할 수 있는 구현을 제공합니다. 이러한 도구를 통해 연구자와 엔지니어는 몇 줄의 코드로 설명을 생성할 수 있어 광범위한 사용자에게 접근 가능한 기법이 되었습니다.
영향 및 향후 방향
Grad-CAM은 설명 가능한 AI 분야에 상당한 영향을 미쳤습니다. 수천 번 인용되었으며 새로운 해석 가능성 방법을 평가하는 표준 기준이 되었습니다. 단순성과 효과성 덕분에 Machine learning 과정의 교육 도구이자 산업계의 실용 도구가 되었습니다. 향후 연구는 더 충실하고 견고한 설명 방법을 계속 탐구하고 있지만, Grad-CAM은 투명한 AI 시스템을 추구하는 데 있어 여전히 기초적인 기법으로 남아 있습니다.