Kostenfunktion des neuronalen Netzes ist nicht konvex?

36

Die Kostenfunktion des neuronalen Netzes ist , und es wird behauptet, dass es nicht konvex ist . Ich verstehe nicht ganz, warum das so ist, da es meiner Ansicht nach der Kostenfunktion der logistischen Regression ziemlich ähnlich ist, oder?J(W,b)

Wenn es nicht konvex ist, ist also die Ableitung Ordnung , richtig?JW<0

AKTUALISIEREN

Dank der folgenden Antworten und des Kommentars von @ gung habe ich verstanden, dass es konvex ist, wenn es überhaupt keine versteckten Ebenen gibt, genau wie bei der logistischen Regression. Wenn es jedoch verborgene Ebenen gibt, könnten wir durch Permutieren der Knoten in den verborgenen Ebenen sowie der Gewichte in nachfolgenden Verbindungen mehrere Lösungen der Gewichte erhalten, die zum gleichen Verlust führen.

Nun mehr Fragen,

1) Es gibt mehrere lokale Minima, von denen einige den gleichen Wert haben sollten, da sie einigen Knoten- und Gewichtungspermutationen entsprechen, oder?

2) Wenn die Knoten und Gewichte überhaupt nicht permutiert werden, dann ist es konvex, oder? Und die Minima werden die globalen Minima sein. Wenn ja, ist die Antwort zu 1), dass alle diese lokalen Minima den gleichen Wert haben werden, richtig?

Avocado
quelle
Es ist nicht konvex, dass es mehrere lokale Minima geben kann.
gung - Reinstate Monica
2
Hängt vom neuronalen Netz ab. Neuronale Netze mit linearen Aktivierungsfunktionen und quadratischem Verlust ergeben eine konvexe Optimierung (wenn mein Gedächtnis mir auch für Netze mit radialen Basisfunktionen mit festen Varianzen recht ist). Neuronale Netze werden jedoch meistens mit nichtlinearen Aktivierungsfunktionen (dh Sigmoid) verwendet, weshalb die Optimierung nicht konvex wird.
Cagdas Ozgenc
@gung, ich habe verstanden, und jetzt habe ich weitere Fragen, siehe mein Update :-)
Avocado
5
An diesem Punkt (2 Jahre später) ist es möglicherweise besser, Ihre Frage auf die vorherige Version zurückzusetzen, eine der folgenden Antworten zu akzeptieren und eine neue Folgefrage zu stellen, die einen Link zu diesem Thema enthält.
gung - Wiedereinsetzung von Monica
1
@gung, ja du hast recht, aber jetzt bin ich mir nicht ganz sicher über einige Aspekte der Antwort, die ich zuvor abgestimmt habe. Nun, da ich einige neue Kommentare zu den Antworten unten hinterlassen habe, würde ich eine Weile warten, um zu sehen, ob es notwendig ist, einen neuen zu fragen.
Avocado

Antworten:

25

Die Kostenfunktion eines neuronalen Netzes ist im Allgemeinen weder konvex noch konkav. Dies bedeutet, dass die Matrix aller zweiten Teilableitungen (das Hessische) weder positiv noch negativ semidefinit ist. Da die zweite Ableitung eine Matrix ist, ist es möglich, dass es weder die eine noch die andere ist.

Um dies analog zu Funktionen mit einer Variablen zu machen, könnte man sagen, dass die Kostenfunktion weder wie der Graph von noch wie der Graph von - x 2 geformt ist . Ein weiteres Beispiel eines nicht-konvexen, nicht-konkave Funktion sin ( x ) auf R . Einer der auffälligsten Unterschiede ist, dass ± x 2 nur ein Extremum hat, während die Sünde unendlich viele Maxima und Minima hat.x2-x2Sünde(x)R±x2Sünde

In welcher Beziehung steht dies zu unserem neuronalen Netzwerk? Eine Kostenfunktion hat auch eine Reihe von lokalen Maxima und Minima, wie Sie zum Beispiel in diesem Bild sehen können.J(W,b)

Die Tatsache, dass mehrere Minima hat, kann auch auf nette Weise interpretiert werden. In jeder Schicht verwenden Sie mehrere Knoten, denen unterschiedliche Parameter zugewiesen sind, um die Kostenfunktion klein zu halten. Mit Ausnahme der Parameterwerte sind diese Knoten identisch. Sie können also die Parameter des ersten Knotens in einer Ebene mit denen des zweiten Knotens in derselben Ebene austauschen und diese Änderung in den nachfolgenden Ebenen berücksichtigen. Sie würden einen anderen Parametersatz erhalten, aber der Wert der Kostenfunktion lässt sich nicht unterscheiden (im Grunde haben Sie nur einen Knoten an einen anderen Ort verschoben, aber alle Ein- / Ausgänge gleich belassen).J

