7.91 Adam, AdaGrad, RMSProp 최적화기

1. 적응적 학습률 방법의 동기

경사 하강법에서 단일 스칼라 학습률은 모든 파라미터에 동일하게 적용된다. 그러나 파라미터마다 그래디언트의 크기와 빈도가 다를 수 있으며, 단일 학습률로는 모든 파라미터에 대해 최적의 갱신 크기를 제공하기 어렵다. 적응적 학습률(adaptive learning rate) 방법은 각 파라미터에 대해 과거 그래디언트 정보를 축적하여 개별 학습률을 자동으로 조정한다.

2. AdaGrad

2.1 알고리즘

AdaGrad(Adaptive Gradient)는 Duchi 등(2011)이 제안한 방법으로, 과거 그래디언트의 제곱합을 누적하여 학습률을 조정한다.

\mathbf{G}_k = \mathbf{G}_{k-1} + \mathbf{g}_k \odot \mathbf{g}_k

\mathbf{x}_{k+1} = \mathbf{x}_k - \frac{\alpha}{\sqrt{\mathbf{G}_k} + \epsilon} \odot \mathbf{g}_k

여기서 \mathbf{g}_k = \nabla f(\mathbf{x}_k) (또는 확률적 그래디언트), \odot은 원소별 곱(Hadamard product), 나눗셈과 제곱근도 원소별로 적용되며, \epsilon > 0 (통상 10^{-8})은 영으로 나누는 것을 방지하는 안정화 상수이다. \alpha는 전역 학습률로 통상 0.01이 사용된다.

2.2 특성과 한계

AdaGrad는 그래디언트가 큰 파라미터에 대해서는 학습률을 감소시키고, 그래디언트가 작은 파라미터에 대해서는 상대적으로 큰 학습률을 유지한다. 이는 희소 그래디언트(sparse gradient)를 갖는 문제에서 효과적이다.

그러나 \mathbf{G}_k가 단조 증가하므로 유효 학습률 \alpha/\sqrt{G_{k,i}}가 지속적으로 감소하여, 학습이 조기에 정체될 수 있다. 이 누적적 감소는 비볼록 최적화에서 특히 문제가 되며, AdaGrad의 주요 한계로 지적된다.

3. RMSProp

3.1 알고리즘

RMSProp(Root Mean Square Propagation)은 Hinton(2012)이 제안한 방법으로, AdaGrad의 누적적 학습률 감소 문제를 지수 이동 평균(exponential moving average)으로 해결한다.

\mathbf{s}_k = \rho \mathbf{s}_{k-1} + (1 - \rho) \mathbf{g}_k \odot \mathbf{g}_k

\mathbf{x}_{k+1} = \mathbf{x}_k - \frac{\alpha}{\sqrt{\mathbf{s}_k} + \epsilon} \odot \mathbf{g}_k

여기서 \rho \in [0, 1)은 감쇠율(decay rate)로 통상 \rho = 0.99이 사용된다. \alpha는 통상 0.001이다.

3.2 특성

\mathbf{s}_k는 그래디언트 제곱의 지수 이동 평균으로, 과거의 영향이 기하급수적으로 감쇠한다. 유효 창(effective window)의 크기는 약 1/(1-\rho)이다. 이로 인해 AdaGrad와 달리 유효 학습률이 무한히 감소하지 않으며, 비정상적(non-stationary) 목적 함수에도 적응할 수 있다.

4. Adam

4.1 알고리즘

Adam(Adaptive Moment Estimation)은 Kingma와 Ba(2015)가 제안한 방법으로, 그래디언트의 1차 모멘트(평균)와 2차 모멘트(비중심 분산)의 지수 이동 평균을 결합한다.

1차 모멘트 추정:

\mathbf{m}_k = \beta_1 \mathbf{m}_{k-1} + (1 - \beta_1) \mathbf{g}_k

2차 모멘트 추정:

\mathbf{v}_k = \beta_2 \mathbf{v}_{k-1} + (1 - \beta_2) \mathbf{g}_k \odot \mathbf{g}_k

편향 보정(bias correction):

\hat{\mathbf{m}}_k = \frac{\mathbf{m}_k}{1 - \beta_1^k}, \quad \hat{\mathbf{v}}_k = \frac{\mathbf{v}_k}{1 - \beta_2^k}

파라미터 갱신:

\mathbf{x}_{k+1} = \mathbf{x}_k - \frac{\alpha}{\sqrt{\hat{\mathbf{v}}_k} + \epsilon} \odot \hat{\mathbf{m}}_k

