6

Ich bin finetuning mit Caffe auf einem Bilddatensatz auf einem Tesla K40. Unter Verwendung eines batch size=47, solver_type=SGD, base_lr=0.001, lr_policy="step", momentum=0.9, gamma=0.1, die training loss ab und test accuracy geht von 2%-50% in 100 Iterationen, die ziemlich gut ist.RMSprop, Adam, AdaDelta Testgenauigkeit verbessert nicht mit Caffe

Bei Verwendung anderer Optimisern wie RMSPROP, ADAM und ADADELTA, die training loss sogar fast gleich bleibt und keine Verbesserung der test accuracy nach 1000 Iterationen.

Für RMSPROP habe ich die entsprechenden Parameter wie erwähnt here geändert.

Für ADAM, ich habe die entsprechenden Parameter geändert, wie erwähnt here

Für ADADELTA, ich habe die entsprechenden Parameter geändert, wie erwähnt here

Kann mir bitte jemand sagen, was ich falsch mache?

+0

Ich habe festgestellt, dass man niedrigere Lernraten mit Lösern als SGD verwenden sollte. Howeber, ich weiß nicht genau warum. – pir

+0

Wie viel senken Sie die Lernrate im Vergleich zu SGD? – VeilEclipse

+1

Wenn ich dieselbe Lernrate wie bei SGD verwende, divergiert der RMSProp-Algorithmus, während er konvergiert (mit einem etwas niedrigeren acc als mein gut abgestimmter SGD) mit einer Lernrate, die 1/3 des Originals ist. Es könnte jedoch sehr problemspezifisch sein. – pir

Antwort

2

Ich sah ähnliche Ergebnisse zu Pir: Adam würde divergieren, wenn die gleiche base_lr, die SGD verwendet. Als ich base_lr auf 1/100 seines ursprünglichen Werts reduzierte, konvergierte Adam plötzlich und gab gute Ergebnisse.

+0

Danke für Ihren Hinweis. Es bedeutet, wenn 'base_lr': 1e-3 für SGD dann' base_lr: 1e-5' für Adam. Ist es zu klein? – user8264

+0

Ich habe festgestellt, dass 1e-4 eine gute Lernrate für Adam ist. Sie sollten auch 1e-3 und 1e-5 auf Ihrem Datensatz versuchen, um zu sehen, ob Sie eine gute Leistung erhalten –

+0

In meinem Fall ist lr_rate für Adam zweimal als SGD. Ich habe auch versucht 50%, 150%, aber 200% lr_rate ist am besten für mich – user8264