6

Ich habe lange mit Tensorflow gespielt, und ich habe eher eine theoretische Frage. Wenn wir ein Netzwerk trainieren, verwenden wir normalerweise GradientDescentOptimizer (wahrscheinlich seine Variationen wie Adagrad oder Adam), um die Verlustfunktion zu minimieren. Im Allgemeinen sieht es so aus, als würden wir versuchen, Gewichte und Verzerrungen so anzupassen, dass wir das globale Minimum dieser Verlustfunktion erhalten. Aber das Problem ist, dass ich annehme, dass diese Funktion ein extrem kompliziertes Aussehen hat, wenn Sie es planen, mit vielen lokalen Optimalen. Ich frage mich, wie können wir sicher sein, dass Gradient Descent ein globales Optimum findet und dass wir nicht sofort in einem lokalen Optimum stecken bleiben, das weit entfernt vom globalen Optimum liegt?TensorFlow - GradientDescentOptimizer - finden wir tatsächlich das globale Optimum?

Ich erinnere mich, dass zum Beispiel, wenn Sie Clustering in Sklearn führen es in der Regel Clustering-Algorithmus mehrmals mit zufälliger Initialisierung von Cluster-Zentren ausgeführt wird, und damit sicherstellen, dass wir nicht mit nicht optimalen Ergebnis stecken bleiben. Aber wir machen nicht so etwas, während wir ANNs im Tensorflow trainieren - wir beginnen mit einigen zufälligen Gewichten und bewegen uns nur entlang der Steigung der Funktion.

Also, irgendeinen Einblick in das? Warum können wir mehr oder weniger sicher sein, dass die Ergebnisse des Trainings durch Gradientenabstieg nahe am globalen Minimum liegen, wenn der Verlust nicht mehr signifikant abnimmt?

Nur um zu verdeutlichen, warum ich mich darüber wundere, ist, dass, wenn wir nicht sicher sein können, dass wir mindestens nahe an das globale Minimum kommen, wir nicht einfach beurteilen können, welche von 2 verschiedenen Modellen tatsächlich besser ist. Weil wir experimentieren konnten, eine Modellbewertung bekommen, die zeigt, dass das Modell nicht gut ist ... Aber tatsächlich blieb es kurz nach dem Training im lokalen Minimum. Während ein anderes Modell, das für uns besser zu sein schien, einfach glücklicher war, von einem besseren Startpunkt aus zu trainieren und nicht im lokalen Minimum festgefahren zu sein. Darüber hinaus bedeutet dieses Problem, dass wir nicht einmal sicher sein können, dass wir von der Netzwerkarchitektur, die wir derzeit testen können, das Maximum erreichen. Zum Beispiel könnte es ein wirklich gutes globales Minimum haben, aber es ist schwer es zu finden und wir bleiben meistens mit schlechten Lösungen bei lokalen Mindestwerten stecken, die weit entfernt vom globalen Optimum sind und niemals das volle Potential eines vorhandenen Netzwerks sehen.

+3

Die Farbverlaufsabsenkung betrachtet die Funktion lokal (lokaler Gradient). Daher gibt es absolut keine Garantie, dass es die globalen Minima sein werden. In der Tat wird es wahrscheinlich nicht sein, wenn die Funktion konvex ist. Dies ist auch der Grund, warum GD-ähnliche Methoden empfindlich auf die Ausgangsposition reagieren, von der Sie ausgehen. Nachdem dies gesagt wurde, gab es kürzlich eine Arbeit, die besagte, dass in hochdimensionalen Lösungsräumen die Anzahl der Maxima/Minima nicht so groß ist wie bisher angenommen. – Luca

+1

@Luca Gibt es irgendwelche guten Papiere darüber, wie Menschen mit diesem Problem kämpfen? Ich verstehe, dass das Momentum dazu beitragen könnte, aus den lokalen Minima herauszuspringen, wenn man sich damit konfrontiert sieht, wenn der Optimierer genug Schwung angehäuft hat, aber das ist nur meine Annahme. Ich meine, ich kann nicht glauben, dass niemand aus seriösen Laboratorien wie Berkeleyvision oder Google nicht versucht hat, die Möglichkeit zu vermeiden, dass Sie mit dem Training beginnen und sofort in lokalen Minima stecken und diese Angelegenheit nicht untersucht haben da draußen, aber ich kann sie nicht finden –

