IT/Paper

[XAI] RAP, Relative Attributing Propagation: Interpreting the Comparative Contributions of Individual Units in Deep Neural Networks, AAAI 2020

성진팍 2021. 3. 2. 14:49

히히 latex 수식넣는 법 발견해서 글이 윤택해졌다 짱편하구먼ㅎ_ㅎ

<Introduction>

DNN output에 대한 결정에 대해 input image 각 location의 positive/negative 기여도를 고려하기 위해 Bach et al. 2015 소개한 것이 LRP.  예측에 대해 relevance score를 propagate 시켜나감으로써 input 중요도를 보여준다.

LRP에서 언급되는 relevance propagation을 짧게 요약하자면, 아래 왼쪽 그림의 분류 결과값 $a_{7}$ 로부터 분해될 수 있음을 보여준다. 최종적으로 ${R_d}^{(1)}$에 대해 input layer에 대한 각 node들의 relevance값을 구하는 것이 목표이다. 

$w_{14}$랑 ${R_{1<-4}}^{(1,2)}$ 는 방향도 다르지만 크기도 같을 수 없다. w(신경망의 가중치)는 제한이 없고, 양/음의 값 모두 가질 수 있으며 이 수치는 activation이랑 같이 곱해진다. 그러므로 Relevance edge의 기여도 비율과는 다른 것이며, Relevance edge는 모두 양의값을 갖도록 표현된다.

 

괄호안의 숫자는 layer를 의미, 각 layer별 relevance 모두 합한 값은 다음 layer에서도 동일하다.

 

${R_7}^{(3)}$은 앞단으로부터 오는 가중치*activation 정규화한 것들을 모두 합한 것이라 보면 된다.
Relevance 간선 하나는 이렇게 정의될수있다.

그러나 기존 연구는 positive/negative relevance가 서로 상쇄되어 나타난 최종 relevance 값이 잘못 계산되었을수 있다고 한다. 따라서 개별 unit에 대해 실질적인 영향도를 명확히 하는 것이 요구됨.  복잡한 내부 구조에서 relevance 값이 shift 되거나 switch 될 수도 있기 때문임. 그리고 각 뉴런에 대한 relevance는 기여도 양의 절댓값에 크게 의존적이며 positive/negative relevance값 모두 연관이 되어있음

<Contribution>

- 본 논문은 상대적으로 propagation 결과를 주는 방법, Relative Attributing Propagation(RAP)을 제시한다.  뉴런 사이에 상대적인 영향도에 따라 pos/neg relevance 결과를 주는 방법론.  또한 중간 레이어 사이에 실질적인 기여도를 분리하면서, propagation 동안 부호에 의해 감쇄될수있는 위험성을 막음.

- RAP 방법론이 잘 동작하는지 증명하기 위해 아래 방법으로 평가한다. 

1) Intersection of Union, Outside-Inside relevance ratio (Lapuschkin et al. 2016)

2) Region perturbation (Samek et al. 2017) 

다른 XAI method와 비교할뿐아니라 objectness method 방법론과도 비교하여 object segmentation score 산출) 무관한 영역을 깨끗하게 분리하면서)

 

<Related Work>

자세히는 스킵. 이부분은 XAI survey 논문 보는 것이 더 나을듯함

Silent feature map, LIME, LRP, Guided BackProp, Grad CAM, DeepLIFT

 

<Background and Notation>

  • Notation

$f(x)$ Input x 에 대해 soft max layer 통과 전 네트워크 출력값.
$R$ $R$은 예측 클래스에 상응하는 $f(x)$값을 나타내며, 여기서부터 입력 relevance를 구성하여 앞쪽으로 전파할것임
layer l, i neuron으로부터 layer l+1, j neuron에 전달되는 값
layer l, i neuron의 activation function 거친 활성된 값
layer l, neuron i 에서 layer l+1, neuron j 로의 weight (가중치)
layer l+1의 neuron j 를 얻기 위한 관련있는 neuron들의 합. (기여도)
= activiation a(z+b)
layer l+1,  j neuron이 영향받는 모든 summed over value (모든 기여도 합)
Activation function
${{R_i}^{(l)}}$ layer l, i neuron의 relevance 값.  ${R_j}^{(l+1)}$ 인 layer l+1, j neuron과도 연관이 있음. 각 layer별로 합이 보존됨 
   

여기서 ${Z_{i,j}}$는 pos/neg 기여가 합해진 값임. 

 

  • Layerwise Relevance Propagation. (LRP, Bach et al. 2015)

- conservation principle 을 기반으로 각 레이어별 relevance 값은 보존됨

 

