Wie bedeutsam ist der Zusammenhang zwischen MLE und Kreuzentropie beim tiefen Lernen?

12

Ich verstehe, dass bei einer Reihe von unabhängigen Beobachtungen der Maximum Likelihood Estimator (oder äquivalent der MAP mit flachem / einheitlichem Prior), der die Parameter \ mathbf {θ} identifiziert , die die Modellverteilung p_ {model} \ erzeugen links (\, \ cdot \ ,; \ mathbf {θ} \ rechts) , die diesen Beobachtungen am besten entspricht, istmO={o(1),...,o(m)}θpmodel(;θ)

θML(O)=pmodel(O;θ)=argmaxθi=1mpmodel(o(i);θ)

oder bequemer

θML(O)=argminθi=1mlogpmodel(o(i);θ)

und sehen Sie die Rolle, die θML bei der Definition einer Verlustfunktion für tiefe neuronale Netze mit mehreren Klassen spielen kann, in der θ den trainierbaren Parametern des Netzwerks entspricht (z. B. θ={W,b}) und die Beobachtungen sind die Paare von Eingabeaktivierungen x und die entsprechenden korrekten Klassenbezeichnungen y[1,k] , o(i) = { x(i),y(i) }, indem Sie nehmen

pmodel(o(i);θ)pmodel(y(i)|x(i);θ)


Was ich nicht verstehe, ist, wie dies mit der sogenannten "Kreuzentropie" der (vektorisierten) korrekten Ausgabe und den entsprechenden Ausgabeaktivierungen des Netzwerks , die in der Praxis verwendet wird , wenn die Fehlermess / Verlust während des Trainings . Es gibt mehrere verwandte Probleme:y(i)a(x(i);θ)

H(o(i);θ)=y(i)loga(x(i);θ)


Aktivierungen "als Wahrscheinlichkeiten"

Einer der Schritte zum Herstellen der Beziehung zwischen MLE und Kreuzentropie besteht darin, die Ausgabeaktivierungen "als ob" Wahrscheinlichkeiten zu verwenden. Aber mir ist nicht klar, dass sie es sind oder zumindest, dass sie es sind.all

Bei der Berechnung des Trainingsfehlers - insbesondere bei der Bezeichnung "Kreuzentropieverlust" - wird davon ausgegangen, dass (nach Normalisierung der Aktivierungen auf 1 summiert)

(1)pmodel(o(i);θ)ay(i)(x(i);θ)

oder

logpmodel(o(i);θ)=logay(i)(x(i);θ)

damit wir schreiben können

(3)logpmodel(o(i);θ)=y(i)loga(x(i);θ)

und somit

θML(O)=argminθi=1mH(o(i);θ)

Aber während dies sicherlich einer Wahrscheinlichkeit macht (soweit etwas vorhanden ist), ist es dies legt keine Einschränkungen für die anderen Aktivierungen fest.ay(i)(x(i);θML)

Kann man in diesem Fall wirklich sagen, dass PMFs sind? Gibt es irgendetwas, das die nicht tatsächlich Wahrscheinlichkeiten macht (und sie lediglich "mag")? )?ay(i)(x(i);θML)ay(i)(x(i);θML)


Beschränkung auf Kategorisierung

Der obige entscheidende Schritt bei der Gleichsetzung von MLE mit Kreuzentropie beruht vollständig auf der "One-Hot" -Struktur von , die ein (Single-Label-) Mehrklassen-Lernproblem charakterisiert. Jede andere Struktur für würde es unmöglich machen, von nach .y(i)y(i)(1)(3)

Ist die Gleichung von MLE und Kreuzentropieminimierung auf Fälle beschränkt, in denen "one-hot" ist? y(i)


Unterschiedliche Trainings- und Vorhersagewahrscheinlichkeiten

Während der Vorhersage ist dies fast immer der Fall

(2)pmodel(y(i)|x(i);θ)P(argmaxj[1,k]aj(x(i);θ)=y(i))

Dies führt zu korrekten Vorhersagewahrscheinlichkeiten, die sich von den während des Trainings erlernten Wahrscheinlichkeiten unterscheiden, es sei denn, dies ist zuverlässig der Fall

ay(i)(x(i);θML)=P(argmaxj[1,k]aj(x(i);θML)=y(i))

