전이 학습 (Transfer Learning)¶
개요¶
전이 학습(Transfer Learning)은 한 과제(소스 도메인)에서 학습한 지식을 관련된 다른 과제(타겟 도메인)에 활용하는 기법이다. "영어를 아는 사람이 스페인어를 더 빨리 배우는 것"과 같은 원리이다. 대규모 데이터로 사전 학습(pre-training)된 모델을 소규모 타겟 데이터에 미세 조정(fine-tuning)하는 패러다임은 현대 딥러닝의 표준이 되었으며, 특히 LLM의 핵심 전략이다.
핵심 개념¶
1. 핵심 아이디어¶
전제 조건: 소스 도메인과 타겟 도메인 간에 어느 정도 유사성이 존재해야 한다.
graph LR
A["대규모 데이터<br>(ImageNet, 웹 텍스트)"] --> B["사전 학습<br>Pre-training"]
B --> C["일반적 표현<br>(범용 특징)"]
C --> D["미세 조정<br>Fine-tuning"]
E["소규모 타겟 데이터"] --> D
D --> F["타겟 과제 모델"] 2. 사전 학습 (Pre-training)¶
대규모 비라벨/라벨 데이터로 일반적인 표현(representation)을 학습한다.
| 도메인 | 사전 학습 방식 | 대표 모델 |
|---|---|---|
| NLP | Masked Language Modeling | BERT |
| NLP | Next Token Prediction | GPT |
| Vision | ImageNet 분류 | ResNet, ViT |
| Vision | Masked Autoencoder | MAE |
| 멀티모달 | 이미지-텍스트 대조 학습 | CLIP |
핵심 원리: 대규모 데이터 + 대규모 모델 → 강력한 일반 표현
3. 미세 조정 (Fine-tuning)¶
사전 학습된 모델을 타겟 과제에 적응시킨다.
전체 파라미터 Fine-tuning¶
모든 가중치를 업데이트한다. 학습률을 사전 학습 때보다 작게 설정 (보통 \(10^{-5} \sim 10^{-4}\)).
Layer-wise 학습률¶
뒤쪽 층(과제에 특화된 층)은 높은 학습률, 앞쪽 층(일반적 특징)은 낮은 학습률을 사용한다.
여기서 \(\alpha < 1\)이고, \(L\)은 총 층 수, \(l\)은 현재 층.
Gradual Unfreezing (ULMFiT)¶
- 마지막 층만 학습
- 한 층씩 해동(unfreeze)하며 학습
- 전체 모델 학습
4. Feature Extraction¶
사전 학습 모델을 고정(frozen)하고, 출력 특징만 추출하여 새로운 분류기의 입력으로 사용한다.
사용 시점: - 타겟 데이터가 매우 적을 때 - 소스-타겟 도메인이 매우 유사할 때 - 계산 자원이 제한적일 때
5. Parameter-Efficient Fine-Tuning (PEFT)¶
전체 파라미터를 업데이트하지 않고, 소수의 파라미터만 학습하는 기법이다.
LoRA (Low-Rank Adaptation)¶
가중치 행렬의 업데이트를 저랭크(low-rank) 분해로 근사한다:
- \(B \in \mathbb{R}^{d \times r}\), \(A \in \mathbb{R}^{r \times d}\), \(r \ll d\)
- 원래 가중치 \(W\)는 고정, \(B\)와 \(A\)만 학습
- \(r = 4 \sim 64\) 정도로 전체 파라미터의 0.1%~1%만 학습
QLoRA¶
LoRA + 4-bit 양자화. 대규모 모델도 단일 GPU에서 fine-tuning 가능.
Adapter Layers¶
기존 층 사이에 작은 학습 가능한 층(bottleneck 구조)을 삽입한다.
Prefix Tuning / Prompt Tuning¶
입력에 학습 가능한 토큰/벡터를 추가하여, 모델의 행동을 조절한다.
PEFT 비교:
| 방법 | 학습 파라미터 비율 | 성능 | 특징 |
|---|---|---|---|
| Full Fine-tuning | 100% | 최고 | 메모리/계산 비용 높음 |
| LoRA | 0.1~1% | 거의 동등 | 추론 시 병합 가능 |
| QLoRA | 0.1~1% | 약간 낮을 수 있음 | 메모리 최소화 |
| Adapter | 1~5% | 좋음 | 추론 지연 추가 |
| Prompt Tuning | < 0.1% | 과제에 따라 다름 | 가장 파라미터 효율적 |
6. Domain Adaptation¶
학습 데이터(소스)와 실제 데이터(타겟)의 분포 차이(domain shift)를 해결하는 기법이다.
- Adversarial Domain Adaptation: 도메인을 구별하지 못하는 표현 학습
- Domain-specific BatchNorm: 배치 정규화 통계를 도메인별로 분리
상세 내용¶
전이 학습 전략 선택 가이드¶
flowchart TD
A["전이 학습 전략 선택"] --> B{"타겟 데이터 양?"}
B -->|많음| C{"도메인 유사?"}
B -->|적음| D{"도메인 유사?"}
C -->|유사| E["전체 Fine-tuning<br>(높은 학습률 OK)"]
C -->|상이| F["전체 Fine-tuning<br>(낮은 학습률, 주의)"]
D -->|유사| G["Feature Extraction<br>또는 LoRA"]
D -->|상이| H["⚠️ Negative Transfer 위험<br>도메인 내 사전학습 고려"] Negative Transfer¶
소스 도메인이 타겟 도메인과 너무 다르면, 전이 학습이 오히려 성능을 저하시킬 수 있다.
예시: 자연 이미지로 학습한 모델을 의료 X-ray에 적용 — 저수준 특징(엣지, 텍스처)은 전이되지만, 고수준 특징은 도움이 안 될 수 있다.
해결: 도메인에 가까운 데이터로 추가 사전 학습(continued pre-training)을 수행한다.
언제 사용하는가¶
전이 학습은 현대 딥러닝에서 거의 항상 사용된다.
| 상황 | 전략 |
|---|---|
| 라벨 데이터 충분 + 계산 자원 충분 | 전체 Fine-tuning |
| 라벨 데이터 적음 + 유사 도메인 | Feature Extraction 또는 LoRA |
| 대규모 LLM 적용 | PEFT (LoRA, QLoRA) |
| 도메인이 매우 다름 | 도메인 내 사전 학습 후 Fine-tuning |
| 추론 효율 중요 | LoRA (추론 시 가중치 병합) |
흔한 오해와 함정¶
-
"사전 학습 모델은 항상 도움이 된다": Negative transfer의 가능성을 항상 고려해야 한다. 특히 타겟 도메인이 소스와 매우 다른 경우.
-
Fine-tuning 시 학습률이 너무 큼: 사전 학습된 가중치를 급격히 변경하면 학습된 표현이 파괴된다 (catastrophic forgetting). 작은 학습률로 시작하라.
-
모든 층을 동일하게 학습: 앞쪽 층은 일반적 특징(엣지, 텍스처)을, 뒤쪽 층은 과제 특화 특징을 학습한다. 층별로 다른 학습률이 효과적이다.
-
LoRA의 rank를 너무 높게 설정: rank가 너무 높으면 PEFT의 이점(효율성)이 줄어든다. 보통 \(r = 8 \sim 32\)가 적절하다.
-
사전 학습 모델의 전처리를 무시: 사전 학습에 사용된 정확한 전처리(정규화 값, 토큰화 방법 등)를 동일하게 적용해야 한다.
다른 주제와의 연결¶
- Transformer: BERT, GPT의 사전 학습 + fine-tuning
- CNN: ImageNet 사전 학습 모델 활용
- LLM: RLHF, PEFT
- Self-Supervised Learning: 사전 학습 방법론
- Few-Shot Learning: 소량 데이터 적응
- 가중치 초기화: 사전 학습 가중치가 초기화를 대체
- 모델 배포: PEFT 모델의 배포 전략