중간 두 레이어 사이의 forward pass, backward relevance propagtion 을 나타낸 것. 색이 진할수록 높은 relevance값을 의미함. 빨간색(positive part)의 R1(l+1)은 다시 neuron m1(l), m2(l)로 propagate된다.  LRP에서는 음의 기여와 양의기여가 겹치면서 보라색으로 표현된곳이 보인다.

 

그러나 layer별 총 relevance 항을 유지하기 위해 α-β =1 이 성립됨. 

  • The shortcoming of Current Relevance propagation Method

그림 2에서 LRP-αβ라고 칭한 것은 LRP epsilon과 유사. 해당 그림처럼, 빨간색(positive part)의 R1(l+1)은 다시 neuron m1(l), m2(l)로 propagate 된다. 파란색(negative)도 마찬가지. 식 4에 의해 각 positive/negative가 높은 기여를 줌에도 불구하고 만일 neuron i 의 relevance값이 모두 상쇄될 수도 있다. 하지만 neuron i 가 다음 layer l+1의 activation에서 주요 역할을 하기 때문에 relevance값이 높은 것은 clear 함

그림 2에서 보면 빨간 부분과 파란 부분에서 가리키는 포인트가 거의 같다. 최종적으로 α= 2, β= 1로 설정해도 거의 positive 부분이 상쇄돼서 날아가버린 것을 볼 수 있다. 그래서 많은 기여도들이 소실될 가능성이 있음.

In this paper, RAP에서는 절대적인 뉴런의 기여도를 고려하여 relevance값을 propagate 할 것이고 결론적으로 이미지에서 positive, negative부분을 나타내어 보여줄 것이다.

 

<Method>

Relative Attributing Propagation (RAP)

위 Relevance propagtation 한계점이 motivation 되어, 상대적으로 중요/안중요한 뉴런을 불리하는 것을 목표로 삼는다. 아래 3단계를 거친다.

Absolute influence normalization, Propagation of the relevance, Uniform shifting

 

1) Absolute Influence Normalization

-> 첫번째 propagation: Penultimate Layer p, neuron i relevance value 먼저.  

-> Final(prediction) layer q 의 node j로부터 실질적인 contribution에 따라 relevance value를 계산함. 

-> 위 (5)에 따라 penultimate Layer P의 relevance value는 +(빨)/-(파) 로 이루어짐

-> (5)를 각 절대적인 값의 비율에 따라 normalize 해야함. 이부분이 Absolute influence normalization.  

-> (6)은 normalized relevance임. ${R_i}^{(p)}$ 를  pos, neg 값의 절댓값에 대한 비율로 나누어 정규화시켜서 ${R'_i}^{(p)}$라는 새로운 relevance를 만든다.  이 과정을 통해 layer p의 각 relevance value는 출력에 대한 상대적인 기여도로 재분배되고 모두 양(빨강)의 값을 갖도록 변환된다.  Absolute influence normalization (eq 6)은 첫번째 relevance propagation에만 적용한다.

eq 5,6 이랑 uniform shifting까지

2) Criterion of Relevant Neuron  (Relevant한 Neuron의 기준)

-> 각 뉴런이 갖는 절대적인 기여도의 양으로 relevance를 바꿔준 뒤에, (eq 6) 모든 relevance score가 positive면 상대적인 영향정도를 유지하면서 relevance를 propagate하는게 가능해진다.

-> 그런다음 모든 활성화 neuron에 uniform shifting을 적용한다  (적은 영향도의 neuron은 negative relevance를 갖도록 shift 해준 것)

-> uniform shitfing 후 다음 layer로 relevance가 재분배되도록 relevance propagation이 일어남

-> P(positivie)의 경우에는 layer l로 propagate하는게 가능할테고

-> N(Negative)의 경우에는 동일한 과정을 적용하지만, negative하게 영향받은 뉴런사이의 영향력을 고려하는것도 필요함. 여기서 propagated relevance는 원론적으로, forward pass에서의 전체 negatvie contribution 사이 비율을 의미한다.  이러한 relevance 양을 uniformly shift 하기 위해 전체 activated neuron에 이용한다. (zero에 가까운 것들은 negative 갖도록)

-> 각 layer의 relevance value는 +/- 비율에 따라 계산하는것이 가능하다. 그러나 original 부호값의 비율로 계산하게 되면 상쇄되는 문제점 (  $\sum{z_{i,j}^{+}}$ + $\sum{z_{i,j}^{-}}$ 가 분모일때,  각 분자값 ( $\sum{z_{i,j}^{+}}$ 혹은 $\sum{z_{i,j}^{-}}$ )이 더 커질수있는 문제점) 이 발생한다.

-> 그러므로 contribution ratio는 각각의 기여도에 대한 절대값으로 normalizing 후에 계산한다.  (eq 7)

