8.3.3 조기 종료를 이용한 성능 최적화
조기 종료(early stopping)는 뉴럴 네트워크가 과적합을 회피하는 규제 기법입니다. 훈련 데이터와 별도로 검증 데이터를 준비하고, 매 에포크마다 검증 데이터에 대한 손실(validation loss)을 측정하여 모델의 종료 시점을 제어합니다. 즉, 과적합이 발생하기 전까지 훈련에 대한 손실(training loss)과 검증에 대한 손실 모두 감소하지만, 과적합이 발생하면 훈련에 대한 손실은 감소하는 반면 검증에 대한 손실은 증가합니다. 따라서 조기 종료는 검증에 대한 손실이 증가하는 시점에서 훈련을 멈추도록 조정합니다.
▲ 그림 8-45 조기 종료
조기 종료는 훈련을 언제 종료시킬지를 결정할 뿐이지 최고의 성능을 갖는 모델은 보장하지 않습니다. 조기 종료는 종료 시점을 확인하기 위한 콜백(callback) 함수를 반드시 함께 사용해야 합니다.
다음 조기 종료에 대한 예제에서는 케라스에 내장된 데이터인 IMDB 데이터셋을 사용합니다.