[DL] 전이학습(Transfer Learning)

Minjeong Kim·2026년 1월 7일

인공지능

목록 보기
32/50

📢 전이학습에 대한 이론 페이지입니다.

전이학습

전이 학습 나오게 된 배경

  • 자체적으로 설계한 모델은 여러 번의 학습 및 평가를 통해 검증을 반드시 진행해야 한다.
    • 신경망의 하이퍼 파라미터를 조절하여 적절한 모델을 활용해야 함 (padding, stride 값, 커널 수, 커널 크기 등)
    • 수정과 보완의 시간이 오래 걸림

전이 학습

  • 기존에 학습되어 있는 모델을 가져다가 사용하는 것
    • 추가 학습을 통하여 우리만의 모델로 재학습 후 사용할 수 있음

사용 방법

  • CNN 층에서 특성추출부만 가져와서 사용!
    • classifier(MLP) 의 경우, 우리가 해결하고자 하는 문제에 맞게 설정해줘야 하기 때문!
  • 미세조정
    • 새롭게 분류할 클래스의 종류가 사전 학습에 사용된 데이터와 특징이 매우 다르면, 특성추출부 전체를 재사용해서는 안되고 앞 단의 일부 계층만 재사용 해야 함 (심플한 특징들만 추출해내기 위해)
    • = 분류기에 내가 원하는 class 가 없을 경우, 특성 추출부의 마지막 부분도 새로 학습해서 미세조정 가능!

장단점

  • 장점
    • 적은 데이터로도 충분히 좋은 성능을 낼 수 있음
    • 추가 데이터만 학습시키기 때문에 학습 속도가 빠르다
    • 학습할 데이터셋의 초기 특징을 추출하는 학습 시간이 줄어듦 (뒤의 classifier 부분만 우리 데이터로 학습 시키면 됨)
  • 단점
    • 우리가 가진 데이터에 특화된 것은 아님
  • 예시
    • 우리의 분류 class: 개 vs 고양이
    • 사전 학습 된 모델 2개: 사자 vs 호랑이 모델 (O), 승용차 vs 트럭 모델 (X)

이미지 모델

VGG16 모델

  • CNN 구조, 이미지 분류용 신경망 모델
  • imgNet 데이터셋 1000개 카테고리로 훈련된 모델 (객체 다양(동물, 나무, 음식 등등)) → 약 1,200만개 이상의 이미지로 학습
  • VGG16 모델을 추가학습 시키기 위해서는 이미지의 크기를 224*224 크기로 조정하여 사용해야함 (해당 모델이 사용하고 있던 크기에 맞춰야 해서!)

언어 모델

PLM 을 이용한 성능 향상 방법

Pretrained Language Moel (PLM)

Feature-based Approach

  • 더 좋은 입력 representation 을 갖게 하여 성능을 개선하는 방법
  • Word Embedding 방법 변경
    • Word Embedding 종류
      • Frequency Based: BOW, TF-IDF
      • Prediction Based: Word2Vec, GloVe, FastText

Fine-tunning Approach

  • 더 좋은 weight parameter 를 갖게 하여 성능을 개선하는 방법
  • ELMo, GPT, BERT
    • ELMo
      • 기존 임베딩은 주변 단어만 고려하기 때문에 동음이의어(눈, 배 등)에 취약
      • 문맥을 고려하면서 임베딩하는 구조를 가진 언어모델(양방향 순환)
      • 임베딩 벡터, 각 층 별 히든 스테이트의 가중합을 이용해 다운스트림 태스크 진행

전이 학습 과정: 업스트림과 다운스트림 태스크

Upstream task

pre-training

  • 방대한 텍스트 데이터를 이용하여 일반적인 언어 이해능력을 학습하는 단계 → 뭔가 broad 하게 학습하는 단계
  • 다음 단어 맞추기, 빈칸 채우기 등의 학습을 대규모 말뭉치를 이용해 진행
  • 모델이 기본적인 언어 구조를 이해하도록 함
  • 좋은 weight parameter 가 구성된 사전 학습 모델이 됨 (임베딩 파라미터, 예측을 위한 파라미터 등)

Downstream task

fine-tunning

  • 우리 데이터로 추가 학습 시키기!
  • 특정 task(우리의 목적)에 맞게 미세조정(fine-tunning) 하는 과정
  • upstream task 로 구성된 모델을 구조 변경없이 사용하거나 새로운 task 모델을 붙여 학습하는 작업
  • 문서 분류, 자연어 추론, 개체명 인식, 질의 응답, 문장 생성
    • 문서 분류: 자연어(문서나 문장)을 입력받아 해당 입력이 어떤 범주(긍정, 중립, 부정 등)에 속하는지 그 확률 값을 반환
    • 자연어 추론: 문장 2개를 입력 받아 두 문장 상의 관계가 참, 거짓, 중립 등 어떤 범주인지 그 확률값을 반환
    • 개체명 인식: 자연어(문서나 문장)를 입력받아 단어별로 기관명, 인명, 지명 등 어떤 개체명 범주에 속하는지 그 확률값을 반환 (텍스트 데이터 분석 할 때 tag 붙여서 metadata 로 추가 학습 할 수 있음)
    • 문장 생성: 자연어(문장)를 입력받아 다음에 올 단어의 확률 값을 반환 (chatgpt!)

0개의 댓글