딥 러닝 모델에 대해 softmax 출력이 불확실성 측정이 아닌 이유는 무엇입니까?


22

나는 현재 시맨틱 세그먼테이션 / 인스턴스 세그먼테이션을위한 이미지 데이터에 대해 컨볼 루션 신경망 (Convolutional Neural Networks, CNN)과 함께 일 해왔다. 필자는 종종 네트워크 출력의 소프트 맥스를 "히트 맵"으로 시각화하여 특정 클래스의 픽셀 당 활성화가 얼마나 높은지를 확인했습니다. 나는 낮은 활성화를 "불확실한"/ "자신감없는"것으로 해석하고 높은 활성화를 "확실한"/ "자신감있는"예측으로 해석했습니다. 기본적으로 이것은 softmax 출력 ( 내의 값 )을 모델의 확률 또는 (불확실성) 측정 값으로 해석 함을 의미 합니다.(0,1)

( 예 : I의 한은 현지 따라서 CNN이 객체 이런 종류의 예측에 대해 "불확실"되고, 감지하기 어려울하기 위해 픽셀 이상의 평균이 낮은 softmax를 활성화와 객체 / 영역을 해석했다. )

내 인식으로 이것은 종종 효과가 있었고 훈련 결과에 "불확실한"영역의 샘플을 추가하면 결과가 향상되었습니다. 그러나 소프트 맥스 출력을 불확실성 측정으로 사용 / 통역하는 것은 좋은 생각이 아니며 일반적으로 권장되지 않는다는 여러 측면에서 지금까지 자주 들었습니다. 왜?


편집 : 내가 여기에 묻고있는 것을 명확히하기 위해 지금 까지이 질문에 대답하는 것에 대한 통찰력을 자세히 설명 할 것입니다. 그러나 다음 주장 중 어느 것도 나에게 분명하지 않았다. ** 동료, 감독자에 의해 반복적으로 말을 받았고 여기에 예를 들어 "1.5"섹션에 언급되어 있기 때문에 이것이 왜 일반적으로 나쁜 생각인지 **

분류 모델에서 파이프 라인 끝에서 얻은 확률 벡터 (softmax 출력)는 종종 모델 신뢰도로 잘못 해석됩니다.

또는 여기 "배경"섹션에서 :

컨볼 루션 신경망의 최종 소프트 맥스 레이어에 의해 주어진 값을 신뢰도 점수로 해석하려는 유혹이있을 수 있지만, 너무 많이 읽지 않도록주의해야합니다.


위의 원인은 softmax 출력을 불확실성 측정으로 사용하는 것이 나쁜 이유입니다.

실제 이미지에 허용되지 않는 섭동은 딥 네트워크의 softmax 출력을 임의의 값으로 변경할 수 있습니다

이는 softmax 출력이 "인식 할 수없는 섭동"에 강하지 않기 때문에 출력을 확률로 사용할 수 없음을 의미합니다.

또 다른 논문 은 "softmax output = confidence"아이디어를 바탕으로이 직감 네트워크를 쉽게 속일 수있어 "인식 할 수없는 이미지에 대한 높은 신뢰도의 출력"을 생성한다고 주장합니다.

(...) 특정 클래스에 해당하는 (입력 도메인의) 영역은 해당 클래스의 교육 예제가 차지하는 해당 영역의 공간보다 훨씬 클 수 있습니다. 그 결과 이미지가 클래스에 할당 된 영역 내에있을 수 있으므로 softmax 출력에서 ​​큰 피크로 분류 될 수 있지만, 트레이닝 세트에서 해당 클래스에서 자연스럽게 발생하는 이미지와는 거리가 멀어집니다.

이것은 훈련 데이터와 멀리 떨어져있는 데이터는 모델이 "보지 못 했으므로"확신 할 수 없기 때문에 결코 높은 신뢰를 얻지 않아야한다는 것을 의미합니다.

그러나 이것은 일반적으로 단순히 NN의 일반화 속성에 대한 전반적인 질문이 아닌가? 즉, softmax 손실이있는 NN은 (1) "인식 할 수없는 섭동"또는 (2) 인식 할 수없는 이미지와 같이 훈련 데이터에서 멀리 떨어진 입력 데이터 샘플로 잘 일반화되지 않습니다.

이 추론에 따라 여전히 이해하지 못합니다. 실제로 훈련 데이터 (예 : 대부분의 "실제"응용 프로그램)와 비교하여 추상적이고 인공적으로 변경되지 않은 데이터를 사용하여 softmax 출력을 "의사 확률"로 해석하는 것은 나쁜 이유 생각. 결국, 모델이 정확하지 않더라도 (내 모델을 수정 해야하는 경우) 내 모델이 무엇을 확신하는지 잘 표현하는 것 같습니다. 그리고 모델 불확실성이 항상 근사치 일 뿐입니 까?


4
소프트 맥스가 uncertanity 측정 아니라,이 함수에 그 변환 된 값 ( 0 , 1 ) . (,)(0,1)
Tim

2
(0,1)(0,1)

당신이 말로 표현하는 방법과 같은 I : "결국, 그들은 (이 경우 내 모델을 수정해야)가 정확하지 않은 경우에도, 내 모델이 있는지에 대해 무엇을 잘 표현하는 것 같다."
HeyWatchThis

답변:


14

