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.
( 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?