[논문리뷰]Transformer Interpretability Beyond Attention Visualization

temp·2021년 8월 17일
0

XAI / Object Detection

목록 보기
6/24
post-thumbnail

Paper: Transformer Interpretability Beyond Attention Visualization
Code: github.com

0.Abstract

Transformer로 대표되는 Self-attention 테크닉은 자연어 처리 분야를 장악하고 있었고, 점점 컴퓨터 비전 분야로 확대되는 분위기다. image-classification 태스크 내에서 예측에 쓰인 이미지의 파트를 시각화 하기 위해서 기존의 방법들은 attention maps에 의존하거나, attention graph를 따라 휴리스틱한 propagation을 사용해왔다. 본 연구에서는, 트랜스포머 네트워크를 위해 relavancy를 연산하는 새로운 방법을 제안한다. Deep Taylor Decomposition principle를 기반으로 local relevance를 할당하고, 이 relavance score를 layer를 통해 (순)전파시키는 식이다. 본래 이 순전파에는 attention layerskip connection이 존재하기 때문에 현존하는 방법들(in XAI area)을 사용하기 어렵지만, 우리는 layer를 통과시키면서 total relevancy를 유지하는 공식을 사용해 해결한다. 이런 방법을 매우 최신의 (visual) 트랜스포머 네트워크와 text classificaton 문제에 적용했으며, 기존의 설명 방법들보다 더 좋은 장점을 보여주었다.

1. Introduction

트랜스포머 모델은 NLP 분야에서 수 많은 SOTA-Network에 쓰였으며, 점차 vision 분야에도 쓰이기 시작하는 추세이다. 특히, image recognition과 object detection(DETR) 분야에서도 좋은 결과를 보여주었다. 트랜스포머 네트워크의 중요성은 그 네트워크의 예측 과정을 이해하기 위해 '시각화 툴의 필요성'을 야기하며, 이런 시각화 툴은 모델을 디버깅하고, 모델이 편향되지 않았는지 검증하며, 하위 태스크들을 하는데 도움이 된다.

트랜스포머 네트워크 내에서 가장 중요한 구성요소는 self-attention layers인데, 이 구성요소는 모든 two tokens간에 pairwise한 attention value를 할당한다.

NLP 분야에서 token은 보통 word나 word part입니다.

vision 태스크에서 token은 보통 patch와 관련될 수 있습니다. 이에 관해 DETR 논문리뷰나 비전 트랜스포머의 핵심 논문인 An image is worth 16x16 words: Transformers for image recognition at scale을 참고할 수 있습니다.

트랜스포머 모델을 시각화하기 위한 common pratice는 이 attentionsrelevancy score로 여기는 것이다(DETR, Attention all you need, etc.).

주로 single attention layer의 단위에서 행해집니다.

다른 방법으로는 multiple layers를 결합하는 것이다. 그 방법 중 하나를 예시로 들면, 주로 각 token마다 얻어지는 attentions을 평균내는 것이다. 하지만 이는 signal을 모호하게 할 수 있으며, 각 layer의 역할을 고려하지 못하는 문제가 존재한다.

CNN과 유사하게, deep layer는 훨씬 semantic(의미 있는)하지만, 각 token은 self-attention을 적용할 때마다 추가적인 맥락을 누적시킵니다.

한 대안으로, rollout method(Quantifying attention flow in transformers)가 있다. 이 방법은 pairwise attentions을 고려하고, attentions이 선형적으로 결합해 다음 context로 들어간다고 가정함으로써 모든 attention scores를 재할당한다. 이 방법은 분명 single attention layer의 활용에 있어서 좋은 결과를 보였지만, 우리가 보기엔, 너무 간단한 가정에 의존함으로써 관련 없는 token이 종종 highlighted되는 것 같다.

즉, 비선형적인 attention layer들을 선형결합하는 것. 선형성 가정은 기존의 XAI 방법들(LIME 등)에도 흔히 쓰였다.

본 연구에서는, layers를 통과하면서 sum of relevancy가 유지되도록 1. relavancy를 할당하고, 2. 이를 전파하는 파이프라인을 따른다.

