Ist es gut lernen-rate für die Adam Methode?
Trainiere ich meine Methode. Ich hab das Ergebnis wie unten. Ist es eine gute Lern-rate? Wenn nicht, ist es hoch oder gering?
Das ist mein Ergebnis
lr_policy: "step"
gamma: 0.1
stepsize: 10000
power: 0.75
# lr for unnormalized softmax
base_lr: 0.001
# high momentum
momentum: 0.99
# no gradient accumulation
iter_size: 1
max_iter: 100000
weight_decay: 0.0005
snapshot: 4000
snapshot_prefix: "snapshot/train"
type:"Adam"
Diese Referenz ist
Mit geringen Lernerfolg bewertet die Verbesserungen wird linear sein. Mit hoher Lern-Tarife werden Sie beginnen, sich mehr exponentiell. Higher learning-die Preise Zerfall der Verlust schneller, aber Sie stecken im schlechtesten Werte der Verlust
- Es gibt sehr wenig Kontext hier, aber es sieht gut aus. Sie können versuchen, die Steigerung der Lern-rate (spart die Zeit der Ausbildung), bis Sie es nicht mehr konvergiert. Was ist die Ausbildung einstellen der Genauigkeit durch das Ende?
- In der obigen Einstellung, die endgültige Fehlerquote bei 50000 Iterationen ist 0,05. Ich bin die Erhöhung der base_lr zu 0.002, anstelle von 0.001 zu sehen, die Verbesserung
- Adam hat eine innen-LR, so dass die änderung der externen LR über die Schritte möglicherweise nicht sinnvoll.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie beginnen, mit einem höheren lernraten (z.B. 0.1), um aus lokalen minima und verringern Sie ihn dann auf einen sehr kleinen Wert zu lassen, beruhigen die Dinge. Um dies zu tun, ändern Sie die Schrittweite zu sagen, 100 Iterationen, um die Größe der learning rate je 100 Iterationen. Diese zahlen sind wirklich einzigartig zu Ihrem problem und hängt von mehreren Faktoren ab, wie Ihre Daten skalieren.
Beachten Sie auch die Validierung Verlust Verhalten auf die Grafik, um zu sehen, wenn Sie overfitting der Daten.
The learning rate sieht ein bisschen hoch. Die Kurve sinkt zu schnell für meinen Geschmack und flacht sich sehr schnell. Ich würde versuchen, oder 0.0005 0.0001 als Basis-learning rate, wenn ich wollte, um zusätzliche Leistung. Sie können Sie nach verschiedenen Epochen sowieso wenn Sie sehen, dass dies nicht funktioniert.
Die Frage, die Sie haben zu Fragen ist jedoch, wie viel Leistung Sie brauchen und wie nah Sie sind zur Erfüllung der Leistung erforderlich. Ich meine, dass Sie wohl trainieren eines neuronalen Netzes für einen bestimmten Zweck. Oft Zeiten, Sie können Holen Sie mehr Leistung aus dem Netz durch eine Erhöhung der Kapazität, statt der Feinabstimmung der learning rate, die ist ziemlich gut, wenn nicht perfekt sowieso.
Ich würde gerne mehr spezifische an einige Aussagen von Juan. Aber meine reputaton ist nicht genug, deshalb poste ich es als Antwort statt.
Sollten Sie keine Angst vor der lokalen minima. In der Praxis, soweit mein Verständnis, können wir klassifizieren Sie als 'gute lokale minima' und 'schlechten lokalen minima'. Der Grund, warum wir wollen, haben eine höhere lernraten, wie Juan gesagt hat, ist, dass wir wollen, zu finden, zu einem besseren 'guten lokalen minimum". Wenn Sie Ihre anfangs-lernen-rate zu hoch, das wird schlecht, weil dein Modell wird wahrscheinlich, fallen in 'schlechten lokalen minimum' Regionen. Und wenn das passiert, wird 'verfallenden learning rate" praktizieren, kann dir nicht helfen.
Dann, wie können wir sicherstellen, dass Ihre GEWICHTE fallen in der guten region? Die Antwort ist, können wir nicht, aber wir können uns steigern, und die Möglichkeit, durch die Wahl eines guten Satz von Initialen GEWICHTE. Wieder einmal eine zu große anfängliche lernen der rate wird Ihre Initialisierung sinnlos.
Zweitens, es ist immer gut, zu verstehen, Ihre Optimierung. Nehmen Sie einige Zeit, um einen Blick auf seine Umsetzung, finden Sie etwas Interessantes. Zum Beispiel "learning rate" ist nicht wirklich "learning rate'.
In der Summe: 1/Unnötig zu sagen,eine kleine learning-rate ist nicht gut, aber eine zu große lernraten ist definitiv schlecht. 2/Gewicht Initialisierung ist Ihre erste Vermutung, es WIRKT sich auf das Ergebnis auswirken 3/Nehmen Sie sich Zeit zu verstehen, Ihr code möglicherweise eine gute Praxis.