검증 손실 또는 정확성에 대한 조기 중단?


10

현재 신경망을 훈련 중이며 조기 중지 기준을 구현하는 데 사용할 유효성, 즉 유효성 검사 손실 또는 유효성 검사 세트에서 계산 된 정확도 / f1score / auc / 무엇과 같은 메트릭을 결정할 수 없습니다.

연구에서 두 가지 관점을 모두 지키는 기사를 찾았습니다. Keras는 유효성 검사 손실을 기본값으로하는 것처럼 보이지만 반대 접근법 (예 : here )에 대한 설득력있는 답변을 얻었습니다 .

누구나 바람직하게 유효성 검사 손실을 사용하는 시점과 특정 메트릭을 사용하는 시점에 대한 지침이 있습니까?

답변:


6

TLDR; 정확성보다는 손실을 모니터링

나는받은 답변이 요점을 놓치고 누군가가 같은 문제가 있다고 생각하기 때문에 내 자신의 질문에 대답 할 것입니다.

먼저, 신경망을 훈련 할 때 조기 정지를 사용하는 것이 완벽하게 정상임을 신속하게 설명하겠습니다 (Goodfellow 등의 Deep Learning 서적, 대부분의 DL 논문 및 keras의 EarlyStopping 콜백 설명서 참조).

이제 모니터링 할 수량과 관련하여 정확도보다 손실을 선호합니다. 왜? 손실은 모델이 예측에 대해 얼마나 확실한지 정량화합니다 (기본적으로 오른쪽 클래스에서는 1에 가까우며 다른 클래스에서는 0에 가까움). 정확성은 단지 정확한 예측의 수를 설명합니다. 마찬가지로 확률보다는 하드 예측을 사용하는 모든 메트릭에는 동일한 문제가 있습니다.

분명히, 어떤 메트릭을 선택하든 트레이닝 세트가 아닌 유효성 검사 세트에서 계산해야합니다.


값이 0과 1 사이 인 경우 cross_entropy손실은 MSE또는 보다 선호 MAE됩니다. 이 기사 의 요약 섹션 과 통계에 대한이 게시물을 확인하십시오 .
Esmailian

@Esmailian 그것은 선호의 문제가 아니다; 에 대한 분류 문제, MSE 및 MAE는 단순히 적합하지 않다.
desertnaut

4

내 생각에 이것은 주관적이고 문제에 따라 다릅니다. 모델을 더 잘 초점을 맞추는 방법에 대한 결정을 내릴 수 있으므로 운전 메트릭으로 마음에 가장 중요한 요소를 사용해야합니다.

L1

예를 들어, 보고서에서 / 상사 에게 F1- 점수 를보고하고 (실제로 관심이 있다고 가정 할 경우) 해당 메트릭을 사용하는 것이 가장 적합 할 수 있습니다. 예를 들어, F1- 점수는 정밀도리콜 을 고려합니다. 즉, 두 개의보다 세분화 된 메트릭 간의 관계를 설명합니다 .

이러한 것들을 종합하면 정상 손실 이외의 점수를 계산하는 것이 개요와 훈련 반복 과정에서 최종 지표가 어떻게 최적화되는지 알기에 좋습니다. 그 관계는 아마도 당신에게 문제에 대한 더 깊은 통찰력을 줄 수 있습니다.

그러나 유효성 검사 손실을 최적화하면 교육을 더 오래 실행할 수 있으므로 결국에는 F1- 점수 가 더 높아질 수 있으므로 일반적으로 여러 옵션을 시도하는 것이 가장 좋습니다 . 정밀성과 리콜은 일부 지역 최소 점 주위에서 흔들리면서 거의 정적 인 F1 점수를 생성하므로 훈련을 중단합니다. 순수한 손실에 대해 최적화 한 경우 더 오래 훈련 할 수 있도록 손실이 충분히 변동 된 것으로 기록되었을 수 있습니다.


유효성 검사 손실을 사용하면 메트릭을 사용하는 것보다 오래 훈련 할 수있는 이유는 무엇입니까? 또한 두 옵션의 차이점을 자세히 설명 할 수 있습니까? 손실보다는 메트릭을 사용하는 것이 좋지 않은 경우가 있습니까?
qmeeus

@ id-2205-수정 된 답변을 참조하십시오.
n1k31t4

재미있는 포인트! 현재 조기 중지에 정확도를 사용하고 있지만 유효성 검사 손실을 사용하려고합니다. 나는 훈련 과정에 어떤 변화도 기대하지 않는다! 답변 주셔서 감사합니다
qmeeus

1

현재 신경망을 훈련 중이며 조기 중지 기준을 구현하는 데 사용할 유효성, 즉 유효성 검사 손실 또는 유효성 검사 세트에서 계산 된 정확도 / f1score / auc / 무엇과 같은 메트릭을 결정할 수 없습니다.

딥 네트워크를 훈련하는 경우 조기 중지를 사용하지 않는 것이 좋습니다. 딥 러닝에서는 그리 관습 적이 지 않습니다. 대신, 일반화를 위해 드롭 아웃과 같은 다른 기술을 사용할 수 있습니다. 당신이 그것을 주장한다면, 기준을 선택하는 것은 당신의 작업에 달려 있습니다. 불균형 데이터가있는 경우 F1교차 검증 데이터에서 점수 를 사용 하고 평가해야합니다. 균형 잡힌 데이터가있는 경우 교차 유효성 검사 데이터의 정확도를 사용하십시오. 다른 기술은 작업에 크게 의존합니다.

귀하의 데이터에 잘 맞는 모델을 찾고 그 후에 탈락을 사용하는 것이 좋습니다. 이것은 사람들이 심층 모델에 사용하는 가장 관습적인 것입니다.


2
드롭 아웃도 사용하고 있습니다. 그러나 조기 정지를 사용해서는 안되는 이유를 찾을 수 없습니다 ...
qmeeus

조기 중지는 학습 및 일반화 문제를 해결하려고합니다. 반면에 탈락은 일반화 문제를 극복하려고 시도합니다.
Media

1
당신은 내 질문에 대답하지 않습니다 ... 나는 드롭 아웃이 유용하고 과적 합을 방지하기 위해 사용해야한다는 사실을 부정하지 않습니다. 나는 그것에 대해 더 동의 할 수 없었습니다. 제 질문은 : 왜 ANN과 함께 조기 정지를 사용해서는 안된다고 말합니까? (첫 번째 문장 참조 : 심층 네트워크를 훈련하는 경우 조기 중지를 사용하지 않는 것이 좋습니다.)
qmeeus

마지막 코멘트를 읽었습니까? 귀하의 질문에 정확하게 답변합니다. 홍보에서 유명한 인용문입니다. 그의 딥 러닝 수업에서 2 번째 과정. 후자의 경우는 여러 작업을 동시에 해결하는 데 어려움을 겪지 않기 때문에 더 쉬운 작업입니다.
Media

3
그리고 그것을 찾아서 올바른 하이퍼 파라미터 세트를 찾기 위해 위에서 설명한 이유로 조기 중지와 함께 일종의 직접 그리드 검색을 사용하고 있습니다. 그러나 최종 모델을 선택하고 훈련을 마치면 조기에 멈추지 않습니다. 이 흥미로운 토론과 조언에 감사드립니다
qmeeus
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.