본문 바로가기

AI/이론

[ML] Transfer learning 2

Transfer learning은 classifier를 변경한다.

Fine tuning은 이렇게 변경된 모델 전체를 다시 training한다.

 

 

[DL] Transfer Learning vs Fine-tuning, 그리고 Pre-training

딥러닝에서 신경망을 공부하다보면 transfer learning과 fine tuning이라는 단어를 심심치않게 접할 수 있다. 둘 사이에는 무슨 차이가 있을까? 사실 필자도 생각없이 혼용하다(ㅋㅋ) 의문점을 해소할

heeya-stupidbutstudying.tistory.com

 

 

[ 딥러닝 알아가기 ] Transfer Learning과 Fine Tuning

Transfer Learning (전이학습) 성능이 좋은 딥러닝 모델을 만드는 최고의 방법은 바로 많은 수의 데이터를 확보하는 것이다. 하지만 데이터의 수가 많지 않거나 데이터를 확보하는데 많은 비용이 드

newindow.tistory.com

  • Fine-Tuning
    • 새로운 데이터로 다시한번 가중치를 세밀하게 조정하도록 학습. 기존 데이터는 기존대로 분류
  • Feature Extraction
    • 기존 가중치는 그대로 놔둔뒤, 새로운 레이어를 추가해서 이를 학습하고 최종 결과를 내게끔 학습
  • Joint Training
    • 새로운 데이터를 추가하여 처음부터 다시 시작
  • Learning without Forgetting
    • 새로운 데이터로 가중치를 세밀하게 조정하되, 기존 데이터 분류 결과 또한 개선 가능(하다고 주장)

 

 

※ transfer learning - fine tuning의 차이 짚고 넘어가기

혼동될 수 있는 개념인 것 같습니다. 거의 transfer learning = finetuning으로 봐도 무방합니다. imagenet이라는 큰 데이터로 pretrain된 backbone을 이용해 feature map을 뽑아내고, 아래 4가지 처럼 fine tuning을 자신의 데이터셋에 맞게  fc layer만 다시 설계하는 겁니다!

 

object detection이나 segmentation같이 vgg net의 CNN을 classification이 아닌 feature extraction으로만 쓰는 경우는 transfer learning이라고 하지는 않고 vgg net의 CNN을 backbone으로만 썼다고 합니다.

하지만 task가 바뀐 이런 경우에도 자신의 데이터에 더욱 fit하게 backbone을 다시 학습 시킨다면, finetuning이라고 합니다.

 

예시를 개 - 고양이 분류로 들었지만, 항상 다양한 문제에 직면할 수 있습니다.

따라서 fine tuning을 할 때에는 중요한 점이 있습니다. 

 

바로 현재 task의 데이터양과 pretrained model과의 dataset, task 관련 유사정도입니다. 

아래 4가지로 분류할 수 있습니다.

 

 

 

 

 

Transfer learning & fine tuning의 다양하고 섬세한 기법

우리가 어떤 문제에 직면했을 때 해당 문제와 비슷한 결과들이 있다면 훨씬 수월하고 빠르게 문제를 해결해 나갈 수 있을 겁니다. 이번에는 바로 그 개념인 *Transfer learning과 **fine tuning에 대한 내

inhovation97.tistory.com