小さいBatchを使ってGradient Decentを行う、小さいBatch Sizeはノイズに繋がり計算時間の増加につながる.ただしより一般化しやすい.Saddle pointに弱い.
Momentumが大きい場合はlrを下げる必要がある. 値が大きすぎると最適解を見逃し収束も遅い.
一部のMini Batchを使ってlossを計算すると早く計算できるSGDよりノイズは少なめであるがbatch size(基本32)は調整が必要
parameterの変更が大きいほどlrを下げる. lrは単調減少する.
Mini-batch向き. 単調にlrを減らさない(手動)、より専門家向き. 振動に対してペナルティを与える.
lrが減ることによる学習停滞を防ぐ.
lrを過去の勾配とmomentに応じて自動調整.
基本的には収束が早いAdamが良いが、精度を求める場合などはSGDが向いている場合もある.
Lrが固定のSGDと合わせて使う.Kerasではstepごとにlrが減少し低すぎる値になってしまう. <img src="/attachment/65e7ed06055be457cee33149" width=300>
<img src="/attachment/65e7ed01055be457cee33102" width=300>
基本的にはcyclical_lrが良い.