나는 현재 시맨틱 세그먼테이션 / 인스턴스 세그먼테이션을위한 이미지 데이터에 대해 컨볼 루션 신경망 (Convolutional Neural Networks, CNN)과 함께 일 해왔다. 필자는 종종 네트워크 출력의 소프트 맥스를 "히트 맵"으로 시각화하여 특정 클래스의 픽셀 당 활성화가 얼마나 높은지를 확인했습니다. 나는 낮은 활성화를 "불확실한"/ "자신감없는"것으로 해석하고 높은 활성화를 "확실한"/ "자신감있는"예측으로 해석했습니다. 기본적으로 이것은 softmax 출력 ( 내의 값 )을 모델의 확률 또는 (불확실성) 측정 값으로 해석 함을 의미 합니다.
( 예 : I의 한은 현지 따라서 CNN이 객체 이런 종류의 예측에 대해 "불확실"되고, 감지하기 어려울하기 위해 픽셀 이상의 평균이 낮은 softmax를 활성화와 객체 / 영역을 해석했다. )
내 인식으로 이것은 종종 효과가 있었고 훈련 결과에 "불확실한"영역의 샘플을 추가하면 결과가 향상되었습니다. 그러나 소프트 맥스 출력을 불확실성 측정으로 사용 / 통역하는 것은 좋은 생각이 아니며 일반적으로 권장되지 않는다는 여러 측면에서 지금까지 자주 들었습니다. 왜?
편집 : 내가 여기에 묻고있는 것을 명확히하기 위해 지금 까지이 질문에 대답하는 것에 대한 통찰력을 자세히 설명 할 것입니다. 그러나 다음 주장 중 어느 것도 나에게 분명하지 않았다. ** 동료, 감독자에 의해 반복적으로 말을 받았고 여기에 예를 들어 "1.5"섹션에 언급되어 있기 때문에 이것이 왜 일반적으로 나쁜 생각인지 **
분류 모델에서 파이프 라인 끝에서 얻은 확률 벡터 (softmax 출력)는 종종 모델 신뢰도로 잘못 해석됩니다.
또는 여기 "배경"섹션에서 :
컨볼 루션 신경망의 최종 소프트 맥스 레이어에 의해 주어진 값을 신뢰도 점수로 해석하려는 유혹이있을 수 있지만, 너무 많이 읽지 않도록주의해야합니다.
위의 원인은 softmax 출력을 불확실성 측정으로 사용하는 것이 나쁜 이유입니다.
실제 이미지에 허용되지 않는 섭동은 딥 네트워크의 softmax 출력을 임의의 값으로 변경할 수 있습니다
이는 softmax 출력이 "인식 할 수없는 섭동"에 강하지 않기 때문에 출력을 확률로 사용할 수 없음을 의미합니다.
또 다른 논문 은 "softmax output = confidence"아이디어를 바탕으로이 직감 네트워크를 쉽게 속일 수있어 "인식 할 수없는 이미지에 대한 높은 신뢰도의 출력"을 생성한다고 주장합니다.
(...) 특정 클래스에 해당하는 (입력 도메인의) 영역은 해당 클래스의 교육 예제가 차지하는 해당 영역의 공간보다 훨씬 클 수 있습니다. 그 결과 이미지가 클래스에 할당 된 영역 내에있을 수 있으므로 softmax 출력에서 큰 피크로 분류 될 수 있지만, 트레이닝 세트에서 해당 클래스에서 자연스럽게 발생하는 이미지와는 거리가 멀어집니다.
이것은 훈련 데이터와 멀리 떨어져있는 데이터는 모델이 "보지 못 했으므로"확신 할 수 없기 때문에 결코 높은 신뢰를 얻지 않아야한다는 것을 의미합니다.
그러나 이것은 일반적으로 단순히 NN의 일반화 속성에 대한 전반적인 질문이 아닌가? 즉, softmax 손실이있는 NN은 (1) "인식 할 수없는 섭동"또는 (2) 인식 할 수없는 이미지와 같이 훈련 데이터에서 멀리 떨어진 입력 데이터 샘플로 잘 일반화되지 않습니다.
이 추론에 따라 여전히 이해하지 못합니다. 실제로 훈련 데이터 (예 : 대부분의 "실제"응용 프로그램)와 비교하여 추상적이고 인공적으로 변경되지 않은 데이터를 사용하여 softmax 출력을 "의사 확률"로 해석하는 것은 나쁜 이유 생각. 결국, 모델이 정확하지 않더라도 (내 모델을 수정 해야하는 경우) 내 모델이 무엇을 확신하는지 잘 표현하는 것 같습니다. 그리고 모델 불확실성이 항상 근사치 일 뿐입니 까?