IT Repository

(14) Optimizer - ADAM Optimizer 본문

Basic fundamentals

(14) Optimizer - ADAM Optimizer

IT찬니 2020. 1. 13. 18:13

 

 

 

 

ADAM (Adaptive Moment Estimation)

NAG(Momentum)와 RMSProp(Adaptive Learning rate) 의 장점을 합친 Optimizer

$$m_t = \beta_1 m_{t-1} + (1 - \beta_1) g_t \\ v_t = \beta_2 v_{t-1} + (1 - \beta_2) g_t^2 \\ ~\\ \array{\hat m_t = \dfrac{m_t}{1 - \beta_1^t} & \hat v_t = \dfrac{v_t}{1 - \beta_2^t}} \\ ~\\ \theta_{t+1} = \theta_t - \dfrac{\eta}{\sqrt{\hat v_t + \epsilon}} \hat m_t \\ ~\\ \begin{pmatrix} m_t : \text{Momentum} \\ v_t : \text{Adaptive lr} \end{pmatrix}$$

일반적으로 $\beta_1=0.9,~\beta_2=0.9999$ 정도의 값을 사용한다.
이 경우, 초기의 $m_t$와 $v_t$의 값이 상대적으로 큰 차이가 나서 스텝 사이즈가 너무 커지기 때문에,
$\hat m_t$와 $\hat v_t$의 값으로 변환하여 파라미터를 업데이트한다.

'Basic fundamentals' 카테고리의 다른 글

(13) Optimizer - Adaptive learning rate 개념  (0) 2020.01.13
(12) Optimizer - Momentum 개념  (0) 2020.01.13
(11) Optimizer - Vanilla SGD  (0) 2020.01.13
(10) Optimizer  (0) 2020.01.13
(9) Other Techniques of Optimize  (0) 2020.01.13
Comments