권장 초기값은 \beta_1 = 0.9, \beta_2 = 0.999, \alpha = 0.001, \epsilon = 10^{-8}이다.

4.2 편향 보정의 필요성

\mathbf{m}_0 = \mathbf{0}, \mathbf{v}_0 = \mathbf{0}으로 초기화하면, 학습 초기에 모멘트 추정값이 영 쪽으로 편향된다. k번째 반복에서 \mathbb{E}[\mathbf{m}_k] = (1 - \beta_1^k)\mathbb{E}[\mathbf{g}]이므로, 1/(1 - \beta_1^k)로 나누어 편향을 보정한다. 반복이 진행되면 \beta_1^k \to 0이므로 보정 인자는 1에 수렴한다.

4.3 Adam의 특성

Adam은 모멘텀(1차 모멘트에 의한 관성 효과)과 적응적 학습률(2차 모멘트에 의한 스케일링)을 동시에 제공한다. 각 파라미터의 갱신 크기는 근사적으로 \alpha 범위 내로 제한되며, 이는 매개변수 스케일에 대한 불변성(scale invariance)을 부여한다.

5. AdamW

Adam의 원래 구현에서 가중치 감쇠(weight decay)를 \ell_2 정규화 항으로 목적 함수에 추가하는 것과, 갱신 규칙에서 직접 가중치를 감쇠시키는 것이 동치가 아님이 Loshchilov와 Hutter(2019)에 의해 지적되었다. AdamW는 가중치 감쇠를 그래디언트와 분리하여 다음과 같이 적용한다.

\mathbf{x}_{k+1} = (1 - \lambda \alpha) \mathbf{x}_k - \frac{\alpha}{\sqrt{\hat{\mathbf{v}}_k} + \epsilon} \odot \hat{\mathbf{m}}_k

여기서 \lambda는 가중치 감쇠 계수이다. 이 분리(decoupled) 가중치 감쇠가 Adam의 일반화 성능을 향상시킴이 보고되었다.

6. 비교 요약

방법1차 모멘트2차 모멘트편향 보정주요 초매개변수
SGD + Momentum\checkmark\alpha, \beta
AdaGrad\checkmark (누적)\alpha
RMSProp\checkmark (지수 평균)\alpha, \rho
Adam\checkmark\checkmark (지수 평균)\checkmark\alpha, \beta_1, \beta_2

7. 수렴 이론

Adam의 수렴 이론에 대해서는 주의가 필요하다. Reddi 등(2018)은 Adam이 일부 볼록 문제에서 수렴에 실패하는 반례를 제시하였다. 이를 해결하기 위해 AMSGrad가 제안되었으며, 2차 모멘트 추정의 최대값을 유지하는 수정을 도입하였다.

\hat{\mathbf{v}}_k = \max(\hat{\mathbf{v}}_{k-1}, \mathbf{v}_k)

그러나 실용적으로 AMSGrad가 Adam 대비 일관된 개선을 보이지는 않는다.

8. 로봇 공학에서의 선택 지침

신경망 학습: 로봇 인식, 모방 학습, 정책 근사 등에 사용되는 심층 신경망의 학습에서 Adam은 기본 최적화기로 널리 채택된다. 초매개변수 튜닝에 대한 민감도가 낮고 학습 초기의 수렴이 빠르기 때문이다.

미세 조정(fine-tuning): 사전 학습된 모델의 미세 조정에서는 SGD with Momentum이 Adam보다 나은 일반화 성능을 보이는 경우가 보고되어 있다.

온라인 적응: 로봇의 실시간 파라미터 적응에서 Adam의 적응적 학습률은 파라미터 스케일의 다양성을 자동으로 처리하여 유용하다.

9. 참고 문헌

  • Duchi, J., Hazan, E., & Singer, Y. (2011). “Adaptive Subgradient Methods for Online Learning and Stochastic Optimization.” Journal of Machine Learning Research, 12, 2121–2159.
  • Kingma, D. P., & Ba, J. (2015). “Adam: A Method for Stochastic Optimization.” Proceedings of ICLR.
  • Reddi, S. J., Kale, S., & Kumar, S. (2018). “On the Convergence of Adam and Beyond.” Proceedings of ICLR.
  • Loshchilov, I., & Hutter, F. (2019). “Decoupled Weight Decay Regularization.” Proceedings of ICLR.
  • Goodfellow, I., Bengio, Y., & Courville, A. (2016). Deep Learning. MIT Press.

version: 1.0