트랜스포머 네트워크는 극도로 skip connectionattention operator에 의존한다. 문제는, 두 개 모두 two activation maps을 혼합할 뿐더러, 각각이 unique challenge로 이어진다는 것이다. 특히나, 트랜스포머는 ReLU가 아닌 비선형성을 적용하기 때문에 positive featuresnegative features로 이어진다. 이런 non-positive value를 조심히 다루지 않는다면 skip connection은 수치적으로 불안정해질 수 있다.

예를 들자면, XAI 방법 중 하나인 LRP(Layer-wise Relevance Propagation)은 이 경우 사용할 수 없습니다.
이처럼, self-attention layer는 나이브한 순전파를 거치면서 relevancy의 총량을 유지하기 힘들기 때문에, 굉장히 어려운 문제가 될 수 있습니다.

우리는 위에서 기술한 문제들을 다루기 위해 아래와 같은 방법을 제안한다.

  1. positive attribution과 negative attribution에 모두 적용될 수 있는 relevancy propagation rule을 도입한다.
  2. non-parametric layers에 대한 normalization term을 제안한다
    -예를 들어, "add"(즉 skip connection)나 "matrix multiplication"과 같은 term이다.
  3. attentionrelevancy scores통합하고, 이 통합된 결과를 multiple attention blocks에 대해서도 결합한다.

컴퓨터 비전 분야에 쓰이는 많은 interpretability method들은 보통 class-specific하지 않다. 즉, 어떤 class를 시각화하든 간에 같은 visualization 결과를 반환하며, 이미지 내에 multiple objects가 포함되더라도 동일하다.
class-specific signal은, 특히 input까지 전파하는 방법의 경우, 종종 이미지의 두드러진 영역에 의해 흐려지는 경우가 있다.

아무래도 lower level로 갈수록 edge, ,line 등에 대한 정보가 주어지기 때문에 명확한 signal을 보기 힘들다는 게 아닐까 싶습니다.

이를 피하기 위해 특정 method(Grad-cam)는 lower layers에는 전파하지 않으며, 다른 method(Understanding Individual Decisions of CNNs via Contrastive Backpropagation)은 class간 차이를 강조하기 위해 다른 클래스들을 대조시킨다.
우리가 제안하는 방법은 애초에 class-based separation을 제공하며, 우리가 확신할 수 있는 한, 오직 Transformer visualization method만 이런 특성을 제공한다.

연구 Explaining explanations in ai에서는 explainability, interpretability, relevance를 다르게 정의한다. 이와 관련된 연구에는, 이론적인 체계를 제공하긴 하지만, 그것들은 특정 가정을 포함하기 때문에 현실세계에서는 좋은 결과를 보이지 못할 수 있다. 우리는 그저 기계적인 입장에서, 수용가능하고 다양한 벤치마크에 대한 성능을 보이는 것이 목표이기 때문에 이와 관련된 이슈는 피하려고 한다.
우리는 image segmentation과 positive/negative perturbation을 포함한다. NLP 단계에서는, public NLP explainability benchmark(Eraser: A benchmark to evaluate rationalized nlp models)를 고려한다.

2.1. Explainability in computer vision

본 단락에서는 GradCAM, DTD, LRP, DeepSHAP, Saliency-based methods, Activation Maximization, Perturbation methods 등을 다룹니다.
결론적으로는, Transformer에 직접적으로 어떻게 적용할지 명확하지 않으며, 연산량과 성능면에서 좋지 않다는 얘기입니다(post-hoc 모델의 경우).

2.2. Explainabiilty for Transformers

트랜스포머를 위한 시각화 방법의 분야에서는 아직 그렇게 많은 기여가 없다.

기껏해봐야 attention score를 활용한 정도입니다.

현재의 이런 접근법들은 다른 종류의 연산을 수행하는 네트워크의 일부분 뿐만 아니라 attention 구성요소의 대부분을 간과한다. 가령, self-attention head는 queries, key, values등의 연산을 수행하는데, 이를 내적해서 얻어진 attention scores에만 초점을 두는 것은 근시안적인 접근이라 할 수 있다. 심지어 self-attention을 제외한 다른 layers(예를 들어, FPN 등) 은 고려하지도 않는다.

