[DL] 조기 종료(early stopping)

미남로그·2022년 2월 5일
0

딥러닝 교과서

목록 보기
14/15

저는 참고 자료에 적힌 책을 바탕으로 개념을 정리하고 있습니다. 해당 파트는 5-5에 해당됩니다.

참고 자료

📚 딥러닝 교과서, 출판사: 이지스 퍼블리싱


목차

  1. 참고 자료
  2. 목차
  3. 조기 종료(early stopping)
  4. 조기 종료 기준
  5. 조기 종료의 정규화 효과
  6. Summary

조기 종료(early stopping)

조기 종료(early stopping)는 모델이 과적합되기 전 훈련을 멈추는 정규화 기법입니다.

훈련 성능과 테스트/검증 성능을 비교해보면 모델이 과적합 되고 있습니다.

조기 종료는 과적합이 일어나기 전 훈련을 멈추는 정규화 기법입니다.

훈련 중 주기적으로 성능 검증을 하다가 성능이 더 좋아지지 않으면 과적합이라 판단하고 훈련을 멈춥니다.

epoch을 단위로 성능 검증을 하며 epoch보다 자주 검증해야 할 때는 배치 실행 단위로 검증하기도 합니다.

epoch는 전체 훈련 데이터를 한 번 사용해서 훈련하는 주기를 뜻합니다. 전체 훈련 데이터를 한 번 사용하면 1 epoch라고 하고, 훈련할 때는 보통 여러 에폭에 걸쳐서 훈련합니다.


조기 종료 기준

조기 종료를 하는 기준도 중요합니다.

모델의 성능이 바로 향상하지 않는다고 종료해버리면 학습이 제대로 되지 않을 수 있습니다.

신경망을 학습할 때 단계마다 미니배치로 근사한 그레디언트는 실제 그레디언트와 차이가 있으므로 성능이 왔다갔다 할 수 있습니다.

따라서 일시적 변동이 아닌 지속적인 정체 또는 하락에 의한 판단에 종료하는 것이 좋습니다.

보통은 일정 횟수 동안 성능이 연속적으로 안 좋아지는지 모니터링을 하고

문제의 특성에 따라 훈련이 민감하게 반응하여 종료되지 않도록 모니터링 횟수를 크게 정해준다고 합니다.

어떤 성능을 기준으로 종료를 할 것인지도 중요한데, 보통은 모델 오차를 기준으로 조기 종료를 하지만 정확도나 다른 성능 측도를 사용할 수 있습니다.

test 시점에서는 훈련이 종료된 마지막 상태의 모델을 사용하게 됩니다.


조기 종료의 정규화 효과

조기 종료는 파라미터 공간을 작게 만듭니다.

초기 파라미터 위치가 w0w_0이고, 최적화 스텝 수가 γ\gamma, 학습률이 α\alpha라면 파라미터 공간은 w0w_0를 중심으로 γα\gamma \alpha 크기의 반경을 갖는 공간으로 제약됩니다.


조기 종료와 L2L_2 정규화의 관계

조기 종료로 파라미터 공간 크기가 제약되면 L2L_2 정규화와 동일한 효과를 가집니다.

  • 왼쪽: 조기 종료 했을 때 최적화 경로
  • 오른쪽: L2L_2 정규화를 했을 때 최적화 경로

조기 종료가 L2L_2 정규화의 효과를 보는 이유는

조기 종료를 할 때 원점 근처에서 출발해 최적해가 있는 방향으로 진행하다가 도중에 멈춥니다.

조기 종료 위치는 오른쪽 그림과 같이 L2L_2 정규화를 했을 때 손실 함수와 정규화 항이 만나는 지점과 비슷한 위치입니다.

손실 함수가 2차 함수로 정의되는 선형 모델의 경우 조기 종료와 L2L_2 정규화는 동일하다는 것이 증명되었습니다.


Summary

  1. 조기 종료는 모델이 과적합 되기 전 훈련을 멈추는 정규화 기법입니다. 훈련하는 동안 주기적으로 성능 검증을 하다가 성능이 더 좋아지지 않음녀 과적합이라 판단하고 훈련을 종료합니다.

  2. 조기 종료는 파라미터 공간을 작게 만들기 때문에 L2L_2 정규화와 동일한 효과를 가집니다.

profile
미남이 귀엽죠

0개의 댓글