ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 콜백함수(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

    댓글

Designed by Tistory.