콘텐츠로 이동

전이 학습 (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 학습률

뒤쪽 층(과제에 특화된 층)은 높은 학습률, 앞쪽 층(일반적 특징)은 낮은 학습률을 사용한다.

\[\eta_l = \eta_{base} \cdot \alpha^{L-l}\]

여기서 \(\alpha < 1\)이고, \(L\)은 총 층 수, \(l\)은 현재 층.

Gradual Unfreezing (ULMFiT)

  1. 마지막 층만 학습
  2. 한 층씩 해동(unfreeze)하며 학습
  3. 전체 모델 학습

4. Feature Extraction

사전 학습 모델을 고정(frozen)하고, 출력 특징만 추출하여 새로운 분류기의 입력으로 사용한다.

사용 시점: - 타겟 데이터가 매우 적을 때 - 소스-타겟 도메인이 매우 유사할 때 - 계산 자원이 제한적일 때

5. Parameter-Efficient Fine-Tuning (PEFT)

전체 파라미터를 업데이트하지 않고, 소수의 파라미터만 학습하는 기법이다.

LoRA (Low-Rank Adaptation)

가중치 행렬의 업데이트를 저랭크(low-rank) 분해로 근사한다:

\[W' = W + \Delta W = W + BA\]
  • \(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 (추론 시 가중치 병합)

흔한 오해와 함정

  1. "사전 학습 모델은 항상 도움이 된다": Negative transfer의 가능성을 항상 고려해야 한다. 특히 타겟 도메인이 소스와 매우 다른 경우.

  2. Fine-tuning 시 학습률이 너무 큼: 사전 학습된 가중치를 급격히 변경하면 학습된 표현이 파괴된다 (catastrophic forgetting). 작은 학습률로 시작하라.

  3. 모든 층을 동일하게 학습: 앞쪽 층은 일반적 특징(엣지, 텍스처)을, 뒤쪽 층은 과제 특화 특징을 학습한다. 층별로 다른 학습률이 효과적이다.

  4. LoRA의 rank를 너무 높게 설정: rank가 너무 높으면 PEFT의 이점(효율성)이 줄어든다. 보통 \(r = 8 \sim 32\)가 적절하다.

  5. 사전 학습 모델의 전처리를 무시: 사전 학습에 사용된 정확한 전처리(정규화 값, 토큰화 방법 등)를 동일하게 적용해야 한다.


다른 주제와의 연결