sy00n / DL_paper_review

issues에 논문 요약
0 stars 0 forks source link

[18] Few-Shot Class-Incremental Learning from an Open-Set Perspective #21

Open sy00n opened 11 months ago

sy00n commented 11 months ago

링크 : 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을 다룬다.

슬라이드4

Introduction

슬라이드6 슬라이드7

Contribution

  1. FSCIL의 현재 밴치마크 셋팅을 재평가했고 추가적인 실험 셋팅과 평가 메트릭을 제시했다.
  2. FSCIL task를 새로운 측면인 open-set 문제로 해결한다. face recognition에서 쓰이는 angular penalty loss를 분석했고 FSCIL에 적용해서 모델의 discrimination을 개선하였다.
  3. class augmentation, data augmentation, balanced data embedding이 어떻게 FSCIL 성능에 영향을 미치는지, 모델의 일반화 성능을 어떻게 높일지와 같은 데이터 처리를 분석했다.
  4. Significant improvements on three benchmark datasets, CIFAR100, miniImageNet, and CUB200, demonstrate the effectiveness of our method against SOTA methods.

Related Work

슬라이드9 슬라이드10

Method

슬라이드12 슬라이드13

간단하게 요약하면 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

슬라이드14 슬라이드15

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 성능으로 이어질 수 있다. image 위 그림처럼 cosFace penalty strategy를 적용했다.
먼저 cosine similarity를 distance metric으로 써서 data similarity와 score를 측정한다. 이를 통해 latent feature space의 절대 거리 대신에 normalized features를 써서 angles에 초점을 맞출 수 있고 fully connected layer의 normalized weight parameter가 각 카테고리 별 센터로 여겨질 수 있다.

image 마지막 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는 아래와 같다. image N는 학습 이미지 수를 의미하고 C는 클래스 수를 의미한다. p_j는 이미지 j에 대한 softmax probability를 의미하고 y_j는 이미지 의 ground truth에 대한 cosine similarity를 의미한다.

슬라이드16 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

슬라이드18

diverse, transferable representation은 open-set 문제의 핵심이다. 이 논문에서는 auxiliary class를 활용한다. Mixup, IL2A에서 영감을 받아서 랜덤으로 다른 클래스 샘플을 합쳐서 auxiliary new class data를 합성한다. image 여기서 xi, xj는 base section classes C로부터 랜덤으로 선택된 각각 다른 클래스 i,j 샘플이다. 람다는 interpolation coefficient이다. x_k는 생성된 new class data이다. image

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

슬라이드19

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

슬라이드20

현재 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

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

슬라이드22 슬라이드23 슬라이드24 슬라이드25