Ich bin derzeit ein bisschen verwirrt darüber, wie der Mini-Batch-Gefälle-Abstieg in einem Sattelpunkt gefangen werden kann.
Die Lösung könnte zu trivial sein, als dass ich sie nicht verstehe.
Sie erhalten in jeder Epoche eine neue Stichprobe und es wird ein neuer Fehler basierend auf einer neuen Charge berechnet, sodass die Kostenfunktion nur für jede Charge statisch ist. Dies bedeutet, dass sich der Gradient auch für jede Mini-Charge ändern sollte eine Vanille-Implementierung Probleme mit Sattelpunkten?
Eine weitere wichtige Herausforderung bei der Minimierung von nicht-konvexen Fehlerfunktionen, die für neuronale Netze üblich sind, besteht darin, zu vermeiden, dass sie in ihren zahlreichen suboptimalen lokalen Minima eingeschlossen werden. Dauphin et al. [19] argumentieren, dass die Schwierigkeit in der Tat nicht von lokalen Minima herrührt, sondern von Sattelpunkten, dh Punkten, an denen eine Dimension ansteigt und eine andere abfällt. Diese Sattelpunkte sind normalerweise von einem Plateau mit demselben Fehler umgeben, was es für SGD notorisch schwierig macht, zu entkommen, da der Gradient in allen Dimensionen nahe Null ist.
Ich würde meinen, dass insbesondere SGD einen klaren Vorteil gegenüber Sattelpunkten haben würde, da es in Richtung seiner Konvergenz schwankt.
Bei vollem Batch-Gefälle ist es sinnvoll, dass es im Sattelpunkt gefangen werden kann, da die Fehlerfunktion konstant ist.
Ich bin ein bisschen verwirrt über die beiden anderen Teile.