작성
·
120
0
안녕하세요
validation 때만 수정되는 파라미터들이 있을까요? 유무에 따라 정확도가 다르다고 했는데, 어떤 과정에서 더 좋은 모델이 얻어지는 것일까요?
답변 2
1
안녕하십니까,
학습중에 validation dataset을 사용하여, 주로 callback을 통해 learning rate를 동적으로 변경하는데 활용됩니다.
keras의 fit()/fit_generator()를 이용하면 epochs 수만큼 iteration을 반복하면서 실제 데이터와 학습 데이터의 오차를 줄이는데(즉 loss 함수를 최적화) , 학습이 제대로 되고 있는지는 검증 데이터의 loss/또는 성능 평가 지표(예를 들어 정확도)로 판정합니다.
왜냐하면 딥러닝 모델은 학습 데이터의 오차를 줄이는데만 집중하여, 오버 피팅이 발생하기 쉽습니다. 보통 검증 데이터의 오차가 잘 줄어들지 않으면 학습이 정체가 되거나 오버 피팅이 발생하는데, 이때 학습 iteration 중에 검증 데이터 성능을 기반으로 동적으로 학습율(learning rate)을 변경 시켜 줄수 있습니다.
Keras의 Callback중에 ReduceLROnPlateur()라든가 LearningRateScheduler()를 이용해서 이러한 작업을 수행할 수 있습니다.
감사합니다.
0