LoginSignup
3
1

More than 5 years have passed since last update.

機械学習論文読みメモ_150

Posted at

A Walk with SGD
over-parameterizedなdeepnetに対してSGDによる学習がなぜ効果的か調べる
研究が最近では注目を浴びてきている。
本論ではそうしたSGDの挙動について研究する。
そのために、SGDによる連続した更新ステップにより
描かれる損失局面の軌跡を分析した。
またその軌跡を様々な指標を用いて解析した。
結果として、ミニバッチを用いた場合のノイズ共分散の特殊な構造のおかげで、
SGDが途中ではばまれる事なく損失面を下っていくことが出来ている事が判明した。
特に実験において、SGDは損失面の谷を跳ねながら下っていくことが観測できる。
このような跳ねる挙動がSGDにおいて長い距離を横切ることを可能にする。
また学習率を大きくすると大きく跳ねる事になり、小さなバッチサイズは
ノイズが入る事によって探索が可能になる。
跳ねる大きさがある事で、谷底の障害に阻まれる事なく、遠い距離を探索できるようになる

An Empirical Evaluation of Generic Convolutional and Recurrent Networks for Sequence Modeling
sequenceモデリングを行う際、RNNが使われるのが一般的である。
しかし最近の結果においてCNNを用いる事でより良い結果が得られる事も
分かってきている。
そこで新たなsequenceモデリングを行う際に、RNNかCNNのどちらを用いるのが
良いのかの一般的な指針について研究する。
本研究では、広い範囲のsequenceタスクに用いられるベンチマークデータを利用した。
結果、単純なCNNを用いる事でLSTMをはじめとする一般的なRNNモデルより高い性能を
得る事が出来る事を示した。

WNGrad: Learn the Learning Rate in Gradient Descent
SGDにおける学習率の適切な調整方法は重要であるがまだ見つかってはおらず、
結局は人手による探索が必要になる。
損失関数の凸性やsmoothnessが既知である場合には、最適なパラメータを予測できるが
実際は非凸かつsmoothnessも未知である。
従来研究ではdeep learningにおいて、batch normalizationを用いる事で勾配のLipschitz constantに
対してロバストな最適化が可能になり、学習率を高く設定しても問題がなくなった。
こうしたbatch normalizationの特性にインスパイアされ、本論では一般的な非線形な
学習率の更新手法を提案する。
この手法は初期値に高い学習率を設定し、学習カーブの観測に基づきながら、
適応的に学習率を修正させていくことができる。
提案手法は学習率の設定において勾配のLipschitz constantに対してロバストで、
準最適な収束レートを実現できる。
またこの提案手法が非凸非連続な損失関数に対しても適用可能な事を数値的に
示す。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1