Ist das jemals zuverlässig der Fall? Ist es wahrscheinlich zumindest annähernd wahr? Oder gibt es ein anderes Argument, das diese Gleichung des Wertes der gelernten Aktivierung an der Etikettenposition mit der Wahrscheinlichkeit rechtfertigt, dass der Maximalwert der gelernten Aktivierungen dort auftritt?


Entropie- und Informationstheorie

Selbst wenn angenommen wird, dass die oben genannten Bedenken berücksichtigt werden und die Aktivierungen gültige PMFs sind (oder sinnvoll als solche behandelt werden können), so dass die Rolle der Kreuzentropie bei der Berechnung von unproblematisch ist, ist dies nicht klar Ich, warum es hilfreich oder sinnvoll ist, über die Entropie von zu sprechen , da die Shanon-Entropie für eine bestimmte gilt Art der Codierung , die nicht zum Trainieren des Netzwerks verwendet wird.θMLa(x(i);θML)

Welche Rolle spielt die informationstheoretische Entropie bei der Interpretation der Kostenfunktion, anstatt lediglich ein Werkzeug (in Form einer Kreuzentropie) zur Berechnung eines Werkzeugs (das MLE entspricht) bereitzustellen?

orome
quelle

Antworten:

5

Neuronale Netze geben nicht unbedingt Wahrscheinlichkeiten als Ausgaben an, können jedoch dafür ausgelegt werden. Um als Wahrscheinlichkeiten interpretiert zu werden, muss eine Reihe von Werten nicht negativ sein und sich zu eins summieren. Das Entwerfen eines Netzwerks zur Ausgabe von Wahrscheinlichkeiten läuft normalerweise darauf hinaus, eine Ausgabeschicht auszuwählen, die diese Einschränkungen auferlegt. Beispielsweise ist bei einem Klassifizierungsproblem mit Klassen eine Softmax- Ausgabeschicht mit Einheiten eine häufige Wahl . Die Softmax-Funktion erzwingt, dass die Ausgänge nicht negativ sind und sich zu eins summieren. Die te Ausgabeeinheit gibt die Wahrscheinlichkeit an, dass die Klasse . Bei Problemen mit der binären Klassifizierung besteht eine weitere beliebte Option darin, eine einzelne Ausgabeeinheit mit Logistik zu verwendenkkjjAktivierungsfunktion. Die Ausgabe der logistischen Funktion liegt zwischen null und eins und gibt die Wahrscheinlichkeit an, dass die Klasse 1 ist. Die Wahrscheinlichkeit, dass die Klasse 0 ist, ist implizit eins minus diesem Wert. Wenn das Netzwerk keine versteckten Schichten enthält, entsprechen diese beiden Beispiele der multinomialen logistischen Regression bzw. der logistischen Regression .

Die Kreuzentropie misst die Differenz zwischen zwei Wahrscheinlichkeitsverteilungen und . Wenn die Kreuzentropie als Verlustfunktion für diskriminative Klassifizierer verwendet wird, sind und Verteilungen über Klassenbeschriftungen bei gegebener Eingabe (dh einem bestimmten Datenpunkt). ist die 'wahre' Verteilung und ist die vom Modell vorhergesagte Verteilung. Bei typischen Klassifizierungsproblemen ist jede Eingabe im Datensatz einer Ganzzahlbezeichnung zugeordnet, die die wahre Klasse darstellt. In diesem Fall verwenden wir die empirische Verteilung fürH(p,q)pqpqpqp. Dies weist der wahren Klasse eines Datenpunkts einfach die Wahrscheinlichkeit 1 und allen anderen Klassen die Wahrscheinlichkeit 0 zu. ist die Verteilung der vom Netzwerk vorhergesagten Klassenwahrscheinlichkeiten (z. B. wie oben beschrieben).q

Angenommen, die Daten sind iid, ist die empirische Verteilung und ist die vorhergesagte Verteilung (für den ten Datenpunkt). Dann ist das Minimieren des Kreuzentropieverlusts (dh gemittelt über Datenpunkte) gleichbedeutend mit dem Maximieren der Wahrscheinlichkeit der Daten. Der Beweis ist relativ einfach. Die Grundidee besteht darin zu zeigen, dass der Kreuzentropieverlust proportional zu einer Summe der negativen logarithmischen vorhergesagten Wahrscheinlichkeiten der Datenpunkte ist. Dies fällt aufgrund der Form der empirischen Verteilung ordentlich heraus.piqiiH(pi,qi)

