728x90
Few-shot Learning
1. 등장 배경
- 딥러닝은 대량의 데이터 + 높은 연산 자원을 필요로 함
- 하지만, 실제 환경에서는 아래와 같은 문제가 발생함
- 고품질 데이터 확보 어려움
- 데이터 라벨링 비용이 큼
- 특정 상황에서는 데이터가 극도로 부족함
- 이 문제를 해결하기 위해 Few-shot learning이 등장함
2. 용어 정리
- Few-shot : 소량 데이터로 학습/추론
- Way : 클래스 개수
- Shot : 클래스당 샘플 수
- Support set : 학습용 데이터 (few-shot 상황에서의 train)
- Query set : 평가용 데이터 (test/validation 역할)
- One-shot : 클래스당 1개 샘플
- Zero-shot : 학습 데이터 없이 task 조건만으로 추론
Few-shot Learning, Transfer Learning, Meta Learning 정리
0. 핵심
- Few-shot Learning = 문제 정의
- Transfer / Meta Learning = 해결 방법
1. Transfer Learning( = Fine tuning)

- "이미 잘 학습된 모델을 가져와서 조금 수정해서 쓰자"
- 대규모 데이터로 pretraining
- 새로운 task에서 fine tuning
- 수식 관점
- $\theta$ : pretrained parameter
- $\phi$ : new task에서 최적화 대상
- 목표
- $\theta$ → $\phi$ (새 task에 맞게 업데이트)
2. Meta Learning


- "적은 데이터로도 빠르게 학습할 수 있는 초기 상태를 배우자"
- 여러 task를 동시에 학습
- task 간 공통 구조를 학습
- 수식 관점
- $\theta$ : 빠르게 적응 가능한 초기 파라미터
- $\phi$ : 각 task의 최적 파라미터
- 목표
- $\theta$ 자체를 잘 만들어서 few-shot에서도 $\phi$를 빠르게 찾게 함
Episode Training
0. 요약
- 기존 방식은 모든 클래스를 한번에 학습하는 방식
- 이와 달리, episode training은 meta learning 방식으로 작은 task를 반복 학습해서 generalization 확보
[학습 방식]
1. Meta train / Meta test split
- 클래스 자체가 겹치면 안됨, 진짜 generalization 테스트
2. Task Sampling (Episode 생성)
- 각 task = 하나의 episode
- Task 1 : {베어링, 코깅음}
- Task 2 : {터치음, 진동음}
- Task 3 : {유격음}
3. Support / Query
- 학습용 / 평가용 세트 분리
- Support 몇 개만 보고 Query를 잘 맞출 수 있는 걸 목표로 함
4. Task-level 학습
- Support로 학습하고 Query로 loss 계산
5. Meta 업데이트
- 여러 task의 결과를 모아서 초기 파라미터 $\theta$ 업데이트
Meta Learning의 3가지 접근 방식
1. Metric-based

- 임베딩 공간에서 거리가 가까운 걸로 분류
- EX) matching network, prototype network
2. Model-based
- 모델 내부 or 외부의 memory 구조를 활용하여 학습 속도를 조절
- 몇 번의 Training step만으로도 파라미터를 빠르게 찾을 수 있도록 함 (fast adaptation)
- EX) NTM, MANN, Memory network
3. Optimization-based

- 각 task의 최적 파라미터를 구할 수 있게 하는 초기 파라미터를 최적화하여 빠르게 학습
- EX) MAML, First order MAML, Reptile
Reference
[1] “[Deep Learning] Few shot Learning, Meta learning 개념 총정리,” 데이터 분석가 후이, Feb. 08, 2022. https://huidea.tistory.com/252 (accessed Apr. 22, 2026).
'AI 개념 > 머신러닝 & 딥러닝' 카테고리의 다른 글
| LoRA (Low-Rank Adaptation) 간단 정리 (1) | 2026.04.22 |
|---|---|
| Multi-Task Learning (MTL)의 정의 및 Speech Domain 적용 사례 (0) | 2025.02.27 |
| npz compressed를 이용한 데이터 로드 속도 개선 (Feat. 학습 속도를 부스팅하기 위한 다양한 시도들) (1) | 2024.12.13 |
| Evaluation Metric (MDR, FAR, MAE) 정리 (2) | 2024.08.27 |