Dlaczego dane wyjściowe softmax nie są dobrą miarą niepewności w modelach Deep Learning?


22

Od jakiegoś czasu pracuję z Convolutional Neural Networks (CNN), głównie nad danymi obrazu do segmentacji semantycznej / segmentacji instancji. Często wizualizowałem softmax wyjścia sieciowego jako „mapę cieplną”, aby zobaczyć, jak wysokie są aktywacje na piksel dla określonej klasy. Zinterpretowałem niskie aktywacje jako „niepewne” / „niepewne”, a wysokie aktywacje jako „pewne” / „pewne” prognozy. Zasadniczo oznacza to interpretowanie wyniku softmax (wartości w ) jako miary prawdopodobieństwa lub (nie) pewności modelu.(0,1)

( Np. Zinterpretowałem obiekt / obszar z niską aktywacją softmax uśrednioną na jego pikselach, aby był trudny do wykrycia przez CNN, stąd CNN jest „niepewny” co do przewidywania tego rodzaju obiektu ).

W moim odczuciu często to działało, a dodanie dodatkowych próbek „niepewnych” obszarów do wyników szkolenia poprawiło wyniki na nich. Jednak dość często słyszałem teraz z różnych stron, że używanie / interpretowanie wyjścia softmax jako (nie) miara pewności nie jest dobrym pomysłem i ogólnie jest odradzane. Dlaczego?


EDYCJA: Aby wyjaśnić, o co tutaj pytam, rozwinę swoje dotychczasowe spostrzeżenia w odpowiedzi na to pytanie. Jednak żaden z poniższych argumentów nie wyjaśnił mi ** dlaczego jest to ogólnie zły pomysł **, jak wielokrotnie powtarzali mi koledzy, przełożeni i który został również podany np. Tutaj w sekcji „1.5”

W modelach klasyfikacyjnych wektor prawdopodobieństwa uzyskany na końcu potoku (wyjście softmax) jest często błędnie interpretowany jako pewność modelu

lub tutaj w sekcji „Tło” :

Chociaż może być kusząca interpretacja wartości podanych przez ostatnią warstwę softmax zwojowej sieci neuronowej jako wyników ufności, musimy uważać, aby nie wnikać w to zbyt wiele.


Powyższe źródła powodują, że użycie wyniku softmax jako miary niepewności jest złe, ponieważ:

niedostrzegalne zakłócenia rzeczywistego obrazu mogą zmienić wyjście softmax głębokiej sieci na dowolne wartości

Oznacza to, że dane wyjściowe softmax nie są odporne na „niezauważalne zakłócenia”, a zatem nie można ich użyć jako prawdopodobieństwa.

Inne artykuł omawia ideę „softmax output = zaufanie” i dowodzi, że dzięki tej intuicji sieci można łatwo oszukać, tworząc „wyjścia o wysokim poziomie pewności dla nierozpoznawalnych obrazów”.

(...) region (w domenie wejściowej) odpowiadający określonej klasie może być znacznie większy niż przestrzeń w tym regionie zajmowana przez przykłady szkoleniowe z tej klasy. Wynikiem tego jest to, że obraz może leżeć w obszarze przypisanym do klasy, a zatem zostać sklasyfikowany z dużym pikiem w wyjściu softmax, a jednocześnie daleko od obrazów, które występują naturalnie w tej klasie w zestawie treningowym.

Oznacza to, że dane, które są dalekie od danych treningowych, nigdy nie powinny zyskać dużej pewności, ponieważ model „nie może” być tego pewien (jak nigdy go nie widział).

Jednak: czy ogólnie nie kwestionuje to po prostu właściwości uogólniających NN jako całości? Tzn., Że NN z utratą softmax nie uogólniają dobrze na (1) „niedostrzegalne zaburzenia” lub (2) próbki danych wejściowych, które są daleko od danych treningowych, np. Nierozpoznawalne obrazy.

Zgodnie z tym rozumowaniem wciąż nie rozumiem, dlaczego w praktyce z danymi, które nie są abstrakcyjnie i sztucznie zmieniane w porównaniu z danymi szkoleniowymi (tj. Większością „rzeczywistych” aplikacji), interpretowanie wyniku softmax jako „pseudo-prawdopodobieństwa” jest złe pomysł. W końcu wydają się dobrze reprezentować to, czego jest pewien mój model, nawet jeśli nie jest poprawny (w takim przypadku muszę naprawić mój model). I czy niepewność modelu nie zawsze jest „tylko” przybliżeniem?


4
(-,)(0,1)

2
(0,1)(0,1)

Podoba mi się to, jak to sformułowałeś: „W końcu wydają się dobrze reprezentować to, czego jest pewien mój model, nawet jeśli nie jest poprawny (w takim przypadku muszę naprawić mój model).”
HeyWatchTen

Odpowiedzi:


14

Na to pytanie można odpowiedzieć dokładniej niż aktualne odpowiedzi. Naprawienie odchylenia między przewidywanymi prawdopodobieństwami (wyjściem warstwy softmax sieci neuronowej) a ich prawdziwymi prawdopodobieństwami (które reprezentują pojęcie pewności), nazywa się krzywymi kalibracji lub niezawodności.