+1

Naja, das Finden von globalen Minimas im hochdimensionalen Raum auf vernünftige Weise scheint ein sehr ungelöstes Problem zu sein. Sie sollten sich jedoch lieber auf \ textit {Sattelpunkte} als auf Minimas konzentrieren. Siehe diesen Beitrag zum Beispiel (http://www.kdnuggets.com/2015/11/theoretical-deep-learning.html) – Luca

Antwort

4

Gradientenabstieg, die ihre Natur zu lesen sein , schaut lokal auf die Funktion (lokaler Gradient). Daher gibt es absolut keine Garantie, dass es die globalen Minima sein werden. In der Tat wird es wahrscheinlich nicht sein, wenn die Funktion konvex ist. Dies ist auch der Grund, warum GD-ähnliche Methoden empfindlich auf die Ausgangsposition reagieren, von der Sie ausgehen. Allerdings gab es kürzlich eine Arbeit, die besagte, dass in hochdimensionalen Lösungsräumen die Anzahl der Maxima/Minima nicht so groß ist wie bisher angenommen.

Das Finden von globalen Minimas im hochdimensionalen Raum auf eine vernünftige Weise scheint ein sehr ungelöstes Problem zu sein. Jedoch möchten Sie mehr auf Sattelpunkte eher als Minimas konzentrieren. Siehe Beitrag zum Beispiel:

High level description for saddle point problem

Ein detaillierteres Papier ist hier (https://arxiv.org/pdf/1406.2572.pdf)

2

Ihre Intuition ist völlig richtig. Komplexe Modelle wie neuronale Netze werden typischerweise auf Probleme mit hochdimensionalen Eingaben angewendet, bei denen die Fehleroberfläche eine sehr komplexe Landschaft aufweist.

Neuronale Netzwerke sind nicht garantiert, das globale Optimum zu finden und das Einklemmen in lokalen Minima ist ein Problem, auf das sich viel Forschung konzentriert hat. Wenn Sie daran interessiert sind, mehr darüber zu erfahren, wäre es gut, Techniken wie online learning und zu betrachten, die traditionell verwendet wurden, um das Problem der lokalen Minima zu vermeiden. Diese Techniken bringen jedoch selbst weitere Schwierigkeiten, z.B. Das Integrieren von Online-Lernen ist für einige Optimierungstechniken nicht möglich, und das Hinzufügen eines Momentum-Hyperparameters zu dem Backpropagation-Algorithmus bringt weitere Schwierigkeiten beim Training mit sich.

Ein wirklich gutes Video zur Visualisierung des Einflusses von Impuls (und wie es lokale Minma überwindet) während der Rückpropagierung kann here gefunden werden.

Added nach Frage bearbeiten - siehe Kommentare

Es ist die vorgenannte Art der Probleme neuronale Netze, die angewandt werden bedeutet oft, wir können nicht eine global optimale Lösung finden, weil (im allgemeinen Fall) durchquert Der gesamte Suchraum für die optimale Lösung wäre mit der klassischen Computertechnologie nicht zu bewältigen (Quantencomputer könnten dies bei einigen Problemen ändern). So werden neuronale Netze trainiert, um hoffentlich ein "gutes" lokales Optimum zu erreichen.

Wenn Sie beim Lesen von mehr detaillierte Informationen über die Techniken interessiert sind, eingesetzt, um gute lokale optima (dh etwas, das eine globale Lösung annähert) zu finden ein gutes Papier könnte this

+1

Wenn Sie daran interessiert sind, detailliertere Informationen über die Techniken zu lesen, mit denen Sie gute lokale Optima (dh etwas, das einer globalen Lösung nahekommt) finden, dann können Sie dies [http://jmlr.org/proceedings/] lesen. Papiere/v28/sutskever13.pdf). – Mark

+0

das ist nützlich! Bitte fügen Sie es dem Körper Ihrer Antwort hinzu? –

+0

Ich habe ein Update zu der Antwort hinzugefügt, um die Frage Update und meinen Kommentar oben zu reflektieren. – Mark

-1

Nr Gradientenabfallverfahren hilft, die lokalen Minima zu erfahren. Falls globale Minima und lokale Minima gleich sind, dann erhalten wir nur das tatsächliche Ergebnis, d. H. Globale Minima.