포스트

딥러닝 기초 (11) - 전이학습: 사전학습 모델과 파인튜닝

매번 밑바닥부터 학습하는 대신 이미 학습된 모델을 가져다 쓰는 전이학습을 정리합니다. 왜 사전학습 특징이 재사용되는지, 특징 추출과 파인튜닝의 차이, 데이터 규모에 따른 선택까지 다룬 딥러닝 기초 (11)편입니다.

딥러닝 기초 (11) - 전이학습: 사전학습 모델과 파인튜닝

딥러닝 기초 시리즈의 11편입니다. 전체 목차는 0편에 있습니다. CNN 편의 마지막으로, 밑바닥부터 학습하지 않고 이미 학습된 모델을 활용하는 전이학습을 다룹니다.

매번 처음부터 학습할 필요가 없다

10편까지는 모델을 밑바닥부터 학습했습니다. 하지만 실무에서 그러기는 어렵습니다. 대규모 이미지 모델을 처음부터 학습하려면 수백만 장의 데이터와 막대한 계산이 필요한데, 대부분의 프로젝트에는 그만한 데이터도 자원도 없습니다.

전이학습(transfer learning)은 발상을 바꿉니다. 이미 큰 데이터(예: ImageNet 수백만 장)로 학습된 모델을 가져와, 내 문제에 맞게 일부만 다시 학습합니다.

왜 재사용이 되는가

9편에서 봤듯, CNN의 얕은 층은 가장자리·색·질감 같은 저수준 특징을 배웁니다. 이 특징들은 사진이 고양이든 자동차든 의료 영상이든 대체로 공통입니다. 깊은 층으로 갈수록 특정 데이터에 특화된 고수준 특징이 되고요.

그래서 큰 데이터로 학습한 모델의 앞부분(특징 추출기)은 거의 그대로 재사용할 수 있습니다. 바꿔야 하는 것은 대개 마지막 분류층 — “이 특징들로 무엇을 구분할 것인가” — 뿐입니다.

두 가지 방식: 특징 추출과 파인튜닝

  • 특징 추출(feature extraction) — 사전학습 모델의 가중치를 고정(freeze)하고, 새로 붙인 분류층만 학습합니다. 빠르고, 내 데이터가 적을 때 안전합니다.
  • 파인튜닝(fine-tuning) — 사전학습 가중치를 초기값으로 삼아, 모델 전체(또는 뒤쪽 일부)를 작은 학습률로 마저 학습합니다. 내 데이터가 어느 정도 있을 때 성능이 더 높습니다. 작은 학습률을 쓰는 이유는, 애써 학습된 특징을 급격한 갱신으로 망가뜨리지 않기 위해서입니다.

데이터 규모로 고르면 대략 이렇습니다.

내 데이터권장
아주 적음특징 추출 (앞부분 고정)
어느 정도 있음뒤쪽 층만 파인튜닝
충분히 많음전체 파인튜닝

전이학습은 이미지에서 특히 강력하지만, 발상 자체는 모든 딥러닝으로 번졌습니다. 뒤에 볼 Transformer 기반 언어 모델도 “큰 데이터로 사전학습 → 내 과제로 파인튜닝”이라는 같은 골격 위에 서 있습니다.

정리

개념한 줄 요약
전이학습이미 학습된 모델을 가져와 일부만 다시 학습
재사용의 근거저수준 특징(가장자리·질감)은 문제가 달라도 공통
특징 추출사전학습 가중치 고정 + 분류층만 학습. 데이터 적을 때
파인튜닝작은 학습률로 전체(또는 일부)를 마저 학습. 데이터 있을 때

여기까지가 이미지의 CNN입니다. 다음 편부터는 성질이 다른 데이터 — 문장·시계열처럼 순서대로 이어지는 시퀀스 — 로 넘어갑니다.

다음 글: 딥러닝 기초 (12) - 시퀀스와 임베딩

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.