Gradient Descent Momentum
Momentum방법은 현재 파라미터를 업데이트 해줄 때 이전 gradient들도 계산에 포함해주어 진행한다. 따라서 지금 gradient가 0이라고 할지라도 이전 gradient값이 있어 앞으로 나아갈 수 있다. 이는 마치 관성에 의해 계속 움직이려고 하는 효과를 가져다 준다. 하지만 이전에 있던 모든 gradient를 고려한다면, SGD는 멈추지 않을 것이다. 그래서 Momentum은 이전 gradient들의 영향력을 매 업데이트마다 감소해준다.
Nesterov Accelerated Gradient, NAG
momentum은 현재 update과정에서의 기울기 값을 기반으로 미래값을 도출하도록 되어있다. 따라서, 최적의 parameter를 관성에 의해 지나칠 수 있는 우려가 있다. NAG에서는 momentum으로 이동된 지점에서의 기울기를 활용하여 update를 수행하기 때문에 이러한 문제를 해소할 수 있다.
위 NAG의 update식에서도
Adaptive Gradient, Adagrad
모든 파라미터에 대해서 같은 learning rate를 적용하여 업데이트를 했었는데 각 파라미터의 업데이트 빈도 수에 따라 업데이트 크기를 다르게 해주면 영향력에 따라 learning rate가 변하여 업데이트하는 효과가 발생한다.
Adagrad는 다음과 같은 업데이트식을 사용한다.
여기서
RMSProp
Adagrad에서 문제를 개선하기 위해
식에서와 같이 학습이 진행됨에 따라 parameter 사이 차별화는 유지하되 학습속도가 지속적으로 줄어들어 0에 수렴하는 것은 방지할 수 있다.
Adaptive Moment Estimation, Adam
RMSProp와 Momentum 기법을 합친 방법으로 기울기 값과 기울기의 제곱값의 지수이동평균을 활용하여 step변화량(학습률)을 조절한다. 1차 moment
편향(bias)를 잡아주기 위해 다음과 같이 bias-corrected를 계산한다.
최종 업데이트 식은 다음과 같다.
'지식공학 > 기계학습' 카테고리의 다른 글
The Gaussian Distribution (0) | 2021.07.20 |
---|---|
Binary Variables (0) | 2021.07.20 |
[딥러닝] 활성함수 (0) | 2021.06.02 |
Generative Adversarial Network (GAN) (0) | 2021.05.27 |
딥러닝 기초 (0) | 2021.05.04 |
댓글