Grad-CAM: Visual Explanations from Deep Networks via Gradient-based Localization

Inc Lomin's avatar
Oct 29, 2021
Grad-CAM: Visual Explanations from Deep Networks via Gradient-based Localization
 
 

Introduction

 
Deep neural networks 은 우수한 성능을 제공하지만 직관적이고 이해하기 쉬운 구성 요소로 분해 할 수 없기 때문에 해석하기 어렵습니다. 결과적으로 오늘날의 지능형 시스템이 실패하면 경고나 설명없이 엄청나게 불명예스럽게 실패하여 사용자가 일관성없는 출력을 쳐다보고 이유를 궁금해하게됩니다. 지능형 시스템에 대한 신뢰를 구축하고 일상 생활에 의미있는 통합으로 나아 가기 위해서는 그들이 예측하는 이유를 설명하는 '투명한'모델을 구축해야합니다.
fully-connected layers를 포함하지 않는 제한된 CNN에 의해 사용되는 discriminative regions을 식별하기위한 CAM (Class Activation Mapping)이라는 기술이 제안되었습니다. 본질적으로 이 작업은 모델 작업에 대한 투명성을 높이기 위해 모델 복잡성과 성능을 절충합니다. 대조적으로, 본 논문에서는 아키텍처를 변경하지 않고 기존의 최첨단 심층 모델을 해석 가능하게 만들어 해석 가능성과 정확도의 trade-off을 피합니다. 또한 훨씬 더 광범위한 CNN 모델 제품군에 적용 할 수 있습니다.
 
What makes a good visual explanation?
(a) class discriminative (i.e. localize the category in the image)
(b) high-resolution (i.e. capture fine-grained detail).
 
notion image
 
 
본 논문의 contributions는 다음과 같습니다 :
(1) architectural changes 및 re-training없이 CNN 기반 네트워크에서 시각적 설명을 생성 할 수있는 class-discriminative localization 기술인 Grad-CAM을 제안합니다. Grad-CAM은 localization 및 모델에 대한 faithfulness 를 평가하여 baselines보다 성능이 뛰어납니다.
(2) Grad-CAM을 기존 top-performing classification, captioning 및 VQA 모델에 적용합니다. 이미지 분류의 경우 시각화를 통해 데이터 세트 편향을 식별하고 현재 CNN의 실패에 대한 통찰력을 제공합니다. 이는 겉보기에 불합리 해 보이는 예측에 합리적인 설명이 있음을 보여줍니다. 캡션 및 VQA의 경우, 우리의 시각화는 일반적인 CNN + LSTM 모델이 grounded image-text pairs에 대해 훈련되지 않았음에도 불구하고 localizing discriminative image regions에 능숙하다는 다소 놀라운 통찰력을 보입니다.
(3) 이미지 분류 및 VQA에 적용된 ResNets를 시각화합니다. 딥 레이어에서 얕은 레이어로 이동하면 출력 차원이 다른 레이어를 만날 때 Grad-CAM의 식별 능력이 크게 감소합니다.
(4) 우리는 Guided Grad-CAM 설명이 class-discriminative이며 인간이 신뢰를 구축하는 데 도움이 될뿐만 아니라 훈련되지 않은 사용자가 '약한' 네트워크에서 '더 강한' 네트워크를 성공적으로 식별하도록 돕는 human studies를 수행합니다.
 

Approach

 
이전의 많은 연구에서는 CNN에서 더 깊은 표현이 더 높은 수준의 시각적 구성을 포착한다고 주장했습니다. 또한 컨볼 루션 기능은 fully-connected layers에서 손실되는 공간 정보를 자연스럽게 유지하므로 마지막 컨볼 루션 레이어가 고수준 의미 체계와 세부 공간 정보 사이에서 최상의 절충안을 가질 것으로 기대할 수 있습니다. 이 계층의 뉴런은 이미지에서 의미론적 클래스 별 정보(예 : 객체 부분)를 찾습니다. Grad-CAM은 CNN의 마지막 컨볼루션 레이어로 흐르는 gradient information를 사용하여 관심있는 결정을 위한 각 뉴런의 중요성을 이해합니다.
 
 
notion image
 