대조적으로, 본 연구가 제안하는 방법은 prediction에서 input까지 모든 layers를 전파합니다.

mean attention heads를 고려하는 것은 각 layer에 있는 attention heads의 다양한 연관성을 고려하지 못하기 때문에 적절하지 않다는 믿음 하에 LRP가 트랜스포머에 적용됐었다(Analyzing multi-head self-attention: Specialized heads do the heavy lifting). 하지만, relavance scoreinput까지 전파하지 않았기에, 각 head의 relevance에 대해 부분적인 정보만을 제공하는 한계가 존재한다.

본 연구는 relevancy score를 다이렉트로 추정하지 않고, relative importance를 시각화하고, less relevant attention heads를 덜어내는 데 중점을 둡니다.

attention을 기반으로 기여도를 할당하는데 있어서 가장 어려운 점attentions이 다음 layer로 넘어갈 때 비선형적으로 결합된다는 것이다.
Rollout methods(Quantifying attention flow in transformers)은 attentions선형적으로 결합한다 가정하고 pairwise attention graph 간의 paths를 고려한다.

이 방법은 average attention scores가 낮음에도 불구하고 종종 관련 없는 token에 주의 집중하는 것으로 관측되었습니다.
또한, 이 방법은 결정에 있어서 어떤 부분이 positive하게 기여했는지, negative하게 기여했는지 구별하지 못합니다.
선형적인 방법은 positive/negative 개념을 따지기 어렵다는 얘기입니다.

이 연구는 위에서 말한 rollout외에도 attention flow라 불리는 section method를 제안한다. 이는 pair-wise한 attention graph를 따라 max-flow problem을 고려한다. 이는 때때로 rollout method보다 (masking을 통해 얻어지는)relevance scores와 input 관련 graidents에 더 관련있는 것처럼 보인다.

다만, 위 연구는 다른 relevancy 할당 방법들과 비교도 없었으며(raw attention scores 제외), 벤치마크에 대한 evaluation도 없었씁니다.

3. Method

본 방법은 트랜스포머 내 각 layer에 있는 각 attention head의 score를 연산하기 위해 LRP-based relevance를 사용한다. 그 후, attention graph를 통해 이 scores를 통합한다. 이 때, 반복적으로 negative contribution을 지우는 방식으로, relavancygradient의 정보를 모두 고려함으로써 score를 통합한다. 결과는 self-attention model을 위한 class-specific visualization이 나온다.

3.1. Relevance and gradients

우선, 간단히 표현식을 정리하고 가자

CC : classification head의 개수
tt : t1...Ct\in1...|C|로 표현되는, 시각화 할 class
x(n)x^{(n)} : layer L(n)L^{(n)}의 input
nn : n[1...N]n\in [1...N]으로 표현되는, NN layers로 구성된 네트워크의 인덱스.
- x(N)x^{(N)} : network의 input
- x(1)x^{(1)} : network의 output
yty_t : class tt에 대한 분류 결과 yy

이 때, 체인룰을 사용해 output yty_t에 대한 그래디언트를 아래와 같이 계산할 수 있다.

jj는 input x(n)x^{(n)}의 index, ii는 input x(n1)x^{(n-1)}의 index이다.

추가로,
L(n)(X,Y)L^{(n)}(\bold{X},\bold{Y}): tensor X\bold{X}Y\bold{Y}의 layer 연산
이라 하자.

  • 전형적으로 이 두 tensor X,Y\bold{X},\bold{Y}는 layer nn에 대한 input feature mapweights이다.

이 때, Relevance propagation은 아래와 같은 Deep Taylor Decomposition(Explaining nonlinear classification decisions with deep taylor decomposition을) 따른다 .

즉, n1n-1번째 layer에서 nn번째 layer로 거슬러 올라갈 때 nn layer의 jthj-th neuron에 대한 타당성입니다.
해당 타당성을 정의하기 위해 nn번째 layer의 연산에 쓰이는 X,YX,Y와 연산자 LL에 대한 정보, 그리고 n1n-1번째 layer의 타당성을 활용하면 됩니다.

https://arxiv.org/pdf/1512.02479.pdf
의 식 (3)~(7)을 참고하세요.

