(Grad-CAM) Grad-CAM: Visual Explanations from Deep Networks via Gradient-based Localization, ICCV 2017

2025. 1. 14. 19:28·논문 리뷰
반응형

논문: Grad-CAM: Visual Explanations From Deep Networks via Gradient-Based Localization

code: ramprs/grad-cam: [ICCV 2017] Torch code for Grad-CAM

 

0. summary

- 이 연구는 기존 Class Activation Map(CAM)의 문제점들을 제시하며, 새로운 Grad-CAM과 Guided Grad-CAM을 제시합니다.

- Grad-CAM은 기존 CNN 네트워크의 구조 변형 없이도 적용 가능하며, 더 높은 localization 성능을 보입니다.


1. Introduction

본 논문의 주요 contribution은 다음과 같습니다:

  1. Grad-CAM이라는 localization 기법을 제안합니다. 이 기법은 기존의 CNN 기반 네트워크에서 별도의 구조 변경이나 재학습 없이 visual explanation을 제시할 수 있습니다.
  2. Grad-CAM을 classification, captioning, VQA에 적용하여 visualization을 통해 모델의 예측이 합리적임을 밝혀냈습니다. 특히, captioning, VQA의 경우 CNN+LSTM 모델이 이미지-텍스트 쌍에 대한 학습 없이도 클래스 구분이 가능한 이미지 영역을 잘 찾아내는 것을 발견합니다.
  3. Grad-CAM을 ResNet에 적용하여 classification과 VQA를 시각화 합니다. 이 과정에서 네트워크의 깊은 층에서는 특정 클래스를 잘 구분할 수 있었으나, 얕은 층으로 갈수록 클래스 구분 능력이 점차 감소하는 경향을 보였습니다. 이는 얕은 층에서 더 낮은 수준의 시각적 패턴만 포착되기 때문입니다.
  4. 기존의 Guided Backpropagation과 본 논문의 제안 기법인 Grad-CAM을 결합하여 Guided Grad-CAM을 제시합니다. 이는 고해상도(high-resolution) 이면서도 클래스 구분적(class-discriminative)인 시각화를 생성할 수 있음을 보입니다.

2. Related Work

Visualizing CNNs

기존 연구들에서는 예측 결과에서 중요한 픽셀을 강조하여 CNN의 예측을 시각화했습니다. (1) 예측 클래스 점수에 대한 픽셀 강도의 편미분을 시각화, (2) Guided Backpropagation, (3) Deconvolution 과 같은 방법으로 시각화의 질을 개선했습니다. 하지만, 이러한 방법들은 세부적인 시각화를 생성하지만 class-discriminative를 제공하지 못합니다. 즉, 서로 다른 클래스에 대한 시각화가 거의 동일하게 나타납니다.

 

Weakly supervised localization

본 논문의 접근 방식과 가장 관련 있는 것은 Class Activation Mapping(CAM) 입니다. CAM은 특징맵이 소프트맥스 계층과 연결되어야 합니다. 따라서, fc layer를 제거하고, Global Average Pooling(GAP)을 필수적으로 사용해야 합니다. 이러한 아키텍처의 변형은 일반 네트워크보다 낮은 정확도를 보일 수 있으며, captioning 또는 VQA에 적용할 수 없습니다.

 

본 논문에서는 아키텍처의 변형 없이 그래디언트 신호를 사용하여 특징 맵을 결합하는 새로운 방법을 제안합니다. 이로 인해 captioning 및 VQA와 같은 task에서 모든 CNN 기반 아키텍처를 사용할 수 있습니다. 


3. Method

Grad-CAM

출처: 김성범 인공지능 공학연구소 ❘ Class Activation Map (CAM), GradCAM

 

CAM에서는 CNN모델의 fc layer를 제거하고, GAP를 사용해야 한다는 점이 있었습니다. 그에 비해, Grad-CAM은 기존 CNN의 모델 구조의 변화가 필요하지 않습니다. 또한, 각 Feature map에 곱해줄 weight를 학습이 아닌 미분을 통해 구하기 때문에, CNN 모델의 re-training이 필요 없습니다.

 

