SW/딥러닝

27. 딥러닝 : 오버피팅(과적합) : 훈련 멈추는 시점, 팁, 개념, 종류

얇은생각 2020. 3. 14. 07:30
반응형

훈련 과정

 

오버 피팅과 관련된 세부 사항은 더 자세히 살펴보아야 합니다. 마지막 기능이 최소화 될 때까지 모델을 수십 번 훈련했다고 말했습니다. 계속 할 수 있지만 어느 시점에서 과적합할 것입니다.

 

 

 

에포크 중지

 

학습 프로세스를 중단하는 것에 대한 한두 가지 사례를 살펴보면서, 모델이 학습되었음을 나타내는 추가 규칙을 살펴볼 것입니다. 적절한 용어는 조기 중지입니다. 일반적으로 조기 중지는 과적합을 방지하는 기술입니다. 가장 간단한 방법은 첫 번째 섹션 이후 최소한의 예에서 미리 설정된 수의 에포크 (epoch)를 훈련하는 것입니다. 최소에 도달했거나 학습 속도가 충분히 높아졌다고 보장 할 수 없습니다. 손실이 무한대로 바뀔 수도 있습니다. 훈련을 위해 시도해보아야 합니다. 신기한 실수를 제외하고 실수는 거의 만족스럽지 못하지만, 머신 러닝 기술은 많이 향상되어 이 방법을 사용해서는 안됩니다.

 

 

 

 

훈련 결과 중지

 

마지막으로 기능 업데이트가 충분히 작아지면 좀 더 정교한 기법을 사용하지 않는 것이 좋습니다. 그라디언트 디센트를 도입 할 때 손실 함수의 상대적 감소가 0 또는 1 또는 0.1 % 미만이되는 시점을 막는 것이 일반적인 법칙이라는 점에 대해서도 언급했습니다. 최소값에 도달하기 전에 멈추지 않을 것이라고 확신합니다. 이것은 기울기 하강이 작동하는 방식 때문입니다. 최소에 도달 할 때까지 내려갑니다. 마지막 함수는 동일한 가중치로 업데이트 규칙을 생성하도록 변경을 중지합니다.

두 번째 아이디어는 가능한 한 적은 반복을 사용하여 컴퓨팅 성능을 절약하고 싶다는 것입니다. 최소한에 도달하거나 무한대로 분산되면 가질 아무리 학습해도 변경되지 않는다는 것을 알 수 있습니다. 따라서, 그만 멈출 수 있습니다. 이것은  아무것도 업데이트하지 않고 쓸데없이 반복하는 수고를 덜어줍니다. 이것은 미리 설정된 수 동안 이전 방법보다 한 단계 높은 수준입니다. 에포크 접근 방식은 손실을 최소화 할 수 있습니다. 기회는 필요한 에포크의 수를 추측 할 수 없습니다.

아마도 알고리즘이 가중치를 업데이트하지 않은 수천번의 반복을 수행했을 것입니다. 아무것도 변경하지 않는 각 에포크는 쓸모없고 삭제되어야합니다. 첫 번째 기술은 손실을 최소화하는 것 외에는 어떤 문제도 처리하지 않았으며, 두 번째 기술은 비용을 최적화하고 컴퓨팅 성능을 절약 할 수 있지만 엄청난 과적합을 초래할 수 있습니다.

 

 

 

유효성 검사 중지

 

검증 세트 전략에 대해 이야기합니다. 이것은 조기 중지를 위한 가장 간단한 영리한 기법으로 과적합을 방지합니다. 훈련은 오류로 인한 시간이 짧아짐에 따라 이런 방식으로 발생합니다. 처음에는 더 나은 가중치를 빨리 찾을수록 분포가 기하 급수적으로 증가합니다. 모델을 많이 훈련할수록 개선을 달성하기가 더 어려워집니다. 어느 시점에서 거의 평평해집니다.

 

 

 

멈추는 시점

 

유효성 검사 비용을 과적합하기 시작했을 때 훈련 비용으로 시작하는 것과 동일한 그래프에 유효성 검사 곡선을 표시합니다. 여기서 두 함수의 분기가 시작되기를 희망합니다. 이것은 붉은 깃발입니다. 모델에 더 많은 피해를 입히기 전에 이제 상황에 따라 다릅니다. 다른 조기 정지 유형을 사용할 수 있습니다. 최소 예제에서 사전 설정된 반복 횟수 방법을 사용했습니다. 

 

 

 

좋은 방법

 

검증 세트 전략은 단순하고 영리하며 과적합을 방지합니다. 그러나 과적합을 위해 알고리즘에 시간이 오래 걸릴 수 있지만 가중치가 너무 많이 이동하더라도 여전히 그렇지 않습니다 그래서 두 가지 방법의 조합을 사용하는 것이 좋기 때문에 유효성 검사 손실이 증가하기 시작하거나 훈련이 거의 끝나지 않을 때 중지됩니다.

반응형