-
콜백함수(EarlyStopping)AI/DeepLearning 2022. 10. 5. 14:56
tf.keras.callbacks.EarlyStopping( monitor='val_loss', min_delta=0, patience=0, verbose=0, mode='auto', baseline=None, restore_best_weights=False )
parameter 설명
1. monitor - EarlyStopping의 기준이 되는 값을 입력 ex) 만약 'val_loss'를 입력하면 val_loss가 더이상 감소되지 않을 경우 EarlyStopping을 적용 이외에도 다양한 값을 입력가능(val_acc..) 2. min_delta - 개선된 것으로 간주하기 위한 최소한의 변화량 ex) min_delta가 0.01이고, 30에폭에 정확도가 0.8532라고 할 때, 만약 31에폭에 정확도가 0.8537라고 하면 이는 0.005의 개선이 있었지만 min_delta 값 0.01에는 미치지 못했으므로 개선된 것으로 보지 않는다 3. patience - Training이 진행됨에도 더이상 monitor되는 값의 개선이 없을 경우, 몇 번의 epoch을 진행할 지 정하는 값 ex) patience는 3이고, 30에폭에 정확도가 99%였을 때,만약 31번째에 정확도 98%, 32번째에 98.5%, 33번째에 98%라면 더 이상 Training을 진행하지 않고 종료 (99 vs 98를 비교) 4. verbose - 1 또는 0 - 1일 경우, EarlyStopping이 적용될 때, 화면에 적용되었다고 나타냅니다.0일 경우, 화면에 나타냄 없이 종료 5. mode - auto 또는 min 또는 max - monitor되는 값이 최소가 되어야 하는지, 최대가 되어야 하는지 알려주는 인자 ex) 예를 들어 val_acc 정확도일 경우 값이 클 수록 좋기 때문에 max, val_loss일 경우 값이 작을수록 좋기 때문에 min을 입력, auto는 모델이 알아서 판단 6. baseline - 모델이 달성해야하는 최소한의 기준값 - patience 이내에 모델이 baseline보다 개선됨이 보이지 않으면 Training을 중단 ex) patience가 3이고 baseline이 정확도기준 0.98 이라면, 3번의 trianing안에 0.98의 정확도를 달성하지 못하면 Training이 종료 7. restore_best_weights - True, False - True라면 training이 끝난 후, model의 weight를 monitor하고 있던 값이 가장 좋았을 때의 weight로 복원, False라면, 마지막 training이 끝난 후의 weight로 놔둠
'AI > DeepLearning' 카테고리의 다른 글
인공신경망 (0) 2022.10.13 어테션메커니즘(AttentionMechanism) (0) 2022.10.07 LSTM (0) 2022.10.04 인공신경망(Artificial Neural Network) (0) 2022.10.03 레이어들(Layers) (0) 2022.09.30