Skip to main content

전이 학습

기존의 머신러닝에서 문제점

  • 과업에 맞춰 모델과 데이터를 만들어야 함
    • 모델 만들기 → 어렵다
    • 데이터 수집 및 레이블링 → 어렵고 비용이 큼
  • 딥러닝은 매우 많은 데이터가 필요
    • 데이터 처리를 위해서 고성능의 컴퓨터가 필요

전이 학습 Transfer Learning

  • 근원 문제 source에 학습시킨 모형을 새로운 대상 문제 target에 적용하는 것
  • 사전 학습 pretraining: 근원 문제에 학습 시키는 것. 많은 데이터를 사용
  • 미세 조정 fine tuning: 대상 문제에 학습 시키는 것. 적은 데이터를 사용
    • 무작위로 초기화된 모형을 처음부터 학습시키는 것보다, 다른 문제에라도 학습시킨 모형을 추가 학습시키는 것이 학습에 유리할 가능성이 높음
    • 이미지 처리 과제는 비슷한 특징들을 공유하므로 무작위로 초기화된 것보다는 유사할 가능성이 높음
    • 일반적으로 근원 문제에 학습시킬 때보다 작은 학습률을 사용
  • 기초 모델 foundation model: 컴퓨터 비전이나 자연어 처리처럼 넓은 종류의 분야에 대해 적용할 수 있는 모델

전이학습의 효과

  • 만약 기존의 다른 문제에 학습시킨 모형을 약간의 미세 조정으로 높은 성능을 낼 수 있다면 데이터와 계산 비용을 절감할 수 있음
  • 성능은 높아지고 활용의 난이도가 낮아짐
  • 사전학습된 모델을 가져다가 쓰면 내가 하고자 하는 과업에 맞춰 약간의 데이터만 모아서 미세 조정만 해주면 됨
  • 어떤 경우에는 미세조정 없이 쓸 수 있는 경우도 있음
  • 비전문가도 높은 성능의 모델을 쉽게 활용할 수 있게 된 것

전이 학습의 방식

  • 사전 학습된 부분을 포함해서 전체적으로 미세 조정
  • 사전학습된 모형의 전반부를 특징 추출기로 사용 + 후반부에 분류기만 추가하고 추가된 부분만 학습
  • 사전학습된 모형을 추가 학습 없이 그대로 사용(zero-shot learning)

언제 어떤 방법을 사용해야 하나?

방법데이터과업의 종류이미지필요한 하드웨어 성능
OpenCV 등으로 고정된 알고리즘없음단순 (직선, 원 찾기, 기하학적 변환)무관낮음
직접 모델을 만들어 머신러닝/딥러닝많음중간 (이미지 분류)해상도 낮고 크기 작음보통
기존의 모델을 전이 학습적음복잡 (탐지, 생성, 변환 등)해상도 높고 크기 큼높음