나는 정확도가 높지는 않지만 분류 작업에 대한 훈련 된 신경 네트워크를 가지고 있으며 학습하고 있습니다. 어떤 테스트 사례가 자신감이없는 것인지 파악하려고 노력 중이므로 어떤 일이 벌어지고 있는지 더 자세히 파악할 수 있습니다.신경망 높은 신뢰도 부정확 한 예측
이렇게하기 위해 Tensorflow에서 표준 softmax 확률을 사용하기로 결정했습니다. 이를 위해 tf.nn.softmax(logits)
에 전화하여 여기 제공된 확률을 사용했습니다. 확률이 99 %에 이르는 경우가 많았지 만 예측은 여전히 잘못되었습니다. 따라서 예측 확률이 99 % 이상인 예제 만 고려해도 원래의 정확도보다 2 ~ 3 % 높은 정확도를 얻지 못합니다.
네트워크에서 잘못된 예측에 대한 자신감이있는 이유는 누구입니까? 나는 아직도 새로운 것을 배우고, 그래서 나를 찾고있는 몇 가지 아이디어를 나를 도울 수 있습니다.
또한 softmax 확률을 사용하여 신경망의 예측 신뢰도를 결정합니까? 그렇지 않다면, 더 좋은 방법이 있습니까?
감사합니다.
편집 : 아래 답변에서 내 네트워크가 제대로 작동하지 않는 것 같습니다. 네트워크가 어떤 예측을 내리는가를 확인하는 다른 방법이 있는가? (확신이 잘 안되기 때문에) 자신감을 보는 것 외에 다른 방법이있을 수 있는가?
때로는 잘못된 이니셜 라이저를 사용할 때 이런 일이 발생할 수 있습니다. 이니셜 라이저가 마지막 레이어의 가중치에 너무 높은 분산을 제공하면 한 클래스가 다른 모든 클래스보다 훨씬 높은 logit 값을 가지게되므로 softmax 이후에 높은 신뢰도로 변환 될 가능성이 높습니다. 다른 이니셜 라이저를 사용해 볼 수도 있습니다. https://www.tensorflow.org/api_guides/python/contrib.layers#Initializers – Lior
하나의 클래스 만 높은 확신을 갖고있는 것은 아닙니다. 단지 많은 경우가 있습니다. 잘못된 수업 (어떤 것일 수도 있음)은 정말로 높은 자신감을 가지고 있습니다. 이것이 도움이된다면 이것은 텍스트를 이해하는 문제이기도합니다. 현재 Xavier Initializer를 사용하고 있지만 다른 것들을 시도 할 것입니다. – hockeybro