Doby's Lab

Transfer Learning(pre-training, fine-tuning)의 개념에 대하여 (Prologue) 본문

AI/Concepts

Transfer Learning(pre-training, fine-tuning)의 개념에 대하여 (Prologue)

도비(Doby) 2023. 2. 4. 11:25

✅ Intro

R-CNN에 대해 공부하다가 접하게 되어 기본적인 개념에 대해 알고자 작성하게 되었습니다.


✅ Pre-training (사전 학습)

어떤 목적을 갖는 모델을 만들어야 할 때, 이미 잘 만들어진 모델을 가지고 조금 변형을 줘서 사용할 수 있겠다 싶은 판단이 들 때가 있습니다. 그때, 이미 잘 만들어진 모델은 Pre-trained Model이라고 합니다.

 

예를 들어, 개와 고양이를 분류하는 ResNet, ImageNet 등 좋은 모델을 가져와서 쓴다고 할 때, Pre-trained Model은 이렇게 선정했다고 말할 수 있습니다.

 

또한, 이런 경우가 아니더라도 Labeled data가 많이 없는 케이스도 Pre-training을 고려할 수 있습니다.

왜냐하면, Unsupervised Learning을 통해 어느 정도의 적절한 Parameter를 찾고, Labeled data를 학습(Supervised Learning, Fine-tuning)시키면서 원래의 목적에 맞게끔 학습시킬 수 있습니다.

 

+ 하지만, 이러한 방식은 많은 기술의 발전(Dropout, Image Augmentation 등)으로 '굳이 그럴 필요 없다'라는 의견들이 나오면서 Supervised Learning을 방식만으로도 좋은 결과를 가져올 수 있게 되었습니다.


✅ Fine-tuning (미세 조정)

Pre-trained Model로써 좋은 모델을 발견했지만 이 모델이 Binary Classification을 하고, 우리의 목적은 Multi-Class Classification이라고 했을 때는 Pre-trained Model의 Layer를 수정할 필요가 있습니다.

 

즉, Pre-trained Model 기반의 Architecture를 새로운 목적에 맞게끔 변형하고, 새로운 목적에 대한 성능을 높이도록 학습하여 Parameter를 정교하게 수정하는 과정입니다.

이러한 과정을 Fine-tuning이라고 합니다.

 

필요한 Layer를 붙여서 Parameter를 잘 Initialize 시켜 전체적으로 재학습시키는 방법도 있고, 새로 더할 부분만 학습시켜서 붙이는 여러 가지 방법이 있습니다.


✅ Transfer Learning (전이 학습)

앞서 말한 일련의 과정들이 모두 Transfer Learning에 포함이 됩니다.

또한, 앞서 말한 것 말고도 많은 종류가 있기 때문에 추후에 다루도록 하겠습니다.

 

이러한 Transfer Learning이 갖는 장점은 pre-trained model을 사용하면, 기존의 Low-level(점, 선, 곡선 등)에 대한 지식을 유용하게 쓸 수 있기 때문에 널리 알려진 방식입니다.

 

이 장점을 가지고 보았을 때, 괜찮은 모델을 가져오는 것에 대한 생각뿐만 아니라 Target Task에 대한 데이터가 부족할 때도 Transfer Learning을 고려할 수 있겠습니다.


✅ References

https://heeya-stupidbutstudying.tistory.com/entry/DL-Transfer-Learning-vs-Fine-tuning-%EA%B7%B8%EB%A6%AC%EA%B3%A0-Pre-training

 

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

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

heeya-stupidbutstudying.tistory.com

https://eehoeskrap.tistory.com/186

 

[Deep Learning] pre-training 과 fine-tuning (파인튜닝)

Pre Training 이란? 선행학습(pre-training) 사전훈련(pre-training) 전처리과정(pre-training) 이라고도 하는데, 이는 Multi Layered Perceptron (MLP)에서 Weight와 Bias를 잘 초기화 시키는 방법이다. 이러한 Pre-training을

eehoeskrap.tistory.com

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=laonple&logNo=220884698923

 

[머신러닝] 15. 머신러닝 학습 방법(part 10) - AutoEncoder(2)

쉽게 읽는 머신 러닝 – 학습방법 (part 10) – AutoEncoder2 지난 10월 말 Facebook은 “Style Trans...

blog.naver.com

https://hyoeun-log.tistory.com/entry/WEEK5-Transfer-Learning

 

WEEK5 : Transfer Learning

learning from multiple task transfer learning multi-task learning Transfer Learning 1) Transfer Learning이란? 사전 작업(source task)에 대하여 학습된 정보를 목표 작업(target task)에 활용하는 방법 2) Transfer Learning의 장점 tar

hyoeun-log.tistory.com

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=flowerdances&logNo=221189533377

 

[인턴일지] Transfer Learning (전이 학습) 이란?

[왜 Transfer Learning 인가?] - 머신러닝(Machine Learning)의 많은 모델은 적용하려는 데이터가 학습...

blog.naver.com

 

728x90