출처: 김성범 인공지능 공학연구소 ❘ Class Activation Map (CAM), GradCAM

 

수식을 잘 설명할수 있는 PPT를 참고했습니다.

 

Grad-CAM 의 localization map을 $L^c_{Grad-CAM}$ 이라 정의합니다. 먼저, 각 클래스 $c$의 score $y^c$에 대해 컨볼루션 계층의 feature map $A^k$에 대한 그래디언트 $\frac{\partial y^c}{\partial A^k}$을 구합니다. 이를 통해 feature map크기의 각 원소가 $c$ 에 미치는 gradient를 구할 수 있습니다. 이 값을 GAP를 통해 $\alpha^c_k$로 변환합니다.

 

$$\alpha^c_k = \frac{1}{Z}\sum_i \sum_j \frac{\partial y_c}{\partial A^{ij}_k}$$

 

그 다음으로는, 각 $A^k$ (feature map)와 그에 상응하는 $\alpha ^c_k$ 의 weighted combination을 통해 $L^c_{Grad-CAM}$을 얻습니다.

 

$$L^c_{Grad-CAM} = RELU(\sum_k \alpha^c_kA_k)$$

 

출처: 김성범 인공지능 공학연구소 ❘ Class Activation Map (CAM), GradCAM

 

이 과정의 결과로, 마지막 컨볼루션 계층과 동일한 크기의 히트맵이 생성됩니다. 각 히트맵들을 더해 최종적으로 $L^c_{Grad-CAM}$ 을 시각화 할 수 있습니다.

 

Guided Grad-CAM

Guided Grad-CAM은 Guided Backpropagation을 통해 추출한 map과 Grad-CAM에서 추출한 map을 결합한 방법입니다.

 

STRIVING FOR SIMPLICITY: THE ALL CONVOLUTIONAL NET

 

이 그림은 Striving for simplicity: The all Convolutional Net 논문에서 제시한 Guided Backpropagation 방법입니다. 이는 positive value만을 이용하여 backpropagation 하는 방법입니다.

 

 

출처: https://joungheekim.github.io/2020/10/14/paper-review/

 

이렇게 추출한 Guided Backpropagation map과 Grad-CAM 간의 element-wise 곱을 통해 Guided Grad-CAM을 생성합니다.


4. Experiments

4.1 Weakly-supervised Localaization

 

이 섹션에서는 Classification context에서 Grad-CAM의 localization capability에 대해 평가합니다. Table 1을 참고하면, Grad-CAM 방법이 localization/classification 에서 좋은 성능을 보이는 것을 알 수 있습니다. CAM 방법이 top-5 loc error가 더 낮지만, 이는 re-training이 필요하고, classification error가 증가하는 반면, Grad-CAM은 classification 성능을 희생하지 않습니다.

 

4.2 Evaluating Class Discrrimination

 

이 섹션에서는 Grad-CAM이 class discrimination에 영향을 미치는지 측정하기 위해 각 카테고리에 대한 시각화를 실제 사람에게 보여주고, 그들에게 카테고리를 고르게 하는 방법(Fig.3 좌측)으로 평가한 결과를 말합니다.

 

결과적으로, Guided Grad-CAM을 본 참가자들은 61.23%의 정확도로 시각화된 카테고리를 올바르게 식별할 수 있었습니다. 이는 Guided Backpropagation (44.44%)에 비해 16.79% 향상된 결과입니다. 또한, Deconvolution의 경우 Grad-CAM을 통해 55.33%에서 61.23%로 정확도가 향상되었습니다.

 

4.3 Evaluating Trust

이 섹션에서는 예측에 대한 설명이 주어졌을 때, 어느 쪽이 더 신뢰할 수 있는지 평가합니다. 실험에는 Guided Backpropagation과 Guided Gad-CAM 시각화를 비교하기 위해 AlexNet과 VGG-16을 사용합니다.

 

