AI 모델 개발: 딥러닝 해석 – Grad-CAM
ㅁ 딥러닝 해석
ㅇ 정의:
딥러닝 모델, 특히 CNN 기반 모델의 예측 결과에 대해 입력 이미지의 어떤 영역이 결정에 기여했는지를 시각적으로 설명하는 기법.
ㅇ 특징:
– CNN의 마지막 합성곱 계층의 feature map과 해당 클래스의 gradient를 활용하여 중요도를 계산.
– 원본 이미지 위에 heatmap 형태로 시각화.
– 모델 구조 변경 없이 적용 가능.
ㅇ 적합한 경우:
– 이미지 분류, 객체 탐지 등 시각적 데이터의 의사결정 근거를 설명할 때.
– 모델의 오판 원인 분석 및 데이터 품질 검증.
ㅇ 시험 함정:
– Grad-CAM은 fully connected layer의 gradient를 직접 시각화하는 것이 아님.
– 모든 딥러닝 모델에 적용 가능한 것은 아니며, 주로 CNN에 적합.
– CAM과 Grad-CAM을 혼동하기 쉬움(CAM은 학습 구조 변경 필요, Grad-CAM은 불필요).
ㅇ 시험 대비 “패턴 보기” 예시:
O: Grad-CAM은 CNN의 마지막 합성곱 계층의 feature map과 해당 클래스 gradient를 활용한다.
X: Grad-CAM은 fully connected layer의 가중치를 직접 시각화한다.
ㅁ 추가 학습 내용
Grad-CAM은 특정 클래스의 예측 점수에 대한 gradient를 이용해 CNN의 feature map에서 중요한 영역을 시각화하는 기법이다. 계산 과정은 다음과 같다. 먼저 대상 클래스의 score에 대한 각 채널별 feature map의 gradient를 구하고, 이를 spatial 차원에 대해 global average pooling하여 채널별 가중치(α_k)를 얻는다. 이후 원래의 feature map 각 채널에 해당 가중치를 곱하고, 채널 방향으로 합산한 뒤 ReLU를 적용하여 최종 heatmap을 생성한다.
Guided Grad-CAM은 Grad-CAM의 coarse한 localization 결과와 Guided Backpropagation의 fine-grained gradient 시각화를 element-wise 곱하여 더 정밀한 시각화를 제공한다. Grad-CAM은 비교적 넓고 거친 영역을 강조하는 반면, Guided Grad-CAM은 세부 구조까지 표현 가능하다.
Grad-CAM은 classification score에 대한 gradient를 사용하므로 multi-label 환경에서는 각 클래스별로 별도의 계산이 필요하다. Grad-CAM++는 여러 객체가 존재하는 이미지에서도 더 정확한 localization이 가능하도록 개선된 가중치 계산 방식을 적용한 변형 기법이다.