Roland
quelle
OK, ich verstehe die Permutationserklärung, die Sie gemacht haben. Ich denke, sie ist sinnvoll, aber jetzt frage ich mich, ob dies die authentische ist, um zu erklären, warum das neuronale Netz nicht konvex ist.
Avocado
1
Was meinst du mit 'authentisch'?
Roland
Ich meine, so sollte es interpretiert werden, nicht nur eine Analogie.
Avocado
4
@loganecolss Sie haben Recht, dass dies nicht der einzige Grund ist, warum Kostenfunktionen nicht konvex sind, sondern einer der offensichtlichsten Gründe. Je nach Netzwerk und Trainingssatz kann es andere Gründe geben, warum es mehrere Minima gibt. Aber das Fazit ist: Die Permission alleine erzeugt eine Nicht-Konvexität, unabhängig von anderen Effekten.
Roland
1
Entschuldigung, ich kann den letzten Absatz nicht verstehen. Aber ich verstehe auch nicht, warum ich hier max (0, x) erwähnt habe. Auf jeden Fall - ich denke, die richtige Art zu zeigen, dass es möglicherweise mehrere Modi (mehrere lokale Minimums) gibt, ist, es auf irgendeine Weise zu beweisen. ps Wenn Hessisch unbestimmt ist, sagt es nichts aus - die quasikonvexe Funktion kann unbestimmtes Hessisch haben, ist aber immer noch unimodal.
Bruziuz
17

Wenn Sie die Neuronen in der verborgenen Ebene permutieren und die Gewichte der benachbarten Ebenen auf die gleiche Weise permutieren, ändert sich der Verlust nicht. Wenn es also ein globales Minimum ungleich Null als Funktion der Gewichte gibt, kann es nicht eindeutig sein, da die Permutation der Gewichte ein anderes Minimum ergibt. Daher ist die Funktion nicht konvex.

Abhinav
quelle
5

Ob die Zielfunktion konvex ist oder nicht, hängt von den Details des Netzwerks ab. In dem Fall, dass mehrere lokale Minima existieren, fragen Sie, ob sie alle gleichwertig sind. Im Allgemeinen lautet die Antwort "Nein", aber die Chance, ein lokales Minimum mit guter Generalisierungsleistung zu finden, scheint mit der Netzwerkgröße zuzunehmen.

Dieses Papier ist von Interesse:

Choromanska et al. (2015). Die Verlustflächen von Multilayer-Netzwerken

http://arxiv.org/pdf/1412.0233v3.pdf

Aus der Einleitung:

  • Bei großen Netzwerken sind die meisten lokalen Minima gleich und ergeben eine ähnliche Leistung bei einem Testsatz.

  • Die Wahrscheinlichkeit, ein "schlechtes" (hohes) lokales Minimum zu finden, ist für kleine Netzwerke ungleich Null und nimmt mit der Netzwerkgröße schnell ab.

  • Das Bemühen, das globale Minimum im Trainingssatz zu finden (im Gegensatz zu einem der vielen guten lokalen), ist in der Praxis nicht sinnvoll und kann zu einer Überanpassung führen.

Sie zitieren auch einige Artikel, in denen beschrieben wird, wie Sattelpunkte beim Training großer Netzwerke eine größere Rolle spielen als lokale Minima.

user20160
quelle
4

Einige Antworten für Ihre Updates:

  1. Ja, es gibt im Allgemeinen mehrere lokale Minima. (Wenn es nur eines gäbe, würde es als globales Minimum bezeichnet.) Die lokalen Minima müssen nicht unbedingt denselben Wert haben. Im Allgemeinen gibt es möglicherweise keine lokalen Minima, die denselben Wert haben.

  2. Nein, es ist nicht konvex, es sei denn, es ist ein einschichtiges Netzwerk. Im allgemeinen Mehrschichtfall können die Parameter der späteren Schichten (die Gewichtungs- und Aktivierungsparameter) hochrekursive Funktionen der Parameter in früheren Schichten sein. Im Allgemeinen führt die Multiplikation von Entscheidungsvariablen, die durch eine rekursive Struktur eingeführt werden, dazu, dass die Konvexität zerstört wird. Ein weiteres gutes Beispiel hierfür sind MA (q) -Modelle in der Zeitreihenanalyse.

yXy-Xβ

