Few shot learning
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.
어떤 데이터 E를 통해 사용하여 예측 결과를 만들었을 때 E가 매우 작다면 FSL이라 부른다.
FSL을 잘 이해하기 위해서는 두 가지 컨셉이 필요하다.
- N-way-K-shot problem
- 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을 합친 것이다.
- 최근의 발생한 도전적인 방향이다.
- source domain에서 target domain으로 knowledge가 transfer 되는 것
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
- 다운스트림 태스크 데이터 일부 사용
- 모델을 업데이트 하지 않는다.
- fine-tuning
In-context learning 의 3가지 방식
- zero shot learning
- 다운 스트림 태스크 데이터를 전혀 사용하지 않음
- one shot learning
- 다운 스트림 태스크 데이터를 1 건만 사용
- few shot learning
- 다운스트림 태스크 데이터 일부 사용
- zero shot learning
네트워크가 보편적 특징을 학습했기 때문에 전이 학습이 가능하다.
- 논문을 통해 전이학습이 학습 속도에서 효과 있음을 볼 수 있다.
Domain adaptation
source, target domain 이 다른 경우 문제가 생긴다.
- domain shift가 발생한다.
- 이를 해결하기 위한 robust한 모델을 만드는 것
한 쪽을 다른 쪽으로 조정하거나 맞추려는 것이 목적이다.
가정
- source domain은 class label이 있다고 가정
- target domain은 class label이 없어도 됨
DANN
- Domain Discriminator가 구별하지 못하게 만듬
https://lhw0772.medium.com/study-da-domain-adaptation-알아보기-기본편-4af4ab63f871