본 논문에서는 Few-Shot Class-Incremental Learning(FSCIL) 그리고 extreme data scarcity condition of one-shot을 다룬다.
Introduction
현대 딥러닝의 인기에도 불구하고 여전히 딥러닝 기술들은 큰 large-scale supervised data에 의존해서 학습한다.
DNN은 파라미터가 많아서 적은 샘플로 학습하면 쉽게 adapt 되지 못한다.
또 conventional deep learning model들은 새로운 테스크에 대해 이전 previous knowledge를 보존하는 능력이 떨어진다. (catastrophic forgetting)
본 논문에서는 Few-Shot Class-Incremental Learning(FSCIL)을 다룬다. FSCIL은 지속적으로 추가되는 새로운 taks에 빠르게 적응할 뿐만 아니라 이전에 학습한 task에 대한 기존 지식을 유지해야 한다.
이상적으로 FSCIL 모델이 갖추어야 할 조건:
1) 학습 단계에 상관없이 모든 클래스에 대해 동등하게 잘 수행해야 한다.
2) One-shot 시나리오와 같은 extreme data scarcity에도 robust해야 한다.
하지만, 현재 SOTA 방법론들은 하나의 class-wise average accuracy를 주로 사용함으로써 클래스 불균형 및 데이터 불균형으로 인한 prediction bias가 있는지 여부는 다루지 못한다.
일반적으로는 incremental class보다 base class 수가 더 많고 incremental data는 수가 적다보니 base class에 편향되기 쉽다. 그리고 기존 SOTA 방법론들은 real world에 가까운 extreme one-shot setting은 거의 고려하지 않았다.
본 논문은 face recognition, data augmentation으로부터 영감을 받았다.
base session에서 학습된 feature extractor가 카테고리에 국한되지 않게 discriminative features를 뽑을 수 있어야 한다고 생각했다.
재학습 없이 새로운 identity를 다룰 수 있어야 하는 face recognition의 메인 취지가 FSCIL task에서 필요한 부분에 적합했다.
Data augmentation방식에서도 영감을 받아서 genaralization 능력을 높였다.
Contribution
FSCIL의 현재 밴치마크 셋팅을 재평가했고 추가적인 실험 셋팅과 평가 메트릭을 제시했다.
FSCIL task를 새로운 측면인 open-set 문제로 해결한다. face recognition에서 쓰이는 angular penalty loss를 분석했고 FSCIL에 적용해서 모델의 discrimination을 개선하였다.
class augmentation, data augmentation, balanced data embedding이 어떻게 FSCIL 성능에 영향을 미치는지, 모델의 일반화 성능을 어떻게 높일지와 같은 데이터 처리를 분석했다.
Significant improvements on three benchmark datasets, CIFAR100, miniImageNet, and CUB200, demonstrate the effectiveness of our method against SOTA methods.
Related Work
Method
간단하게 요약하면 ALICE는 angular penalty loss, class and data augmentation , data balancing을 적용했다. angular penalty loss로 feature extractor를 학습해서 compact intra-class clustering, wide inter-class seperation을 확보했다. class augmentation and data augmentation은 feature extractor의 generalization 성능을 높이기 위해 적용했다. 그리고 incremental session에서 각 클래스의 prototype을 생성하기 위해 specifically chosen balanced data를 사용했다.
Angular Penalty
FSCIL setting에서 continually coming new tasks에도 빠르게 적응할 뿐만 아니라 catastrophic forgetting 문제도 극복하는 안정적인 feature extractor를 얻기를 원한다. 따라서 loss는 1) intra-class feature vectors를 최소화하고 2) inter-class feature vectors 간의 거리를 최대화 해야 한다. compact intra-class clustering, wide inter-class seperation은 새로운 클래스가 incremental하게 등장했을 때 latent feature space상에 더 많은 공간을 남겨줄 것이기에 더 나은 open-set classification 성능으로 이어질 수 있다.
위 그림처럼 cosFace penalty strategy를 적용했다.
먼저 cosine similarity를 distance metric으로 써서 data similarity와 score를 측정한다. 이를 통해 latent feature space의 절대 거리 대신에 normalized features를 써서 angles에 초점을 맞출 수 있고 fully connected layer의 normalized weight parameter가 각 카테고리 별 센터로 여겨질 수 있다.
마지막 fc layer에서 bias는 편의상 0으로 고정해놓고 위처럼 계산했다. f는 feature를 의미하고 F는 feature extractor이다. feature f와 weighted parameter W는 l2 normalization을 통해 normalization 되기 때문에 magnitude가 1이 된다. y_i는 class i에 대한 feature f와 weight W와의 코싸인 유사도를 의미한다. 이 코싸인 유사도를 통해 이미지 x에 대해 class i를 향한 angular similarity를 구할 수 있고 이는 곧 이미지가 class i에 속할 likelihood를 의미한다.
일반적으로, 코싸인 유사도 예측은 cross-entropy loss와 함께 사용되어서 ground-truth class에 대한 확률값을 최대화함으로써 서로 다른 클래스 간 feature를 구분짓는다. 따라서 loss는 아래와 같다.
N는 학습 이미지 수를 의미하고 C는 클래스 수를 의미한다. p_j는 이미지 j에 대한 softmax probability를 의미하고 y_j는 이미지 의 ground truth에 대한 cosine similarity를 의미한다.
feature cluster를 개선하기 위해 cosFace에서 영감을 받아서 classification boundary인 cosine margin m을 두었다. 이 추가 margin을 둠으로써. intra-class feature들이 더 compatly cluster 될 수 있고 inter-class feature들이 더 widely seperate 될 수 있다. cosFace를 따라 preset scale factor s를 두어서 normalized feature에 대해 re-scale도 적용했다.
s는 30으로 지정했고 margin은 모든 실험에서 0.4로 고정하였다.
Augmented Training
diverse, transferable representation은 open-set 문제의 핵심이다. 이 논문에서는 auxiliary class를 활용한다. Mixup, IL2A에서 영감을 받아서 랜덤으로 다른 클래스 샘플을 합쳐서 auxiliary new class data를 합성한다.
여기서 xi, xj는 base section classes C로부터 랜덤으로 선택된 각각 다른 클래스 i,j 샘플이다. 람다는 interpolation coefficient이다. x_k는 생성된 new class data이다.
fig이 그 에시이다. IL2A를 따라서 본 논문에서는 람다를 0.4, 0.6 사이에서 랜덤으로 선택해서 augmented data와 original data 사이의 overlap을 줄인다. 이렇게 pair combination을 통해 (C X (C-1) /2 ) 개의 새로운 클래스가 만들어지기 때문에 오리지널 C-class classification task에 더해져서 (C +C X (C-1) /2 )-class classification으로 수행한다.
아렇게 학습 시에 다양한 이미지 조건을 노출하는것은 general feature extractor를 얻기 위한 좋은 방법이다. self-supervised learning에서 영감을 얻어서 2개의 augmentation 이미지를 사용해서 training data diversity를 확보한다. fig1에서 augmentation 절차를 잘 보여준다. 학습 과정에서 각각의 이미지 입력에 대해 랜덤으로 두 개의 augmentations를 적용한다. utilized transformation methods에 대해 랜덤으로 resized crop, horizontal flip, color jitter, grayscale을 적용한다. 그리고 trasnformed data는 backbone network에 피드된다. 두 augmentation set의 loss는 평균내진 후에 역전파가 흘러가서 모델 파라미터를 업데이트 한다. 추가로, feature extractor가 base session data에 over-specialize 되는 것을 피하기 위해 SimCLR처럼 final fully connected layer에 extra projection layer를 두었다. nonlinear projection head를 둠으로써 feature extractor 단에서 더 많은 정보를 얻을 수 있고 유지할 수 있다.
Balanced Testing
base session training 후에, projection head와 augmented classification ead는 버려진다. 오직 feature extractor만 남기고 overfitting과 catastrophic forgetting을 막기 위해 freeze시킨다. testing 시에 nearest class mean, cosine similarity가 사용되서 분류를 수행한다. 그런데 incremental session에서는 제한된 데이터가 쓰이기 때문에 data imbalanc로 인해 생길 수 있는 prediction bias를 없애기 위해 incremental step에서 같은 양의 few-shot data를 incremental step마다 사용해서 balance class prototype을 생성했다. 예를 들어 처음으로 모든 base session data를 사용해서 class-wise mean을 계산하고, 계산된 평균과 가장 작은 코싸인 거리를 갖는 required few-shot amout of data를 사용해서 각 base session class에 대한 최종 프로토타입을 생성한다.
Harmonic Accuracy
현재 SOTA 방법론들은 class-wise average accuracy로 평가되고 있는데, base session에서의 클래스 수가 전체에서 큰 비중을 차지하는 경우가 많기 때문에 이 방식은 FSCIL 방법의 성능을 측정하기에 충분하지 않다. 벤치마크 논문에 의하면 CIFAR 100, miniImageNet에서는 60 out of 100% (60%) 카테고리를 base class로 썼고 CUB200에서는 100 of 200 (50%) 카테고리를 base class로 썼다. 그렇기 때문에 base session에서 좋은 성능을 보이고 incremental session에서는 저조한 성능을 보이는 경우도 전체 클래스에서 높은 base class 비중을 차지하기 때문에 높은 accuracy를 갖게 된다. 그래서 new task에 대해 학습하기 전에도 accuracy 값을 갖게 된다. 이를 해결하기 위해 harmonic accuracy를 제안한다.
Ab는 average accuracy for base session classes를 의미하고 Ai는 incremental session class의 평균 accuracy를 의미한다. 그래서 위 평가지표에 의하면 모델이 학습하기 전까지는 0%의 정확도를 갖게 된다. 이상적으로 balanced FCIL classifier는 average accuracy와 harmonic accuracy 모두에서 좋은 성능을 보여아 한다.
Dataset and Evaluation Metric
사용한 세 가지 벤치마크 데이터: CIFAR 100, miniImageNet, Caltech-UCSD Birds-200-2011(CUB200)
링크 : https://arxiv.org/abs/2208.00147 코드 : https://github.com/CanPeng123/FSCIL_ALICE
Abstract
본 논문에서는 Few-Shot Class-Incremental Learning(FSCIL) 그리고 extreme data scarcity condition of one-shot을 다룬다.
Introduction
현대 딥러닝의 인기에도 불구하고 여전히 딥러닝 기술들은 큰 large-scale supervised data에 의존해서 학습한다.
DNN은 파라미터가 많아서 적은 샘플로 학습하면 쉽게 adapt 되지 못한다.
또 conventional deep learning model들은 새로운 테스크에 대해 이전 previous knowledge를 보존하는 능력이 떨어진다. (catastrophic forgetting)
본 논문에서는 Few-Shot Class-Incremental Learning(FSCIL)을 다룬다. FSCIL은 지속적으로 추가되는 새로운 taks에 빠르게 적응할 뿐만 아니라 이전에 학습한 task에 대한 기존 지식을 유지해야 한다.
이상적으로 FSCIL 모델이 갖추어야 할 조건:
1) 학습 단계에 상관없이 모든 클래스에 대해 동등하게 잘 수행해야 한다. 2) One-shot 시나리오와 같은 extreme data scarcity에도 robust해야 한다.
하지만, 현재 SOTA 방법론들은 하나의 class-wise average accuracy를 주로 사용함으로써 클래스 불균형 및 데이터 불균형으로 인한 prediction bias가 있는지 여부는 다루지 못한다.
일반적으로는 incremental class보다 base class 수가 더 많고 incremental data는 수가 적다보니 base class에 편향되기 쉽다. 그리고 기존 SOTA 방법론들은 real world에 가까운 extreme one-shot setting은 거의 고려하지 않았다.
본 논문은 face recognition, data augmentation으로부터 영감을 받았다.
base session에서 학습된 feature extractor가 카테고리에 국한되지 않게 discriminative features를 뽑을 수 있어야 한다고 생각했다.
재학습 없이 새로운 identity를 다룰 수 있어야 하는 face recognition의 메인 취지가 FSCIL task에서 필요한 부분에 적합했다.
Data augmentation방식에서도 영감을 받아서 genaralization 능력을 높였다.
Contribution
Related Work
Method
간단하게 요약하면 ALICE는 angular penalty loss, class and data augmentation , data balancing을 적용했다. angular penalty loss로 feature extractor를 학습해서 compact intra-class clustering, wide inter-class seperation을 확보했다. class augmentation and data augmentation은 feature extractor의 generalization 성능을 높이기 위해 적용했다. 그리고 incremental session에서 각 클래스의 prototype을 생성하기 위해 specifically chosen balanced data를 사용했다.
Angular Penalty
FSCIL setting에서 continually coming new tasks에도 빠르게 적응할 뿐만 아니라 catastrophic forgetting 문제도 극복하는 안정적인 feature extractor를 얻기를 원한다. 따라서 loss는 1) intra-class feature vectors를 최소화하고 2) inter-class feature vectors 간의 거리를 최대화 해야 한다. compact intra-class clustering, wide inter-class seperation은 새로운 클래스가 incremental하게 등장했을 때 latent feature space상에 더 많은 공간을 남겨줄 것이기에 더 나은 open-set classification 성능으로 이어질 수 있다.
위 그림처럼 cosFace penalty strategy를 적용했다.
먼저 cosine similarity를 distance metric으로 써서 data similarity와 score를 측정한다. 이를 통해 latent feature space의 절대 거리 대신에 normalized features를 써서 angles에 초점을 맞출 수 있고 fully connected layer의 normalized weight parameter가 각 카테고리 별 센터로 여겨질 수 있다.
일반적으로, 코싸인 유사도 예측은 cross-entropy loss와 함께 사용되어서 ground-truth class에 대한 확률값을 최대화함으로써 서로 다른 클래스 간 feature를 구분짓는다. 따라서 loss는 아래와 같다.
s는 30으로 지정했고 margin은 모든 실험에서 0.4로 고정하였다.
Augmented Training
diverse, transferable representation은 open-set 문제의 핵심이다. 이 논문에서는 auxiliary class를 활용한다. Mixup, IL2A에서 영감을 받아서 랜덤으로 다른 클래스 샘플을 합쳐서 auxiliary new class data를 합성한다.
여기서 xi, xj는 base section classes C로부터 랜덤으로 선택된 각각 다른 클래스 i,j 샘플이다. 람다는 interpolation coefficient이다. x_k는 생성된 new class data이다.
![image](https://github.com/sy00n/DL_paper_review/assets/67910856/9fe672da-3882-43d3-8966-b6ba21b59f96)
fig이 그 에시이다. IL2A를 따라서 본 논문에서는 람다를 0.4, 0.6 사이에서 랜덤으로 선택해서 augmented data와 original data 사이의 overlap을 줄인다. 이렇게 pair combination을 통해 (C X (C-1) /2 ) 개의 새로운 클래스가 만들어지기 때문에 오리지널 C-class classification task에 더해져서 (C +C X (C-1) /2 )-class classification으로 수행한다.
아렇게 학습 시에 다양한 이미지 조건을 노출하는것은 general feature extractor를 얻기 위한 좋은 방법이다. self-supervised learning에서 영감을 얻어서 2개의 augmentation 이미지를 사용해서 training data diversity를 확보한다. fig1에서 augmentation 절차를 잘 보여준다. 학습 과정에서 각각의 이미지 입력에 대해 랜덤으로 두 개의 augmentations를 적용한다. utilized transformation methods에 대해 랜덤으로 resized crop, horizontal flip, color jitter, grayscale을 적용한다. 그리고 trasnformed data는 backbone network에 피드된다. 두 augmentation set의 loss는 평균내진 후에 역전파가 흘러가서 모델 파라미터를 업데이트 한다. 추가로, feature extractor가 base session data에 over-specialize 되는 것을 피하기 위해 SimCLR처럼 final fully connected layer에 extra projection layer를 두었다. nonlinear projection head를 둠으로써 feature extractor 단에서 더 많은 정보를 얻을 수 있고 유지할 수 있다.
Balanced Testing
base session training 후에, projection head와 augmented classification ead는 버려진다. 오직 feature extractor만 남기고 overfitting과 catastrophic forgetting을 막기 위해 freeze시킨다. testing 시에 nearest class mean, cosine similarity가 사용되서 분류를 수행한다. 그런데 incremental session에서는 제한된 데이터가 쓰이기 때문에 data imbalanc로 인해 생길 수 있는 prediction bias를 없애기 위해 incremental step에서 같은 양의 few-shot data를 incremental step마다 사용해서 balance class prototype을 생성했다. 예를 들어 처음으로 모든 base session data를 사용해서 class-wise mean을 계산하고, 계산된 평균과 가장 작은 코싸인 거리를 갖는 required few-shot amout of data를 사용해서 각 base session class에 대한 최종 프로토타입을 생성한다.
Harmonic Accuracy
현재 SOTA 방법론들은 class-wise average accuracy로 평가되고 있는데, base session에서의 클래스 수가 전체에서 큰 비중을 차지하는 경우가 많기 때문에 이 방식은 FSCIL 방법의 성능을 측정하기에 충분하지 않다. 벤치마크 논문에 의하면 CIFAR 100, miniImageNet에서는 60 out of 100% (60%) 카테고리를 base class로 썼고 CUB200에서는 100 of 200 (50%) 카테고리를 base class로 썼다. 그렇기 때문에 base session에서 좋은 성능을 보이고 incremental session에서는 저조한 성능을 보이는 경우도 전체 클래스에서 높은 base class 비중을 차지하기 때문에 높은 accuracy를 갖게 된다. 그래서 new task에 대해 학습하기 전에도 accuracy 값을 갖게 된다. 이를 해결하기 위해 harmonic accuracy를 제안한다.![image](https://github.com/sy00n/DL_paper_review/assets/67910856/17e0dfd0-fb7e-49be-be93-52099b02f4f5)
Ab는 average accuracy for base session classes를 의미하고 Ai는 incremental session class의 평균 accuracy를 의미한다. 그래서 위 평가지표에 의하면 모델이 학습하기 전까지는 0%의 정확도를 갖게 된다. 이상적으로 balanced FCIL classifier는 average accuracy와 harmonic accuracy 모두에서 좋은 성능을 보여아 한다.
Dataset and Evaluation Metric
사용한 세 가지 벤치마크 데이터: CIFAR 100, miniImageNet, Caltech-UCSD Birds-200-2011(CUB200)
Implementation Details
Experiments