지식증류 (Knowledge Distillation)
- 큰 모델(Teacher)에서 작은 모델(Student)로 지식을 전달하여 작은 모델도 높은 성능을 내도록 학습시키는 방법
- 주로 모델 경량화, 추론 속도 향상을 위해 사용
원리
- Teacher 모델을 먼저 학습
- Student 모델이 Teacher 모델의 출력을 소프트 타겟(Soft Targets, 확률 분포)으로 맞추도록 학습
- Student 모델은 직접 데이터 레이블뿐 아니라 Teacher 모델의 "암묵적 지식"까지 학습하게 된다.
특징
- 작은 모델도 큰 모델 수준의 성능에 가까워질 수 있음.
- 배포 환경이 제한적일 때 유용.
- ex. MobileNet(경량화 CNN), TinyBERT(경량화 Transformer)
전이학습 (Transfer Learning)
- 이미 학습된 모델의 지식(특히 feature extractor 부분)을 새로운 데이터 / 문제에 활용하는 방법
- 보통 데이터가 적을 때 큰 효과를 발휘
방법
- 사전학습(Pretrained) 모델을 가져온다. (ex. ImageNet 학습된 ResNet)
- 모델의 초기 레이어(Feature extractor)는 고정한다.
- 출력층(Classifier)만 새로운 데이터에 맞게 학습한다.
특징
- 학습 속도가 빠르고, 데이터가 적어도 성능이 안정적임.
- NLP에서는 BERT, GPT 계열 모델을 fine-tuning하여 많이 사용됨.
파인튜닝 (Fine-tuning)
- 사전학습 모델 전체 또는 일부를 새로운 데이터셋에 맞게 추가 학습시키는 것
- 전이학습의 확장 개념
방법
- 사전학습 모델을 불러온다.
- 전체/부분 레이어의 학습률을 조정하여 새로운 데이터에 맞게 학습시킨다.
- 보통 초기 레이어는 feature를 잘 잡고 있어서 학습률을 낮게, 후반 레이어는 새 task에 맞게 학습률 높게 설정
- 특정 task 성능을 극대화 가능
특징
- 전이학습보다 데이터 의존성이 높음
- 과적합 방지 필요 (데이터 적으면 overfitting 주의)

'개발 > Python' 카테고리의 다른 글
| 시계열 분석 (0) | 2025.11.29 |
|---|---|
| 최우추정량 (MLE, Maximum Likelihood Estimator) (0) | 2025.11.26 |
| 통계 기본 (0) | 2025.11.26 |
| 파생변수 vs 요약변수 (0) | 2025.11.25 |
| 표본조사와 표본 추출 방법 (0) | 2025.11.23 |
댓글