작성
·
118
1
안녕하세요.
yolo 모델 적용할때,
first_epochs = 100,
first_initial_epochs=50
second_epochs=100
second_initial_epoch=50
#1 이 부분 관련해서
처음에는 특정레이어를 훈련 안되게 한다음에 훈련을 시키고,
두번째에서는 모든 레이어가 다 훈련되게 하는 이유좀 문의드립니다.
#2 first_inital_epochs=50을 하는 이유가 궁금합니다.
답변 2
1
안녕하십니까,
1. 일반적으로 CNN 모델을 학습시 맨 마지막 Layer인 fully connected layer에 weight parameter 갯수가 많습니다. 그리고 fully connect layer 부분의 학습에 시간이 걸리고, 적절한 weight 값을 찾는데 어려움이 있을 수 있습니다.
때문에 먼저 이 fully connected layer만 random한 weight값이 아닌 어느정도 학습치를 반영한 weight값을 설정하기 위해서 Feature map layer 부분은 frozen(학습하지 않고) fully connected layer만 일정 수준 학습해서 weight값을 어느정도 먼저 최적화 시킵니다.그리고 이후에 전체 layer를 학습 시키는 방법을 적용하는 경우가 있는데, 여기서는 이러한 방법을 사용한 것입니다.
실제로 Yolo 개발 research들이 해당 방법을 적용해서 모델을 학습했다고 알려져 있습니다.
2. first_initial_epochs=50 에는 큰 이유가 없습니다. 더 크게 적용할 수도 있지만 Feature map 이 frozen 된 상태에서 더 큰 값으로의 적용이 의미가 없을 수도 있습니다.
감사합니다.
0