Paper Review/Continual Learning (CL)

[CVPR 2020] Few-Shot Class-Incremental Learning

이성훈 Ethan 2023. 3. 12. 21:11

- Introduction

 

Real world 에선 pre-defined class 이외에도 user-defined class 에 adapt 되어야하는데, 굉장히 few 인 경우가 존재한다. 

이런 상황에서도 새로운 class 에 대하여 잘 학습하기 위해서 few-shot class-incremental learning 이 존재한다.

 

하지만 fewshot 상황에서 일반적인 finetune 을 적용하게되면 두 가지 severe problem을 일으킨다.

1. Forgetting old: Catastrophic forgetting 으로 인해 이전 데이터들에 대한 성능이 감소

2. Overfitting new: 적은 수의 support set 으로 인해 새로운 class 에 overfitting 되어 generalization ability 를 잃게 됨

 

일반적인 Class Incremental Learning 에선 Knowledge Distillation 을 이용하여 forgetting을 완화시키지만, KD에는 문제점들이 존재한다. ► 2023년 기준으로는 CIL에서 KD가 많이 쓰이지 않는 추세

1. Class imbalance: Train sample 이 더 많은 class 에 bias 되는 현상

2. Performance trade-off: Old 와 new class 사이의 trade off

 

Topology-Preserving Knowledge Incrementer (TOPIC) 은 neural gas (NG) network 를 사용하여 feature space 의 topology 를 모델링

1. Forgetting 을 방지하는 anchor loss (AL)

2. Overfitting 을 방지하는 min-max loss (MML)


- Method

Knowledge Distillation 을 사용하면 여러가지 imblance issue 발생 → NG network 를 이용

 

Algorithm

(a): NG 가 centroid $v_i$ 로 대표되는 $F_i$ 공간들로 분리

(b): 새로운 데이터로 모델을 학습하는 경우 boundary의 뒤틀림이 발생

(c): Anchor-loss 를 통해 topology 를 유지

(d): 새로운 class 를 위해 $v_7$ 가 추가되는데, $d(f,v_5)<d(f,v_7)$ 로 인해 $f$ 가 $v_5$ 로 매치됨

(e): (d) 에서 mismatch 를 refine 해주기 위해 $f$ 를 $v_7$과 가깝게 push, $v_4$,$v_5$,$v_6$ 과 멀게 pull away

(f): topology update

 

NG 의 node $j$ 를 $v_j$ 로 redefine

$v_j = (m_j, \Lambda_j, z_j, c_j)$

$m_j$: $F_j$ 를 represent 하는 centroid

$\Lambda_j$: $m_j$ 의 각 dimension 의 variance

$z_j, c_j$: image, label

 

 

Less-Forgetting Neural Gas Stabilization

Anchor Loss

 

 

Less-Overfitting Neural Gas Adaptation

Min-Max Loss

Total Loss


- Experiments

 

  • Datasets
    • CIFAR100: 60/40, 5way 5shot
    • MiniImageNet: 60/40, 5way 5shot
    • CUB200: 100/100, 10way 5shot
  • Backbone
    • QuickNet
    • ResNet18

CIFAR100, miniImageNet
CUB200, ResNet18


- Discussion

기존에 없던 FSCIL 이라는 task 를 새로 정의하였음

따라서 experiment에서 비교한 method 들은 일반 CIL method 이기 때문에 overfitting 부분을 해결하는 loss 는 따로 없다는 것을 인지해야함


- Reference

[1] Tao, Xiaoyu, et al. "Few-shot class-incremental learning." CVPR 2020 [Paper link]