Der Kreuzentropieverlust kann auch allgemeiner angewendet werden. Zum Beispiel erhalten wir bei Problemen mit der "weichen Klassifizierung" Verteilungen über Klassenbezeichnungen anstatt über harte Klassenbezeichnungen (daher verwenden wir nicht die empirische Verteilung). Ich beschreibe , wie Kreuzentropie Verlust in diesem Fall verwenden hier .

Um einige andere Besonderheiten in Ihrer Frage anzusprechen:

Unterschiedliche Trainings- und Vorhersagewahrscheinlichkeiten

Es sieht so aus, als würden Sie die Ausgabeeinheit mit maximaler Aktivierung finden und diese mit der Klassenbezeichnung vergleichen. Dies wird nicht für das Training mit dem Kreuzentropieverlust durchgeführt. Stattdessen werden die vom Modell ausgegebenen Wahrscheinlichkeiten mit den "wahren" Wahrscheinlichkeiten verglichen (typischerweise als empirische Verteilung angenommen).

Die Shanon-Entropie gilt für eine bestimmte Art der Codierung, die nicht zum Trainieren des Netzwerks verwendet wird.

Die Kreuzentropie kann als die Anzahl der Bits pro Nachricht interpretiert werden, die (im Durchschnitt) benötigt werden, um Ereignisse zu codieren, die aus der wahren Verteilung , wenn ein optimaler Code für die Verteilung . Die Kreuzentropie nimmt einen Mindestwert von (die Shannon-Entropie von ) an, wenn . Je besser die Übereinstimmung zwischen undH(p,q)pqH(p)pq=pqpJe kürzer die Nachrichtenlänge. Das Trainieren eines Modells zur Minimierung der Kreuzentropie kann als Training angesehen werden, um die wahre Verteilung besser zu approximieren. Bei überwachten Lernproblemen, wie wir sie besprochen haben, gibt das Modell eine Wahrscheinlichkeitsverteilung über mögliche Ausgaben unter Berücksichtigung der Eingabe an. Das explizite Finden optimaler Codes für die Verteilung ist nicht Teil des Prozesses.

user20160
quelle
"Dies wird nicht für das Training mit dem Kreuzentropieverlust durchgeführt." Genau das softmax_cross_entropy_with_logitstun APIs wie TensorFlow : Sie berechnen und damit , das ein Netzwerk definiert, das "entworfen" ist, um Wahrscheinlichkeiten zu erzeugen (zumindest am Etikettenort). Nein? argminθi=1mH(o(i);θ)θML(O)
Orome
Ja, die Kreuzentropie wird minimiert und die Wahrscheinlichkeit wird maximiert (zumindest lokal). In diesem Satz bezog ich mich auf die Gleichungen im Abschnitt "Unterschiedliche Trainings- und Vorhersagewahrscheinlichkeiten". Wenn ich es mir noch einmal anschaue, ist mir nicht klar, was Sie mit diesen Gleichungen meinen, also sage ich einfach Folgendes: wenn Sie eine Ausgabeebene verwenden, in der jede Einheit eine Klassenwahrscheinlichkeit angibt (z. B. Softmax). Die Modellwahrscheinlichkeiten sind während des Trainings und der Vorhersage gleich. pmodel(y(i)=jx(i);θ)=aj(x(i);θ)
user20160
Ich verstehe, dass die gleichen Werte verwendet werden - das heißt, die gelernten werden für die Vorhersage verwendet -, aber sie werden auf unterschiedliche Weise verwendet. Die Wahrscheinlichkeit, dass das Modell für lernt, ist tatsächlich , aber die Wahrscheinlichkeit , dass wird vorhergesagt durch das trainierte Modell in Reaktion auf den gleichen Eingang, wird . Diese sind nicht gleich, es sei denn (2) ist wahr. apmodel(y(i)|x(i);θML)ay(i)(x(i);θML)y(i)x(i)P(argmaxj[1,k]aj(x(i);θML)=y(i))
orome
Und (erste Frage) Ich verstehe das aufgrund der Rolle, die in Gl. (1), gespielt von bei der Maximierung von , die Werte sind Wahrscheinlichkeiten (nicht weil von softmax, was nur sicherstellt, dass sie zu 1) hinzufügen. Aber das setzt dem anderen keine Einschränkungen ; (außer sie summieren sich zu ). Ich sehe also nicht, wie als Loch als PMF betrachtet werden kann. ay(i)(x(i);θ)pmodel(O;θ)ay(i)(x(i);θML)ajjy(i)1ay(i)a(x(i);θML)
Orome
Eine andere Möglichkeit, den Punkt der ersten Frage zu besteht darin, dass nur die jemals am ML-Prozess teilnehmen und daher nur sie als Wahrscheinlichkeiten betrachtet werden können. Und während eine geeignete Aktivierungsfunktion (z. B. Softmax) sicherstellt, dass die Summe der verbleibenden Aktivierungen eine Wahrscheinlichkeit darstellt, haben die Beziehungen zwischen ihnen keine Bedeutung. ay(i)
Orome
3

