XAI 분야는 불투명한 deep learning 모델들에 투명성을 추가하려 노력한다. Local XAI 기법들은 각 prediction을 attribution map을 통해 설명한다. 이는 '어디가' 중요한 feature인지 나타내지만 정보가 '무엇을' 나타내는지 말해주지 못한다. Global explanation 기법들은 모델이 encode 하는 일반적인 개념을 시각화해준다. 두 가지 방법은 모두 부분적인 통찰력을 제공해주고 실제 해석은 유저에게 맡기게 된다.
본 논문에서는 local과 global 관점을 통합해 '어디에'와 '무엇을'을 모두 답하는 Concept Relevance Propagation (CRP) 접근 방법을 소개한다.
https://www.nature.com/articles/s42256-023-00711-8
Introduction
모델의 결정에 대한 설명을 제시하기 위한 많은 연구가 있다.
- Gradient에 기반
- 변형된 backpropagation을 사용
- Input 변형에 대한 모델의 반응에 기반
- 특정 neuron들이 강하게 반응하는 자극을 시각화
XAI 분야는 크게 local XAI와 global XAI로 나누어져있다.
- Local: Input space의 attribution map을 계산해 중요한 input region이나 feature를 강조
- 각 prediction에 영향을 주는 input을 보여주지만 무엇을 보여주는지 알려주지 않는다.
- 또한 attribution map은 모델의 많은 의사결정 subprocess의 superposition으로 많은 중요한 정보들을 포함하지 못한다.
- 결과가 불분명하거나, 부정확하거나, 모호할 수 있다.
- Global: 모델이 학습한 feature나 concept이 무엇인지 설명
- 특정 neuron이 어떤 개념에 활성화되는지 example data를 합성하여 보여주는 기법 등이 존재
- 모델이 활용하는 모든 feature들은 얻을 수 있지만
- 이 feature들이 특정 data sample들이 주어졌을 때 어떻게 상호작용하는지 알 수 없고
- 모델이 어떻게 의사결정을 하는지 알 수 없다.
본 논문에서는 local과 global을 통합한 Concept Relevance Propagation (CRP)와 Relevance Maximization (RelMax)을 활용한 차세대 XAI 기술을 제시한다.
- Post hoc XAI 기법으로 CPR과 RelMax는 거의 모든 ML 모델에 추가적엔 데이터나 모델 학습 과정 없이 사용 가능하다.
여러 데이터셋, 모델, 응용 분야들에서 CPR 기반 분석을 진행해 다음과 같은 사실들을 입증하였다.
- 1) 모델의 representation과 개념의 조합을 보여주고 동시에 이들이 예측에 미치는 영향을 정량적으로 분석
- 2) 데이터 안에 있는 sprious correlation에 집중해 Clever Hans filter를 식별하고 중화
- 3) 전체 concept의 subspace들과 세밀한 의사결정에 미치는 영향 분석
Activation Maximization (ActMax)와 비슷하게 본 논문에서 제시된 RelMax 접근방식은 학습 데이터셋의 latent encoding에서 가장 중요한 example들을 찾는다.
최종적으로 CRP와 RelMax는 간단한 응용과 computational efficiency로 사용자에게 중요한 영감을 빠르게 전달해준다.
Methods in brief
CRP in brief
Layer-wise Relevance Propagation (LRP)는 기존 neural network를 연관된 input dimension으로 설명하는 기법이다.
- 이 과정에서 relevance는 network를 통해 역전파된다. (Fig 2a)
- Model의 각 intermediate element에도 relevance 값을 전달하게 된다.
- Neural network 구조가 사람이 이해할 수 있는 추상적인 개념들을 encode 하고 있다면 (특히 마지막 layer들에서) channel-wise relevance value는 해당 개념이 최종 예측값에 주는 점수로 해석될 수 있다.
CRP는 LRP의 확장된 버전으로 모델이 학습하는 개념과 연관된 relevance flow를 conditional backpropagation으로 disentangle한다.
- 따라서 concept-conditional relevance map $R(x|\theta)$를 계산할 수 있게 해준다.
- x: 모델이 예측한 data point
- $\theta$: 조절된 masking operation들로 backward 과정에서 relevance flow를 결정하는 여러 조건들
- 예를 들어 강아지의 경우 털, 눈, 입 등.
- 이러한 concept-conditional 설명들은
- 이미지에서 각 개념들이 실제로 어디에 위치해있고
- 예측에 얼마나 기여하는지 보여준다.
또한 이런 condition sets $\theta$는 사람이 직접 선택할 수도 있고 자동으로 설정될 수도 있다.
- 각 layer마다 현재 예측값의 network unit들의 relevance value를 내림차순으로 순서를 매겨 $\theta$를 알고리즘 적으로 선택.
RelMax in brief
비록 CRP를 통해 local attribution을 알 수 있지만 잠재된 모델 구조의 의미는 여전히 알 수 없다.
- 즉, 실제 channel이 encode하는 개념이 "무엇"인지 정확히 알기 어렵다.
잠재된 모델 구조의 의미와 기능을 알아내는 일반적인 방법은 ActMax를 사용하는 것이다.
- Hidden space에 encode된 개념들의 대표하는 sample들을 생성하거나 선택하는 기법이다.
- 하지만 특정 데이터 포인트가 latent encoding을 최대한 활성화한다고 해도 그게 항상 모델의 추론 과정에서 유용하다고 볼 수는 없다.
따라서 본 논문에서는 ActMax를 대신하는 RelMax를 제시한다.
- Latent model feature를 대표하는 sample들을 선택할 때 relevance criterion을 최대화하는 기법이다.
- Figure 3c에 예시로 사전 학습된 VGG-16 모델의 channel 274 layer feature.28은 "털"이라는 개념을 encoding하고 이는 "개"라는 분류를 예측할 때 가장 큰 연관성을 보인다.
- Relevance는 activation과 달리 모델의 예측값과 직접적으로 연관되어 있기 때문에 각 latent feature의 sample들도 결과와 연관성이 크다.
- 따라서 각 latent feature에 대해서 여러 예시들을 얻을 수 있고, 이 예시들은 모델이 어떻게 특정 latent feature를 사용해 예측을 생성하는지 알려준다.
Results
먼저 glocal CPR과 RelMax 기반 접근법으로 각 학습된 개념이 개별 예측값에 어떤 영향을 주는지 연구 접근 방법을 소개한다.
그 후 hidden feature와 그 기능들을 이해하는 것이 어떻게 모델과 상호작용을 돕는지 보여준다.
그리고 개념의 subspace들을 연구해 개념들이 세밀한 의사졀정을 내릴 때의 유사성과 서로 다른 역할을 식별한다.
마지막으로 기존 다른 local XAI 기법들과 비교해 CRP가 가지는 장점을 평가한다.
Understanding concept composition leading to prediction
Figure 3a는 "Northern Flicker" 예측에 사용된 attribution map을 보여준다.
- 새의 머리가 가장 연관된 부분으로 알 수 있다.
- 하지만 결정적인 요소가 눈이나 줄무늬의 색인지 또는 모양인지
- 몸 부분은 얼마나 예측에 기여하는지 알 수 없다.
- 이런 부분을 예측하는 것은 사람에게 달려있고 따라서 잘못된 결론으로 이어질 수 있다.
Figure 3b는 CRP 분석의 결과를 보여준다.
- 조건적인 heatmap들은 각 연관된 개념의 input space 영역을 보여준다.
- 동시에 RelMax를 통해 선택한 reference sample들로 모델이 학습한 영역이 무엇을 의미하는지 보여준다.
- 또 CRP는 각 개념이 최종 분류 결정에 미치는 영향의 정도를 conditional relevance score로 보여준다.
Figure 3c의 concept atlas는 연관된 개념들을 더 이해하기 쉽게 도와준다.
- 주어진 input 이미지 영역들과 가장 연관성이 높은 개념을 시각화한다.
CRP는 선택된 network unit을 통해 lower-level neuron이나 개념들로 어떻게 relevance가 흐르는지 조사하게 해준다.
- 이는 선택된 개념에 영향을 미치는 lower-level 개념들이 무엇인지 알 수 있게 해주고 모델의 전체적인 이해를 돕는다.
- Figure 3d는 relevance score의 backward flow를 시각화해 보여준다.
Understanding concept impact and reach
먼저 CPR을 사용해 Clever Hans artefact를 발견하고 연관된 개념들을 삭제해 올바른 class로 분류되도록 하는 기법을 소개한다.
그리고 class-conditional reference sampling을 통해 inverse search로 연관된 개념을 encoding하는 filter를 사용하는 여러 class를 식별한다.
---
Understanding concept subspaces, (dis)similarities and roles
본 논문에서는 하나의 filter가 학습된 개념을 완전히 encode한다고 가정한다.
- 따라서 예시들도 per-filter의 영향으로 나타낸다.
- 이전 연구들이 개별 neuron이나 filer가 사람이 이해 가능한 하나의 개념의 encode 한다고 제시하지만
- 여러 filter에 학습된 weight들이 correlate 할 수 있고 같은 layer 안에 있는 filter들이 묘사하는 방향이 같은 concept-defining subspace를 span 할 수 있다.
따라서 모델에서의 기능과 activation을 이용해 주어진 neural network의 filter encoding을 조사한다.
Figure 5a는 VGG-16 network features.40의 filter 446 주변 cluster를 보여준다. (t-SNE)
- Filter 446 주변에는 "버튼"이나 "작은 타일" 같은 개념을 다룬다는 것을 알 수 있다.
- 이 cluster에 위치한 filter들은 reference sample들에 대해 비슷한 activation을 가지기 때문에 같은 cluster로 분류되었다.
더 나은 이해를 위해 연관된 개념들을 하나로 합칠 수 있다.
따라서 밀접한 개념을 encode하는 filter 7, 94, 446, 357을 더 조사해서
- 개념들을 협력하여 (colaboratively) encode 하는지
- 부분적으로 중복되는지
- Cluter가 차별적인 역할을 수행하는지 알아내려고 한다.
Figure 5b는 네개의 filter들과 가장 연관성이 높은 "laptop computer"와 "remote control" class의 reference sample들을 보여준다.
- Activation map의 경우 다 비슷한 결과를 보여준다
- 하지만 Conditional heatmap의 경우 모델이 "laptop"과 "remote control"을 구분하는데 사용하는 서로 다른 개념을 명확하게 보여준다.
- 특히 똑같이 버튼이라는 개념을 encode 하지만 filter 7과 94는 동그란 모양의 버튼을 encode하고
- 357은 keyboard button을 나타낸다.
- 두가지 경우 모두 작은 activation을 보이는 filter 446은 typewriter keyboard를 encode 한다는 것을 알 수 있다.
결론적으로 여러 filter가 비슷한 activation을 가진다고 해서 꼭 중복된 정보를 encode하고 있지는 않다.
- CRP와 RelMax 기반 접근법으로 network의 구성 요소들의 역할을 더 자세히 알 수 있다.
Human evaluation study
CRP와 RelMax의 실용성을 테스트하기 위해서 실험을 진행한다.
- 두가지 image classifier를 학습하는데 하나는 이미지에 검고 굵은 boarder를 추가해 학습을 진행한다.
- End user는 모델의 explanation을 보고 해당 artefact가 모델 분류에 영향을 줬는지 결정한다.
- 비교 모델로는 Integrated Gradients (IG), SHapley Additive exPlanations (SHAP), Gradient-weighted Class Activation Mapping (Grad-CAM), LRP를 사용한다.
- 또 explanation에 묘사된 명확도에 기반해 그 답에 얼마나 자신이 있는지 물어본다.
---
Methods
Concept Relevance Propagation
LRP framework를 확장하는 CRP를 소개한다. CRP는 LRP의 기존 assumptions와 특징들을 사용한다.
LRP revisited
이전 글 참고: https://guungyul.tistory.com/33
LRP는 forward pass에서 계산된 activation flow를 반대로 따라간다.
- $f(\mathbf{x}) = f_L \circ \dots \circ f_1(\mathbf{x})$
- 특정한 mapping f에서
- pre-activations $z_{ij}$는 input i를 output j로 mapping
- $z_{ij} = a_i w_{ij}$
- $a_i$: input
- $w_{ij}$: weight parameters
- $z_{ij} = a_i w_{ij}$
- $z_j$는 j에서의 모든 pre-activation의 축적
- $z_j = \sum_i z_{ij}$
- $a_j = \sigma(z_j)$
- pre-activations $z_{ij}$는 input i를 output j로 mapping
- 특정한 mapping f에서
LRP 기법은 $a_j$에 대응하고 upper layer에서 받은 relevance $R_j$를 $z_{ij}$가 $z_j$에 기여하는 정도에 따라 분산한다.
- $R_{i \leftarrow j} = \frac{z_{ij}}{z_j} R_j$
Lower neuron relevance는 모든 relevance message를 빠짐없이 축적해 얻는다.
- $R_i = \sum_j R_{i \leftarrow j}$
Disentangling explanations with CRP
CRP는 LRP에 set of conditions $\theta$로 결정된 conditional relevance propagation을 추가한다.
- 각 condition $c \in \theta$는 neural network 요소의 identifier로 이해된다.
- 예를 들어 개념의 잠재적 encoding을 나타내는 neurons j
- 또는 backpropagation이 시작하는 network output이 될 수도 있다.
CRP framework에서는 기존 LRP 식이 다음과 같이 바뀐다.
- $R_{i \leftarrow j}^{(l-1,l)}(\mathbf{x}|\theta \cup \theta_l) = \frac{z_{ij}}{z_j}\sum_{c_l\in\theta_l}\delta_{jc_l}R_j^l(\mathbf{x}|\theta)$
- $R_j^l(\mathbf{x}|\theta)$: upper layer들에서 $\theta$의 조건 아래 실행된 CRP가 layer output j에 할당하는 relevance이고 lower layer들로 분배되는 relevance이다.
- Sum loop ($c_l \in \theta_l$): Kronecker-delta $\delta_{jc_l}$로 relevance를 더 멀리 전파할 neurons j들을 선택한다.
- 뉴런 j는 계층 l에 특화된 개념 집합 $\theta^l$에 명시된 개념들에 해당한다.
- 결과값 $R_{i \leftarrow j}^{(l-1,l)}(\mathbf{x}|\theta \cup \theta_l)$: concept-conditional relevance message
- Input 값 x가 $\theta$와 $\theta_l$의 조건 하에 최종 예측 값에 대해 가지는 relevance quantity이다.
- CRP는 한번의 backpropagation과 relevance tensor에 binary masking을 추가해 간단하게 구현할 수 있다.
- 논문에서 제시된 깃허브: https://github.com/rachtibat/zennit-crp

