XAI

Grad-CAM: Visual Explanations from Deep Networksvia Gradient-based Localization

loosiu 2024. 1. 3. 16:37

Abstract

cnn 기반 model의 많은 class로부터 판단에 대한 visual explanation을 만드는 기술을 제안한다.

 

Gradient weighted Class Activation Mapping(Grad-CAM)같은 방법은 coarse localization map을 만들기 위해 마지막 convolutional layer에 넣는 target conceptgradient를 사용한다.

 

  • Grad CAM이 적용가능한 큰 다양한 cnn model 구조 3가지

1. fc layer를 가진 cnn(vgg)

2. 구조화된 output(captioning)에 사용된 CNN

3. multi model input(VQA)이나 reinforcement learning, 구조 변화나 재학습없는 모든 것을 가지고 task에 사용된 CNN

 

우리는 Guided grad-cam같은 고해상도 class discriminative visualization을 만들기 위해 기존의 fine grained visualizationgrad cam을 결합하고 resnet에 기반된 구조를 포함하는 image classification, image captioning, visual question answering(VQA) modelguided grad cam을 적용한다.

 

image classification modelcontext에서 우리의 visualization은 이 model의 실패 방식insight를 주고 ILSVRC 15 weakly supervised localization task에서 이전의 방법을 능가하고 적대적인 작은 변화에 강인하고 근본 model을 더 많이 충실하고 dataset bias를 확인함으로써 model generalization이 되도록 돕는다.

 

image captionVQA에 대한 우리의 visualizationnon attention에 기반된 modelinput imagediscrinative region을 학습한다.

 

우리는 grad cam을 통해서 중요한 neuron을 확인하기 위해 방법을 고안하고 모델 결정에 대한 text 설명을 제공하기 위해뉴런 이름과 결합한다.

우리는 Grad-CAM 설명이 사용자가 deep network으로부터 예측에 대한 적절한 신뢰를 구축하는 데 도움을 준다면 측정하기 위해 인간 연구를 고안하고 수행한다.

Grad-CAM은 훈련되지 않은 사용자가 동일한 예측을 둘 다 하는 경우에도 'weaker' deep network로부터  'stronger' deep network성공적으로 식별하도록 돕는다.

 

 

 

Introduction

CAM은 model의 작업에 투명성을 높이기 위해 model 복잡성과 성능을 trade off한다.

대조적으로, 우리는 구조를 바꾸는 것 없이 해석가능한 sota deep model를 존재하게 만든다.

따라서 해석가능성과 정확도의 trade off를 피한다.

 

우리의 방법은 CAM의 일반화이고, 상당히 더 넓은 범위의 cnn model family에 적용할 수 있다.

 

  • Grad CAM에 적용 가능한 3가지 cnn model

1) fc layer를 가진 cnn(vgg)

2) 구조화된 output에 대해 사용된 CNN(captioning)

3) 요구된 구조 변화나 재학습없이 multi model input이나 reinforcement learning와 같이 task에 사용된 CNN

 

- what makes a good visual explanation?

 

target category를 판단하는 것에 대한 model로부터 좋은 visual explanationclass discriminative와 고해상도이다.

 

Guided back propagationdeconvolution처럼 pixel space gradient visualization은 고해상도이고 image에서 fine grain된 세부 사항을 강조하지만 class discriminative는 아니다.

 

대조적으로, CAM이나 Grad CAM같은 localization 방법은 매우 class discriminative하.

 

일석이조가 되도록 하기 위해, 우리는 고해상도와 class discriminative 둘 다 있는 guided grad cam visualization생성하는 Grad CAM과 같이 기존 pixel space gradient visualization을 융합하는 것이 가능하다는 것을 보여준다.

결과적으로, interest의 결정에 해당하는 image의 중요한 region은 만약에 image가 많은 가능한 concept에 대한 증거를 포함하더라도 고해상도 세부 사항에 시각화된다.

 

  • 우리의 기여 요약

1) 구조 변화와 재학습 없이 cnn 기반 network에 대한 visual explanation을 생성하는 class discriminative localization 기술인 grad cam을 소개.

baseline을 능가하는 model에 충실함과 localization에 대해 grad cam을 평가.

 

