ã¯ããã«
åŸé æ³ã®å éæ³ã«ã¯ããããææ¡ãããŠããŸãããããã§ã¯ååæžããè¿æ¥åŸé æ³ã®å éã«ã䜿ããNesterovã®å éæ³ã«ã€ããŠæžããŸãã
Momentumæ³
Nesterovã®å éæ³ã®åã«ãé¡äŒŒããææ³ã§ããMomentumæ³ã«ã€ããŠãç°¡åã«èŠãŠãããŸãã
åŸé
æ³ã®æŽæ°åŒã¯ $\boldsymbol{x}_k - \eta \bigtriangledown f(\boldsymbol{x}_k)$ ã§ãããMomentumæ³ã§ã¯æ¬¡ã®ããã«æŽæ°ããŸãã
\begin{align}
\boldsymbol{x}_{k+1} &= \boldsymbol{x}_k - \eta \bigtriangledown f(\boldsymbol{x}_k) + \alpha \Delta \boldsymbol{x}_k
\end{align}
ããã§$\alpha$ã¯$0 < \alpha < 1$ã§ãã1ã¹ãããåã®æŽæ°æ¹å$\Delta \boldsymbol{x}_k = \boldsymbol{x}_k - \boldsymbol{x}_{k-1}$ã«ãæŽæ°ãããããªãã¡æ
£æ§ïŒMomentumïŒãæãããŠããŸãã
ãã®åŒãå±éãããšã
\begin{align}
\boldsymbol{x}_{k+1}
&= \boldsymbol{x}_k - \eta \sum_{l=0}^{k} \alpha^l \bigtriangledown f(\boldsymbol{x}_{k-l})
\end{align}
ãšãªããéå»ã®åŸé
ã®$\alpha$ã«ããææ°æžè¡°åæ¹åã«æŽæ°ããŠããããšã«ãªããŸãã
ããæãã«åãã°ãæè¿ã®æŽæ°ã§äœåºŠæŽæ°ããŠãåæ§ã®æ¹åãžã®åŸé
æåããã£ããšãã«ã¯ãã®æ¹åãžã®æŽæ°ãå éãããéã«æ¯åæåã¯æå¶ããããã§ããããéã«æ
£æ§é
ãåæã«æªãããããšããããããã§ãã
ã§ã¯ãæ¬é¡ã®Nesterovã®å éæ³ã«é²ã¿ãŸãã
Nesterovã®å éæ³ïŒNesterov's Accelerated Gradient MethodïŒ
Nesterovã®å éæ³ã§ã¯æ¬¡ã®ããã«æŽæ°ããŸãã
\begin{align}
\boldsymbol{x}_{k+1}
&= \bar{\boldsymbol{x}}_k - \eta \bigtriangledown f(\bar{\boldsymbol{x}}_k) \\
\bar{\boldsymbol{x}}_k &= \boldsymbol{x}_k + \gamma_k \Delta \boldsymbol{x}_k \\
\gamma_k &= \frac{\rho_{k-1} - 1}{\rho_k} \\
\rho_k &= \frac{1 + \sqrt{1 + 4\rho_{k-1}^2}}{2}
\end{align}
Momentumæ³ãšæ¯èŒããããããã«æžããš
\begin{align}
\boldsymbol{x}_{k+1}
&= \boldsymbol{x}_k - \eta \bigtriangledown f(\bar{\boldsymbol{x}}_k) + \gamma_k \Delta \boldsymbol{x}_k
\end{align}
ãšãªããéãã¯åŸé
ãèšç®ããäœçœ®ã«ãããŸãã
æŽæ°ã(1)äºã€ç®ã®åŒã®ãæ
£æ§ã«ããæŽæ°ããš(2)äžã€ç®ã®åŒã®ãåŸé
ã«ããæŽæ°ãã®2ã¹ãããã«åããŠèãããšã(2)ã®åŸé
ã«ããæŽæ°ã«ãããŠãMomentumæ³ã§ã¯(1)ã®æŽæ°åã®ç¹$\boldsymbol{x}_k$ã«ãããåŸé
ã§æŽæ°ããŠããŸã£ãŠããã®ã«å¯ŸããŠãNesterovã§ã¯åŸé
æ³ã«ããæŽæ°ã®èµ·ç¹ã(1)ã®æŽæ°åŸã®ç¹$\bar{\boldsymbol{x}}_k = \boldsymbol{x}_k + \gamma_k \Delta \boldsymbol{x}_k$ã«ãããåŸé
ã§æŽæ°ããŠããŸãã
ããªãã¡ãNesterovã®å éæ³ã¯ïŒåºãæå³ã§ã®Momentumæ³ã®äžçš®ã§ãããäžè¿°ã®ã·ã³ãã«ãªïŒMomentumæ³ã®æ¹è¯çãšèšããŸãã
Nesterovæ³ã¯åŸé èšç®ã®èµ·ç¹ãä¿®æ£ããŠããã ãã§ãªãã$\gamma_k$ãš$\rho_k$ã®æŽæ°åŒãäžèšã®åŒã®ããã«æ§æããŠãããšãããããœã§ãããã«ãã$\beta$-å¹³æ»ãªåžé¢æ°$f$ã«å¯ŸããŠãåæã¬ãŒãã
\begin{align}
f(\boldsymbol{x}_k) - f(\boldsymbol{x}^*) \leq \frac{2\beta \parallel \boldsymbol{x}_1 - \boldsymbol{x}^* \parallel^2}{k^2}
\end{align}
ãšãªãããšã瀺ãããŸãïŒ[1] p.277-282, [2]ïŒïŒå éããªãå Žåã®åæã¬ãŒãã¯åæ¯ã$k$ïŒã
ãŸããå®çšäžã¯ãMomentumæ³ã§ã¯$\alpha$ããã€ããŒãã©ã¡ãŒã¿ã«ãªã£ãŠããã®ã«å¯ŸããŠãNesterovæ³ã§ã¯$\gamma_k$ã¯æŽæ°åŒã§äžããããå©ç¹ããããŸãã$\rho_0=1$ããã¹ã¿ãŒãããããšã§$\gamma_1=0$ãšãªããæåã®1ã¹ãããã¯ãã ã®åŸé
æ³ã«ããæŽæ°ãšãªããŸãã
ãå éãã®çŽæççè§£
Momentumæ³ãšåæ§ã«å±éãããš
\begin{align}
\boldsymbol{x}_{k+1}
&= \boldsymbol{x}_k - \eta \sum_{l=0}^{k} \left(\prod_{m=0}^{l-1} \gamma_{k-m} \right) \bigtriangledown f(\bar{\boldsymbol{x}}_{k-l})
\end{align}
ãšãªããŸããæŽæ°åŒã«åŸã£ãŠ$\gamma_k$ãš$\rho_k$ãèšç®ããŠãããšã$k \rightarrow \infty$ã§$\gamma_k \rightarrow 1$ã§ããããã§çè§£ã®ããã«$\gamma=1$ãšããŠããŸãã°
\begin{align}
\boldsymbol{x}_{k+1}
&= \boldsymbol{x}_k - \eta \sum_{l=0}^{k} \bigtriangledown f(\bar{\boldsymbol{x}}_{k-l})
\end{align}
ãšãªããåŸé
ã®çޝç©åæ¹åã«æŽæ°ããŠããããšã«ãªããŸããããšãã°ã¹ãããå¹
$\eta$ãå°ãããããªã©ã§ãæŽæ°ããŠãæŽæ°ããŠãæ±ãŸãåŸé
ãã¯ãã«ãåãã ã£ããšãããšã$k$åç®ã®æŽæ°ã§ã®æŽæ°å¹
ã¯$k\eta$ãçŽ¯ç©æŽæ°å¹
ã¯$k(k+1) \eta / 2$ãšãªããŸããå éãããªãã£ãå Žåã®æŽæ°å¹
ã¯$\eta$ãçŽ¯ç©æŽæ°å¹
ã¯$k \eta$ãªã®ã§ãå éãé©åãªç¶æ³ã§ã¯åæã¬ãŒãã®ãªãŒããŒã$1/k$ãã$1/k^2$ã«æ¹åããã®ãé ·ããŸããå®éãå éãé²ãã§ãããšãã«ã¯ç®ç颿°ã®æžå°å¹
ã¯ç·åœ¢ã«å¢ããŠããããããšããããæžå°å¹
ãå°ãããªã£ãŠãããããªæåãèŠãããŸãã
ã¡ãããšãã蚌æã¯åèæç®ïŒ[1] p.277-282, [2]ïŒããåç
§é ãããã®ã§ããã蚌æããã¯ãå éããçŽæçã«çè§£ã§ããªãã£ãã®ã§ããã®ãããªå€§éæãªè§£éãããŠã¿ãŸããã
ãªã¹ã¿ãŒã
Nesterovã®å éæ³ã¯$k$ã倧ãããªãã«ã€ããŠããã®ããã«ã¢ã°ã¬ãã·ãã«ãªã£ãŠããã®ã§ãæŽæ°ãç¶ãããšç®ç颿°ãæ¯åããããããã£ãŠåææ§ãæªåããããšããããŸãã
ããã§ã忢æ¡ä»¶ãæºãããããªã¹ã¿ãŒãïŒ$\rho_k$ã«$1$ãã»ããïŒããæ¹æ³ãææ¡ãããŠããŸãïŒ[1] p.278, [3]ïŒãæç®[3]ã®å®éšã®ã°ã©ãã ãã§ãèŠãŠã¿ã䟡å€ãããããªã¹ã¿ãŒãã«ãã£ãŠåçã«åæãæ©ããªã£ãŠããŸãã
$f(\boldsymbol{x})$ãæå°åãããšãã®åæ¢æ¡ä»¶ãšããŠã¯
- $f(\boldsymbol{x}_k) > f(\boldsymbol{x}_{k-1})$
- $\bigtriangledown f(\bar{\boldsymbol{x}}_{k-1})^T (\boldsymbol{x}_k - \boldsymbol{x}_{k-1}) > 0$
ãªã©ãææ¡ãããŠããŸããäžã€ç®ã®åæ¢æ¡ä»¶ã¯ãç®ç颿°ãå¢å ãããããšãããã®ã§ãäºã€ç®ã®åæ¢æ¡ä»¶ã¯(1)æ
£æ§ã«ããæŽæ°ãš(2)åŸé
ã«ããæŽæ°ã®(2)ã§ã¯åŸé
éäžæ¹åã«æŽæ°ããã®ã§ãæ
£æ§é
ããªããã°æŽæ°ãã¯ãã«ãšã®å
ç©ã¯è² ã«ãªãã¯ãããšãããšããããæ¥ãŠããŸãããããã¯ã©ã¡ããã ãçšããã®ã§ãè¯ãããã§ããè¿æ¥åŸé
æ³ã§$F(\boldsymbol{x})=f(\boldsymbol{x})+g(\boldsymbol{x})$ãæå°åããå Žåã¯ã$\bar{\boldsymbol{x}}_{k-1}$ãã$\boldsymbol{x}_k = {\rm prox}_{\eta g}( \bar{\boldsymbol{x}}_{k-1} - \eta \bigtriangledown f(\bar{\boldsymbol{x}}_{k-1}) )$ãžã®æŽæ°æ¹å$\boldsymbol{x}_k-\bar{\boldsymbol{x}}_{k-1}$ïŒã®ç¬Šå·ãå転ãããã®ïŒã$\bigtriangledown F(\boldsymbol{x}_{k-1})$ã®è¿äŒŒãšããŠçšããããšãã§ããŸãïŒ[1] p.277-282ïŒã
ååæžããèšäºã®ããã¯ãã©ããã³ã°æ³ã«ããã¹ãããå¹
ã®æ¢çŽ¢ã¢ã«ãŽãªãºã ã«ãNesterovã®å éæ³ãšãªã¹ã¿ãŒããçµã¿èŸŒããšæ¬¡ã®ããã«ãªããŸããååã«åŒãç¶ãè¿æ¥åŸé
æ³ã§æžããŠããŸãã$\hat{f}_\eta(\boldsymbol{x};\boldsymbol{y})$ã®å®çŸ©ã«ã€ããŠã¯ååã®èšäºããåç
§ãã ããã
\begin{align}
&\bar{\boldsymbol{x}}_0 = \boldsymbol{x}_0, \; \eta = \eta_0, \; \rho_0 = 1 \\
&{\rm for} \; k=1 \; {\rm to} \; K \; {\rm do} \\
&\quad {\rm while \; not \; broken \; do} \\
&\qquad \boldsymbol{x}_k = {\rm prox}_{\eta g}( \bar{\boldsymbol{x}}_{k-1} - \eta \bigtriangledown f(\bar{\boldsymbol{x}}_{k-1}) ) \\
&\qquad {\rm if} \; f(\boldsymbol{x}_k) \leq \hat{f}_\eta(\boldsymbol{x}_k;\bar{\boldsymbol{x}}_{k-1}) \; {\rm then}\\
&\qquad \quad {\rm break} \\
&\qquad {\rm else} \\
&\qquad \quad \eta \leftarrow \beta \eta \\
&\qquad {\rm end \; if} \\
&\quad {\rm end \; while} \\
&\quad {\rm if}\; F(\boldsymbol{x}_k) > F(\boldsymbol{x}_{k-1}) \;{\rm or}\; (\boldsymbol{x}_k-\bar{\boldsymbol{x}}_{k-1})^T (\boldsymbol{x}_k - \boldsymbol{x}_{k-1}) < 0 \;{\rm then} \\
&\qquad \eta = \eta_0 \\
&\qquad \rho_{k-1} = 1 \\
&\quad {\rm end \; if} \\
&\quad \rho_k = \frac{1 + \sqrt{1 + 4\rho_{k-1}^2}}{2} \\
&\quad \gamma_k = \frac{\rho_{k-1} - 1}{\rho_k} \\
&\quad \bar{\boldsymbol{x}}_k = \boldsymbol{x}_k + \gamma_k \Delta \boldsymbol{x}_k \\
&{\rm end \; for}
\end{align}
å®éã®ãšããã»ã»
åºç€ã®æ°åã®æŽæ°ã§$\eta$ã調æŽããããšããã®åŸã®å€ãã®å埩ã§ã¯å
éšã®ããã¯ãã©ããã³ã°æ³ã«ããã¹ãããå¹
ã®æ¢çŽ¢ã¯1åã§æããããšãå€ãã§ããäžèšã¢ã«ãŽãªãºã ã§ã¯$f(\boldsymbol{x}_k)$ãš$f(\bar{\boldsymbol{x}}_k)$äž¡æ¹ã®é¢æ°è©äŸ¡ãå¿
èŠã«ãªããŸãã颿°è©äŸ¡ãéãã¢ãã«ã®åŠç¿æã«ã¯ãããããã«ããã¯ã«ãªã£ãŠããŸãã
ç§ã®å®éšã§ã¯ãåã«$F(\boldsymbol{x}_k) < F(\boldsymbol{x}_{k-1})$ã ãããã§ãã¯ããŠã«ãŒããæããæ¹æ³ãäžèšã¢ã«ãŽãªãºã ãšåçšåºŠã®å埩ã§åæããäžå埩ãããã®èšç®æéãçããªããåäœãšããŠãå®å®ããŠããŸããã$\eta$ã$\eta_{\rm MIN}$ããå°ããããŠãç®ç颿°ãå°ããã§ããªãïŒ(1)ã®æ
£æ§ã«ããæŽæ°ã倧ããããŠã(2)ã®åŸé
æ³ã«ããæŽæ°ãããŠã(1)ãš(2)ããŒã¿ã«ã®æŽæ°ã§ç®ç颿°ãå¢å ããŠããŸãïŒå Žåã$\boldsymbol{x}_k=\boldsymbol{x}_{k-1}$ïŒæŽæ°ããªãïŒãšããŠã«ãŒããæããŠå éæ³ã®ãªã¹ã¿ãŒããããŸããã¢ã«ãŽãªãºã ãšããŠã¯æ¬¡ã®ããã«ãªããŸãã
\begin{align}
&\bar{\boldsymbol{x}}_0 = \boldsymbol{x}_0, \; \eta = \eta_0, \; \rho_0 = 1 \\
&{\rm for} \; k=1 \; {\rm to} \; K \; {\rm do} \\
&\quad {\rm while \; not \; broken \; do} \\
&\qquad \boldsymbol{x}_k = {\rm prox}_{\eta g}( \bar{\boldsymbol{x}}_{k-1} - \eta \bigtriangledown f(\bar{\boldsymbol{x}}_{k-1}) ) \\
&\qquad {\rm if} \; F(\boldsymbol{x}_k) < F(\boldsymbol{x}_{k-1}) \;{\rm then}\\
&\qquad \quad {\rm break} \\
&\qquad {\rm else \; if} \; \eta < \eta_{\rm MIN} \;{\rm then}\\
&\qquad \quad \boldsymbol{x}_k = \boldsymbol{x}_{k-1} \\
&\qquad \quad {\rm break} \\
&\qquad {\rm else} \\
&\qquad \quad \eta \leftarrow \beta \eta \\
&\qquad {\rm end \; if} \\
&\quad {\rm end \; while} \\
&\quad {\rm if}\; F(\boldsymbol{x}_k) \geq F(\boldsymbol{x}_{k-1}) \;{\rm then} \\
&\qquad \eta = \eta_0 \\
&\qquad \rho_{k-1} = 1 \\
&\quad {\rm end \; if} \\
&\quad \rho_k = \frac{1 + \sqrt{1 + 4\rho_{k-1}^2}}{2} \\
&\quad \gamma_k = \frac{\rho_{k-1} - 1}{\rho_k} \\
&\quad \bar{\boldsymbol{x}}_k = \boldsymbol{x}_k + \gamma_k \Delta \boldsymbol{x}_k \\
&{\rm end \; for}
\end{align}
åèæç®
[1] 鿣®æ¬æ, éŽæšå€§æ
, 竹å
äžé, äœè€äžèª . æ©æ¢°åŠç¿ã®ããã®é£ç¶æé©åïŒæ©æ¢°åŠç¿ãããã§ãã·ã§ãã«ã·ãªãŒãºïŒ. è¬è«ç€Ÿ. 2016.
[2] Sebastien Bubeck. ORF523: Nesterov's Accelerated Gradient Descent (I'm a bandit). 2013
[3] Brendan O'donoghue, and Emmanuel Candes. Adaptive restart for accelerated gradient schemes. 2012.