실험은 Fig.3의 우측과 같이, 두 예측(두 모델이 동일한 예측을 내렸고, 해당 예측이 정답인 경우만)에 대한 AlexNet과 VGG16의 시각화가 주어졌을 때, 어느 모델이 더 신뢰할 수 있는지를 평가했습니다.

 

실험 결과 VGG-16이 더 높은 점수를 받았으며, 더 신뢰할 수 있는 모델이라고 합니다. 

 

4.4 Faithfulness vs Interpretability

해석 가능성(interpretability)와 신뢰도(faithful) 사이에는 트레이드오프가 존재합니다. 

 

이 실험에서 기대하는 바는, Grad-CAM을 통해 높은 해석 가능성을 갖고 있는 시각화 부분이 높은 신뢰도를 가져야 한다는 것 입니다. 실험은 입력 이미지의 패치를 가릴 때(occlusion) 점수가 어떻게 달라지는지를 측정합니다.

 

그 결과, CNN 점수에 변화를 일으키는 패치는 Grad-CAM과 Guided Grad-CAM이 높은 intensity를 할당하는 패치와 일치했다고 합니다.

 

4.5 Analyzing Failure Modes for VGG-16

이 섹션에서는 네트워크가 어떤 오류를 범하는지 확인하기 위해, 잘못 분류된 예제들에 대해 Guided Grad-CAM을 사용하여 올바른 클래스와 (잘못) 예측된 클래스 모두를 시각화합니다.

 

 

Fig 4에 나타난 바와 같이, 일부 오류는 ImageNet 분류 자체에 내재된 모호성 때문입니다. 또한, 겉보기에 비합리적인 예측이 실제로는 합리적인 설명을 가진 경우도확인할 수 있습니다.

 

4.6 Identifying bias in dataset

이 섹션에서는 학습 데이터의 편향(bias)를 식별하고 이를 줄이는 용도로 Grad-CAM을 사용합니다. 

 

먼저, ImageNet으로 사전 학습된 VGG-16 모델을 "의사"와 "간호사" 분류 작업에 대해 Fine-tuning합니다. 이 모델은 이미지 검색 엔진에서 관련 이미지 들에 대해서는 높은 정확도를 달성했으나, 실제 상황에서 일반화 능력이 떨어졌습니다.

 

이를 Grad-CAM을 사용하여 모델의 예측을 시각화한 결과, 모델이 "의사"와 "간호사"를 구분하기 위해 사람의 얼굴/헤어스타일을 보고 있었다는 사실을 발견합니다. 모델이 "여성 의사"를 "간호사"로, "남성 간호사"를 "의사"로 잘못 분류하고 있었습니다. 이러한 편향이 발생한 이유를 조사한 결과, 이미지 검색 엔진의 결과 자체가 성별 편향적이었음을 확인합니다. 검색엔진의 의사 이미지의 78%가 남성이었으며, 간호사 이미지의 93%가 여성이였습니다. 

 

시각화를 통해 얻은 직관을 바탕으로, 훈련 데이터셋에서 남성 간호사와 여성 의사 이미지를 추가하여 편향을 줄이며, 이는 더 나은 일반화를 달성했습니다.

 

4.7 Image Captioning

 

이 섹션에서는 Grad-CAM을 사용하여 이미지 캡셔닝 모델의 spatial support를 시각화합니다. 실험을 위해 VGG-16과 LSTM기반 Fine-tuned 모델을 사용합니다. 

 

주어진 캡션에 대해, CNN의 마지막 컨볼루션 계층의 유닛에 대한 로그 확률(log probability)의 그래디언트를 계산하고, 3절에서 설명한 대로 Grad-CAM 시각화를 생성합니다.

 

Fig 5 (a)의 왼쪽 예제에서, 생성된 캡션에 대한 Grad-CAM 맵은 연(kites)과 사람들(people)의 모든 위치를 정확하게 localize 합니다.

 

Fig 5 (a)의 오른쪽 예제에서, Grad-CAM이 캡션에서 언급된 피자와 남자를 강조합니다.

 

