CIFAR10 데이터 세트에서 간단한 신경망을 훈련하고 있습니다. 얼마 후, 검증 손실이 증가하기 시작했지만 검증 정확도도 증가했습니다. 테스트 손실 및 테스트 정확도는 계속 향상됩니다.
이것이 어떻게 가능한지? 유효성 검증 손실이 증가하면 정확도가 저하되는 것 같습니다.
CIFAR10 데이터 세트에서 간단한 신경망을 훈련하고 있습니다. 얼마 후, 검증 손실이 증가하기 시작했지만 검증 정확도도 증가했습니다. 테스트 손실 및 테스트 정확도는 계속 향상됩니다.
이것이 어떻게 가능한지? 유효성 검증 손실이 증가하면 정확도가 저하되는 것 같습니다.
답변:
Ankur의 답변과 그 아래의 의견을 바탕으로 다음 시나리오가 가능하지만 그에 대한 증거는 없습니다. 동시에 두 가지 현상이 발생할 수 있습니다.
경계선 예측이있는 일부 예는 더 잘 예측되므로 출력 클래스 변경 (예 : 0.4는 고양이로, 고양이는 0.6으로 말은 0.4, 말은 0.6, 고양이는 0.6으로 예측됩니다). 이로 인해 손실이 감소하는 동안 정확도는 증가합니다.
예측이 매우 나쁜 일부 예는 계속 악화되고 있습니다 (예 : 말로 예상되는 고양이 이미지는 말로 0.9로 예측됩니다) 및 / 또는 (특히 멀티 클래스의 경우 더 가능성이 높음) 예측은 조금 더 나빠집니다 (예 : 고양이로 0.9로 예측 된 고양이 이미지는 고양이로 0.8로 예측됩니다). 이 현상으로 정확도는 그대로 유지되면서 손실이 증가합니다.
따라서 현상 2가 어떤 시점에서, 많은 예에서 (예를 들어 어떤 이유로 잘 이해되지 않는 특정 클래스의 경우) 및 / 또는 손실 증가가 1에서 얻는 손실 감소보다 획기적인 경우, 시나리오에서 자신을 찾으십시오.
다시 한 번, 이것이 일어나지 않을 수도 있지만, 그러한 시나리오를 생각해 낼 수 있다면 (교차 엔트로피) 손실과 정확성 사이의 때로는 미끄러운 관계를 상기시켜야한다고 생각합니다.
세트의 정확도는 최고 소프트 맥스 출력과 올바른 레이블이있는 클래스를 교차 점검하여 평가되며 소프트 맥스 출력의 높이에 의존하지 않습니다 . 더 명확하게하기 위해 몇 가지 숫자가 있습니다.
개, 고양이, 말의 3 가지 수업이 있다고 가정하자. 우리의 경우 올바른 클래스는 horse 입니다. 이제 softmax의 출력은 [0.9, 0.1]입니다. 이 손실에 대해 ~ 0.37. 분류기는 말이라고 예측합니다. softmax 출력이 [0.6, 0.4] 인 다른 경우를 생각해보십시오. 손실 ~ 0.6. 분류기는 여전히 말임을 예측합니다. 그러나 확실히 손실이 증가했습니다. 출력 분포에 관한 것입니다.
Ankur의 답변에서 다음과 같이 보입니다.
정확도 를 측정 비율의 정확성 예측의 예
동안
손실은 실제로 예측 의 역 신뢰 (더 나은 단어를 원함)를 추적합니다 . 높은 손실 점수는 모델이 좋은 예측을 만드는 경우에도, 그것은, 즉를 나타냅니다 확인이 만드는 예측의 ... 그 반대의 경우도 마찬가지입니다.
그래서...
높은 검증 정확도 + 높은 손실 점수 대 높은 훈련 정확도 + 낮은 손실 점수 는 모델이 훈련 데이터에 과도하게 적합 할 수 있음을 나타냅니다.
많은 답변들이 이것이 어떻게 가능한지를 설명하는 수학적 계산에 중점을 둡니다. 그러나 그들은 왜 그렇게되는지 설명하지 않습니다. 그리고 그들은 더 명확하게 파는 방법을 제안 할 수 없습니다.
나는 세 가지 가설이 있습니다. 그것들을 검증하기위한 실험을 제안하십시오. 이 문제를 설명하는 데 도움이되기를 바랍니다.
이 가설에 동의하지 않는다면 이것에 대해 논쟁하지 마십시오. 그것들을 증명하든, 틀리 든 입증하든 실험을 통해 검증하는 것이 더 의미가있을 것입니다.