-> eq7 적용하면서  ${{v_{j}}^{(l+1)}}$, 즉 negative의 경우 는 좀 다르게 계산해야 된다.  negative하게 기여한 뉴런으로 relevance를 전파시킨 후에,  각 기여에 따른 ratio에 따라 layer $R_j$ 의 모든 뉴런은 relevance value를 받을 것이다. 그러나 layer l+1과 비교하여 layer l에서 할당이 over되면 relevance값이 보존되지 않는다. 이 over-allocated relevance는 원래는 negative contribution을 의미하는거였는데, activated 뉴런을 uniformly shifting하면서 중요/덜중요를 나누는데 이용되었다.  

-> layer i 에서 activated 뉴런의 수를 T 라 해보자. 그럼 이 T를 통하여 over allocation 된 평균수치를 뺄수있다. (eq8 )

-> 이것은 negative 영역으로 relevancy score를 조금 이동하게 한다. 즉 위 식(7)에서 (8)만큼 shift 하자

-> 최종적으로  layer i에서 P와 N에 속한 각 relevance 그룹 모두 eq 9 가 적용될 것이다.

-> eq 8,9 를 통해 relevance value가 보존되는 것을 확인 할 수 있다.

 

intermediate layer Feature map 사이에 activation된 부분이 다르므로,  각 feature map의 중요부분을 잃지 않기 위해, 모든 activated 뉴런에 동일 value를 빼준다.   next propagation시에, negative의 인풋 relevance는 상대적으로 예측 결과에 대해 낮은 우선순위를 갖는다. 그러므로 식 (7)은 negative relevance를 연결된 뉴런들에 propagate하게 해줌으로써, 상대적으로 덜 중요한 뉴런도 pos/neg 방향으로 기여될 수 있게 해준다.

Final relevance propagation (인풋으로 가는 propagation)의 경우, LRP에서 제시된 Z beta rule을 이용하는데, input layer로 propagating시 자주 사용되는 방법으로 LRP 에서도 쓰였다.

- x 는 input img이고 l과 h는 x의 low/high 값

VGG 중간 레이어에서 activated된 뉴런의 relevance map만 나타낸 것. 각 픽셀은 채널축으로 relevance score를 나타냄

Max pooling layer를 지날때, feature map 크기가 증가하여 더 많은 뉴런으로 흩어지기때문에 표현된 강도는 더 가벼워진다.  예상했던 대로, pos/neg map은 점진적으로 변한다. 

 

<Experiment>

VGG16 ResNet50 구조와 같은 large architecture로 검증했음 . 2012년 (ILSVRC 2012) 이미지 인식 챌린지 dataset을 이용했고, pascal VOC 2012 dataset을 이용했음. 코드는 torch랑 keras 둘다 제공

integrated gradients, gradient, input* gradient, Guided BackProp, pattern attribution and LRP-αβ 방법론과 비교됨

1) Qualitative Evaluation of Heatmap (히트맵 정성적 평가)

Fig5: positive 특성을 갖는 영역이 얼마나 다른 method에서도 유사하게 수렴하는지 결과를 비교해봄 (기존 존재하는 방법들이 positive는 잘 전파되므로)  / Fig6: LRP-αβ 와 RAP 를 ResNet50에서 비교

Negative 특성에 대한 정량적 평가는 prediction결과와 관련이 없다고 여겼다.  RAP는 잘 구분해낸 반면 다른 method는 오버랩되는 부분이 있었음. (오버랩이라하면 pos/neg가 겹쳐서 보라색으로 표현되었음)

2) Quantitative Assessment of Attribution (정량적 평가)

DNN 모델을 설명하는 방법에 대해 정량적인 평가가 trivial하지는 않다.  저자는 여기서 

(i) Outside-Inside relevance ratio -> bounding box 안과 밖의 relevance를 계산해서 각 특성이 객체에 얼마나 잘 포커싱되어있는지 파악하는 방법. 그러나 bounding box가 완벽하지는 않으므로 추가적으로 segmentation mask와 지표를 사용해서 postive relvance가 객체에 잘 있는지 평가한다. 

만약 bounding box 밖으로 양(음) 의 relevance가 영향을 준다면, mu 값은 증가(감소)

(ii) Pixel accuracy and Intersection of Union, and

(iii) Region perturbation :  heatmap에 점진적으로 왜곡을 준다. 

3가지 방법을 쓴다.

 

Interfering Negative Attribution

-> negative relevance갖는 것을 제거했을때 정확도에 문제가 없는지 확인

-> 정확도 감소 기울기가 완만한 편

 

<Conclusion>

 

 

 

출처

https://arxiv.org/pdf/1904.00605.pdf