이 때, 식(1)과 유사하게 jjR(n)R^{(n)}의 index이고, iiR(n1)R^{(n-1)}의 index이다. 위의 식(2)는 conservation rule을 만족시킨다. 즉

이다.

Relevance Propagation은 역전파의 방향과 동일하기에 output과 가까운 (n1)(n-1) layer에서 nn layer 방향으로 나아갑니다.

LRPLRP는 ReLU를 비선형 활성화로 가정하는데, 그렇기에 non-negative feature maps이 결과로 나오며, 이 때 relevance propagation rule은 아래와 같이 정의될 수 있다.

양수가 아닌 값은 relu에 의해 0으로 할당되기 때문에 생략할 수 있습니다. 나머지는 그냥 식(2)의 notation들을 원소로 분해한 것 뿐입니다.

이 때 X=x\bold{X}=xY=w\bold{Y}=w는 각각 layer의 input과 가중치이다. 이 때max(0,v)max(0,v)v+v^{+}라 정의한다.

아래의 참고. Taylor Decomposition 그림을 본다면 nn layer와 (n1)(n-1) layer 간의 Relevance propagation을 더 직관적으로 이해할 수 있습니다.

GELU같은 ReLU외의 비선형성은 positive/negative values를 모두 반환한다. 이를 다루기 위해 식 (4)의 LRP propagation은 여러 인덱스인 q={(i,j)xjwji0}q=\{(i,j)|x_jw_{ji}\ge 0\} 의 부분집합을 구축함으로써 수정될 수 있다. 결과는 아래와 같다.

비선형성은 n1n-1 layer의 각 원소 i=1,2,....i=1,2,....에 대해서 적용됩니다.

달리 말하면, 오직 positive weighed relevance만을 고려한다. relevance propagation의 초기화를 위해 1t\mathbb{1}_t를 target class tt를 표현하는 원핫벡터라 할 때, R(0)=1tR^{(0)}=\mathbb{1}_t로 설정한다.

첫번째 relevance layer R(0)R^{(0)}에서 총 타당성의 합은 1이다. 이로부터 이후 layer들의 타당성 총 합도 1이라는 사실을 예상할 수 있다.

    1. ReLU는 비선형이 맞지만, 본문 초반에 ReLU와는 다르게 attention layer는 비선형적이라는 말이 나온다. --> ReLU가 선형적인 게 아니라, ReLU는 0과 양수만 반환하는 반면, Attention은 음수까지 반환할 수 있다는 얘기.
    1. negative를 다루기 위해서 positive (weighed) relevance만 고려하는 게 지당한 일일까?
    1. 각 layer의 neuron(?)개수는 모두 같을까? 즉, classification의 개수일까(위에서 CC)? --> 당연히 다름.

3.2. Non parametric relevance propagation

트랜스포머 모델에는 두 개의 feature map tensors를 혼합하는데 관여하는 두 개의 연산자가 있다.

  1. skip connection

  2. matrix multiplications(attention modules)

    위 연산자들도 두 개의 input tensors를 관통하는 relevance propagation을 필요로 한다.

단순히 두 연산자에 대한 Relevance propagation(타당성 전파)가 필요하다는 것입니다.
당연히, 2번에 나타난 행렬 곱의 경우 두 매트릭스의 크기가 다를 수 있습니다(attention modules).

이 때, 두 tensors uuvv에 대한 타당성 전파는 아래와 같이 연산합니다.

식 (4)를 참고합시다.

타당성의 총합은 보존될 수 있기 때문에, 합 연산의 경우 아래의 식처럼 보존법칙(conservation rule)이 성립합니다.

다만, 행렬곱의 경우 일반적으로 이 보존 법칙이 성립하지 않습니다(증명은 해당 논문 참고).

skip connections에 대한 타당성 전파를 할 때, 우리는 numericla instabilities를 마주할 수밖에 없다.

  • 보존 법칙에 의해 relavance scores의 합은 상수로 유지되(어야하)기 때문이다.
  • 이런 현상을 불러일으키는 또 하나의 이유는 relevance scores가 보통 큰 값을 가지는 경향이 있기 때문이다(식(2)를 참고하자).

