일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Explainable AI
- 코딩테스트
- Cam
- grad-cam
- Interpretability
- 딥러닝
- 시계열 분석
- 기계학습
- python
- 설명가능한
- SmoothGrad
- xai
- GAN
- Class activation map
- meta-learning
- coding test
- 백준
- Deep learning
- 메타러닝
- Unsupervised learning
- 머신러닝
- Machine Learning
- 코딩 테스트
- AI
- 설명가능한 인공지능
- Artificial Intelligence
- 인공지능
- keras
- cs231n
- Score-CAM
- Today
- Total
iMTE
Towards Learning Spatially Discriminative Feature Representation 내용 정리 [XAI-21] 본문
Towards Learning Spatially Discriminative Feature Representation 내용 정리 [XAI-21]
Wonju Seo 2021. 9. 13. 13:40논문 제목 : Towards Learning Spatially Discriminative Feature Representation
논문 주소 : https://arxiv.org/abs/2109.01359
Towards Learning Spatially Discriminative Feature Representations
The backbone of traditional CNN classifier is generally considered as a feature extractor, followed by a linear layer which performs the classification. We propose a novel loss function, termed as CAM-loss, to constrain the embedded feature maps with the c
arxiv.org
주요 내용 정리 :
1) 저자는 class activation map (CAM)을 loss에 포함시켜서 더 나은 image classification, regularization effect, transfer learning, few shot learning, 마지막으로 knowledge distilation을 유도하는 방법을 제시하였다. 결과에서는 CAM loss가 성능을 향상시키는데, CAM이 background에 대한 effect를 suppress하고 discriminative한 부분들 더 강조하게 되는 것이다.
밑의 그림을 보면 class-agnostic activation map (CAAM) 결과를 보면, cross entropy (CE)를 사용한 것 보다 CAM-loss를 사용한 결과가 lable accuracy가 높다는 것을 알 수 있다. CE 경우, CAAM은 background 혹은 주요하지 않은 (ox를 보면 검정색 part는 black bear와 비슷하다) 부분까지도 고려한다. 반면, CAM loss는 이런 부분 보다는 더 discriminative 한 부분 (ox를 보면 얼굴 쪽) 부분을 더 보고, 주요하지 않은 부분과 background는 suppress 하는 것을 확인 할 수 있다.

2) 먼저, CAM을 정의하자
fk(x,y)는 k-th feature map의 (x,y)에서의 activation을 의미한다. Global average pooling layer를 통과한 이후 fk는 다음과 같이 변환된다.
위 식에서 H 와 W는 feature map의 크기이다. 주어진 target class i에 대해서, softmax layer의 입력은 다음과 같이 표현된다.
위 식에서 wik는 unit k에 대한 class i에 대응되는 weight이 되고, class i에 대한 Fk의 중요도를 나타낸다. 최종적으로, zi는 다음과 같이 표현된다.
위 식으로 부터 CAM은 다음과 같이 표현된다.
다음으로 CAAM 은 다음과 같이 표현된다.
CAAM과 CAM을 min-max normalization 한 이후에 Lcam은 다음과 같의 정의된다.
위 식을 통해서, CAAM′이 CAM′에 가깝게 되도록 될 것이다.
Lce는 다음과 같이 정의 되며 (Cross-entropy), 최종 CAM-Loss는 다음과 같다.
α는 combination ratio이다. 주요한 점은, Lce는 W를 update 하고, Lcam은 θ를 update 한다. 이렇게 하는 이유는 W와 Lcam 사이의 correlation을 제거하기 위함이다. (여기서 W는 global averge pooling 이후의 fully connected layer의 weights을 의미하고, θ 는 backbone의 weights이다.)

α의 경우 다음의 식을 통해서 정하는데, 특정 epoch을 넘어가면 c가 0이 아니고, 특정 epoch 전에는 c가 0이 된다. 이렇게 하는 이유는 처음 학습시에 생성된 CAM은 너무 discrete하며, 마지막 epoch에 가까울 수록 CAM이 더 나은 heatmap을 만들어 주기 때문이다. α는 밑의 ablation test를 통해서 결정되었다.

Knowledge distilation의 기존 방법은 weak student가 strong teacher를 따라하게 하는데, 이때 그들 사이의 Kullback-Leibler divergence를 최소화하는 방법을 사용했다. 최종적인 Loss는 다음과 같다.
위 식에서 β와 γ는 combine ratio 이다. 위 식을 자세하게보자면,
위 식에서 τ는 temperature factor, pτsi는 studnet의 soft target이고, pτti는 teacher의 soft target 이다.
다음으로, Lat는 두 모델의 attention map의 일치 정도를 보는 것으로, 다음과 같다.
위 식에서 CAM′si은 normalized student CAM, CAM′ti는 normalized teacher CAM 을 의미한다.
저자가 제안하는 CAAM-CAM matching (CCM)은 AT와 다르게 student의 CAAM을 사용하는 점이 다르다. 이는 다음과 같이 표현된다.
위 식에서 CAAM′s는 normalized student CAAM 이다.
(논문에서 Lccm이 Lat만 사용하는 것 대비 왜 좋은 효과를 나타내는지 나타내고 있는데, 이 부분은 한 번 읽어보길 바란다.)
전체적인 CAM-loss의 구조는 다음과 같다.

3) Results
(1) Image classification, apply to various network structure : 밑의 표를 보면, CAM-loss를 사용했을 때, top 1 error가 모든 모델, 두 데이터 셋에서 낮아졌음을 확인 할 수 있다.

또한, 밑의 그림을 보면 CAM-loss가 regularization effect를 줄 수 있음을 보여주고 있다.

(2) Combine with regularization methods : 다양한 regularization methods를 사용 했을 때에도, CAM-loss를 사용하거나 같이 사용하는 경우 상당한 성능 향상을 보여주었다.

(3) Compare with other loss functions : 다른 loss function 과도 비교할 때, 성능이 향상되었음을 알 수 있다.


(4) Transfer learning : ImageNet-1k 에 pre-trained 된 모델을 CUB과 stanford dogs 데이터 셋에 fine-tuning을 했을 때에도, 단순 CE를 사용한 경우보다 CAM-loss를 사용한 경우 더 나은 성능을 보여주었다.

(5) Few shot learning : few shot learning case에 대해서도 CAM loss를 사용하는 경우 더 나은 성능을 보여 주었다.

여기서 왜 CAM-loss가 few shot learning 성능을 향상시켰을까? 저자는 CAM-loss가 background에 대한 effect를 suppress 하기 때문이다. 밑의 그림을 보면 few shot image classificaiton은 background에 영향을 받는 것으로 보인다.

(6) Knowledge distilation : Knowledge distilation 결과를 보면, KD, AT에 비해서 제안된 CCM이 더 나은 성능을 보여주었음을 알 수 있다.

+
최근 연구에서 CAM이 background effect를 제거하고 discriminative한 부분은 더 강조하는 역할로써 성능 향상이 되는 효과를 보여주고 있는 것으로 보인다. 아마 CAM 사용은 성능 향상에 필수적으로 사용 될 것으로 생각된다. 이는 모델의 설명가능성이 성능 향상에 도움된다는 것을 의미할 수 있음으로 매우 유의미한 발전으로 해석된다.