0

Ich erstelle ein Modell im Tensorflow mit allen Schichten Reluz als die Aktivierungsschicht. Wenn die Stapelgröße jedoch auf 500 erhöht wird, möchte ich das Modell so ändern, dass die vorletzte Ebene der Ausgabeschicht sigmoid Aktivierungsschicht hat.Ändern des Modells während des Trainings [Tensorflow]

Worüber ich verwirrt bin ist, dass ich alle Variablen neu initialisieren muss, da ich den Optimierer in der Mitte ersetze? Oder behalte ich die alten Variablen?

+0

Sie können eine Bedingung für den Fluss verwenden. Aber Ihre Architektur wird nicht funktionieren, da die Gewichte für eine andere Funktion trainiert wurden, so dass das Ändern der Aktivierungsfunktion den Trainingsprozess grundsätzlich zurücksetzt. Tüftelst du herum oder hast du einen soliden theoretischen Hintergrund für diese Veränderung? – fabrizioM

Antwort

0

Dies ist eine sehr interessante Frage. Ich denke, es hängt von deinen Datensätzen und Modellen ab.

Ja: Vielleicht können Sie Gewichte (vor der Losgröße 500) als vortrainiert verwenden, wie es Deep Belief Networks (mit RBM) tun.

No: Vielleicht, diese vortrainiert Gewichte verletzt Ihr Modell und kann nicht besser als andere gute initializers wie xavier initializer https://www.tensorflow.org/versions/r0.8/api_docs/python/contrib.layers.html#xavier_initializer

Ich denke, es lohnt sich, beide Optionen versuchen.

+0

Zunächst habe ich versucht, das Modell zu kopieren und nur den letzten Aktivierungslink zwischen der letzten versteckten Ebene und der Ausgabeschicht zu aktualisieren. Wenn ja, gibt es eine Möglichkeit, das gleiche Modell beizubehalten, aber den Aktivierungslink zu aktualisieren? – user782400

+0

Ich habe es nicht versucht, aber Sie können zwei Netzwerke in einem Programm haben und eine vor 500 Iterationen ausführen (evaluieren) und eine andere ausführen. Ich denke, das könnte funktionieren. –

+0

Wenn ich ein anderes Modell verwende, würde das nicht alle meine trainierten Variablen durchkreuzen? Das würde bedeuten, dass das Modell, das ich trainierte (vor der Losgröße 500), nutzlos wäre. Recht? – user782400

Verwandte Themen