본문 바로가기

Paper review/Vision

[논문 리뷰] A Closer Look at Few shot Classification

반응형

submit: Chen, Wei-Yu, et al. ICLR (2019)

paper: arxiv.org/abs/1904.04232


  • 기존의 few-shot classification 알고리즘 비교
  • few-shot classification에 대한 baseline 모델 제안

1. Method

  • Few-shot classification: class당 example이 극히 적을 때 classification을 분류하는 방법
  • Domain Shift가 조금 있을 수 있으나, 주된 문제라고 볼 순 없다.
  • Novel Class (새로운 class가 등장)
    • novel data(outliers) - 다른 관측치와 비교해서 많이 벗어나 있는 관측치
  • 많은 train data로 backbone 학습(base) --> feature extraction
  • 위에서 학습한 feature를 이용해, few-shot data에 대한 fine-tune 수행(novel)

(1) Fine Tune

  • Good Model Initialization: 모델을 잘 학습시켜 적은 데이터로도 fine-tune이 잘 되도록 하는 방법
  • Learning an Optimizer: Optimizer가 잘 되면 데이터가 적어도 잘 될 것임

(2) Learning to Compare

  • 같은 class의 feature끼리 같이 뭉치게 모델을 학습시키면, 다른 데이터가 들어와도 같은 class끼리 뭉칠 것이다.
  • Distance Metric Learning
  • Cosine Similarity
  • Euclidean Distance
  • By Network

(3) Learning to Argument

한계

  • 실험 환경이 논문마다 전부 달라서 통일할 필요가 있다.
  • Evalutation: dataset이 겹치지는 않지만 같은 dataset에서 가져왔기 때문에 쉬운 문제. 다른 dataset에서 가져왔을 때 어떻게 되는가?

2. Model

(1) baseline

  • train: FC layer classifier
  • fine-tuning: feature는 고정시키고 classifier만 학습

(2) baseline++

  • W = [w1, w2, .., wc] --> 각 label별로 feature를 추출
  • feature간 cosine 유사도를 구한 뒤 softmax를 취함
  • 같은 class feature끼리 뭉칠 수 있게 함

(3) Meta-learning based few-shot classification

a. Meta-training

  • support set:
  • query set:

b. MatchingNet

  • 단순히 n개의 이미지를 네트워크에 넣은 이미지의 feature와, query에 해당하는 이미지의 feature와 코사인 유사도를 구해, 가장 유사도가 높은 class 선택

c. ProtoNet

  • class의 mean값과 비교

d. RelationNet

  • ProtoNet에서 비교할 때 model을 학습시켜서 relation network의 score를 통해 학습
  • 이미지 feature를 전부 concat

e. Model-Agnostic Meta-learning

3. Experiments

  • Mini-ImageNet

Re-Implementation Setting

  • 다른 논문들은 reported된 것과 비슷한 성능을 보임
  • baseline: data argumentation만 해 줘도 성능이 올라감
  • minor 테크닉들이 성능에 영향을 줌

Few-shot classification results

  • baseline++이 baseline보다 좋음
    • 마지막 layer를 softmax로 하는지, cosine similarity로 하는지 차이
    • cos sim이 intra-class variation을 줄여주어 효과를 낸다.

backbone depth

  • backbone이 깊으면 깊을수록 모델별 알고리즘 차이가 줄어든다. (CUB 데이터셋)
  • mini-ImageNet은 5-shot에서 backbone이 깊어질수록 성능 차이가 커짐
    • mini-imagenet은 meta-train, meta-test 할 때 domain 차이가 크기 때문
    • Davies-Bouldin index를 이용한 결과, backbone이 깊을수록 domain variation이 줄어든다.

Domain Defferences

  • general한 mini-imagenet으로 학습하고, CUB(새 데이터)로 테스트하는 시나리오
  • baseline의 성능이 가장 좋았음. matchNet 성능이 가장 안 좋음
    • domain이 바뀌면 meta-learning의 support 효과가 사라지기 때문
반응형