이 질문은 현재 답변보다 더 정확하게 답변 될 수 있습니다. 예측 확률 (신경망의 softmax 레이어 출력)과 실제 확률 (신뢰 개념을 나타냄) 사이의 편차를 교정 또는 신뢰도 곡선이라고합니다.

많은 심층 신경망의 문제는 비록 예측을 위해 잘 수행되는 경향이 있지만, softmax 레이어의 출력에 의해 생성 된 추정 된 예측 확률을 실제 확률 (각 라벨에 대한 신뢰도)로 신뢰성있게 사용할 수 없다는 것입니다. 실제로, 그들은 너무 높은 경향이 있습니다-신경망은 그들의 예측에 너무 자신감이 있습니다.

Chuan Go et. Kilian Weinberger와 함께 일하면서 al.은이 논문에서 신경망의 예상 확률을 교정하기위한 효과적인 솔루션을 개발했습니다. https://arxiv.org/pdf/1706.04599.pdf

이 문서에서는 예측 된 확률이 올바르게 보정 될 때 예측 된 확률을 신뢰도 측정으로 해석하는 방법에 대해서도 설명합니다.


1
@cgnorthcutt에게 감사합니다. 사람들이 이것을 여러 번 언급하고 그 이후로이 논문을 검색 한 것을 들었습니다. 정말 훌륭한 참고 자료
Théophile Pace

감사합니다 다음은 관심있는 사람들을위한 초록 (종이 대신)에 대한 링크입니다. arxiv.org/abs/1706.04599
Waylon Flinn

3

ML에서 softmax라고하는 것은 다항 로지스틱 방정식 과 같은 방정식을 갖습니다 . 후자는 확률을 계산하는 데 사용될 수 있습니다. 실제로 모기지에 대한 경쟁 리스크 프레임 워크의 기본 확률 추정에 널리 사용됩니다 (예 : Eq. 이 논문 에서 4 .

그러므로 나는 당신의 직감이 완전히 끝나지 않았다고 말할 것입니다. 그러나 위의 모기지 모델링 예제에서 종속 변수는 대출 불이행 의 확률 메트릭입니다. 모기지 풀이 있으며 채무 불이행 수를 관찰하십시오. 단일 주택 담보 대출은 현재 또는 채무 불이행 일 수 있으며, 채무 불이행의 가능성은 관찰 할 수 없습니다. 우리는 불연속 사건 만 관찰합니다. 그러나 우리는 확률을 모델링합니다.

이것이 기계 학습과 다른 점은 무엇입니까? 때에 따라 다르지. 나는 그것을 모기지 기본값에 적용하기로 결정할 수 있으며, 전혀 다르지 않을 것입니다. 반면에 다른 응용 프로그램에서는 작동하지 않을 수 있습니다. 내 예와 같이 확률을 명시 적으로 모델링하지 않으면 모형 출력이 확률을 적절하게 나타내지 않을 수 있습니다.


답변 해주셔서 감사합니다. 어떤 경우에는 실제로 유효한 접근 방법이지만, 강력하지 않고 특정 작업에 적용 할 수 있는지 (쉽게) 알지 못하기 때문에 일반적으로 좋은 생각이 아닙니다.
Honeybear

통계에서 매우 구체적인 의미를 지니고 있기 때문에 "견고한"이라는 용어를 사용하지는 않겠지 만, 당신은 내 주장의 요지를 얻었습니다. 확률을 구체적으로 모델링하는 경우 특정 시점에서 softmax 방정식을 사용할 수 있으며 결과를 확률로 해석하는 것이 좋습니다. 일반적으로 softmax 출력은 확률과 일치하지 않습니다.
Aksakal

1

Softmax는 사용 가능한 클래스간에 '확률'0-1을 분배합니다. 그것은 불안감을 표현하지 않으며 PDF 기능이 아닙니다. 불확실성을 표현하려면 베이지안 신경망을 조사해야합니다. 이 논문을 살펴보십시오 : 딥 러닝의 불확실성 최근의 확률 프레임 워크 :

Zoubin Ghahramani (케임브리지 대학)의 흥미로운 기조 연설

이 논문을 살펴보십시오 : Mixture Density Networks :

나는 그것을 구현하고 CONVNET에 최종 레이어로 추가 할 수 있다고 생각합니다. 당신이 그것을 구현하는 경우 공유를 돌보는 것을 잊지 마세요 ;-) 행운을 빕니다


1

신문에서 베이지안 근사로 드롭 아웃 : 깊은 학습의 대표 모델 불확실성 , Yarin 갈와 주빈 가아라 마니는 다음을 주장한다

분류에서 파이프 라인 끝에서 얻은 예측 확률 ( softmax output )은 종종 모델 신뢰도로 잘못 해석됩니다. 소프트 맥스 출력이 높더라도 모델의 예측이 불확실 할 수 있습니다 (그림 1). 함수의 점 추정치 (실선 1a)를 softmax (실선 1b)를 통해 전달 하면 훈련 데이터에서 멀리 떨어진 점에 대해 불확실성이 높은 외삽 이 발생 합니다.엑스 예를 들어 확률 1의 클래스 1로 분류됩니다.

여기에 그림 1이 있습니다.

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

따라서 softmax의 출력을 모델 불확실성 또는 신뢰도로 해석하면 모델은 점에 대해 매우 확신합니다. 엑스, 해당 지역에서 교육 데이터가 관찰되지 않았지만 해당 지역의 실제 기능이 학습 된 기능 (실선 검은 선)과 완전히 다를 수 있기 때문에 오해의 소지가 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.