PR-339: Maintaining discrimination and fairness in class incremental learning
Paper link: http://arxiv.org/abs/1911.07053
Video presentation link: https://youtu.be/hptinxZIXT4
#class imbalance, #knowledge distillation, # class incremental learning
3. 2. Methods
1. Research Background 3
Class incremental learning
많은 real-world application에서, streaming data로부터 점진적으로 새로운 class들을 학습해야 하는
경우가 있는데, 이를 class incremental learning이라고 한다.
A vanilla method for class incremental learning.
/ 24
4. 2. Methods
1. Research Background 4
• 일반적으로 vanilla incremental learning으로 학습된 모델은 새로 추가된 class로 예측하려는 경향이 있다.
Motivation - catastrophic forgetting issue
/ 24
5. 2. Methods
1. Research Background 5
Previous works - catastrophic forgetting 해결
Old data의 일부를 활용
(Old exemplar)
Old data를 생성하는 모델을 활용
(Generative model)
Old data를 학습한 모델을 활용
(Knowledge distillation)
Old data에 대한 additional memory를 만들고, 이를 활용해 catastrophic forgetting을 막는다.
/ 24
6. 2. Methods
1. Research Background 6
Previous works - catastrophic forgetting 해결
Old data의 일부를 활용
(Old exemplar)
Old data를 생성하는 모델을 활용
(Generative model)
Old data를 학습한 모델을 활용
(Knowledge distillation)
Old data에 대한 additional memory를 만들고, 이를 활용해 catastrophic forgetting을 막는다.
Figure from: Belouadah, Eden, and Adrian Popescu. "Il2m: Class incremental
learning with dual memory." ICCV 2019.
Class imbalance를 해결하는
기술 활용
Old exemplar와 new data간의
class imbalance 문제
/ 24
7. 2. Methods
1. Research Background 7
Previous works - catastrophic forgetting 해결
Old data에 대한 additional memory를 만들고, 이를 활용해 catastrophic forgetting을 막는다.
[iCaRL] Rebuffi, Sylvestre-Alvise, et al. "icarl: Incremental classifier and representation learning." CVPR 2017.
[IL2M] Belouadah, Eden, and Adrian Popescu. "Il2m: Class incremental learning with dual memory." ICCV 2019
[BiC] Wu, Yue, et al. "Large scale incremental learning." CVPR 2019.
• Training 후 Bias correction layer를 이용한
model output 수정
BiC (CVPR 2019)
Old data의 일부를 활용
Old exemplar + class imbalance
Old data를 생성하는 모델을 활용
(Generative model)
Old data를 학습한 모델을 활용
(Knowledge distillation)
• Old exemplar를 활용해 catastrophic
forgetting을 해결한 첫 시도
• Nearest Class Mean (NCM): old
exemplar의 average feature vector
를 이용해 class imbalance 보완
iCaRL (CVPR 2017) IL2M (ICCV 2019)
• Incremental Learning with
Dual Memory
• Dual Memory: old image &
과거 모델의 class statistics
• probability calibration
method
/ 24
8. 2. Methods
1. Research Background 8
Previous works - catastrophic forgetting 해결
Ostapenko, Oleksiy, et al. "Learning to remember: A synaptic plasticity driven
framework for continual learning." CVPR 2019
Old data에 대한 additional memory를 만들고, 이를 활용해 catastrophic forgetting을 막는다.
Old data의 일부를 활용
Old exemplar + class imbalance
Old data를 생성하는 모델을 활용
(Generative model)
•Old data가 없어도 활용 가능한 방법
•Generative model의 품질에 매우 크게 의존
•Generative model을 학습시키기 위한 시간과 많은 dataset이 필요
Old data를 학습한 모델을 활용
(Knowledge distillation)
/ 24
9. 2. Methods
1. Research Background 9
Previous works - catastrophic forgetting 해결
Figure from: Ostapenko, Oleksiy, et al. "Learning to remember: A synaptic
plasticity driven framework for continual learning." CVPR 2019
Old data에 대한 additional memory를 만들고, 이를 활용해 catastrophic forgetting을 막는다.
Old data의 일부를 활용
Old exemplar + class imbalance
Old data를 생성하는 모델을 활용
(Generative model)
•단독으로 활용되면 성능 향상 효과가 미미함
Old data를 학습한 모델을 활용
(Knowledge distillation)
λ =
/ 24
10. 2. Methods
1. Research Background 10
Objective
• we propose a simple and effective solution motivated by the aforementioned observations to address
catastrophic forgetting.
/ 24
12. 2. Methods
2. Methods 12
Approach: Knowledge Distilation (KD) 과 Weight Aligning (WA) 적용
/ 24
13. 2. Methods
2. Methods 13
Knowledge distillation 만으로는 왜 안될까?
test set : 10,000
- old part : 8,000 (80 classes)
- new part : 2,000 (20 classes)
•CIFAR-100, 5 incremental steps, 20 classes per step
• e(o,n) : old part를 new class로 잘못 분류한 경우 (KD로 인해 악화됨)
• e(o,o) : old part를 정답이 아닌 old class로 잘못 분류한 경우 (KD로 인해 개선됨)
• After revisiting the distillation loss, we find the cost of misclassifying old samples to new classes is
smaller than that to other old classes.
/ 24
14. 2. Methods
2. Methods 14
Class incremental learning에서 final FC layer는 어떻게 될까?
1) final FC layer의 Norm of weight vectors 확인
• 새로운 class에 대한 weight vector가 old class의 것 보다 더 크더라
• 새로운 class에 대한 output logits가 더 커지게 됨 (성능이 떨어지는 주요 원인)
• 이 biased weights를 수정해보자
: -dimensional vector
o(x) (Cb
old + Cb
)
: feature extraction function
ϕ( ⋅ )
is a -dimensional weight vector for the class.
wc d cth
W = {wc , 1 ≤ c ≤ Cb
old + Cb
}
/ 24
15. 2. Methods
2. Methods 15
2) 새로운 class에 대한 weight norms 재조정
Main contribution : Weight Aligning을 활용한 Maintaining Fairness phase 디자인
/ 24
17. 2. Methods
3. Experimental Results 17
CIFAR-100: 32 × 32 pixel color images. 500 images x 100 classes for training; 100 images x 100 class for evaluating
model: 32-layer ResNet, optimizer: SGD, batch size: 32. The learning rate starts from 0.1 and reduces to 1/10 of the
previous learning rate after 100, 150 and 200 epochs (250 epochs in total). We set the temperature scalar T to 2.
Data augmentation: random cropping, horizontal flip and normalization
CIFAR-100 class incremental learning task에 Weight Aligning (WA) 적용
KD: Knowledge distillation
WA: Weight Aligning
WNL: Weight normalization layer
1) WA 적용이 class incremental learning의 성능을 크게 향상시켰다.
2) KD와 WA를 조합하면 더 좋다.
/ 24
18. 2. Methods
3. Experimental Results 18
KD, WA가 어떤 역할을 하는지 확인
KD: Old class의 오분류를 줄임.
여전히 새로 추가된 class로 분류.
WA: 모델이 new classes 와 old
classes 를 동등하게 다루도록 함
/ 24
19. 2. Methods
3. Experimental Results 19
다른 방법들과 성능 비교
1) 제안한 방법이 ImageNet에서 좋은 성능을 보임
• LwF.MC (2017): KD
• iCaRL (2017): Old exemplar, Nearest Class Mean
• EEIL (2018): KD, balanced fine-tuning
• BiC (2019): Old exemplar. Bias correction layer
• IL2M (2019): dual memory (Old exemplar, prior class
statistics)
• 10 incremental steps
• 1.2 million images for training and 50,000 images for
validation
• We store 2,000 and 20,000 images for old classes in
ImageNet-100 and 1000, respectively.
model: 18-layer ResNet, optimizer: SGD, batch size: 256.
/ 24
20. 2. Methods
3. Experimental Results 20
다른 방법들과 성능 비교
2) CIFAR100에서 좋은 성능을 보임
• we store 2,000 samples in total as the same as
previous work.
• result: 1st step을 제외한 모든 incremental step 결과
의 평균
• LwF.MC (2017): KD
• iCaRL (2017): Old exemplar, Nearest Class Mean
• EEIL (2018): KD, balanced fine-tuning
• BiC (2019): Old exemplar. Bias correction layer
• IL2M (2019): dual memory (Old exemplar, prior class
statistics)
/ 24
21. 2. Methods
3. Experimental Results 21
Abblation study
• FC layer weight 제한: positive value로 weight restriction을 했을 때
성능이 더 향상됨 (weight norm과 output logits를 일관성있게 만듦)
• Norm selection: 차이 없음
• bias term: 약간의 영향
• exemplar selection (모범적인 선택 전략) : 약간의 영향
ImageNet-100 with 10 incremental steps
/ 24
22. 2. Methods
3. Experimental Results 22
Weight 조정 방법에 따른 성능 차이
KD: Knowledge distillation
WA: Weight Aligning
WNL: Weight normalization layer
1) Weight normalization은 training과정에서 적용되면 새로운 데이터에 편향되는 경향이 더 심하게 나타난다.
2) 이 연구에서 활용된 후처리 방식으로 weight를 조정하는 것이 class imbalance에 효과가 있다.
/ 24
24. 2. Methods
4. Conclusions 24
Thank you.
• 이 논문에서는 Class incremental learning에서의 catastrophic forgetting 문제를 해결하기 위한 간단한 방법을 제시했
다.
• Knowledge distillation과 weight aligning을 동시에 활용했다.
• Weight aligning이 성능 향상에 주요한 원인이었고, Knowledge distillation과 동시에 활용될 때 추가적인 성능 향상이 있었다.
• Knowledge distillation은 old classes 안에서 잘 구분할 수 있게 하는 역할을 (Maintaining Discrimination),
Weight aligning은 old classes와 new classes를 동등하게 다루는 역할을 해 (Maintaining Fairness) catastrophic
forgetting을 완화했다.
• 새로 제시한 방법으로 ImageNet-1000, ImageNet-100, CIFAR-100에 대한 class incremental learning task를 시도한
결과, 기존 방법보다 더 나은 성능을 보였다.
• 논문의 결과들은 학습이 완료된 모델에서 더 많은 가치들을 찾아낼 수 있다는 가능성을 의미한다.
24
24/ 24