Ich bin auf der Suche nach einem Artikel, der dabei helfen kann, eine Richtlinie zur Auswahl der Hyperparameter einer Deep-Architecture wie gestapelte Auto-Encoder oder Deep-Believe-Netzwerke zu erstellen. Es gibt viele Hyperparameter und ich bin sehr verwirrt, wie ich sie auswählen soll. Auch die Kreuzvalidierung ist keine Option, da das Training sehr viel Zeit in Anspruch nimmt!
38
Antworten:
Grundsätzlich gibt es vier Methoden:
quelle
Es gibt eine Vielzahl von Methoden. Sie können weitgehend in zufällige / ungerichtete Suchmethoden (wie Rastersuche oder Zufallssuche) und direkte Methoden unterteilt werden. Beachten Sie jedoch, dass für alle Einstellungen eine erhebliche Anzahl von Hyperparametern getestet werden muss, es sei denn, Sie haben Glück (mindestens Hunderte, abhängig von der Anzahl der Parameter).
In der Klasse der direkten Methoden können verschiedene unterschiedliche Ansätze identifiziert werden:
Vielleicht möchten Sie einen Blick in Optunity werfen , ein Python-Paket, das eine Vielzahl von Solvern für die Optimierung von Hyperparametern bietet (alles, was ich gerade erwähnt habe, außer EGO und Kriging). Optunity wird in Kürze für MATLAB und R verfügbar sein. Haftungsausschluss: Ich bin der Hauptentwickler dieses Pakets.
Aufgrund meiner persönlichen Erfahrung sind evolutionäre Methoden für diese Art von Problemen sehr leistungsfähig.
quelle
Suchen Sie nicht weiter! Yoshua Bengio hat eine meiner Lieblingsarbeiten veröffentlicht, die ich allen neuen Ingenieuren für maschinelles Lernen empfehle, wenn sie mit dem Training neuronaler Netze beginnen: Praktische Empfehlungen für das gradientenbasierte Training tiefer Architekturen. Um seine Perspektive auf das Drehen von Hyperparametern zu erhalten: einschließlich Lernrate, Lernraten-Zeitplan, frühes Stoppen, Minibatch-Größe, Anzahl der ausgeblendeten Ebenen usw., siehe Abschnitt 3.
quelle