Warum ist die Softmax-Ausgabe kein gutes Unsicherheitsmaß für Deep Learning-Modelle?


21

Ich arbeite seit einiger Zeit mit Convolutional Neural Networks (CNNs), hauptsächlich mit Bilddaten für die semantische Segmentierung / Instanzsegmentierung. Ich habe mir den Softmax der Netzwerkausgabe oft als "Heatmap" vorgestellt, um zu sehen, wie hoch die Aktivierungen pro Pixel für eine bestimmte Klasse sind. Ich habe niedrige Aktivierungen als "unsicher" / "nicht sicher" und hohe Aktivierungen als "sicher" / "zuversichtlich" Vorhersagen interpretiert. Grundsätzlich bedeutet dies, die Softmax-Ausgabe (Werte innerhalb von ) als Wahrscheinlichkeits- oder ( Unsicherheits- ) Maß des Modells zu interpretieren .(0,1)

( ZB habe ich ein Objekt / einen Bereich mit einer über seine Pixel gemittelten niedrigen Softmax-Aktivierung so interpretiert, dass es für das CNN schwer zu erkennen ist, weshalb das CNN "unsicher" ist, ob es diese Art von Objekt vorhersagt. )

Nach meiner Auffassung hat dies oft funktioniert, und das Hinzufügen zusätzlicher Stichproben von "unsicheren" Bereichen zu den Trainingsergebnissen verbesserte die Ergebnisse bei diesen. Allerdings habe ich von verschiedenen Seiten schon öfter gehört, dass die Verwendung / Interpretation von Softmax-Ausgaben als (Unsicherheits-) Maß keine gute Idee ist und generell davon abgeraten wird. Warum?


EDIT: Um zu verdeutlichen, was ich hier stelle, werde ich auf meine bisherigen Erkenntnisse bei der Beantwortung dieser Frage eingehen. Keines der folgenden Argumente hat mir jedoch deutlich gemacht, warum es im Allgemeinen eine schlechte Idee ist, wie mir wiederholt von Kollegen, Vorgesetzten gesagt wurde und auch z. B. hier in Abschnitt "1.5" angegeben ist.

In Klassifikationsmodellen wird der am Ende der Pipeline erhaltene Wahrscheinlichkeitsvektor (die Softmax-Ausgabe) häufig fälschlicherweise als Modellvertrauen interpretiert

oder hier im Bereich "Hintergrund" :

Obwohl es verlockend sein mag, die von der letzten Softmax-Schicht eines neuronalen Faltungsnetzwerks angegebenen Werte als Konfidenzwerte zu interpretieren, müssen wir darauf achten, nicht zu viel in diese zu lesen.


Die oben genannten Quellen begründen, dass die Verwendung der Softmax-Ausgabe als Unsicherheitsmaß schlecht ist, weil:

Unmerkliche Störungen eines realen Bildes können die Softmax-Ausgabe eines tiefen Netzwerks in beliebige Werte ändern

Dies bedeutet, dass die Softmax-Ausgabe nicht robust gegenüber "nicht wahrnehmbaren Störungen" ist und daher die Ausgabe nicht als Wahrscheinlichkeit verwendbar ist.

Ein anderes Papier greift die Idee "softmax output = confidence" auf und argumentiert, dass mit dieser Intuition Netzwerke leicht getäuscht werden können, wodurch "Outputs mit hohem Vertrauen für nicht erkennbare Bilder" erzeugt werden.

(...) Die Region (in der Eingabedomäne), die einer bestimmten Klasse entspricht, kann viel größer sein als der Raum in dieser Region, der von Trainingsbeispielen aus dieser Klasse belegt wird. Dies hat zur Folge, dass ein Bild innerhalb des Bereichs liegen kann, der einer Klasse zugeordnet ist, und daher mit einem großen Peak in der Softmax-Ausgabe klassifiziert werden kann, während es dennoch weit von Bildern entfernt ist, die in dieser Klasse im Trainingssatz natürlich vorkommen.

Dies bedeutet, dass Daten, die weit entfernt von Trainingsdaten sind, niemals ein hohes Vertrauen erhalten sollten, da das Modell "nicht sicher sein kann" (wie es es noch nie gesehen hat).

Aber: Hinterfragt dies nicht generell nur die Verallgemeinerungseigenschaften von NNs insgesamt? Das heißt, dass sich die NNs mit Softmax-Verlust nicht gut auf (1) "nicht wahrnehmbare Störungen" oder (2) Eingabedatenmuster verallgemeinern lassen, die weit von den Trainingsdaten entfernt sind, z. B. nicht erkennbare Bilder.

Nach dieser Überlegung verstehe ich immer noch nicht, warum es in der Praxis mit Daten, die nicht abstrakt und künstlich verändert sind, im Vergleich zu den Trainingsdaten (dh den meisten "echten" Anwendungen) schlecht ist, die Softmax-Ausgabe als "Pseudowahrscheinlichkeit" zu interpretieren Idee. Schließlich scheinen sie gut zu repräsentieren, worüber sich mein Modell sicher ist, auch wenn es nicht korrekt ist (in diesem Fall muss ich mein Modell reparieren). Und ist Modellunsicherheit nicht immer "nur" eine Annäherung?


4
(-,)(0,1)

1
(0,1)(0,1)

