일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Cam
- grad-cam
- coding test
- SmoothGrad
- Interpretability
- Class activation map
- 기계학습
- Artificial Intelligence
- 백준
- python
- Machine Learning
- keras
- 시계열 분석
- 코딩 테스트
- AI
- Unsupervised learning
- 코딩테스트
- cs231n
- Deep learning
- 머신러닝
- 설명가능한 인공지능
- xai
- GAN
- 딥러닝
- 메타러닝
- 인공지능
- Score-CAM
- 설명가능한
- Explainable AI
- meta-learning
- Today
- Total
iMTE
Revisiting The Evaluation of Class Activation Mapping for Explainability: A Novel Metric and Experimental Analysis 내용 정리 [XAI-23] 본문
Revisiting The Evaluation of Class Activation Mapping for Explainability: A Novel Metric and Experimental Analysis 내용 정리 [XAI-23]
Wonju Seo 2021. 11. 11. 15:46논문 제목: Revisiting The Evaluation of Class Activation Mapping for Explainability: A Novel Metric and Experimental Analysis
논문 주소: https://openaccess.thecvf.com/content/CVPR2021W/RCV/html/Poppi_Revisiting_the_Evaluation_of_Class_Activation_Mapping_for_Explainability_A_CVPRW_2021_paper.html
주요 내용 정리:
1) 증가된 deep learning 방법에따라 deep learning model을 설명하려는 시도들이 진행이 되었다. 이 중 CAM 방법은 visualization activation map을 생성해냄으로 직관적으로 이해가 가능하다. 이 논문의 저자는 CAM 기반의 방법을 평가하는 다양한 metrics를 하나의 single-value 로 계산해내는 새로운 metric을 제안하였다.
2) CAM 은 밑의 그림처럼 나타내며, Explanation map은 input image $x$와 $CAM_c(x)$의 element-wise multiplication으로 계산된다.
$$ CAM_c(x) = ReLU(\sum_{k=1}^{N_l}\alpha_k A_k)$$
CAM 기반에서 주요 세가지 metrics가 사용된다.
(1) Average drop: input image가 주어진 경우와 explanation map이 주어진 경우 둘 사이의 confidence의 차이를 계산해내는 방법이다.
$$ max(0,(y_c-o_c)/y_c)\times 100$$
위 식에서 $y_c$는 input image를 사용 했을 때의 output score, $o_c$는 explanation map을 사용 했을 때의 output score를 의미한다.
(2) Average Increase: explanation map을 사용 했을 때 model의 confidence가 높아지는 이미지들의 갯수를 세는 방법이다.
$$1_{y_c <o_c}\times 100$$
(3) Insertion and deletion: Deletion은 image에 주요한 pixel (CAM으로 만들어진)을 지울때 target class에 대한 probability의 감소를 측정한다. 반대로 insertion은 CAM으로 만들어지는 pixels들을 추가할 때 target class에 대한 probability의 증가를 측정한다.
3) 이러한 metrics 사용의 한계는 (1) 서로 다른 metrics을 사용하고 비교하는 것은 복잡하다는 것이며, (2) average increase는 너무 discrete하고 average drop만 사용하는 경우 잘못된 평가를 유도할 수 있다.
Average drop과 average increase에 대한 한계를 설명하기 위해서, 저자는 "fake" CAM을 생성해낸다. fake CAM은 다음의 과정을 통해 생성된다: Top-left pixel을 제외하고 모든 pixels에서의 weight을 $1/{N_l}$로 정한다. $N_l$은 activation maps의 개수이다. Top-left pixel에서의 weight은 0 이다.
이렇게 되면, top-left pixel을 제외하고 CAM의 결과는 모든 곳에서 1이 된다. 생성된 CAM이 original image와 거의 비슷하기 때문에, average increase of Fake-CAM은 일반적으로 높다. Fake-CAM은 의미없는 explanation map을 생성해내기 때문에, 단순히 average drop과 average increase를 사용하는 것은 한계가 있는 것이다. 따라서, 저자는 새로운 metric을 제안한다.
새로운 metric은 average DCC로 다음과 같이 표현된다.
$$ADCC(x)=3(\frac{1}{Coherency(x)}+\frac{1}{1-Complexity(x)}+\frac{1}{1-AverageDrop(x)})^{-1}$$
먼저, Coherency는 간단하게, input image로부터 생성된 CAM은, 생성된 explanation map으로부터 생성된 CAM과 같아야 한다는 것이다. 즉, 다음을 만족해야한다.
$$CAM_c(x\odot CAM_c(x)) = CAM_c(x)$$
Coherency를 측정하기 위해서 Pearson correlation coefficient를 사용하였다.
$$Coherency(x)=\frac{Cov(CAM_c(x\odot CAM_c(x)),CAM_c(x))}{\sigma_{CAM_c(x\odot CAM_c(x))}\sigma_{CAM_c(x)}}$$
Pearsone correlation coefficient 값은 -1부터 1임으로 이를 0부터 1로 normalize를 하였다.
다음으로, 생성된 CAM은 적은 수의 pixels을 포함해야한다는 것이다. 이를 저자는 minimum complexity라고 표현하였다.
$$Complexity(x)=||CAM_c(x)||_1$$
마지막으로, average drop은 최소가 되어야 한다는 것이다 (Minimum confidence drop).
4) 다음은 Grad-CAM, XGrad-CAM, Grad-CAM++, SmoothGrad-CAM++, ScoreCAM에 제안하는 metric을 적용시킨 결과이다.
위를 보면 대부분 ScoreCAM이 가장 높은 ADCC를 보이는 것을 알 수 있다. 다음으로 다양한 backbones에 대해서 performance 결과이다.
주목할 점은, Average drop과 average increase 경우 Fake-CAM이 좋은 성능을 보이는 것을 알 수 있다. (이는 이 두 metrics의 limitation 이다.) 반면, 제안된 ADCC는 Fake-CAM에 대해서 낮은 점수를 보여주고 있다.
+
저자는 기존 CAM 기반의 방법의 성능을 평가하기 위해 사용되었던 metrics 대신에 새로운 ADCC를 제안하였다. ADCC는 single-valued metric으로 다른 복잡한 metrics을 사용하지 않아도 되며, coherency, complexity, average drop 세개의 metric을 포함하기 때문에 통합적으로 사용할 수 있으며, 마지막으로, Fake-CAM에 대해서 강인한 특징을 보여준다.