[CVPR 2020] Maintaining Discrimination and Fairness in Class Incremental Learning (WA) 핵심 리뷰

This entry is part 19 of 22 in the series Incremental Learning

내용 요약

기존의 Distillation + Exemplar 방식에 Weight Align기능을 추가한 Incremental Learning 방법론을 제안합니다. New Class Weight Norm을 Old Class Weight Norm과 같은 비중으로 보정해줍니다.

1. 들어가며

이번 글에서는 CVPR 2020에서 발표된 Maintaining Discrimination and Fairness in Class Incremental Learning (WA) 논문을 리뷰합니다. 이 논문은 WA라고 불리며, 이번 글에서도 WA라고 지칭하겠습니다.

전체-흐름-속에서-보기
그림1. Incremental Learning 전체 흐름

Incremental Learning을 방법론에 따라 크게 구분하면 위의 그림과 같이 구분할 수 있습니다.

  • Regularization : 이전 task에서 학습한 네트워크의 파라미터가 최대한 변하지 않으면서 새로운 task를 학습하도록 유도
  • Distillation : 이전 task에서 학습한 파라미터를 새로운 task를 위한 네트워크에 distillation
  • Distillation + Memory : 이전 task의 데이터를 소량 메모리로 두고 새로운 task학습 때 활용
  • Distillation + Memory + Bias correction : 새로운 task에 대한 bias를 주요 문제로 보고, 이에 대한 개선에 집중
  • Distillation + Memory + Dynamic structure : task에 따라 가변적으로 적용할 수 있는 네트워크 구조를 사용
  • Distillation + Memory + Generative model : 이전 task의 데이터를 generative model을 사용하여 replay 하는 방식을 사용
  • Dynamic structure : Pruning / Masking 등을 사용하여 task별로 사용할 파라미터 또는 네트워크 등을 정해줌

WA는 Distillation + Memory + Bias correction에 해당하는 방법 중 하나입니다.

2. 제안 방법

바로 제안하는 방법을 살펴보겠습니다. 문제 의식을 같이 하는 BiC, LUCIR과 비교하며 이해하면 좋습니다.

2-1. Baseline

먼저 baseline 모델을 살펴보겠습니다.
저자들은 CE + Knowledge Distillation loss 모델을 baseline으로 잡습니다.

CE+KD loss
그림2. CE+KD loss

이때 CE loss는 다음과 같습니다.

CE-loss
그림3. CE loss

Knowledge Distillation loss는 다음과 같습니다.

KD-loss
그림4. KD loss

2-2. Distillation loss의 한계

저자들은 baseline 모델의 가장 큰 문제점으로 Knowledge Distillation loss를 말합니다.
CIFAR100을 incremental learning 방식으로 테스트한 결과를 살펴보겠습니다.

CIFAR100-test
그림5. CIFAR100 test

결과를 보면 CE로 학습할 때 보다 CE+KD로 학습했을 때 old 클래스에서의 에러가 줄어드는 모습을 볼 수 있습니다. (1333개 -> 1012개) 하지만 old 클래스를 new 클래스로 구분하는 경우는 증가하는 모습을 볼 수 있습니다. (4027개 -> 4314개)

왜 그럴까요?
이는 모델 입장에서 생각해보면 new class라고 대답해서 틀리는 게 old class로 구분했다가 틀리는 것보다 loss를 적게 받기 때문입니다. 게다가 incremental learning 특성상 task가 추가될수록 잘못 학습한 모델로부터 distillation이 되면서 이 문제는 점점 크게 부각됩니다. 따라서 저자들은 이를 보정해줄 필요가 있다고 주장합니다.

2-3. Methodology

이제 저자들의 methodology를 보겠습니다.

image 8
그림6. WA 전체 과정

제안 방법은 크게 2개의 단계로 나뉩니다.

첫 번째 단계는 baseline 모델 (CE + KD)로 학습하는 단계입니다. 저자들은 이 단계에서는 discrimination을 유지하는 단계라고 표현합니다.

두 번째 단계가 사실상 저자들의 제안 방법인데요. old class와 new class의 norm을 공평하게 맞춰주는 단계입니다. 먼저 weigth vector의 norm을 분석한 결과를 보겠습니다.

weight-vector-norm-분석
그림7. weight vector norm 분석

Old class의 norm 대비 new class의 norm이 상대적으로 큰 모습을 볼 수 있습니다. 따라서 이를 normalize 해 줄 필요가 있습니다. 이에 저자들은 old class norm와 new class norm의 평균값으로 new class norm을 보정해주는 방법을 제안합니다.

new-class-norm
그림8. new class norm

3. 실험 결과

다음은 이렇게 제안한 방법의 실험 결과를 살펴보겠습니다.

3-1. Effect of weight aligning

먼저 WA의 효과를 살펴보겠습니다.

다음은 CIFAR100의 incremental learning 성능을 방법에 따라 분류한 표입니다.

CIFAR100-성능
그림9. CIFAR100 성능

또 confusion matrix도 같이 살펴보겠습니다.

confusion-matrix
그림10. confusion matrix

결과를 보면 KD가 단독으로 사용된 var3에서는 약간의 성능 향상을 볼 수 있습니다. WA를 사용할 때 성능 향상폭이 가장 크며 WA + KD + WA를 전부 사용했을 때 가장 큰 성능 향상이 있었습니다.

3-2. Comparison to other methods

다른 방법들과 비교를 해보겠습니다.

다음은 ImageNet을 incremental learning 방법으로 실험한 성능입니다.

ImageNet-성능
그림11. ImageNet 성능

또 다음은 CIFAR100을 incremental learning 방법으로 실험한 성능입니다.

CIFAR100-성능
그림12. CIFAR100 성능

WA와 가장 유사한 방법은 BiC입니다. WA는 BiC와 달리 별도의 validation data를 사용하지 않고도 더 높은 성능을 보이고 있습니다.

4. Ablations

다음은 ablations를 살펴보겠습니다.

ablations
그림13. ablations

먼저 그림 a를 보겠습니다.
그림 a는 weight를 제한했을 때의 효과에 대한 실험 결과입니다. Weight를 positive로 제한했을 때 (빨강) 성능 향상이 있었습니다. 저자들은 이에 대해 weight norm이 output logit과 더 일치해지기 때문이라고 해석합니다.

다음은 그림 b를 보겠습니다.
그림 b는 norm의 종류에 따른 효과에 대한 실험 결과 입니다. L1 norm과 L2 norm 종류는 성능에 큰 영향을 주지 않음을 볼 수 있습니다.

다음은 그림 c를 보겠습니다.
그림 c는 FC layer의 bias 효과에 대한 실험 결과입니다. Bias를 추가하면 약간의 성능 향상이 있는 모습을 볼 수 있습니다.

다음은 그림 d를 보겠습니다.
그림 d는 exemplar selection strategy에 따른 효과에 대한 실험 결과입니다. Herding 방식과 random 방식을 비교했을 때 큰 성능 차이는 없는 모습을 볼 수 있습니다.

Series Navigation<< [CVPR 2020] Conditional Channel Gated Networks for Task-Aware Continual Learning (CCGN) 핵심 리뷰[ECCV 2020] PODNet: Pooled Outputs Distillation for Small-Tasks Incremental Learning 핵심 리뷰 >>
0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x
Scroll to Top