집계된 타성(Aggregated Momentum)

오늘 소개할 논문은 새로운 momentum (타성) 방법을 제시한다. 우선 momentum에 간략하게 설명한 후 aggregated momentum (집계된 타성)을 소개하겠다. 지금까지도 machine learning models을 training하는데 gradient descent with momentum을 널리 사용한다. 이유는 momentum이 낮은 곡률 방향 (low curvature direction)을 minimize하는데 도움을 주기 때문이다. 가장 많이 사용되는 momentum 방법은 다음과 같다.

우선 함수 $f: \mathbb{R}^d \to \mathbb{R}$ 를 parameter $\boldsymbol{\theta}$ 에 관하여 minimize한다고 가정하겠다.

  1. 고전적인 momentum
    처음 parameter를 $\boldsymbol{\theta}_0$ 라 표기하였을때, update step은 다음과 같다.
    $\begin{align}
    \mathbf{v}_t &= \beta \mathbf{v}_{t-1} – \nabla_{\boldsymbol{\theta}} f (\boldsymbol{\theta}_{t-1}), \\
    \boldsymbol{\theta}_t &= \boldsymbol{\theta}_{t-1} + \gamma_t \mathbf{v}_{t}
    \end{align}$
    여기서 $\gamma_t$ 는 learning rate이며 $\beta$ 는 damping coefficient이다. Momentum은 실용적으로 converge를 빠르게 해주지만, damping coefficient $\beta$ 를 고르는 것이 종종 어렵다. 만약에 너무 크다면, instability와 oscillation이 생길수있고, 너무 작으면 낮은 곡률방향을 optimize하는게 느릴수있다.
  2. Nesterov momentum
    Nesterov momentum은 고전적인 momentum을 조금 수정하여 converge 속도와 안정성을 강화시킨다. 다음과 같은 update step을 가지고 있다.
    $\begin{align}
    \mathbf{v}_t &= \beta \mathbf{v}_{t-1} – \nabla_{\boldsymbol{\theta}} f (\boldsymbol{\theta}_{t-1} + \gamma_{t-1} \beta \mathbf{v}_{t-1}), \\
    \boldsymbol{\theta}_t &= \boldsymbol{\theta}_{t-1} + \gamma_t \mathbf{v}_{t}
    \end{align}$
    고전적인 방법과의 차이점은 첫번째 줄에 error를 고쳤다는 점이다.
출처: [1]

두가지 방법 모두 damping coefficient $\beta$ 를 정하는게 어렵다. Figure 1을 보았을때 전통적은 momentum (CM)은 $\beta$ 를 높였을때 high curvature direction에서의 oscillation이 무척 강하고, $\beta$ 를 낮췄을때 low curvature direction의 update가 느리다. Nestrov momentum은 점점 oscillation이 약해지지만, 꽤 강한 oscillation behavior을 지니고있다.

위에서 두 유명한 momentum 방법을 소개하였다. 이제 이글의 핵심인 aggregated momentum을 설명하겠다. Aggregated momentum은 larger damping coefficient을 사용하면서 stability을 강화시키는 역활을 한다. 핵심은 모든 optimization step에서 여러 velocity vector를 고려하며 그들을 average 한다. Figure 1을 봤을때 Nesterov momentum 보다도 oscillation이 적다는 사실을 알 수있다. 방법은 다음과 같다. Damping vector $\mbi{\beta} = [\beta^{(1)}, …, \beta^{(k)}]$ 를 정하고 update는 다음과 같다:
$\begin{align}
\mbf{v}_t^{(i)} &= \beta^{(i)} \mbf{v}^{(i)}_{t-1} – \nabla_{\mbi{\theta}} f(\mbi{\theta}_{t-1}), \forall i\\
\mbi{\theta}_t &= \mbi{\theta}_{t-1} + \frac{\gamma_t}{K} \sum_{i=1}^k \mbf{v}_{t}^{(i)}
\end{align}$
여러 damping coefficients를 고려함으로서 ill-conditioned curvature도 빠르게 optimize 가능하다. [1]에서 Nestrov momentum도 aggregated momentum의 특별한 케이스임을 보여준다.

출처: [1]

위에 diagram을 봤을때 SGD와 AggMo를 사용한 결과가 autoencoder 그리고 classification 문제에서 convergence를 빠르게 하고, 더 좋은 local optimal를 찾는다는것을 보여준다. 또한 [1]에서 language modelling problem에서도 강점을 보여준다.

출처:
[1]: Lucas, J., Sun, S., Zemel, R., & Grosse, R. (2018). Aggregated momentum: Stability through passive damping. arXiv preprint arXiv:1804.00325.

댓글 남기기

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.

Site Footer

Sliding Sidebar

%d 블로거가 이것을 좋아합니다: