일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Artificial Intelligence
- Explainable AI
- 시계열 분석
- 딥러닝
- 기계학습
- coding test
- Class activation map
- cs231n
- meta-learning
- 메타러닝
- Score-CAM
- Machine Learning
- xai
- 설명가능한
- Cam
- GAN
- SmoothGrad
- python
- 설명가능한 인공지능
- keras
- AI
- 코딩 테스트
- 머신러닝
- 백준
- Unsupervised learning
- Deep learning
- 인공지능
- 코딩테스트
- Interpretability
- grad-cam
- Today
- Total
iMTE
Axiom-based Grad-CAM: Towards Accurate Visualization and Explanation of CNNs 내용 정리 [XAI-15] 본문
Axiom-based Grad-CAM: Towards Accurate Visualization and Explanation of CNNs 내용 정리 [XAI-15]
Wonju Seo 2021. 8. 12. 16:43논문 제목 : Axiom-based Grad-CAM: Towards Accurate Visualization and Explanation of CNNs
논문 주소 : https://arxiv.org/abs/2008.02312
주요 내용 정리:
1) 이 논문에서 정의하는 axiom 중 sensitivity와 conservation을 최적화하도록 Grad-CAM을 디자인 한 결과, 기존 CAM 기반의 방법들 (Grad-CAM, Grad-CAM++, Ablation-CAM)보다 성능이 좋았음을 보였으며, Grad-CAM++가 왜 class discriminative한 성격이 약한지를 정의된 sensitivity와 conservation 계산으로 이를 설명할 수 있음을 보였다.
2) 먼저, CNN의 decision에 대해서 시각화 하는 방법은 총 세가지로 나뉜다.
(1) Perturbation-based method : masking을 사용해서 class score의 변화로 주요 image region이 어디인지 확인하는 방법이다. 이 방법은 직관적이지만 비효율적이다.
(2) Propagation-based method : 이 방법의 경우 gradient를 계산하여 saliency map을 만들어 내는 방법이다. 이 경우 gradients가 noisy 함으로 noisy한 특성을 갖고 있는데 noise를 추가하여 smoothing을 하는 방법이 사용 된다.
(3) Activation-based method : 이 논문에서 사용하는 방법으로 각 feature map에 서로 다른 weight을 주어서 주요 image regions을 highlight 하는 방법이다. 주된 방법은 CAM, Grad-CAM 등이 있다.
3) Axioms은 총 4개로 (1) continuity, (2) implementation invariance, (3) sensitivity, (4) conservation 이다. 이 중 이 논문은 sensitivity와 conservation을 주로 고려하였음으로, 이것들만 확인해보자.
(1) Sensitivity : 이는 특정 i 번째 feature를 제거했을 때와 제거하기 전의 모델의 결과의 차이는 i 번째 feature 를 제거했을 때의 설명과 동일해야 한다는 것이다.
$$R_i(x;m) = f(x;m)-f(x|x_i;m) $$
위 식에서 $R_i(x;m)$은 i 번째 feature에 대한 모델 출력의 중요도, $f(x;m)$은 model m의 함수를 의미하고, $x$는 입력, $x|x_i$는 i-th feature가 제거된 상황을 의미한다. (zero)
(2) Conservation : 이는 모델의 출력의 크기가 explnation respones의 sum과 일치해야함을 의미한다.
$$f(x;m)=\sum_{i=1}^d(R_i(x;m))$$
위 식에서 $d$는 feature의 개수를 의미한다.
4) Class c에 대해서 CAM 방법은 다음과 같이 표현된다.
$$M_c(x,y)=\sum_{k=1}^K (w_c^kF^{lk}(x,y))$$
위 식에서 $c$는 target class, $K$는 총 feature map 갯수, $x,y$는 좌표, $w_c^k$는 $l$ 번째 layer의 $k$ 번째 feature map의 weight, $F^{lk}$는 $l$ 번째 layer의 $k$번째 feature map의 response를 의미한다. CAM의 종류에 따라서 $w_c^k$는 다른 방식으로 계산된다. 다음으로 $M_c$는 ReLU를 통과하여 negative units을 고려하지 않고, upsample이 되어 input image와 동일한 size로 resize 된다.
CAM 방법에서 sensitivity와 conservation은 다음과 같이 표현된다.
(1) Sensitivity:
$$S_c(F^l) - S_c(F^l|F^{lk})=\sum_{x,y}(w_c^k F^{lk}(x,y))$$
위 식에서 $S_c(F^l)$은 target class $c$에 대한 class score를 의미한다. $S_c(F^l|F^{lk})$는 $l$ layer의 $k$번째 feature map을 0으로 바꿨을 때의 class score를 의미한다. Sensitivity는 각 feature map의 중요도는 그 feature map을 제거했을 때의 class score의 변화와 동일해야 한다는 것을 의미한다.
(2) Conservation:
$$S_c(F^l)=\sum_{x,y} (\sum_{k=1}^K (w_c^k F^{lk}(x,y))$$
Conservation은 CAM map의 responses는 class score의 redistribution 되어야 한다는 것을 의미한다.
이 두개념은 결국 주요한 feature map이 class score와 연관을 갖도록 하는 것이고 이를 minimization problem으로 나타내면 다음과 같이 나타낼 수 있다.
$$\phi(w_c^k) = \sum_{k=1}^K |S_c(F^l)-S_c(F^l|F^{lk})-\sum_{x,y}(w_c^k F^{lk}(x,y))|+|S_c(F^l)-\sum_{x,y}(\sum_{k=1}^K (w_c^k F^{lk}(x,y))|$$
앞의 식은 sensitivity를 뒤의 식은 conservation을 의미한다.
이 논문에서는 sensitivity와 conservation 기반의 Grad-CAM (XGrad-CAM)을 제안하는데, $w_c^k$는 다음과 같이 정의된다. (어떻게 이런 식을 얻는지에 대해서는 논문을 보는 것을 추천한다.)
$$\alpha_c^k = \sum_{x,y}(\frac{F^{lk}(x,y)}{\sum_{x,y}F^{lk}(x,y)}\frac{\partial S_c(F^l)}{\partial F^{lk}(x,y)})$$
따라서, 최종 CAM은 다음과 같이 표현된다.
$$M_c^{XGrad-CAM}(x,y) = \sum_{k=1}^K (\alpha_c^k F^{lk}(x,y))$$
다음으로 ReLU를 취하고, upsampling을 사용하여 input image size로 resize를 해준다.
XGrad-CAM 방법은 밑의 그림에 표현되어있다.
5) 결과를 보면 다음과 같다. 먼저, class discrimination은 subject를 모집하여, CAM이 만들어내는 explnation에서 어떤 object를 나타내는지 평가하도록 하였다. 다음으로 confidence drop은 생성된 CAM을 masking 했을 때, class score가 감소되는 정도를 평가하였다.
위 테이블에서, Grad-CAM은 가장 높은 class discrimination score와 높은 efficiency를 보여주었다. 반면 Grad-CAM++은 높은 confidence drop을 보여주었지만, 가장 낮은 class discrimination score를 보여주었다. 다음으로 Ablation-CAM은 Grad-CAM 보다 살짝 낮은 성능을 보여주었지만, efficiency가 매우 심각하게 나빴다. 마지막으로, 저자들이 제안한 XGrad-CAM은 꽤 괜찮은 성능을 보여주고 있음을 알 수 있다.
다음으로, sensitivity와 conservation을 계산해본 결과를 확인해보자.
위 테이블에서, 낮은 sensitivity와 conservation은 선호된다. 위 테이블을 통해서 XGrad-CAM이 상당히 sensitivity와 conservation이 낮다는 것을 알 수 있다. 또한, Grad-CAM++이 sensitivity와 conservation이 높은데, 이는 class discrimination score가 낮은 이유를 설명한다.
Visual explanation을 확인해보면, XGrad-CAM이 Grad-CAM, Grad-CAM++에 비해서 상당히 localization을 잘하고 있음을 알 수 있다.
+
이 논문의 핵심 아이디어는 주요 axiom 중 sensitivity와 conservation을 Grad-CAM의 weights을 결정하는데 사용함으로써, sensitivity, conservation이 낮으면서도 준수한 class discrimination score와 confidence drop을 갖는 XGrad-CAM을 제안하였다.