그림2에서와 같이, 모든 class c에 대한 class-discriminative localization map Grad-CAM을 구하기 위해 먼저 convolutional layer의 k번째 feature map(A^k)에 관한 class c의 score(softmax 이전)의 gradient를 계산합니다. 그리고 이러한 gradients는 importance weights를 계산하기 위해 global-average-pooling 계산됩니다. 이 가중치는 feature map에서 deep networks의 부분 선형화를 나타내며 대상 클래스 c에 대한 feature map 중요성을 포착합니다.
 
notion image
 
그 이후, forward activation maps,의 가중치 조합을 수행하고 ReLU에 따라 다음을 얻습니다.
notion image
 
이로 인해 convolutional feature maps과 동일한 크기의 거친 히트 맵이 생성됩니다 (VGG 및 AlexNet 네트워크의 마지막 컨벌루션 레이어의 경우 14 × 14). 관심 클래스에 긍정적인 영향을 미치는 기능, 즉 yc를 높이기 위해 강도를 높여야하는 픽셀에만 관심이 있기 때문에 맵의 선형 조합에 ReLU를 적용합니다. 네거티브 픽셀은 이미지의 다른 카테고리에 속할 가능성이 높습니다. ReLU가 없으면 localization map이 원하는 클래스 이상을 강조 표시하고 지역화 성능을 낮추는 경우가 있습니다.
 

Grad-CAM as a generalization to CAM

 
 
notion image
 

Guided Grad-CAM

 
Grad-CAM 시각화는 클래스 차별적이며 관련 이미지 영역을 잘 지역화하지만 pixel-space gradient visualization 방법 (Guided Backpropagation 및 Deconvolution)과 같이 세분화 된 중요성을 보여주는 기능이 부족합니다. 이 두 가지의 장점을 결합하기 위해 pointwise multiplication을 통해 Guided Backpropagation와 Grad-CAM 시각화를 융합합니다 (LcGrad-CAM은 먼저 bi-linear interpolation을 사용하여 입력 이미지 해상도로 업 샘플링됩니다).
 

Counterfactual Explanations

 
notion image
 
notion image

Evaluating Localization

 

Weakly supervised Localization

 
이미지 분류의 맥락에서 Grad-CAM의 지역화 기능을 평가합니다. ImageNet localization challenge는 분류 레이블 외에도 경계 상자를 제공하기 위해 경쟁적인 접근 방식을 요구합니다. 분류와 유사하게 상위 1개 및 상위 5 개 예측 범주 모두에 대해 평가가 수행됩니다. 이미지가 주어지면 먼저 네트워크에서 클래스 예측을 얻은 다음 각 예측된 클래스에 대한 Grad-CAM 맵을 생성하고 최대 강도의 15 % threshold으로 binarize합니다. 그 결과 픽셀에 연결된 세그먼트가 생성되고 가장 큰 단일 세그먼트 주위에 bounding box를 그립니다.
ILSVRC-15 평가 후 표에 설정된 값에 대해 top-1 및 top-5 localize 오류를 모두 기록합니다. 1. Grad-CAM localization error는 VGG-16 모델의 경우 그랩 컷을 사용하여 이미지 공간 그라데이션을 히트 맵으로 후 처리하는 방법보다 훨씬 낮습니다. Grad-CAM은 또한 모델 아키텍처의 변경이 필요한 CAM보다 더 나은 top-1 지역화 오류를 달성하고 re-train이 필요하므로 더 나쁜 cls error (top-1에서 2.98 % 증가)를 달성하는 반면 Grad-CAM 분류 성능은 감소하지 않습니다.
 
notion image
 

Evaluating Visualizations

 
notion image
 

Diagnosing image classification CNNs

 

