본문 바로가기

카테고리 없음

Transfer learning과 Fine tuning의 차이점

Transfer learning

학습된 모델의 전체, 또는 일부 레이어만 남기고 새로운 태스크(데이터셋)에 학습시키는 것.

최소한 output layer(classifier, regressor)는 0부터 학습한다.

output layer만 fine tuning하는 경우도 있으나 이 경우 transfer learning으로 지칭하는 것이 적합.

 

Fine tuning

학습된 모델의 weight값을 새로운 태스크에 맞게 미세하게 학습시키는 것.

0부터 학습하는 것이 아니라 이미 학습된 weight를 조금씩 수정하는 경우에 해당한다.

 

Notes

새로운 태스크의 data distribution이 비슷하다면 low level layer까지 재학습시킬 필요가 없기 때문에 아래는 고정하고 윗단만 학습하는 transfer learning을 진행한다.

기존 레이어를 몇 개만 고정하고 나머지 레이어 미세 조정 + output layer를 새롭게 학습하는 경우 fine tuning과 transfer learning에 모두 해당한다.

fine tuning을 transfer learning의 한 타입으로 알고 있는 경우가 많지만, 둘은 다른 개념이고 transfer learning을 할 때 fine tuning을 선택적으로(추가로) 할 수 있는 것.

참고하면 좋은 글: https://towardsdatascience.com/cnn-transfer-learning-fine-tuning-9f3e7c5806b2