Help us understand the problem. What is going on with this article?

「本当に大丈夫ですか?そのOptimizerで」Adamが収束しない場合とAMSGrad

内容と目的

深層学習ライブラリで最適化アルゴリズム(Optimizer)といえばAdamですよね!
実際、多くのライブラリで実装されています。

強力な最適化アルゴリズムとして知られている一方で、一部の界隈では提案した論文

の収束解析に誤りがあることが知られています!

というわけで、収束解析の誤りを指摘して修正アルゴリズムを提案した論文
On the Convergence of Adam and Beyond
を見ていきます!

準備

この節では、基本的な記号の定義と考える問題について触れています。
ここではポイントだけ掻い摘んで確認しておきましょう!
もとの論文とは構成を少し変えて定義と仮定に分けてみました。

定義

  • $S_d^+$ :d×dの正定値行列全体の集合
    つまり、この集合からゲッツした行列 $A\in S_d^+ $はd×dの正定値行列ってことですね。

  • ベクトルや行列に演算子が付いてたらだいたい要素ごと(Elementwise)の演算

  • $\mathcal{F}$ :実行可能集合

  • $\Pi_{\mathcal{F},A}(y)\in{\rm argmin}_{x\in\mathcal{F}}\left|\left| A^{1/2}(x-y)\right|\right| $
    この論文ではパラメータの更新則をこの射影演算子で定義しています。

  • 後悔(Regret)
    $$R_T:=\sum_{t=1}^T f_t(x_t)-\min_{x\in\mathcal{F}}\sum_{t=1}^T f_t(x)$$
    この手のアルゴリズムの収束性について議論するときに出てくるものです。

  • 有界な直径
    $\mathcal{F}$が有界な直径$D\in\mathbb{R}$を持つ.
    $|| x-y ||_{\infty} < D\ (x,y\in\mathcal{F})$

  • $g_t:=\nabla f_t(x_t)\ (t=1,\dots ,T,x_t\in\mathcal{F})$

仮定

  • $\mathcal{F}$は有界な直径を持つ
  • $|| \nabla f_t(x) ||_{\infty}<G\ (t=1,\dots ,T,x\in\mathcal{F})$ は有界

最適化アルゴリズム

ここでは先ほどの射影演算子によってSGDやAdaGrad、Adamがどのように表現されるのか示されています。

まず、基本の形は次のように定義されています。

m_t:=\phi(g_1,\dots ,g_t)\\\\
V_t:=\psi(g_1,\dots ,g_t)\\\\
\hat{x}_{t+1}:=x_t-\alpha_t V_t^{1/2}m_t\\\\
x_{t+1}:=\Pi_{\mathcal{F},V_t^{-1/2}}(\hat{x}_{t+1})

Adam

上の射影演算子を用いるとAdamは次のように定義できます。

\phi(g_1,\dots ,g_t):=(1-\beta_1)\\\\
\psi(g_1,\dots ,g_t):=

続きは更新後に!

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away