Es gefällt mir, wie Sie das formuliert haben: "Schließlich scheinen sie gut zu repräsentieren, worüber sich mein Modell sicher ist, auch wenn es nicht korrekt ist (in diesem Fall muss ich mein Modell reparieren)."
HeyWatchThis

Antworten:


13

Diese Frage kann präziser beantwortet werden als die aktuellen Antworten. Das Bestimmen der Abweichung zwischen den vorhergesagten Wahrscheinlichkeiten (der Ausgabe der Softmax-Schicht eines neuronalen Netzwerks) und ihren wahren Wahrscheinlichkeiten (die einen Vertrauensbegriff darstellen) ist als Kalibrierungs- oder Zuverlässigkeitskurven bekannt.

Das Problem bei vielen tiefen neuronalen Netzen ist, dass ihre geschätzten vorhergesagten Wahrscheinlichkeiten, die durch die Ausgabe einer Softmax-Schicht erzeugt werden, nicht zuverlässig als die wahren Wahrscheinlichkeiten (als Vertrauen für jedes Etikett) verwendet werden können, obwohl sie dazu neigen, für die Vorhersage gut zu funktionieren. In der Praxis sind sie tendenziell zu hoch - neuronale Netze sind in ihren Vorhersagen „zu zuversichtlich“.

Chuan Go et. al. haben in Zusammenarbeit mit Kilian Weinberger eine effektive Lösung für die Kalibrierung der vorhergesagten Wahrscheinlichkeiten neuronaler Netze in diesem Artikel entwickelt: https://arxiv.org/pdf/1706.04599.pdf

In diesem Artikel wird auch erläutert, wie vorhergesagte Wahrscheinlichkeiten als Vertrauensmaß interpretiert werden können, wenn die vorhergesagten Wahrscheinlichkeiten korrekt kalibriert sind.


1
Vielen Dank an @cgnorthcutt, ich habe schon oft gehört, dass Leute dies erwähnt haben und seitdem nach diesem Artikel gesucht haben, wirklich nette Referenz
Théophile Pace

Schön, danke. Hier ist ein Link zum Abstract (anstelle des Papiers) für Interessierte: arxiv.org/abs/1706.04599
Waylon Flinn

3

Was in ML als Softmax bezeichnet wird, hat dieselbe Gleichung wie die multinomiale logistische Gleichung. Letzteres kann zur Berechnung der Wahrscheinlichkeiten verwendet werden. In der Praxis wird es häufig zur Schätzung von Ausfallwahrscheinlichkeiten im Rahmen konkurrierender Risiken für Hypotheken verwendet, z. B. siehe Gl. 4 in diesem Papier .

Daher würde ich sagen, dass Ihre Intuition nicht völlig daneben liegt. Im obigen Hypothekenmodellierungsbeispiel ist die abhängige Variable jedoch die Wahrscheinlichkeitsmetrik für Kreditausfälle. Sie haben einen Hypothekenpool und beobachten die Anzahl der Ausfälle. Eine einzelne Hypothek kann entweder aktuell oder in Verzug sein, die Wahrscheinlichkeit ihres Ausfalls ist nicht erkennbar. Wir beobachten nur die diskreten Ereignisse. Wir modellieren jedoch die Wahrscheinlichkeiten.

Wie unterscheidet sich dies vom maschinellen Lernen? Es hängt davon ab, ob. Ich könnte entscheiden, es auf Hypothekenausfälle anzuwenden, dann würde es überhaupt nicht viel anders sein. In anderen Anwendungen funktioniert dies möglicherweise nicht. Wenn Sie die Wahrscheinlichkeit nicht explizit wie in meinem Beispiel modellieren, entspricht Ihre Modellausgabe möglicherweise nicht der Wahrscheinlichkeit.


Danke für die Antwort. Kommt es also darauf an: In einigen Fällen wäre es tatsächlich ein gültiger Ansatz, aber es ist im Allgemeinen keine gute Idee, weil es nicht robust ist und man nicht (leicht) weiß, ob es für eine bestimmte Aufgabe anwendbar ist?
Honeybear

Ich würde die Begriffe nicht wie "robust" herumwerfen, da sie in der Statistik eine sehr spezifische Bedeutung haben, aber Sie haben den Kern meiner Argumentation. Wenn Sie Wahrscheinlichkeiten speziell modellieren, können Sie irgendwann die Softmax-Gleichung verwenden, und es wäre in Ordnung, die Ausgabe als Wahrscheinlichkeit zu interpretieren. Im Allgemeinen entspricht die Softmax-Ausgabe nicht der Wahrscheinlichkeit.
Aksakal

1

Softmax verteilt die 'Wahrscheinlichkeit' 0-1 auf die verfügbaren Klassen. Es drückt keine Ungewissheit aus, es ist keine PDF-Funktion. Wenn Sie die Ungewissheit ausdrücken möchten, sollten Sie sich mit Bayes'schen Neuronalen Netzen befassen. Schauen Sie sich dieses Papier an: Unsicherheit beim Deep Learning Einige recht neue Wahrscheinlichkeitsrahmen:

Interessanter Keynote-Vortrag von Zoubin Ghahramani (University of Cambridge)

Schauen Sie sich dieses Papier an: Mixture Density Networks :

Ich vermute, Sie können es implementieren und CONVNET als letzte Ebene hinzufügen. Wenn Sie implementieren, vergessen Sie nicht, dass das Teilen wichtig ist ;-) Viel Glück


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.