Machine Learning/기법

[Optimizer] Adam Adaptive Moment

파송송 2022. 8. 15. 16:21
728x90

Adam

  • RMSProp식에 Momentum을 추가로 적용한 알고리즘이다.
  • 방향과 크기를 모두 개선한 기법

수식

$$ m_{t} = \beta_{1} m_{t-1} + (1 - \beta_{1}) \nabla f(x_{t-1}) $$

$$ g_{t} =  \beta_{2}g_{t-1} + (1- \beta_{2})( \nabla f(x_{t-1}))^{2}  $$

$$ \hat{m}_{t} = \frac{m_{t}}{1- \beta^{t}_{1}}, \hat{g}_{t} =  \frac{g_{t}}{1- \beta^{t}_{2}} $$

$$ x_{t} = x_{t-1}- \frac{ \eta }{ \sqrt{ \hat{g}_{t}+ \epsilon}} .  \hat{m}_{t} $$

 

  • \( \beta_{1} \) : Momentum의 지수 이동 평균
  • \( \beta_{2} \) : RMSProp의 지수 이동 평균
  • \( \hat{m}, \hat{g} \) : 학습 초기시 0이 되는 것을 방지하기 위한 값
  • \( \epsilon \) : 분모가 0이 되는 것을 방지하는 값
  • \(  \eta  \) : 학습률

  • \( m_{t}, g_{t} \) 는 각각 Momentum 과 RMSProp에서 사용한 수식과 동일
  • \( \beta \) 지수 이동 평균으로 hyperparameter 이다
  • \( \beta_{1} \) = 0.9 , \( \beta_{2} \) = 0.999 가 좋은 값이라고 알려져 있음
  • 지수 이동 평균은 오래된 gradient를 적게 반영하고 최근의 gradient를 많이 반영하기 위해 사용함
728x90