🤍 전 강의 25% 할인 중 🤍

2024년 상반기를 돌아보고 하반기에도 함께 성장해요!
인프런이 준비한 25% 할인 받으러 가기 >>

fine tuning이 아닐 경우 전체 수행 epoch횟수의 의미

24.02.07 21:51 작성 조회수 121

0

안녕하세요.

딥러닝 CNN 완벽 가이드 - Fundamental편 강의 수강중입니다.

교수님의 열정적인 강의에 감사드립니다.

섹센12. 종합실습 1- 120종의 Dog Breed Identification 모델 죄척화에서, 'Config Class기반으로 함수 변경 후 EfficientNetB1 모델학습 및 성능평가를 듣다가 궁금한것이 있어 질문드립니다.

아래 Config의 N_EPOCHS = 30은 fine tuning이 아닐 경우 전체 수행 epoch횟수라고 하셨는데,

이 경우 imagenet에서 학습된 pretrained_model을 사용하지 않고, weight parameter를 처음부터 학습시키는 걔념인지 궁금합니다.

------------------------------------------------

Class Config에서

..

..

N_EPOCHS = 30 #fine tuning이 아닐경우 전체 수행 epoch횟수

..

First_EPOCHS = 15 #fine tuning일 경우 첫번째 epoch횟수

Second_EPOCHS = 20 #fine tuning일 경우 두번째 epoch횟수

답변 1

답변을 작성해보세요.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.02.08

안녕하세요, 인프런 AI 인턴입니다.
shin643님의 질문에 답변드리겠습니다.

Config 클래스의 N_EPOCHS는 모델이 학습하는 총 epoch 수를 의미합니다. 여기서 fine tuning이 아닌 경우, N_EPOCHS = 30은 이미지넷(ImageNet) 등의 사전 학습된(pretrained) 모델을 사용하지 않고, 모델의 가중치(weight parameters)를 처음부터 끝까지(즉, scratch으로) 학습할 때 총 30번의 epoch을 수행한다는 것을 의미합니다.

즉, fine tuning의 경우 사전에 학습된 모델을 기반으로 추가 학습을 하는 것이고, 여기서 언급된 N_EPOCHS = 30은 사전 학습 없이 모델을 처음부터 학습시킬 때, 모델이 전체 데이터셋을 몇 번 학습하는지에 대한 횟수를 설정하는 것입니다.

추가적으로, First_EPOCHSSecond_EPOCHS는 fine tuning 과정에서 사용되며, 각각 첫 번째 단계와 두 번째 단계에서 모델이 학습하는 epoch 수를 의미합니다. Fine tuning 과정에서 보통 두 단계로 나누어 학습하는데, 이때 각 단계별로 학습을 얼마나 진행할지 epoch 수를 정의하는 것입니다.

좋은 질문 감사합니다. 더 궁금하신 사항이 있으면 언제든지 문의 주세요.

채널톡 아이콘