본 논문에서는 skip connection의 수치적인 이슈와 행렵곱에 따른 attention 매커니즘의 lack of conservation 을 다루기 위해 아래와 같은 normalization을 적용한다.

위의 식과, 보존 법칙(식(3))relevance 초기화에 따라, 최종적으로 각 layer nn에 대해
iRi(n)=1\sum_iR_i^{(n)}=1
이라는 결과를 얻는다.

위와같은 설정들을 토대로, 아래와 같은 장점을 얻는다.

  1. 보존법칙이 성립한다
  2. 각 tensor의 relevance sum이 유계가 된다.

3.3 Relevance and gradient diffusion

  • 이번 단락에서도 마찬가지로 표현을 정리하고 가자.

MM : Transformer model
BB : Transformer model 내 block 개수
- b{Bii{1,...,B}}b\in\{B_i|i\in\{1,...,B\}\}라 할 때, 각 block b는 self-attention, skip-connection, additional linear layer, normalization layers로 구성된다.
ss : Transformer model이 받는 token의 길이
dd : Transformer model이 받는 token의 차원

이 때, 모델 MMdd 차원의 ss tokens의 sequence를 입력으로 받는다(classification을 위한 special token도 존재).
그 후, 모델 MM은 길이 CC의 분류 확률 vector yy를 반환한다(classification token을 이용해 계산한다).
self-attention modules은 임베딩 차원 dd의 하위 차원에 해당하는 dhd_h에서 연산이 진행된다(dhh=d,h:# of headsd_hh=d, h: \# \ of\ heads).

self-attention module은 아래와 같이 정의된다(모두 block bb에서 연산된다 가정).

이 때 O(b)O^{(b)}h×s×dhh\times s\times d_h차원의 output이다.

나머지 쿼리 QQ, 키 KK, 밸류 VV는 모두 h×s×dhh\times s\times d_h차원입니다.
input x(n)x^{(n)}을 self-attention에 돌리기 위한 projected 된 값이라 생각하면 편합니다.

A(b)\bold{A}^{(b)}h×s×sh\times s\times s 차원의 attention map이다. 이 때 각 row ii는 token ii에 관한, input의 모든 tokens의 attention coefficients이다. 식(11)의 softmaxsoftmax가 적용되기에, A(b)\bold{A}^{(b)}의 각 attention head의 row의 합은 1이 된다.

즉, 각각의 head는 각기 다른 역할을 맡는다 볼 수 있고, 그 head에 대한 attention map의 row ii를 참고하면 ii번째 token(pixel)에 대한 다른 모든 token들의 pair-wise한 확률 분포를 알 수 있는 것입니다.

아무튼, 위의 정보들을 토대로, 우리가 원하는 각 attention map A(b)\bold{A}^{(b)}relevance propagation(타당성 전파)gradients를 얻을 수 있다.

A(a)\triangledown \bold{A}^{(a)} : attention map A(b)\bold{A}^{(b)}의 gradients
R(nb)R^{(n_b)} : attention map A(b)\bold{A}^{(b)}의 relevance
- nbn_b: block bbsoftmaxsoftmax operation에 해당하는 layer
- 즉, R(nb)R^{(n_b)}는 이 layer nbn_b의 relevance이다.

위 식들은 모두 target class tt에 관한 값입니다.
Relevance는 layer에 대해, gradients는 value에 대해 정의된다는 것을 생각하면 이해하기 쉽습니다.

우리 방법의 최종 output CRs×s\bold{C}\in\mathbb{R}^{s\times s}는 아래와 같은 weighted attention relevance로 정의된다.

위에서 \odot은 Hadamard product이고, Eh\mathbb{E}_hheads dimension 에 따른 평균이다.
이 때 gradients-relevance 곱의 positive value만 고려한다.
각 token의 self inhibition을 막기 위한 identity matrix를 추가했는데, 이는 트랜스포머 블록 중 skip connections을 설명하기 위함이다. 예를 들어, 아래의 roll-out method와 비교해보자.

input sample이 주어졌을 때, rollout의 결과는 시각화 할 target class와 관계없이 고정된 것을 볼 수 있다. 추가로, pairwise attention score를 제외하면 어떠한 signal도 고려하지 않는다.

3.4. Obtaining the image relevance map

우리 방법의 최종적인 설명 행렬인 CC는, transformer의 input이 ss tokens sequence일 때, s×ss\times s 차원을 갖는다. 각 row는 해당 row를 표현하는 token과 그 나머지 모든 tokens 사이의 relevance map에 해당한다(식14, 11 참고).

본 연구는 classification에 관련된 모델이기 때문에, classification에 대한 설명을 담은 [CLS] token만 고려된다(CLS로 classification이 작동한다는 것). 따라서, [CLS] token에 대응하는 row C[CLS]Rs\bold{C}_{[CLS]}\in\mathbb{R}^{s}로부터 relevance map이 추출된다. 이 row는 classification token에 대한 각 token의 영향력을 계산한 score를 포함한다.

CLS는 Special Classifcation token입니다. 보통 CLS token은 트랜스포머를 거치고 나면 token sequence의 결합된 의미를 갖게 되는데, 이 때 classifier를 붙혀준다면 손 쉽게 분류를 진행할 수 있습니다.

우리는 [CLS] token이나 다른 구분자와 같은 special tokens을 제외한 actual input에 대응되는 tokens만 고려한다.

결국 궁금한 것은 input features와 classification의 관계이기 때문에 input features만 보면 됩니다.

ViT(An image is worth 16x16 words: Transformers for image recognition at scale)와 같은 vision models에서는, content tokensimage patchs를 표현합니다.

우리는 최종적인 relevance map을 얻기 위해 기존의 ss 길이의 sequencepatches grid size로 reshape한다.

정사각형 이미지에 대해서, patch grid size는 s1×s1\sqrt{s-1}\times\sqrt{s-1}이 됩니다.

이 map은 다시 original image size로 upsampling된다.

bilinear interpolation을 사용해 업샘플링을 진행합니다.

4. Experiments

4.0. Base

[CLS]?

우리는 언어 모델 task를 위해서, BERT-based 모델을 분류기로 사용했는데, 512 length tokens를 사용했으며, classification HEAD의 input으로 쓰이는 classification token [CLS]을 가정했다.

만약 분류 문제가 아니라면 [CLS]는 사용하지 않습니다.

또한, 비쥬얼 모델 task를 위해서는, BERT와 비슷한 요소로 구성된 ViT-based 모델을 사용한다. input으론 input image를 겹치지 않는 16x16 patches를 사용한다. 이 때, 트랜스포머 모델에 투입하기 위해 flatteninglinear layer를 사용해 vector sequence로 만든다. BERT와 유사하게, [CLS]로 classification token을 사용해, input sequence의 시작점에 붙혀 사용한다.

Baseline

baselines은 아래와 같이 세 가지로 나눌 수 있다.
1. attention map
2. relevance
3. gradient-based method

각각의 종류는 아키텍처에 대한 각기 다른 특성과 다른 가정을 가지며, 네트워크의 정보를 전파하기 위해 각기 다른 propagation 방법을 갖는다. 우리는 다양한 baselines의 성능을 반영하기 위해, explinability literature에서 매우 흔하고, 본 단락에서 다룬 광범위한 테스트에 적용될 수 있는 방법들에 집중했다.

즉,Pertubation과 Shapely based method로 대표되는 Black-box method는 연산하기 힘들고, 내재적으로 우리가 제안한 방법과 다르다.

Attention map

위에서도 많이 다룬 rollout방법은 forward-pass를 통해 얻어진 모든 attention maps을 고려한 설명을 생성하는 방법이다.
좀 더 간단한 방법은 그냥 단순한 raw attention이다. 즉, block 1의 attention map을 사용해 relevance score를 생성하는 것이다.

이는 정의상 class-agnostic합니다. 즉, 클래스를 구분할 수 없습니다.

Relevance propagation

Attention-map based method와는 다르게, relevance propagation(타당성 전파)는 attention maps 뿐만 아니라 전체 네트워크를 통해 흐르는 information을 고려한다. 이 baseline은 식(4)와 [42] 연구를 따르는 LRP의 partial application을 포함한다. 우리가 보여줬던 것처럼 LRP method의 변종은들은 실질적으로 class-agnostic하기 때문에 다른 target class에 대해서도 시각화가 동일할 수밖에 없다.

Gradient-based

Gradient-based methods중 가장 유명한 class-specific 설며 방법은 Grad-CAM이다. 이는 가중된 gradient-feature map을 마지막 convoluiton layer까지 연산한다. 우리가 찾은, GradCAM을 적용하는 가장 좋은 방법은 마지막 attention layer의 [CLS] token을 [CLS] token으로 여기지 않고 designated feature map으로 여기는 것이다.
classifcation-head를 적용하기 전 트랜스포머 모델의 마지막 output은 s×ds\times d차원의 tensor vv이고 오직 [CLS] token만이 classification head로 들어가는 것을 관측했다(ss : 다른 input tokens와 관련됨). 즉, 텐서 vv에 Grad-CAM을 수행하는 것은 [CLS] token을 제외한 모든 tokens을 0으로 할당한 sparse gradient tensor v\triangledown v를 도입할 것이다



참고. Talyer Decomposition

Explaining nonlinear classification decisions with deep taylor decomposition

xix_i는 모두 양수(reLU를 사용하므로), 즉 bjb_j를 음수로 가정할 경우 g(xi~)=0g(\tilde{x_i})=0을 만족하는 root point xi~\tilde{x_i}를 찾을 수 있게 됩니다.
즉, Taylor Decomposition을 적용할 수 있게 됩니다(LRP에서 0차 항인 gg의 값이 0이 될 경우 적용 가능합니다.)


그 결과 위와 같이 Taylor Decomposition을 수행할 수 있습니다.
단, 위에서 2차항 이상을 나타내는 ϵ\epsilon은 편의상 없다고 가정합니다.

또한 위의 식은 heatmap-scale에서는 element-wise 연산자인 \odot을 활용해 아래와 같이 나타낼 수 있습니다.

즉, 딥러닝 네트워크 ffxx에 대한 gradient와 (이미지 xx - root point x~\tilde{x}) 사이의 Difference 간에 element-wise product를 타당성으로 정의할 수 있습니다.


다시 돌아와서, xjx_j에 대한 타당성 RjR_jRk=xk=jxjR_k=x_k=\sum_{j}x_j에서 얻어봅시다.

즉,
식 (3)인
f(x)=pfxpx=x~(xpx~p)f(x)=\sum_p{{\partial f}\over{\partial x_p}}|_{x=\tilde{x}}(x_p-\tilde{x}_p) (input : x1,x2,...xp,...x_1, x_2,...x_p,... / function : ff)
에서,

Rk=jxjR_k=\sum_jx_j로 변했기 때문에 (input : x1,x2,...,xj,...x_1, x_2, ...,x_j,... / function RkR_k)

아래의 식 (8)과 같이 쓸 수 있습니다(ff \rightarrow RkR_k, jj번 째 타당성만 표현.)

그러면, 결국 위와 같이 xj~=0\tilde{x_j}=0, 그래디언트=1을 얻을 수 있게 됩니다(reLU로 인해 xjx_j는 모두 양수이고, RkR_k 함수에 대한 root point는 Rk=jxj=0R_k=\sum_jx_j=0을 만족하는 점이기 때문에).

해당 조건과 식 (1)을 이용해서 이전 layer에 해당하는 타당성 RiR_i**를 구할 수 있게 됩니다.

즉, jRj\sum_jR_jxix_i에 대해 테일러 전개를 한번 더 수행하면 됩니다.

즉, 위에서 RjR_jxix_i 간의 관계식을 얻었기 때문에, 식(9)에서 RjR_jjRj=Rk\sum_jR_j=R_k로부터 얻었듯, RiR_iiRi=jRj\sum_iR_i=\sum_jR_j로부터 얻을 수 있습니다.

식 (3)에서
f(x)=pfxpx=x~(xpx~p)f(x)=\sum_p{{\partial f}\over{\partial x_p}}|_{x=\tilde{x}}(x_p-\tilde{x}_p) (input : x1,x2,...xp,...x_1, x_2,...x_p,... / function : ff)
였으므로, 여기서 ffjxj\sum_jx_j로 바꾸면 아래와 같은 식(4)가 도출됩니다.


0개의 댓글