Problem z wieloma głębokimi sieciami neuronowymi polega na tym, że chociaż mają one dobre wyniki w zakresie prognozowania, ich szacunkowe przewidywane prawdopodobieństwa wytwarzane przez wyjście warstwy softmax nie mogą być niezawodnie wykorzystane jako prawdziwe prawdopodobieństwa (jako pewność dla każdej etykiety). W praktyce są one zwykle zbyt wysokie - sieci neuronowe są „zbyt pewne” w swoich przewidywaniach.

Chuan Go i in. i. we współpracy z Kilianem Weinbergerem opracowali skuteczne rozwiązanie do kalibracji przewidywanych prawdopodobieństw sieci neuronowych w tym artykule: https://arxiv.org/pdf/1706.04599.pdf

W niniejszym dokumencie wyjaśniono również, w jaki sposób przewidywane prawdopodobieństwa mogą być interpretowane jako miary ufności, gdy przewidywane prawdopodobieństwa są poprawnie skalibrowane.


1
Dziękuję @cgnorthcutt, słyszałem, że ludzie wspominali o tym wiele razy i od tego czasu szukają tego artykułu, naprawdę miłe referencje
Théophile Pace

Piękne dzięki. Oto link do streszczenia (zamiast artykułu) dla zainteresowanych: arxiv.org/abs/1706.04599
Waylon Flinn

3

To, co nazywa się softmax w ML, ma to samo równanie, co wielomianowe równanie logistyczne . Te ostatnie można wykorzystać do obliczenia prawdopodobieństw. W praktyce jest szeroko stosowany do szacowania prawdopodobieństwa niewykonania zobowiązania w ramach konkurencyjnych ram ryzyka dla hipotek, np. Patrz równ. 4 w tym dokumencie .

Dlatego powiedziałbym, że twoja intuicja nie jest całkowicie poza zasięgiem. Jednak w powyższym przykładzie modelowania kredytów hipotecznych zmienną zależną jest prawdopodobieństwo miara niespłacenia kredytu. Masz pulę hipotek i obserwujesz liczbę domyślnych zobowiązań. Pojedyncza hipoteka może być bieżąca lub spłacana, prawdopodobieństwo jej niespłacenia nie jest możliwe do zaobserwowania. Obserwujemy tylko zdarzenia dyskretne. Jednak modelujemy prawdopodobieństwa.

Czym różni się to od uczenia maszynowego? To zależy. Mógłbym zdecydować o zastosowaniu go w przypadku niespłacenia kredytu hipotecznego, wtedy nie byłoby w tym nic innego. Z drugiej strony w różnych aplikacjach może to nie działać. Jeśli nie modelujesz prawdopodobieństwa jawnie, jak w moim przykładzie, dane wyjściowe modelu mogą nie reprezentować prawdopodobieństwa odpowiednio.


Dziękuję za odpowiedź. Czy sprowadza się to do: W niektórych przypadkach byłoby to właściwie prawidłowe podejście, jednak ogólnie nie jest to dobry pomysł, ponieważ nie jest solidny i nie można (łatwo) wiedzieć, czy można go zastosować do określonego zadania?
Honeybear

Nie rzuciłbym się na słowa takie jak „solidny”, ponieważ mają one bardzo konkretne znaczenie w statystykach, ale rozumiesz sedno mojego argumentu. Jeśli konkretnie modelujesz prawdopodobieństwa, w pewnym momencie możesz skończyć z użyciem równania softmax i dobrze byłoby zinterpretować wynik jako prawdopodobieństwo. W ogólnym przypadku wyjście softmax nie odpowiada prawdopodobieństwu.
Aksakal

1

Softmax rozdziela „prawdopodobieństwo” 0-1 między dostępne klasy. Nie wyraża obojętności, nie jest funkcją PDF. Jeśli chcesz wyrazić tę niepewność, powinieneś spojrzeć na bayesowskie sieci neuronowe. Spójrz na ten artykuł: Niepewność w głębokim uczeniu się Niektóre raczej najnowsze ramy prawdopodobieństwa:

Ciekawa keynote talk przez Zoubin Ghahramani (University of Cambridge)

Spójrz na ten artykuł: Sieci mieszania gęstości :

Myślę, że możesz to zaimplementować i dodać jako ostatnią warstwę do CONVNET. Jeśli je wdrożysz, nie zapomnij dzielić się opieką ;-) Powodzenia


1

W artykule Dropout as a Bayesian Approximation: Reprezentacja niepewności modelu w głębokim uczeniu się Yarin Gal i Zoubin Ghahramani argumentują, co następuje

W klasyfikacji prawdopodobieństwa predykcyjne uzyskane na końcu potoku ( wyjście softmax ) są często błędnie interpretowane jako pewność modelu. Model może być niepewny w swoich prognozach nawet przy wysokiej wydajności softmax (ryc. 1). Przekazanie oszacowania punktowego funkcji (linia ciągła 1a) przez softmax (linia ciągła 1b) powoduje ekstrapolacje z nieuzasadnionym wysokim poziomem ufności dla punktów odległych od danych treningowych.x na przykład zostałby sklasyfikowany jako klasa 1 z prawdopodobieństwem 1.

Oto rysunek 1.

wprowadź opis zdjęcia tutaj

Tak więc, jeśli interpretujemy wyniki softmax jako niepewności lub pewności modelu, model jest bardzo pewny co do punktu x, chociaż nie zaobserwowano żadnych danych treningowych w tym regionie, ale może to być mylące, ponieważ prawdziwa funkcja w tym regionie może być zupełnie inna niż wyuczona (ciągła czarna linia).

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.