본문 바로가기
ML & DL

[DL] 전이학습 개념 간단하게.

by 다람이도토리 2022. 3. 30.
* 딥러닝 파이토치 교과서 내용(ch5.3)을 바탕으로, 추가로 찾은 내용들을 포함하여 개념 위주로 간단히 정리했습니다.

전이학습(transfer learning)이란?

전이학습이란, 아주 큰 dataet을 이용하여 훈련된 모델을 가져와 우리가 해결하려는 문제에 보정하여 사용하는 것을 의미한다. 즉, 사전 학습된 모델(pre-trained model)을 이용한다는 것을 의미한다.

Example) ImageNet

즉, 비교적으로 적은 수의 데이터를 가지고 있어도 이미 학습된 모델을 활용하면 주어진 문제를 더 잘 해결할 수 있을 것이다. 전이 학습은 보통, 이미지 관련 문제에서 많이 활용하게 된다.

어떻게 활용할 것인가? - 특성 추출 기법

사진출처 : 딥러닝 파이토치 교과서 (p201)

우선 CNN의 구조를 다시 간단하게 생각해보면

입력 데이터 -> 합성곱 층 -> 완전 연결층 -> 출력

모든 층을 그대로 활용할수는 없고, 전체 모델을 다시 학습시킨다면 새로 모델을 만드는 것과 큰 차이가 없다.
따라서, 남은 선택지들을 보면 다음과 같다.

- 합성곱 층의 가중치는 모두 그대로 두고, 분류기 부분만 재학습하기
- 합성곱 층의 가중치도 일부는 재학습하기

가중치의 일부를 재학습 한다는 의미는, 문제의 해결 과정에서 세부적인 학습 과정은 데이터셋에 맞게 다시 구성할 수 있음을 의미하게 된다.

미세 조정 기법, fine-tuning

여기서 더 나아가, 사전 훈련된 모델과 합성곱층, 분류기의 가중치를 업데이트하는 방식도 고려할 수 있다.
특성 추출 기법에서 특성이 잘못 추출될 수도 있다. 그 경우, 미세 조정 기법을 통해 새로운 데이터를 활용하여 가중치를 업데이트 하게 된다.

데이터셋의 크기와 사전 훈련된 모델과의 유사성에 따라 다음과 같은 전략을 세울 수 있다.

  사전 훈련된 모델과의 유사성
유사성이 높다 유사성이 낮다
데이터셋의 크기 크다 합성곱층 뒷 부분
분류기 재학습
모델 전체 재학습
작다 분류기만 재학습
(과적합 방지를 위함)
합성곱층 뒷 부분
분류기 재학습

파라미터에 큰 변화를 주게 되면, 과적합 문제가 발생하여 정교하고 미세한 파라미터 업데이트가 필요.