Home Few shot, Transfer, Domain adaptation
Post
Cancel

Few shot, Transfer, Domain adaptation

Few shot learning


image

Def


  • 여러 해석 중 가장 인정되고 있는 정의를 소개한다.
  • 2020년 다음 survey에서 FSL의 디테일한 정의가 언급된다.
    • Yaqing Wang, Quanming Yao, James T Kwok, and Lionel M Ni. Generalizing from a few examples: A survey on few-shot learning. ACM Computing Surveys (CSUR), 53(3):1–34, 2020.

image

  • 어떤 데이터 E를 통해 사용하여 예측 결과를 만들었을 때 E가 매우 작다면 FSL이라 부른다.

  • FSL을 잘 이해하기 위해서는 두 가지 컨셉이 필요하다.

    1. N-way-K-shot problem
    2. cross-domain FSL

N-way-K-shot problem

  • FSL 에서 발생하는 특정 문제를 설명하는데 사용된다.
  • support set 은 학습하는데 사용되는 작은 dataset을 말한다.
    • N은 support set의 카테고리 종류 수이다.
    • K는 support set의 각 카테고리의 샘플 수이다.
  • query set은 모델이 예측할 데이터들을 의미한다.
  • 모델은 전체적으로 N * K 개의 샘플을 가지게 된다.

N categories and K samples per category

Cross-domain FSL

  • cross-domain originates from transfer learning
    • source domain에서 target domain으로 knowledge가 transfer 되는 것
      • 이때 두 domain에는 차이가 있다.
    • cross-domain FSL은 cross-domain과 FSL을 합친 것이다.
      • 최근의 발생한 도전적인 방향이다.

Different from Machine learning


  • 전통적 ML은 큰 데이터 셋에 의존적이다.

  • 적은 샘플로 수행되기 어렵다.

  • 반면 FSL은 data scarcity scenario를 처리할 방법을 제공한다.

  • 중요한 차이점은 support set과 query set이 disjoint 하다는 것이다.

    • 즉 분리되어 있다.
    • 기존 ML은 훈련 데이터에 예측할 클래스가 포함되어 있다.
  • unseen task를 마주하면 기존 ML은 큰 데이터를 필요로 하지만 FSL은 적은 훈련 데이터와 자원을 통해 튜닝 가능하다.

Different from Transfer Learning


  • 만약 다른 task나 domain에서의 사전 훈련을 통해 사전 지식을 얻은 경우 FSL은 전이 학습에 속할 수 있다.
    • 즉 전이 학습을 거치고 downstream task 에서 few 데이터를 사용하는 경우다.
  • FSL을 위한 방법으로 Transfer Learning이 사용된다.

Different from Meta-Learning


  • 특정 작업에서 학습하는 방법을 모델에 가르치기 위해 사전 지식을 사용하는 경우 메타 학습은 FSL의 변종으로 간주 할 수 있다.
  • 하지만 메타 학습은 FSL과 동일하지 않다.
    • FSL은 궁극적인 목표로 봐야 한다.

Transfer learning


  • 특정 태스크를 학습한 모델을 다른 태스크 수행에 재사용하는 방법이다.

  • 학습 데이터가 적어도 효과적, 학습 속도도 빠르다.

  • upstream task

    • pretrain : upstream task를 학습하는 과정
  • downstream task

    • 풀어야 하는 구체적인 과제
    • 이를 학습하는 방법은 다음과 같다.
      • fine-tuning
        • 다운스트림 태스크 데이터 전체 사용
        • 모델 전체를 업데이트
      • prompt tuning
        • 다운스트림 태스크 데이터 전체 사용
        • 다운스트림 데이터에 맞게 모델 일부만 업데이트
      • in-context learning
        - 다운스트림 태스크 데이터 일부 사용
        - 모델을 업데이트 하지 않는다.
  • In-context learning 의 3가지 방식

    • zero shot learning
      • 다운 스트림 태스크 데이터를 전혀 사용하지 않음
    • one shot learning
      • 다운 스트림 태스크 데이터를 1 건만 사용
    • few shot learning
      • 다운스트림 태스크 데이터 일부 사용
  • 네트워크가 보편적 특징을 학습했기 때문에 전이 학습이 가능하다.


  • 논문을 통해 전이학습이 학습 속도에서 효과 있음을 볼 수 있다.

Domain adaptation


  • source, target domain 이 다른 경우 문제가 생긴다.

    • domain shift가 발생한다.
    • 이를 해결하기 위한 robust한 모델을 만드는 것
  • 한 쪽을 다른 쪽으로 조정하거나 맞추려는 것이 목적이다.

가정

  • source domain은 class label이 있다고 가정
  • target domain은 class label이 없어도 됨

DANN


참고

  • Domain Discriminator가 구별하지 못하게 만듬

image

https://stats.stackexchange.com/questions/260272/what-is-difference-between-transfer-learning-and-domain-adaptation

https://lhw0772.medium.com/study-da-domain-adaptation-알아보기-기본편-4af4ab63f871

This post is licensed under CC BY 4.0 by the author.