태그 보관물: Momentum

Momentum & Nesterov momentum

경사하강법gradient descent 최적화 알고리즘의 한 종류인 모멘텀momentum과 네스테로프 모멘텀nesterov momentum 방식은 여러 신경망 모델에서 널리 사용되고 있습니다. 비교적 이 두가지 알고리즘은 직관적이고 쉽게 이해할 수 있습니다. 이 글에서는 두 알고리즘이 실제 구현에서는 어떻게 적용되는지 살펴 보겠습니다.

모멘텀 알고리즘은 누적된 과거 그래디언트가 지향하고 있는 어떤 방향을 현재 그래디언트에 보정하려는 방식입니다. 일종의 관성 또는 가속도처럼 생각하면 편리합니다. 머신 러닝의 다른 알고리즘들이 그렇듯이 모멘텀 공식도 쓰는 이마다 표기법이 모두 다릅니다. 여기에서는 일리아 서스키버Ilya Sutskever의 페이퍼1에 있는 표기를 따르겠습니다. 모멘텀 알고리즘의 공식은 아래와 같습니다.

v_{t+1} = \mu v_t - \epsilon g(\theta_t) \\ \theta_{t+1} = \theta_t + v_{t+1}

\epsilon 은 학습속도이고 \mu 는 모멘트 효과에 대한 가중치입니다. v_{t} 는 0 으로 초기화되어 있고 반복이 될 때마다 현재의 그래디언트 - \epsilon g(\theta_t) 가 다음번 모멘트 v_{t+1} 에 누적됩니다. 그리고 다음번 반복에서 v_{t+1} 가 현재의 모멘트 v_{t} 로 사용됩니다. 경사하강법에서 모멘트 항이 추가된 것입니다.

스크린샷 2017-03-21 오후 2.53.35

계속 읽기