Keras와 PyTorch의 콜백(Callbacks)

김성빈·2024년 5월 31일
0

Modern Computer Vision

목록 보기
93/117

콜백(Callbacks)

  • 콜백은 훈련 과정의 다양한 단계에서 특정 작업을 수행
  • 조기 종료, 모델 체크포인팅, 학습률 조정, 로깅, 원격 모니터링 및 사용자 정의 함수 등을 위해 유용

필요한 이유

  • 각 에포크(epoch) 후에 모델을 저장할 수 있다.
  • 과적합이 감지되면 훈련을 중지할 수 있다.
  • 훈련 중 정보를 기록하여 나중에 분석할 수 있다.
  • 조기 종료를 구현하여 과적합을 방지하고 시간을 절약할 수 있다.
  • 모델 체크포인팅을 통해 최고의 모델을 저장할 수 있다.
  • 학습률 조정을 통해 훈련 효율성을 높일 수 있다.

콜백의 유형 및 사용 사례

조기 종료(Early Stopping)

전에 봤던 조기 종료, 과적합을 방지하기 위해 최적의 시점에서 훈련을 중지

모델 체크포인팅(Model Checkpointing)

훈련 중 주기적으로 모델 가중치를 저장

최종 에포크가 아닌 최고의 모델을 저장

중단된 경우 훈련을 재개할 수 있게 해준다.

  • 사용예시

학습률 스케줄러(Learning Rate Scheduler)

글로벌 최소값 주위에서 손실이 진동하지 않도록 학습률을 동적으로 조정

검증 지표가 개선되지 않으면 일정 수의 에포크 후에 학습률을 줄인다.

조기 종료와 연관있어 보인다.

로깅(Logging)

모델 훈련 통계를 자동으로 기록

TensorBoard와 같은 도구를 사용하면 실시간 모니터링 및 분석에 유용하다.

결론

콜백은 훈련 과정을 향상시키고, 제어할 수 있게 해주는 것이다.

특히 log 기록을 실시간으로 모니터링 한다는것은

모델의 개선점을 해결하기 위해 큰 도움이 될 것이다.

개발 과정에서 시리얼 모니터와 같이 모니터링 기능이 있으면

개발 속도가 빨라지는 것처럼

profile
감사합니다. https://www.youtube.com/channel/UCxlkiu9_aWijoD7BannNM7w

0개의 댓글