Go together

If you want to go fast, go alone. If you want to go far, go together.

통계

RMSprop, Adam 알고리즘 해설

NowChan 2021. 12. 26. 12:47

용어

$$W_{t,i}:\ t\ 시점의\ i\ 번째\ 파라미터$$

$$\\ \nabla _{W_t}J\left(W_{t,\ i}\right)\ =\ g_{t,\ i}\ :\ t\ 시점의\ W_{t,\ i}에\ 대한\ gradient\ 벡터$$

 

 

SGD

$$W_{t+1,\ i}=W_{t,\ i}-\eta \cdot g_{t,\ i}$$

 

 

Adagrad

$$G_{t,\ ii}=g_{1,\ i}^2+g_{2,\ i}^2\ +\ ..\ +\ g_{t,\ i}^2$$

$$G_t=\begin{bmatrix}G_{t,\ 11}&0&..&00\\0&G_{t,\ 22}&0&..\\..&0&..&0\\0&..&0&G_{t,\ ii}\end{bmatrix}$$

$$W_{t+1,\ i}=W_{t,\ i}-\frac{\eta }{\sqrt{G_{t,\ ii}+\epsilon }}\cdot g_{t,\ i}\ $$

장점: sparse한 데이터 때문에 W요소를 충분히 업데이트하지 못했을 때, 그 W요소의 가중치를 높혀 훈련이 잘 되게 해준다.

단점: t가 점점 커질 때, learning rate가 소실 된다.

 

RMSprop

$$E\left[g^2\right]_t=rE\left[g^2\right]_{t-1}+\left(1-r\right)g_t^2\ →\ g^2의\ 평균$$

$$Adagrad의\ G_t\ 대신\ E\left[g^2\right]_t$$

$$W_{t+1}=W_t-\frac{\eta }{\sqrt{E\left[g^2\right]+\epsilon }}\cdot g_t$$

저자는 r=0.9, η=0.01을 적절한 값으로 제안했습니다.

장점: Adagrad의 학습률이 작아지는 문제 해결

 

 

Adam

$$\\ \\ E\left(X^n\right):\ 확률\ 변수\ X의\ n차\ 모멘텀$$

$$\\ m_t=\beta _1m_{t-1}+\left(1-\beta _1\right)g_t\ →\ g_t의\ 1차\ 모멘텀$$

$$v_t=\beta _2v_{t-1}+\left(1-\beta _2\right)g_t^2\ →\ g_t의\ 2차\ 모멘텀$$

저자는 β₁=0.9, β₂=0.999, ε=10^(-8)을 default로 설정했습니다.

 

m_t, v_t의 초기값이 0일 때, 가중치가 0으로 편향 되는데 이 편향을 막기 위해 아래와 같이 모멘텀들을 변경했습니다.

$$\hat{m_t}=\frac{m_t}{1-\beta ^t},\ \hat{v_t}=\frac{v_t}{1-\beta _2^t}$$

$$W_{t+1}=W_t-\frac{\eta }{\sqrt{\hat{v_t}+\epsilon }}\hat{m_t}$$

 

 

참고:

https://twinw.tistory.com/247

https://hiddenbeginner.github.io/deeplearning/2019/09/22/optimization_algorithms_in_deep_learning.html

'통계' 카테고리의 다른 글

LDA fisher analysis  (0) 2022.01.01
다중공선성 (multicollinearity)  (0) 2021.12.18