일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- c++
- 회고록
- 알고리즘
- 우선 순위 큐
- 자바스크립트
- 문자열
- 2023
- 가끔은_말로
- pytorch
- 조합론
- dfs
- 플로이드 와샬
- tensorflow
- 이분 탐색
- 너비 우선 탐색
- 다익스트라
- 미래는_현재와_과거로
- Overfitting
- 크루스칼
- 백트래킹
- 분할 정복
- object detection
- DP
- back propagation
- 가끔은 말로
- 세그먼트 트리
- BFS
- NEXT
- lazy propagation
- dropout
- Today
- Total
Doby's Lab
Transfer Learning(pre-training, fine-tuning)의 개념에 대하여 (Prologue) 본문
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
[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
'AI > Concepts' 카테고리의 다른 글
Label Encoding의 문제점 (with Chat GPT) (0) | 2023.07.20 |
---|---|
Precision과 Recall이 반비례 관계인 이유에 대한 고찰 (1) | 2023.06.17 |
Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift (4) | 2023.01.22 |
Activation이 Non-linearity를 갖는 이유 (0) | 2023.01.21 |
Gradient Vanishing / Exploding에 대하여 (1) | 2023.01.17 |