In Andrew Ng Vorlesungsnotizen, verwenden sie LBFGS und erhalten einige versteckte Funktionen. Kann ich stattdessen Gradientenabstieg verwenden und die gleichen versteckten Funktionen erzeugen? Alle anderen Parameter sind gleich, nur den Optimierungsalgorithmus ändern.Stattdessen LBFGS, mit Gradientenabstieg in Sparse Autoencoder
Weil, wenn ich LBFGS benutze, mein Autoencoder die gleichen versteckten Funktionen wie in den Vorlesungsnotizen erzeugen kann, aber wenn ich Gradientenabstieg benutze, sind die Funktionen in der versteckten Ebene verschwunden, scheint total zufällig zu sein.
Um genauer zu sein, um die Kostenfunktion zu optimieren, implementiere ich 1) die Kostenfunktion, 2) Gradient jedes Gewichts und Bias. Und werfen Sie sie in scipy optimieren Werkzeugkasten, um die Kostenfunktion zu optimieren. Und diese Einstellung kann mir die angemessenen versteckten Funktionen geben.
Aber wenn ich zum Gradientenabstieg wechseln. Ich habe versucht, das "Gewicht - Gradient des Gewichts" und "Bias - Gradient des Bias" zu lassen. Aber die resultierenden versteckten Features sehen total zufällig aus.
Kann jemand mir helfen, den Grund zu wissen? Vielen Dank.
'sie verwenden LBFGS und erhalten einige versteckte Funktionen. Kann ich stattdessen Gradientenabstieg verwenden und die gleichen versteckten Merkmale erzeugen? "- im Prinzip ja. Zumindest wenn beide zusammenlaufen. Gradientenabstieg kann jedoch für einige Funktionen schmerzhaft langsam sein, so dass Sie nicht in angemessener Zeit in einem lokalen Optimum landen. Auch die Wahl der Schrittgröße ist entscheidend, wenn Sie die Optimierung selbst implementieren möchten. – cel