2) 존재하는 최고의 성능을 보이는 classification, captioningVQA modelgrad cam을 적용.

image classification에 대한 visualization은 비합리적으로 보이는 예측이 합리적인 설명으로 보이는 현재 cnn의 실패에 insight를 제공.

captioningVQA에 대한, visualizationgrounded image text pair에서 학습되지 않았음에도 불구하고 일반적인 CNN+LSTM model은 discriminative image regionlocalize하는 것을 잘한다

 

3) 해석가능한 Grad cam visualizationdataset에서 다룰 수 없는 bias들에 의해 실패 model을 진단하는 것을 어떻게 돕는지에 대한 concept 증명을 보여준다.

일반화뿐만아니라 사회의 알고리즘에 의해 점점 더 많은 결정이 내려짐에 따라 공정하고 편견 없는 결과를 위해서도 중요합니다.

 

4) image classificationVQA를 적용하는 resnet에 대한 GradCAM visualization을 제시.

 

5) grad cam으로부터 neuron 중요성과 neuron이름을 사용하고 model 결정에 대해 text 설명을 얻는다.

 

6) guided grad cam explanation이 class discriminative이고 인간이 신뢰를 구축하는데 도움을 줄 뿐만 아니라 학습받지 않은 사용자가 둘 다 동일한 예측을 할 때 weaker network로부터 stronger network를 성공적으로 식별하는 데 도움을 주는 것을 보여주는 인간 연구를 수행합니다.

 

 

 

Grad-CAM

Grad CAM은 interest의 특정한 결정에 대한 각 neuron에서 importance value를 할당하기 위해 cnn의 마지막 convolutional layer으로 전달되는 gradient 정보를 사용한다.

 

'

 

class c에 대한 width u와 height v의 class discriminative localization map Grad CAM $L^c_{Grad-CAM}$ ∈ $R^{u×v}$을 얻기 위해서 우리는 convolutional layer의 feature map activation $A^k$($\frac{dy^c}{dA^k}$)에 대해서 $y^c$와 class c에 대한 score의 기울기를 먼저 계산한다.
backward gradient는 neuron importance weights $a^c_k$를 얻기위해 width와 height 차원을 넘어 global average pool되어진다.

 

activation에 관해서 gradient를 backpropagate하는 동안에 $a^c_k$의 계산 동안에

정확한 계산은 gradient가 전파되는 마지막 convolutional layer까지 activation function에 관한 weight matrices와 graident의 연속적인 matrix 곱에 해당한다.

그러므로, 이 weight $a^c_k$는 A로부터 deep network downstream의 부분적인 linearization을 제시하고, target class c에 대한 feature map k의 중요성을 수집한다.

 

우리는 forward activation map의 가중치된 결합을 수행하고 (2)를 얻기위해, relu를 쓴다.

우리는 map의 선형 결합에 relu를 적용한다. 

왜냐하면 우리는 interest의 class에 positive 영향을 가지는 feature에서 interest되기 때문이다.

즉, 강도의 pixel은 $y^c$를 증가하기 위해 증가되어져야한다.

negatvie pixel은 image에서 다른 category에 속할 것 같다.

relu없는 localization map은 원하는 class보다 더 강조되고 localization에서 더 나빠진다.

$y^c$는 image classification CNN에 의해 만들어진 class score일 필요없다.

caption이나 질문에 답을 할 때 포함하는 단어를 미분가능한 activation을 될 수 있다.

 

 

* Grad_CAM generalizes CAM

CAM은 global average pool된 convolutional feature map이 softmax로 들어가는 구체적인 구조의 종류와 함께 image classification CNN에 대한 localization map을 줄인다.

 

구체적으로, 끝에서 두번째에 있는 layer는 i,j로 index된 각 element와 함께 K개의 feature map을 생성한다.

그래서 $A^k_{ij}$는 feature map A^k의 위치 (i,j)에서 activation을 적용한다.

이 feature map은 GAP를 사용해서 공간적으로 pool됐고, 각 class c에 대해 점수 $Y^c$를 줄이기 위해 선형적으로 변형됐다.

 

 

global average pooled output이 되는 $F^k$ 정의

 

 

CAM은 최종 점수를 계산한다.

