심층 신경망 훈련을 위해 조기 중지를 올바르게 사용하는 방법은 무엇입니까?


20

심층 신경망 모델이 있으며 약 100,000 개의 예제로 구성된 내 데이터 세트에서 훈련해야하며 유효성 검사 데이터에는 약 1000 개의 예제가 있습니다. 각 예제를 훈련하는 데 시간이 걸리고 (각 예제마다 약 0.5 초) 과적 합을 피하기 위해 불필요한 계산을 방지하기 위해 조기 중지를 적용하고 싶습니다. 그러나 조기 중지로 신경망을 올바르게 훈련시키는 방법을 잘 모르겠습니다. 현재 이해하지 못하는 몇 가지 사항이 있습니다.

  • 좋은 검증 빈도는 무엇입니까? 각 시대가 끝날 때 유효성 검사 데이터에서 모델을 확인해야합니까? (배치 크기는 1입니다)

  • 처음 몇 시대는 더 나은 가치로 수렴하기 전에 더 나쁜 결과를 낳을 수 있습니까? 이 경우 조기 중지를 확인하기 전에 몇 가지 시대를 위해 네트워크를 훈련시켜야합니까?

  • 유효성 검사 손실이 증가하거나 감소 할 수있는 경우를 처리하는 방법은 무엇입니까? 이 경우 조기 중지로 인해 모델이 더 이상 학습하지 못할 수 있습니다.

미리 감사드립니다.


배치 크기를 1보다 큰 것이 좋습니다. 일반적인 크기는 32, 64 및 128입니다.
ComputerScientist

답변:


20

좋은 검증 빈도는 무엇입니까? 각 시대가 끝날 때 유효성 검사 데이터에서 모델을 확인해야합니까? (배치 크기는 1입니다)

각 시대마다 유효성 검사 오류를 계산하는 것은 금 규칙이 없으며 매우 일반적입니다. 유효성 검사 세트가 훈련 세트보다 훨씬 작기 때문에 훈련 속도가 크게 느려지지 않습니다.

처음 몇 시대는 더 나은 가치로 수렴하기 전에 더 나쁜 결과를 낳을 수 있습니까?

이 경우 조기 중지를 확인하기 전에 몇 가지 시대를 위해 네트워크를 훈련시켜야합니까?

당신은 할 수 있지만 문제는 얼마나 많은 시대를 건너 뛸 것인가입니다. 따라서 실제로 사람들은 대부분 신기원을 건너 뛰지 않습니다.

유효성 검사 손실이 증가하거나 감소 할 수있는 경우를 처리하는 방법은 무엇입니까? 이 경우 조기 중지로 인해 모델이 더 이상 학습하지 못할 수 있습니다.

사람들은 일반적으로 인내심, 즉 유효성 검사 세트에 진행이없는 경우 조기 중지 전에 대기 할 에포크 수를 정의합니다. 인내심은 종종 10에서 100 사이에 설정되지만 (10 또는 20이 더 일반적 임) 데이터 세트와 네트워크에 따라 다릅니다.

인내심 = 10 인 예 :

여기에 이미지 설명을 입력하십시오


조기 중지시 모델을 사용하거나 patience중지 전 모델 시대 (더 이상 개선되지 않은 '최상의')를 사용해야합니까 ?
stackunderflow

2
@displayname 인내심이 멈출 때까지
Franck Dernoncourt

11

최근에 "Early Stopping-" 라는 제목의 논문이 나왔습니다. Lutz Prechelt는 각각의 기능과 공식에 대한 명확한 설명과 함께 조기 중지를 사용하는 방법에 대한 훌륭한 예를 제공합니다.

잘 살펴보면 도움이 될 것입니다.


종이는 이상한 스타일로 작성되었지만 정보는 도움이되었습니다.
Josiah

3

다른 훌륭한 답변을 추가하기 위해 멈추지 않을 수도 있습니다. 나는 보통:

  • 내가 생각했던 것보다 훨씬 많은 시간 동안 NN을 운영하고
  • N 에포크마다 모델 가중치를 저장하고
  • 훈련 손실이 안정화 된 것을 볼 때, 검증 손실이 가장 낮은 모델을 선택하기 만하면됩니다.

물론 분 단위로 지불하지 않거나 비용이 충분히 적은 경우와 교육을 수동으로 중지 할 수있는 경우에만 의미가 있습니다. 단점은 후시에서 가장 낮은 검증 오류를 결정하는 것이 훨씬 쉽다는 것입니다.


1
나도 그래. 비록 당신처럼 나는 그것이 사치라는 것을 알고 있습니다. 모델이 많은 공간을 차지하기 시작했을 때, 이전 손실 및 f- 점수 수치를 사용하면 프로그래밍 방식으로 이전 모델을 삭제할 시점을 결정할 수 있다는 것을 알았습니다. 따라서 대략적으로 가치가있을만큼 많은 하드 디스크 공간.
QA Collective
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.