Mustafa S Eisa
quelle
1
"One-Layer-Netzwerk" wäre genau das, was "Softmax" oder logistische Regression aussieht, oder?
Avocado
Mit "Vertauschen von Knoten und Gewichten" meine ich "Vertauschen", und das habe ich aus den obigen 2 alten Antworten erhalten, und als ich ihre Antworten verstand , haben wir möglicherweise das "Vertauschen" von Knoten und Gewichten in verborgenen Ebenen theoretisch die gleiche Ausgabe, und deshalb haben wir möglicherweise mehrere Minima. Du meinst, diese Erklärung ist nicht korrekt?
Avocado
Sie haben die richtige Idee, aber es ist nicht ganz dasselbe. Bei Netzwerken muss der Verlust nicht unbedingt ein binomischer Verlust sein, die Aktivierungsfunktionen müssen nicht unbedingt Sigmoide sein usw.
Mustafa S Eisa
Ja, ich denke nicht, dass es richtig ist. Obwohl es wahr ist, dass Sie die gleiche Leistung erhalten, ob Sie diese Begriffe zulassen oder nicht, definiert dies nicht die Konvexität oder Nichtkonvexität eines Problems. Das Optimierungsproblem ist konvex, wenn für eine Funktion mit festem Verlust (keine Permutation der Terme im Verlust) die Zielfunktion in den Modellparametern konvex ist und der mögliche Bereich, für den Sie optimieren, konvex und geschlossen ist.
Mustafa S. Eisa
Ich verstehe, wenn es also "einschichtig" ist, ist es möglicherweise nicht "softmax".
Avocado
2

Sie haben ein globales Minimum, wenn das Problem konvex oder quasikonvex ist.

Über konvexe "Bausteine" beim Aufbau neuronaler Netze (Informatikversion)

Ich denke, es gibt mehrere von ihnen, die erwähnt werden können:

  1. max (0, x) - konvex und ansteigend

  2. log-sum-exp - konvex und steigend in jedem Parameter

  3. y = Axe ist affin und in (A) so konvex, dass sie zunimmt oder abnimmt. y = Axe ist affin und in (x) so konvex, dass sie zunimmt oder abnimmt.

Leider ist es in (A, x) nicht konvex, weil es wie eine unbestimmte quadratische Form aussieht.

  1. Übliche mathematische diskrete Faltung (mit "üblich" meine ich definiert mit sich wiederholendem Signal) Y = h * X Sieht so aus, als ob es eine affine Funktion von h oder von Variable X ist. Also ist es eine konvexe in Variable h oder in Variable X. Über beide Variablen - Ich glaube nicht, denn wenn h und X Skalare sind, wird die Faltung auf eine unbestimmte quadratische Form reduziert.

  2. max (f, g) - wenn f und g konvex sind, ist auch max (f, g) konvex.

Wenn Sie eine Funktion durch eine andere ersetzen und Kompositionen erstellen, bleiben Sie für y = h (g (x), q (x)) im konvexen Raum, aber h sollte konvex sein und in jedem Argument zunehmen (nicht abnehmen). ...

Warum neuronale Netze in nicht konvexen:

  1. Ich denke, dass die Faltung Y = h * X in h nicht unbedingt zunimmt. Wenn Sie also keine zusätzlichen Annahmen über den Kernel treffen, verlassen Sie die konvexe Optimierung sofort, nachdem Sie die Faltung angewendet haben. Es ist also nicht alles in Ordnung mit Komposition .

  2. Auch Faltung und Matrixmultiplikation sind nicht konvex, wenn die oben erwähnten Paarparameter berücksichtigt werden . Es gibt also evean ein Problem mit der Matrixmultiplikation: Es ist eine nicht konvexe Operation in Parametern (A, x)

  3. y = Ax kann in (A, x) quasikonvex sein, aber es sollten auch zusätzliche Annahmen berücksichtigt werden.

Bitte lassen Sie mich wissen, wenn Sie anderer Meinung sind oder zusätzliche Überlegungen anstellen. Die Frage ist auch für mich sehr interessant.

ps max-pooling - das ist downsamping mit der auswahl von max sieht aus wie eine änderung von elementweisen max-operationen mit affiner vorkomposition (um benötigte blöcke zu ziehen) und es sieht für mich konvex aus.

Über andere Fragen

  1. Nein, logistische Regression ist nicht konvex oder konkav, sondern logkonkav. Dies bedeutet, dass Sie nach dem Anwenden des Logarithmus eine Konkavfunktion für erklärende Variablen haben. Hier ist also der Trick mit der maximalen Log-Wahrscheinlichkeit groß.

  2. Wenn es nicht nur ein globales Minimum gibt. Über die Beziehung zwischen den lokalen Mindestwerten kann nichts gesagt werden. Oder zumindest können Sie keine konvexe Optimierung und ihre Erweiterungen dafür verwenden, da dieser Bereich der Mathematik stark auf globaler Unterschätzung basiert.

Vielleicht haben Sie Verwirrung. Weil wirklich Leute, die solche Schemata erstellen, einfach "etwas" tun und "etwas" erhalten. Leider, weil wir keinen perfekten Mechanismus haben, um mit nicht konvexer Optimierung fertig zu werden (im Allgemeinen).

Neben neuronalen Netzen gibt es jedoch noch weitere einfache Dinge, die sich nicht wie nichtlineare kleinste Quadrate lösen lassen. Https://youtu.be/l1X4tOoIHYo?t=2992 (EE263, L8, 50:10)

Bruziuz
quelle