두번 째 실험은 DenseCap 모델을 사용해 바운딩 박스-캡션을 생성한 뒤, 이미지 캡셔닝 모델을 통해 이미지 내의 박스 안과 밖의 평균 활성화 비율을 계산하여 측정하였습니다.

(번역이 매끄럽지 않아, 원문을 첨부합니다. Using DenseCap, we generate 5 region-specific captions per image with associated ground truth bounding boxes. A whole-image captioning model (neuraltalk2) should localize a caption inside the box it was generated for, which is shown in Fig. 5b.)

 

높은 비율은 캡션이 생성된 영역에 더 강한 집중을 의미하며, 더 나은 성능을 얘기합니다. Grad-CAM은 3.27, Guided Grad-CAM은 6.38로 높은 수준의 localization 성능을 보였습니다.

 

이 결과는 Grad-CAM이 박스나 영역의 주석 없이도 DenseCap 모델이 설명한 이미지의 영역에 대응된다는 것을 보여줍니다.

 

4.8 Visual Question Answering

이 섹션에서는 Grad-CAM을 계산하여 VQA 에서 정답을 뒷바침하는 이미지 근거를 시각화합니다. 이미지를 모델링하기 위해 CNN을, 질문을 모델링하기 위해 RNN 기반 언어 모델을 사용합니다.

 

 

 

Fig 6에 설명된 바와 같이, VQA는 시각적 요소와 언어적 요소가 모두 포함된 복잡한 작업임에도 불구하고, VQA 모델의 설명이 직관적이고 유용함을 보입니다.


5. Conclusion

이 연구에서는 class-discriminative localization 기법인 Grad-CAM을 제안합니다. Grad-CAM은 모든 CNN 기반 모델의 결과를 설명하기 위한 visual explanation을 생성합니다. 또한, Grad-CAM localization을 기존의 고해상도 시각화 기법과 결합하여, 고해상도 이면서 클래스 구분적인 Guided Grad-CAM 시각화 기법을 제안합니다.

 

이러한 방법을 통해 다음과 같은 내용들을 확인합니다.

  1. 시각화를 통해 클래스를 더 정확하게 구분할 수 있습니다.
  2. 분류기의 신뢰도를 더 잘 드러냅니다.
  3. 데이터셋의 편향을 식별하는 데 도움을 줍니다.
  4. classification, captioning, VQA와 같은 다양한 작업에 대해, 기존 모델의 결정에 대한 충실한 시각적 설명을 제공할 수 있음을 보여줍니다.
반응형

'논문 리뷰' 카테고리의 다른 글

(AdaIN) Arbitrary Style Transfer in Real-Time With Adaptive Instance Normalization, ICCV 2017  (2) 2025.01.21
(CycleGAN) Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks, ICCV 2017  (0) 2025.01.21
(GAN) Generative Adversarial Nets, NeurIPS 2014  (0) 2025.01.20
(CAM) Learning Deep Features Discriminative Localization, CVPR 2016  (0) 2025.01.13
'논문 리뷰' 카테고리의 다른 글
  • (AdaIN) Arbitrary Style Transfer in Real-Time With Adaptive Instance Normalization, ICCV 2017
  • (CycleGAN) Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks, ICCV 2017
  • (GAN) Generative Adversarial Nets, NeurIPS 2014
  • (CAM) Learning Deep Features Discriminative Localization, CVPR 2016
hangyuwon
hangyuwon
  • hangyuwon
    191
    hangyuwon
  • 전체
    오늘
    어제
  • 글쓰기 관리
    • 분류 전체보기 (38)
      • 기타 (1)
      • Stanford CS231n (19)
      • 논문 리뷰 (5)
      • Error (4)
      • 알고리즘 (2)
      • Linux (1)
      • 잡동사니 (2)
      • 딥러닝 (4)
  • 인기 글

  • 태그

    논문 리뷰
    error
    알고리즘
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
hangyuwon
(Grad-CAM) Grad-CAM: Visual Explanations from Deep Networks via Gradient-based Localization, ICCV 2017
상단으로

티스토리툴바