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.
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
@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 –
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