AI/Deep Learning

[Deep Learning] 최적화 기법

sangwonYoon 2023. 3. 21. 15:15

Gradient Descent

1차 미분 계수를 활용해 파라미터를 최적화한다.

문제점

  • 적절한 Learning rate를 설정하는 것이 어렵다.
  • global minimum이 아닌, local minimum로 수렴할 수 있다.

 

Momentum

이전 gradient에 대한 정보를 활용하여 파라미터 값을 업데이트한다.

문제점

  • momentum으로 인해 loss function의 minimum 값에 수렴하지 못하고, 발산하는 문제가 발생한다.

 

Nesterov Accelerated Gradient

 

  • momentum과 비슷한 방식이지만, gradient 대신 Lookahead gradient를 활용한다.
  • Lookahead gradient는 현재 시점의 gradient가 아닌, 다음 예상 위치의 gradient이다.
  • Lookahead gradient를 사용해서 minimum에 빠르게 수렴할 수 있다.

 

Adagrad

G_t: t번째 time step까지 gradient의 제곱의 누적합
for numerical stability: 분모가 0이 되는 것을 방지하기 위한 아주 작은 값

파라미터마다 서로 다른 Learning rate를 적용하는 방식으로, 지금까지 값이 많이 변화한 파라미터는 학습률을 작게 적용하고, 값이 적게 변화한 파라미터는 학습률을 크게 적용한다.

문제점

  • 학습이 진행될수록, Learning rate이 0으로 수렴하여, 학습의 진행 속도가 현저히 느려진다.

 

Adadelta

G_t를 단순히 gradient의 제곱의 누적합으로 계산하던 Adagrad와 달리, 지수 이동 평균(EMA)로 계산함으로써, G_t가 무한히 커지는 것을 제한했다.

문제점

  • Adadelta에는 Learning rate가 존재하지 않기 때문에 학습에 관여하기 어렵다.

 

RMSprop

Adadelta와 G_t를 gradient의 제곱의 누적합이 아닌, 지수 이동 평균으로 계산한다는 공통점이 있지만, 하이퍼 파라미터인 step size를 두어 학습률을 조절하면서 효율적인 학습을 진행할 수 있다.

Adam

  • 가장 일반적으로 사용하는 최적화 기법이다.
  • adaptive Learning rate과 momentum을 효율적으로 결합한 방식이다.