A.I/Study

Gradient Descent Optimization for Neural Network

궁선이 2019. 1. 30. 15:40

Gradient Descent Optimization for Neural Network

Gradient Descent Optimization Algorithms at Long Valley
  • Gradient Descent Optimization 이란 신경망 학습에서 손실함수의 값을 가능한 한 낮추는 매개변수의 최적값을 찾는 문제를 푸는 것을 지칭한다.
  • Stochastic Gradient Descent(SGD)
  • Momentum
  • AdaGrad
  • RMSprop
  • Adam
  • etc

1. Stochastic Gradient Descent(SGD)

-

특징

  • Mini-batch 데이터를 사용한다.
  • 기울어진 방향으로 탐색한다.
  • 구현이 쉽다.

단점

  • 지그재그로 이동하여 비효율 적이다.
  • 비등방성 함수 탐색경로가 비효율적이다.

2. Momentum

특징

  • △w는 속도의 역할을 한다.
  • △w는 초기에 0으로 설정한다.
  • ⍶△w 는 물체가 아무런 힘을 받지 않을 때 서서히 하강시키는 역할을 한다.
  • ⍶는 저항의 역할로 0.4, 0.9 등의 값으로 설정한다.
  • SGD와 비교하여 지그재그의 정도가 덜하다.
  • 학습이 반복될수록 한 방향으로 가속도가 붙는다.

- local minima를 빠져나오는 효과를 기대할 수 있다.

단점

  • 기존의 변수들 외에도 과거에 이동했던 양을 변수별로 저장해야하므로 변수에 대한 메모리가 기존의 두 배로 필요하게 된다

3. AdaGrad

-

특징

  • 학습을 진행하면서 학습률을 점차 줄여가는 학습률 감소(Learning rate decay)기법을 사용한다.
  • 처음에는 크게 학습하다가 조금씩 작게 학습한다.
  • 매개변수에 적응적으로(adaptive) 학습률을 조정하며 학습한다.

단점

  • 과거의 기울기를 제곱하여 계속 더해가는 특성으로 인하여, 학습이 반복되면 학습률이 0에 가까워져서 학습이 진행되지 않는다.

4. RMSProp

특징

  • AdaGrad의 단점을 개선한 알고리즘
  • 과거의 기울기는 반영률을 줄이고 새로운 기울기를 크게 반영한다.
  • 지수이동평균(Exponential Moving EMA)

5. Adam

특징

  • Momentum + RMSProp = Adam
  • Momentum 방식과 유사하게 지금까지 계산해온 기울기의 지수평균을 저장한다.
  • RMSProp과 유사하게 기울기의 제곱값의 지수평균을 저장한다.
  • m과 v가 처음에 0으로 초기화되어 있기 때문에 학습의 초반부에서는 m,v가 0에 가깝게 bias 되어있을 것이라고 판단하여 이를 unbiased 하게 만들어주는 작업을 거친다.
  • 하이퍼 파라미터의 편향이 보정된다.
  • 보통 β1 로는 0.9, β2로는 0.999, ϵ 으로는 10−8 정도의 값을 사용한다.

6. etc

  • Nesterov Accelerated Gradient (NAG)
  • AdaDelta
  • Natural Gradient Descent and kSGD