Ich werde aus einer etwas allgemeineren Perspektive antworten, in Bezug auf die Art und Weise, wie, wann und warum wir NN-Ausgaben als Wahrscheinlichkeitsverteilungen betrachten können.

In dem Sinne , dass die softmax die Ausgänge erzwingen bis 1 zu summieren und auch nicht negativ sein, wird der Ausgang des Netzes ist eine diskrete Wahrscheinlichkeitsverteilung über die Klassen, oder zumindest kann als solche interpretiert werden. Daher ist es durchaus sinnvoll, über Kreuzentropien und maximale Wahrscheinlichkeiten zu sprechen.

Ich denke jedoch, dass Sie sehen (und es ist richtig), dass die "Wahrscheinlichkeiten" der Ausgabe möglicherweise nichts mit der tatsächlichen Wahrscheinlichkeit der Korrektheit zu tun haben . Dies ist ein bekanntes Problem in ML, das als Kalibrierung bezeichnet wird . Wenn Ihr Klassifikator von Hunden und Katzen sagt , würden Sie dies erwarten, wenn Sie eine Reihe von Beispielen all das hatte , dann rund 30% der Eingaben wird falsch klassifiziert würde (da es nur 70% zuversichtlich war).fθDCfθ(xi,C)=P(xi=C|θ)=0.7S={xj} P(xj=C|θ)=0.7

Es stellt sich jedoch heraus, dass moderne Trainingsmethoden dies überhaupt nicht erzwingen! Siehe Guo et al., Zur Kalibrierung moderner neuronaler Netze , um eine Diskussion darüber zu sehen.

Mit anderen Worten, die "Wahrscheinlichkeit" der Ausgabe von Softmax hat möglicherweise nichts mit dem tatsächlichen Modellvertrauen zu tun. Und das ist keine Überraschung: Wir wollen lediglich unsere Genauigkeit maximieren, und jedes Eingabebeispiel hat eine Wahrscheinlichkeit von 1, seine Zielklasse zu sein. Es gibt wenig Anreize für das Modell, dies richtig zu machen. Wenn es die Unsicherheit nicht abschätzen muss, warum sollte es dann? Kreuzentropie behebt dieses Problem nicht. in der Tat sagen Sie ihm, dass er jedes Mal zu einer Delta-Funktion gehen soll!

Viele neuere Arbeiten zu Bayes'schen neuronalen Netzen versuchen, dieses Problem zu beheben. Solche Modelle verwenden eine Verteilung über Parameter, wenn die Daten , die integriert werden können, um eine tatsächliche Wahrscheinlichkeitsverteilung . Dies trägt dazu bei, nützliche Unsicherheitsmessungen und eine bessere Kalibrierung zu gewährleisten. Es ist jedoch rechnerisch problematischer.P(θ|X)=P(X|θ)P(θ)/P(X)P(yi|xi,X)=P(yi|θ,xi)P(θ|X)dθ

Hoffentlich habe ich deine Frage nicht falsch verstanden!

user3658307
quelle
Eine schöne verwandte Arbeit: arxiv.org/abs/1711.01297
user3658307
0

Feed-Forward-Neuronale Netze approximieren die wahren Klassenwahrscheinlichkeiten, wenn sie richtig trainiert werden.

