Upgrade to Pro — share decks privately, control downloads, hide ads and more …

SGD Momentum の気持ちを理解する

SGD Momentum の気持ちを理解する

SGD Momentum の役割について調べている Understanding the Role of Momentum in Stochastic Gradient Methods の紹介です。

Yamaguchi Takahiro

February 11, 2020
Tweet

More Decks by Yamaguchi Takahiro

Other Decks in Science

Transcript

  1. Hello! 山口貴大 atma(アートマ)株式会社 取締役 DS / ふろんと / ばっくえんど /

    いんふら 京都大学大学院 最適化数理卒 SGDが好き Kaggle Master kaggle.com/nyk510 2
  2. しってるよ! NNだったらSGDでしょ • 最近よく使われるのが SGD (Stochastic Gradient Descent) ◦ 特に

    Neural Network への最適化は事実上1強 • 1つのサンプルに対する勾配だけで更新する ◦ 計算が軽い・NNで経験的に良い SGD (Stochastic Gradient Descent) ちなみに: Gradient Descent は 全部使う 5
  3. SGDも種類がいろいろある • Momentum 項をもたせるパターン ◦ 前の更新のときの勾配「も」使う • 加速法 (Nesterov’s Accelerated

    Gradient) を使うパターン ◦ 勾配の評価を momentum を 考慮した点で行う • Adaptiveに改造 ◦ Adagrad, Adadelta, Adam ... • ほかにもいろいろ 6
  4. どれがいいんだろう… • 簡単な問題(線形回帰とか)は昔から研究がされていて知見が多い • 一方で最近の応用問題は凸じゃないことが多い ◦ たとえば Neural Network ◦

    凸最適化で良い物が必ずしも非凸最適化で良いわけでもない ◦ SVRGという良い性質を持つ手法がSGDに勝てなかったり On the Ineffectiveness of Variance Reduced Optimization for Deep Learning [Nips2019] • 色々な手法が出ているがMomentumの形式の違いなどによる影響の明確な 理解は進んでいない 7
  5. Understanding the Role of Momentum in Stochastic Gradient Methods SGDにおけるMomentum(と加速法)のパラメータと収束の関係を考えた論文

    https://papers.nips.cc/paper/9158-understanding-the-role-of-momentum-in-stochastic-gradi ent-methods 9
  6. 議論の前に… • α: 学習率 • β: momentumの強さ. 1のとき gradientを全く使わない •

    γ: 更新の時に使う勾配の強さ • 論文中で取り上げるSGDは以下の形式で表現できるものにします 通常のMomentum・加速法を使った手法(NAG)もこの形式で表現可能 12
  7. Q: どういう条件だったら目的関数が収束するの? • まず収束するとは… 停留点に大体存在するようになること • β→0 の時 ◦ βの意味:

    Momentumの大きさ ◦ β=0は要するにMomentumなし == SGDとほぼ一緒 ◦ イメージどおりSGDと同じように証明出来る (Theorem1) • 面白いのはβが0にならない時の証明(Theorem2) 13
  8. 最適な値の関係性 (a,b) γに対しての最適なβを出したもの (c,d) βに対して最適なγを出したもの (c,d): 複雑な挙動. パターンが見えな い (a,b):

    最適なβはγに対して単調減少 (a,b) γに対しての最適なβを出したもの たんにMomentumの総量を考えればよいというわけではない 22
  9. 得られる解はどのぐらい良い解? 仮定 • 目的関数: 同じように二次近似 • 各パラメータ: 定数にfix ねらい •

    収束した目的関数値や最適値がどのような値をとるか? (かかる時間は一旦置いておく) 24
  10. Theorem5: もっと踏み込んで では α の二次の項まで見てみたら? • 左辺 tr(A∑x) は目的関数の二倍に一致→ 実質的に目的関数の値

    • γ=1 (SHB) や γ=β(NAG) だとβを1に近づけると達成できる目的関数値は小 さくなる 26
  11. 実験@Figure3 条件 • 二次元の二次問題 • 収束率が影響しないように 最適解からスタートして得られる平均的な解の大きさを調べる 結果 • αとβの関係性

    ◦ 理論通り小さいαと大きいβが良い目的関数値を達成 (白いほど値が小さいことを表す) パラメータごとの目的関数の値を 比較 27
  12. おさらい • 漸近的な収束保証 Q: どういう条件だったら目的関数が収束するの? A: γβ → 1 で

    α → 0 より遅ければ • 局所的な収束率 Q: 収束するとしたらどのぐらいの速さ? A: 値の条件がある。最適な組合せは複雑。 • 定常解析 Q: 得られる解はどのぐら良い解? A: αが小さいほど良い解。二次まで考えるとβが1に近いほうが良い 30
  13. 良いパラメータを考える 1. 収束が保証されている ◦ γβ→1or β→0とすれば収束するのでそこまで困らなさそう 2. 早く収束する 3. 良い解に収束する

    (得られる目的関数の値が小さくなる) ◦ この2つは一般にトレードオフ ◦ しかしいままでの結果を使えば 相反しない決め方が考えられる 32
  14. 参考文献など • Sutskever, Ilya, et al. "On the importance of

    initialization and momentum in deep learning." International conference on machine learning. 2013. • Bottou, Léon, Frank E. Curtis, and Jorge Nocedal. "Optimization methods for large-scale machine learning." Siam Review 60.2 (2018): 223-311. 35