logo

最適化器 📂機械学習

最適化器

定義

最適化問題とは、関数f:RnRf : \mathbb{R}^{n} \to \mathbb{R}の関数値が最小になるようなxx_{\ast}を見つけることを指す。

x=arg minxf(x) x_{\ast} = \argmin\limits_{x} f(x)

最適化問題を解く一連のアルゴリズムをオプティマイザoptimizerという。

説明

機械学習、ディープラーニングにおいて関数ff損失関数loss functionと呼ばれ、このときxxはニューラルネットワークのパラメータ、すなわち重みとなる。

確率的勾配降下法

ディープラーニングで使われるオプティマイザは実質的にほぼすべてが確率的勾配降下法である。損失関数をLL、パラメータをθ\boldsymbol{\theta}と表記しよう。勾配降下法とは次のようなオプティマイザを指す。 θi+1=θiαL(θi) \boldsymbol{\theta}_{i+1} = \boldsymbol{\theta}_{i} - \alpha \nabla L(\boldsymbol{\theta}_{i})

モメンタム手法

モメンタム手法とは、以下のように前の段階の勾配を累積して足すオプティマイザを指す。

θi+1=θi+αj=0iβjL(θi) \boldsymbol{\theta}_{i+1} = \boldsymbol{\theta}_{i} + \alpha \sum\limits_{j=0}^{i} \beta^{j} \nabla L(\boldsymbol{\theta}_{i})

ネステロフモメンタム

ネステロフモメンタムは、モメンタム手法に少し変形を加えたものである。p0=0\mathbf{p}_{0} = \mathbf{0}に対して、

pi+1=βpiαL(θi+βpi) \mathbf{p}_{i+1} = \beta \mathbf{p}_{i} - \alpha \nabla L(\boldsymbol{\theta}_{i} + \beta \mathbf{p}_{i})

θi+1=θi+pi+1 \boldsymbol{\theta}_{i+1} = \boldsymbol{\theta}_{i} + \mathbf{p}_{i+1}

AdaGrad

AdaGradは適応的学習率を適用したオプティマイザである。勾配をLi=L(θi)\nabla L _{i} = \nabla L (\boldsymbol{\theta}_{i})と簡単に表記すると、

ri=(Li)(Li)αi=αi1+ϵδ+ri=j=1iϵδ+rjθi+1=θiαiLi \begin{align*} \mathbf{r}_{i} &= (\nabla L_{i}) \odot (\nabla L_{i}) \\ \boldsymbol{\alpha}_{i} &= \boldsymbol{\alpha}_{i-1} + \dfrac{\epsilon}{\delta + \sqrt{\mathbf{r}_{i}}} = \sum_{j=1}^{i} \dfrac{\epsilon}{\delta + \sqrt{\mathbf{r}_{j}}} \\ \boldsymbol{\theta}_{i+1} &= \boldsymbol{\theta}_{i} - \boldsymbol{\alpha}_{i} \odot \nabla L_{i} \end{align*}

RMSProp

RMSPropはAdaGradの変形で、加えられる項を指数的に減少するように加重平均を適用するものである。

ri=(Li)(Li)αi=ραi1+(1ρ)ϵδ+ri=(1ρ)j=1iρijϵδ+rjθi+1=θiαiLi \begin{align*} \mathbf{r}_{i} &= (\nabla L_{i}) \odot (\nabla L_{i}) \\ \boldsymbol{\alpha}_{i} &= \rho \boldsymbol{\alpha}_{i-1} + (1-\rho) \dfrac{\epsilon}{\delta + \sqrt{\mathbf{r}_{i}}} = (1-\rho) \sum_{j=1}^{i} \rho^{i-j} \dfrac{\epsilon}{\delta + \sqrt{\mathbf{r}_{j}}} \\ \boldsymbol{\theta}_{i+1} &= \boldsymbol{\theta}_{i} - \boldsymbol{\alpha}_{i} \odot \nabla L_{i} \end{align*}

Adam

Adamは適応的学習率とモメンタムを組み合わせたオプティマイザである。

pi=β1pi1+(1β1)Li1p^i=pi1(β1)iri=β2ri1+(1β2)LiLir^i=r1(β2)iα^i=ϵδ+r^iθi+1=θiαi^pi^ \begin{align*} \mathbf{p}_{i} &= \beta_{1}\mathbf{p}_{i-1} + (1-\beta_{1}) \nabla L_{i-1} \quad \\[0.5em] \hat{\mathbf{p}}_{i} &= \dfrac{\mathbf{p}_{i}}{1-(\beta_{1})^{i}} \\[0.5em] \mathbf{r}_{i} &= \beta_{2} \mathbf{r}_{i-1} + (1-\beta_{2}) \nabla L_{i} \odot \nabla L_{i} \\[0.5em] \hat{\mathbf{r}}_{i} &= \dfrac{\mathbf{r}}{1-(\beta_{2})^{i}} \\[0.5em] \hat{\boldsymbol{\alpha}}_{i} &= \dfrac{\epsilon}{\delta + \sqrt{\hat{\mathbf{r}}_{i}}} \\[0.5em] \boldsymbol{\theta}_{i+1} &= \boldsymbol{\theta}_{i} - \hat{\boldsymbol{\alpha}_{i}} \odot \hat{\mathbf{p}_{i}} \end{align*}

その他

大学院生降下法

大学院生降下法は、大学院生をオプティマイザとして使用する方法を指す。昔からよく使用されており、現在も世界中で活発に使用されている方法である。性能は様々だがコスト面では大変効率を誇るコストパフォーマンスの良いオプティマイザである。

モンテカルロ

モンテカルロとは、ランダムに最大限多く試みることを指す。

グリッドサーチ

グリッドサーチとは、その名の通りユークリッド空間Rn\mathbb{R}^{n}を格子状に分け、多くの点について試しながら最適解を探す方法である。