- 일반적인 이미지 분류에 사용되는 CNN을 예시로 들어보자.
- 3D latent tensor들(2D coordinate + n spatially invariant convolution filter들)의 계산으로 n 개의 channel의 output activation이 생성되게 된다.
- 추가적인 간소화로 하나의 filter channel이 하나의 latent concept과 연관되어있다고 가정할 수 있다.
- 따라서 neuron j들은 spatial과 channel axes로 그룹되어 CRP condition $\theta_l$이 channel axis에만 적용되도록 제한할 수 있다. 즉,
- $ R_{i \leftarrow (p,q,j)}^{(l-1,l)} (\mathbf{x} | \theta \cup \theta_l) = \frac{z_{i(p,q,j)}}{Z_{(p,q,j)}} \sum_{c_l \in \theta_l} \delta_{j c_l} R_{(p,q,j)}^l (\mathbf{x} | \theta). $
- 여기서 tuple (p, q, j)는 forward pass에서 계산된 activation tensor $z_{(p, q, j)}$의 출력 voxel(volume pixel) 이다.
- 위 Figure 2a는 class 'dog'만을 사용한 explanation과 ($\theta_d=\{dog^L\}$) 'dog와 fur'을 사용한 explanation ($\theta_{df}=\{dog^L, fur^l\}$)을 바교한다.
- Layer L에서 dog라는 개념을, layer l에서 fur이라는 개념을 나타낸다.
- 여기서 'fur'라는 latent 개념과 와 'dog'라는 labelled 개념을 network element 식별자 c를 대신하는 표현 방법으로 사용한다.
- 또한 특별한 조건이 명시되지 않은 layer l'에 대해서는 모든 $\delta_*$는 항상 1로 평가된다 가정해 attribution flow를 제한하지 않도록 한다.
LRP에서 CRP로 상속된 conservation property에 따라 개별 개념들의 global relevance는 $\theta$가 적용된 layer l에서의 input unit들 i의 합으로 구할 수 있다. 즉,
- $ R^l (\mathbf{x} | \theta) = \sum_{i} R_i^l (\mathbf{x} | \theta), $
- 이는 개념적인 중요도를 가지는 지역적인 분석으로 확장될 수 있다. 즉, 흥미가 있는 지역 $\mathcal{J}$에 대해
- $ R^l_{\mathcal{J}} (\mathbf{x} | \theta) = \sum_{i \in \mathcal{J}} R_i^l (\mathbf{x} | \theta), $
- $ R_{(u,v,i) \leftarrow (p,q,j)}^{(l-1,l)} (\mathbf{x} | \theta) = \frac{z_{(u,v,i)(p,q,j)}}{Z_{(p,q,j)}} R_{(p,q,j)}^l (\mathbf{x} | \theta), $
- 이를 공간적 axes에 대해 합산하면
- $ R_{i \leftarrow j}^{(l-1,l)} (\mathbf{x} | \theta) = \sum_{u,v} \sum_{p,q} R_{(u,v,i) \leftarrow (p,q,j)}^{(l-1,l)} (\mathbf{x} | \theta) $
또한 CRP 기법은 recurrent 또는 graph neural network에도 동일하게 적용될 수 있다.
Selecting reference examples
Activation Maximization
많은 feature visualization 기술들은 ActMax에 기반한다.
- 간단하게 특정 network unit에 가장 큰 activation을 주는 input image를 찾는다.
- 존재하는 데이터 중에서 reference sample를 선택해 feature visualization과 분석에 사용하는 최근 연구들이 있다.
Neruon 그룹에 나타나는 특정 개념 c의 reference sample들은 sample들이 야기하는 activation의 strength에 따라 정해진다.
- Convolution layer filter들의 경우 spatially invariant하다.
- 따라서 convolution layer들에서는 하나의 neuron이 아닌 전체 filter channel을 조사한다
Maximization target $\mathcal{T}(x)$를 고르는 하나의 방법은 모든 channel activation들의 합이 최대가 되는 sample $x^{\star} \in x_d$을 고르는 것이다. 즉,
- $\mathcal{T}_{\text{sum}}^{\text{act}}(\mathbf{x})=\displaystyle\sum_i z_i(\mathbf{x})$
- 선택된 sample들은 channel의 concept을 여러 input feature들을 통해 보여준다.
- 하지만 concept-supporting과 contradicting feature들을 모두 포함한 reference sample은 선택될 수 없다는 문제가 있다.
따라서 또 다른 방법으로 ReLU같은 nonlinearity를 $z_i(x)$에 적용해 긍정적인 영향을 미치는 activation만을 고려할 수 있다.
- $\mathcal{T}_{\max}^{\text{act}} (\mathbf{x}) = \max\limits{i} z_i (\mathbf{x}),$
- 선택된 sample들은 보다 지역적이고 channel의 개념을 나타내는 feature들에 더 강한 activation을 준다.
- 하지만 이런 sample들은 작은 영역만 개념과 연관되어있을 수 있어 더 이해하기 어려울 수 있다.
여러 reference image를 얻기 위해서는 maximation target $\mathcal{T}(\mathbf{x})$에 따라 내림차순으로 정렬해야 한다. 즉,
- $\mathcal{X}^{\star} = \{\mathbf{x}_1^{\star}, \dots, \mathbf{x}_n^{\star}\} = \operatorname*{argsort}_{\mathbf{x} \in \mathcal{X}_d}^{\text{desc}} \mathcal{T}(\mathbf{x})$
- 선택되는 set을 다음과 같이 정의한다.
- $\mathcal{X}_k^{\star} = {\mathbf{x}_1^{\star}, \dots, \mathbf{x}_k^{\star}} \subseteq \mathcal{X}^{\star}$
Relevance Maximization
ActMax를 대체하는 기법인 RelMax를 소개한다.
- RelMax는 maximal activation response를 생성하는 이미지를 찾는 것이 아닌
- 예측에 사용되는 연관된 개념들을 포함한 이미지를 찾는다.
가장 연관된 sample들을 찾기 위해 maximization target $\mathcal{T}_*^{rel}(\mathcal{x})$을 주어진 예측값의 neuron i의 relevance $R_i (\mathbf{x} | \theta)$로 정의한다. 즉,
- $\mathcal{T}_{\text{sum}}^{\text{rel}}(\mathbf{x}) = \sum_{i} R_i(\mathbf{x} \mid \theta)
\quad \text{and} \quad
\mathcal{T}_{\max}^{\text{rel}}(\mathbf{x}) = \max_{i} R_i(\mathbf{x} \mid \theta).$
Relevance score $R_i (\mathbf{x} | \theta)$에 기반하기 때문에 maximization target은
- class-specific ($\theta$에 의존), model-specific, concept-specific ($\theta$에 의존)하다.
- 따라서 reference sample들은 추론 과정에서 실제로 모델에 유용한 개념의 측면만을 묘사하는 샘플들만을 포함한다.