Transfer Learning (전이 학습)

1. 개요

거대 데이터셋(ImageNet, WebText 등)으로 학습된 **Pre-trained Model의 지식(가중치)**을 가져와서, 데이터가 적은 **새로운 작업(Target Task)**에 재사용하는 기법이다.

핵심 철학

“바퀴를 다시 발명하지 마라 (Don’t reinvent the wheel).” 남이 수천억 원 들여 학습한 모델의 ‘특징 추출 능력’만 빌려와서 내 문제만 푼다.

2. 언제, 어떻게 쓰는가? (4가지 시나리오)

내 데이터의 양과 유사도에 따라 전략이 달라진다.

내 데이터 양기존 데이터와 유사도추천 전략비고
적음높음Feature ExtractionBackbone 고정(Freeze), 분류기만 학습 (가장 흔함)
많음높음Fine-tuning전체 모델 미세 조정 (성능 극대화)
적음낮음난감함초기 레이어만 쓰고 나머지는 재학습 (과적합 위험)
많음낮음Train from Scratch굳이 전이 학습을 할 필요가 없을 수도 있음

3. 구조적 프로세스

가장 일반적인 “Head Replacement” 방식의 도식이다.


graph LR
    subgraph "Source Task (ImageNet)"
        Backbone1["Feature Extractor<br/>(Conv/Transformer Layers)"] -- "Features" --> Head1["Classifier<br/>(1000 Classes)"]
    end

    subgraph "Target Task (My Data)"
        Backbone2["Copied Backbone<br/>(Freeze or Fine-tune)"] -- "Features" --> Head2["New Classifier<br/>(2 Classes: Cat/Dog)"]
    end

    Backbone1 -.->|"Weights Copy"| Backbone2
    Head1 -.-x|"Discard"| Head2
    
    style Backbone1 fill:#E3F2FD,stroke:#1565C0
    style Head1 fill:#FFCCBC,stroke:#D84315
    style Backbone2 fill:#E3F2FD,stroke:#1565C0
    style Head2 fill:#C8E6C9,stroke:#2E7D32,stroke-width:2px

4. 상세 기법

4.1. Feature Extraction (특징 추출)

Backbone(CNN/Transformer)을 고정된(Frozen) 함수로 취급한다.

  • 작동: 입력 를 Backbone에 통과시켜 특징 벡터 를 얻고, 이 벡터로 얕은 분류기(Linear Layer, SVM 등)만 학습시킨다.
  • 장점: 연산 비용이 매우 적고, 데이터가 적어도 과적합(Overfitting)이 잘 안 일어난다.

4.2. Fine-tuning (미세 조정)

Backbone의 가중치도 함께 업데이트한다. (보통 학습률을 매우 낮게 설정: 이하)

  • 작동: Pre-trained Weight를 초기값(Initialization)으로 사용하고, 전체 네트워크를 역전파로 학습한다.
  • 주의: 데이터가 너무 적으면 사전 학습된 지식이 파괴(Catastrophic Forgetting)되거나 과적합될 수 있다.

최신 트렌드: PEFT LoRA나 Adapter 같은 PEFT(Parameter-Efficient Fine-Tuning) 기법이 사실상 표준 전이 학습 방법으로 자리 잡았다.

최근 LLM에서는 전체 Fine-tuning이 너무 무겁기 때문에,

5. 핵심 수식 (Domain & Task)

전이 학습을 수학적으로 정의하면 다음과 같다.

  • Domain : 특징 공간 와 확률 분포
  • Task : 레이블 공간 와 예측 함수 목표: 소스 도메인 와 태스크 에서 얻은 지식을 활용하여, 타겟 태스크 예측 함수 의 성능을 높이는 것.

6. Transfer Learning vs Continual Learning

사용자가 자주 혼동하는 두 개념의 결정적 차이다.

구분Transfer Learning (이직)Continual Learning (자기계발)
목적Target Task 성능 극대화모든 Task 성능 유지 (과거 기억 보존)
과거 지식Target에 도움 안 되면 잊어도 됨절대 잊으면 안 됨 (No Forgetting)
데이터Source 데이터는 보통 버림과거 데이터 접근이 제한됨 (Replay buffer만 허용)
비유”수능 공부(Source) 바탕으로 코딩(Target) 배우기""국어, 영어, 수학을 순서대로 다 잘하기”

7. 한 줄 요약

“Transfer Learning은 거인의 어깨 위에 올라타서 내 사과를 따는 기술이고, Continual Learning은 거인이 사과도 따고 배도 따고 감도 따면서 아무것도 안 까먹게 만드는 기술이다.”