1991 haben Richard & Lippmann bewiesen, dass sich Feed-Forward-Neuronale Netze den Wahrscheinlichkeiten der hinteren Klasse nähern, wenn sie mit {0,1} Klassenindikator-Zielmustern trainiert werden [ Richard MD, & Lippmann RP (1991). Neuronale Netzwerkklassifikatoren schätzen die Bayes'schen a posteriori-Wahrscheinlichkeiten. Neural Computation, 3, 461–483. ]. In ihrer Beweislinie verwenden sie vorwärtsgerichtete neuronale Netze mit einer verborgenen Schicht.

Definieren Sie in der mathematischen Annotation von Duda & Hart [ Duda RO & Hart PE (1973) Musterklassifizierung und Szenenanalyse, Wiley ] die Merkmalsverteilungen, die als Eingabevektor für das Feed-Forward-Neuronale Netzwerk bereitgestellt werden, als , wobei beispielsweise der für eine Klassifizierungsaufgabe mit 4 Merkmalsvariablen gleich ist. Der Index gibt die möglichen Klassen .P(xωi)x=(0.2,10.2,0,2)ini{1,,n}

Der Feed-Forward-Klassifikator für neuronale Netze lernt die hinteren Wahrscheinlichkeiten , wenn er durch Gradientenabstieg trainiert wird. Die gewünschten Ausgangsmuster Bedürfnisse beispielsweise seine , für ein Zwei-Klassen - Klassifikationsproblem. Das vorwärtsgerichtete neuronale Netzwerk hat einen Ausgangsknoten pro Klasse. Der Vektor zeigt an, dass der beobachtete Merkmalsvektor zur 2. Klasse gehört.P^(ωix)o=(0,1)(0,1)

Match Maker EE
quelle
Das ist nicht die Frage.
Orome
0

Die Log-Wahrscheinlichkeit ist im Kontext Ihrer Frage nicht direkt mit der Entropie verknüpft. Die Ähnlichkeit ist oberflächlich: Beide haben die Summen von Logarithmen wahrscheinlichkeitsähnlicher Größen.

Der Logarithmus in Log-Likelihood (MLE) erfolgt ausschließlich aus numerischen Berechnungsgründen. Das Produkt der Wahrscheinlichkeiten kann eine sehr kleine Zahl sein, insbesondere wenn Ihre Stichprobe groß ist. Dann reicht der Bereich der Wahrscheinlichkeiten von 1 bis zum verschwindend kleinen Wert eines Produkts. Wenn Sie das Protokoll erhalten, wird das Produkt zu einer Summe, und die Protokollfunktion komprimiert den Wertebereich auf eine kleinere, besser verwaltbare Domäne. Der Logarithmus ist eine monotone Funktion, daher ergibt das Maximum (min) der Log-Wahrscheinlichkeit die gleiche Antwort auf die Wahrscheinlichkeit selbst. Daher ist das Vorhandensein des Protokolls im MLE-Ausdruck im mathematischen Sinne nicht wichtig und lediglich eine Frage der Zweckmäßigkeit.

Das Vorhandensein einer Logarithmusfunktion in der Entropie ist wesentlich und hat seine Wurzeln in der statistischen Mechanik, einem Zweig der Physik. Es ist mit der Boltzmann- Verteilung verbunden, die in der Theorie der Gase verwendet wird. Sie können den Luftdruck beispielsweise in Abhängigkeit von der Höhe ableiten.

Aksakal
quelle
Können Sie hervorheben, welchen Teil der Frage hier angesprochen wird?
Orome
Wie ich im OP sage, ist es klar, dass die Verwendung des Protokolls in der zweiten Art, MLE auszudrücken, nur Bequemlichkeit ist (Ihre ersten beiden Absätze). Und Ihr letzter Absatz scheint nur zu sagen, dass das Vorhandensein des Protokolls im Ausdruck für Entropie von Bedeutung ist - im Kontext der Entropie (insbesondere der Physik). Was jedoch fehlt (und das ist die Frage), ist eine Rechtfertigung für die Verknüpfung dieser beiden unterschiedlichen (und wahren) Beobachtungen. Ich sehe keine andere als die Gleichung nach (3) als nützliche Möglichkeit, die zweite Gleichung für MLE auszudrücken. Vielleicht ist es das, was du sagst?
Orome
@orome, Sie können natürlich NN verwenden, um die Entropie zu berechnen, aber so wird die Kreuzentropiefunktion in den meisten Fällen tatsächlich nicht verwendet. Sie können sich das als eine andere Art von Kostenfunktion vorstellen, das ist alles. Es scheint die gewünschten Eigenschaften zu haben und ist schön symmetrisch.
Aksakal
Ja, also nenne es Entropie oder schlage vor, dass die bedeutungsvoll sind Verteilungen (für die "Entropie" einen Einblick liefert) sind irreführend . ay(i)(x(i);θML)
Orome
@orome, ich würde nicht über den Namen besessen sein. Es ist, als hätte die Funktion "Scharnierverlust" wenig mit Scharnieren zu tun. Sie nennen dies "Entropieverlust", weil seine funktionale Form genau wie eine Informationsentropiegleichung ist.
Aksakal