Analyzing Failure Modes for VGG16

 
Guided Grad-CAM을 사용하여 ImageNet 분류에서 VGG-16 CNN의 failure modes를 분석합니다 [9]. 네트워크가 어떤 실수를 저지르고 있는지 확인하기 위해 먼저 네트워크 (VGG-16)가 올바르게 분류하지 못한 misclassified examples을 얻습니다. 잘못 분류된 예의 경우 Guided Grad-CAM을 사용하여 올바른 클래스와 예측 클래스를 모두 시각화합니다. 이 분석을 허용하는 다른 방법에 비해 Guided Grad-CAM 시각화의 주요 장점은 고해상도와 고도로 클래스 차별성을 가질 수 있다는 것입니다. 그림 4에서 볼 수 있듯이 일부 실패는 ImageNet 분류에 내재 된 모호성 때문입니다. 또한 겉보기에 불합리 해 보이는 예측이 합리적인 설명을 가지고 있음을 볼 수 있습니다.
 
notion image
 

Identifying bias in dataset

 
이 섹션에서는 Grad-CAM의 또 다른 사용, 즉 학습 데이터 세트의 편향을 식별하여 줄이는 방법을 보여줍니다. 편향된 데이터 세트로 훈련 된 모델은 실제 시나리오로 일반화되지 않거나 더 나쁜 경우 편견과 고정 관념 (성별, 인종, 연령 등)을 영속화 할 수 있습니다. "의사"와 "간호사"를 분류하는 작업을 위해 ImageNet에서 훈련 된 VGG-16 모델을 미세 조정합니다. 인기있는 이미지 검색 엔진의 상위 250 개 관련 이미지 (각 클래스에 대해)를 사용하여 학습 데이터 세트를 구축했습니다. 훈련 된 모델은 우수한 validation 정확도를 달성했지만 generalize되지 않았습니다 (82 %).
모델 예측에 대한 Grad-CAM 시각화는 모델이 간호사와 의사를 구별하기 위해 사람의 얼굴 / 헤어 스타일을 보는 법을 배웠고 따라서 성별 고정 관념을 학습 한 것으로 나타났습니다. 실제로이 모델은 여러 여성 의사를 간호사로, 남자 간호사를 의사로 잘못 분류했습니다. 분명히 이것은 문제가 있습니다. 이미지 검색 결과는 성별이 편향된 것으로 나타났습니다 (의사 이미지의 78 %가 남성, 간호사 이미지가 93 %가 여성).
시각화를 통해 얻은 이러한 직관을 통해 이전과 동일한 수의 클래스 당 이미지를 유지하면서 남성 간호사와 여성 의사를 훈련 세트에 추가하여 훈련 세트의 편향을 줄였습니다. 재 학습 된 모델은 이제보다 균형 잡힌 테스트 세트 (90 %)로 더 잘 일반화됩니다. 이 실험은 Grad-CAM이 데이터 세트에서 편향을 감지하고 제거하는 데 도움이 될 수 있음을 보여줍니다.
 
notion image
 

Image Captioning and VQA

 
마지막으로 Grad-CAM 기술을 이미지 캡션 및 VQA (시각적 질문 응답) 작업에 적용합니다. Grad-CAM은 다른 예측에서 눈에 띄게 변경되지 않는 baseline visualizations와 비교하여 이러한 작업에 대해 해석 가능한 시각적 설명을 제공한다는 것을 발견했습니다. 기존 시각화 기술은 class-discriminative이지 않거나 (Guided Backpropagation, Deconvolution) 이러한 작업이나 아키텍처에 사용될 수 없습니다.
 

Image Captioning & Comparison to dense captioning

 
notion image
 

Visual Question Answering

 
 
notion image
 

Conclusion

 
모델의 구조를 변경하지 않고 visualization이 가능하다는것에 활용성 측면에서 큰 의미를 가지는 것 같습니다.
현재 당면한 deauville score classification 과제에서 성능이 제대로 나오지 않는 issue가 있는데, 이를 시각화함으로써 성능 개선 방안에 대해 모색하는 것이 좋을 것 같습니다.
 
Share article