LoginSignup
2
0

More than 3 years have passed since last update.

RMSpropGravesについて自分なりに考えてみた

Posted at

オプティマイザについてSGDやRMSprop、Adadelta、Adamなどの解説記事を読むと、どういう工夫がなされているのかなんとなく分かります。しかし、RMSpropGravesについては提案した論文にも詳しい説明はなく、解説記事もほとんど見つかりません。そこで自分なりに考えてみました。

間違っていたら恥ずかしいので指摘してください。

RMSpropGravesの最適化手法は以下の式で表される。

   {g}^{(t)}=\nabla E({w}^{(t)})\\
   {m}_t=\rho_1{m}_{t-1}+(1-\rho_1){g}^{(t)}\\
   {v}_t=\rho_2{v}_{t-1}+(1-\rho_2)({g}^{(t)})^2\\
   \Delta{w}^{(t)}=-\frac{\eta}{\sqrt{{v}_t-{m}_t^2+\varepsilon}}{g}^{(t)}\\
   {w}^{(t+1)}={w}^{(t)}+\Delta{w}^{(t)}

 RMSpropGravesはモーメンタム項を考慮することも多く、その場合は以下のようになる。

   \Delta{w}^{(t)}=-\mu\Delta{w}^{(t-1)}-\frac{\eta}{\sqrt{{v}_t-{m}_t^2+\varepsilon}}{g}^{(t)}\\

 ここで ${m}_0=0$、${v}_0=0$ と初期値を設定すると、

   {m}_t=(1-\rho_1)\sum_{i=1}^{t}\rho_1^{t-i}{g}^{(i)}
   {v}_t=(1-\rho_2)\sum_{i=1}^{t}\rho_2^{t-i}({g}^{(i)})^2

 ここで議論をわかりやすくするために、$i=1\sim t$に対しベクトル${g}^{(i)}$の単位ベクトルを基底ベクトルとした座標変換を考え、${m}_t$ を$\underline{{m}_t}$、${v}_t$を$\underline{{v}_t}$と座標変換する。また各要素に大きさ$|{g}^{(i)}|$をもつベクトルを$\underline{{g}^{(t)}}$とする。

   {v}_t=(1-\rho_2)\sum_{i=1}^{t}\rho_2^{t-i}({g}^{(i)})^2=\underline{{g}^{(t)}}\odot\underline{{m}_t}
   {v}_t-{{m}_t}^2 =\underline{{g}^{(t)}}\odot\underline{{m}_t}-\underline{{m}_t}\odot\underline{{m}_t}=(\underline{{g}^{(t)}}-\underline{{m}_t})\odot\underline{{m}_t}

RMSpropとRMSpropGravesの違いは$\Delta{w}^{(t)}$を求める際に、${v}_t$が${v}_t-{m}_t^2$となっている点である。この意味は$\underline{{g}}^{(t)}$を$\underline{{g}^{(t)}}-\underline{{m}_t}$と修正していることが上の式より分かる。よっては$\Delta{w}^{(t)}$の更新において勾配に掛けられる係数はRMSpropよりも大きくなることがわかる。

これは直近に取得した勾配の影響を抑える働きがある。具体的には$\underline{{g}}-\underline{{m}_t}$の最新の要素$i=t$に対して、

   (\underline{{g}^{(t)}}-\underline{{m}_t})_{t}={g}^{(t)}-(1-\rho_1){g}^{(t)}=\rho_1{g}^{(t)}

となり、$0<\rho_1<1$であるため$\rho_1$だけ抑えらていることがわかる。
逆に、最も古い勾配は$i=1$で$t\rightarrow\infty$において

   (\underline{{g}^{(t)}}-\underline{{m}_t})_{1}=\lim_{t \to \infty}\left({g}^{(1)}-(1-\rho_1)\rho_1^{t-1}{g}^{(1)}\right)={g}^{(1)}

となり、古い勾配であるほど補正の影響がなくなることがわかる。

2
0
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
2
0