여기서 $w^c_k$는 c번째 class와 k번째 feature map을 연결하는 weight이다.

우리가 얻은 feature map $F^k$에 대해서 class c($Y^c$)에 대한 점수의 gradient를 취한다.

 

 

$A^k_{ij}$에 대해서 (4)를 편미분을 취할 때, $\frac{dF^k}{dA^k_{ij}} = \frac{1}{Z}$가 나온다. 

 

(6)에서 $\frac{dF^k}{dA^k_{ij}} = \frac{1}{Z}$을 대입

 

(5)로부터 $\frac{dY^c}{dF^k} = W^c_k$를 얻는다.

 

모든 pixel (i,j)에 대해 (8)의 양변을 합한다.

 

Z와 $W^c_k$는 (i,j)에 의존하지 않으므로 다시 정의

 

Z: feature map에서 pixel의 수($\sum_{i}\sum_{j}$)

 

 

시각화하는 동안 정규화되는 비례상수까지 $W^c_k$에 대한 식이 Grad CAM에 의해 사용된 $a^c_k$와 동일하다.

그러므로 Grad CAM은 CAM의 엄격한 일반화이다. 

이 일반화는 image captioning과 VQA와 같은 훨씬 더 많은 복잡한 상호작용을 가진 convolutional layer를 cascade하는 CNN기반된 model로부터 visual 설명을 만들기 위해 허용한다.

 

 

* Guided Grad-CAM

Grad-CAM은 class discriminative하고 관련된 image region에 localize하는 동안 pixel space gradient visualization 방법과 같은 fine grain된 세부사항을 강조하는 능력이 부족하다.

Guided backpropagation은 Relu layer를 통해 backpropagate할 때, negative gradient는 억제되는  image에 대해 gradient를 시각화한다.

직관적으로, neuron을 억제하는 pixel이 아닌 neuron이 감지한 pixel을 캡처하는 것을 목표로 합니다.

 

왜 network가 특정한 instance를 예측하는지 coarse heatmap으로부터 분명하지 않다.

둘 다 최고의 측면을 결합하기 위해, 우리는 원소별로 곱해서 Guided backpropagation과 Grad-CAM을 융합한다.

이 시각화는 고해상도와 class discriminative 둘 다 한다.

deconvolution을 가진 Guided backpropagation을 대체함으로써 비슷한 결과를 주지만 우리는 인공적인 deconvolution visualization과 덜 noisy한 Guided backpropagation을 찾는다.

 

 

* Counterfactual Explanations

Grad CAM에서 약간의 수정을 할 때, 우리는 network가 예측을 변경하게 만드는 region에 대한 지원을 강조하는 설명을 얻을 수 있다.

결과적으로, region에서 발생하는 concept를 제거하는 것은 예측에 대한 더 확신있는 model을 만든다.

 

우리는 convolutional layer의 feature map A에 대한 $y^c$의 기울기를 무효화한다.

 

 

 

우리는 weight $a^c_k$로 forward activation map A의 가중치된 합을 가지고, 반사실적 설명을 얻기 위해서 Relu를 쓴다.

 

 

 

 

 

Conclusion

이 work에서, 우리는 새로운 class discriminatvie localization 기술(Grad CAM)을 제안한다.

우리는 고해상도와 class discriminative Guided Grad CAM visualization를 일석이조로 얻기 위해 존재하는 high resolution visualization 기술와 Grad CAM을 결합했다.

우리의  visualization은 원래 model에 있는 해석 가능성과 충실함 두개의 축에 존재하는 방법을 능가한다.

우리의 visualization은 더 정확하게 class 간 식별할 수 있고 classifier의 신뢰성을 더 많이 드러내고 dataset에서 bias를 식별하게 도와준다.

더 나아가, 우리는 Grad CAM을 통해 중요한 neuron을 식별하는 방법을 고안하고, model decision에 대한 text 설명을 얻기 위한 방법을 제공한다.

 

미래연구는 reinforcement learning, nlp, video application과 같은 domain에서 deep network로 만든 decision을 설명하는 것을 포함한다.

 

 

 

 

 

 

'XAI' 카테고리의 다른 글

Learning Deep Features for Discriminative Localization  (2) 2023.11.20