최적화 알고리즘

  • 딥러닝 모델 학습 시, 역전파를 통해 가중치(Weight)를 업데이트하는 방법.
  • 기본적으로 기울기(Gradient)를 이용하여 손실 함수 값을 최소화하는 가중치를 찾아간다.
  • 가장 기본 개념이 되는 경사하강법(Gradient Descent)을 응용한 다양한 최적화 알고리즘들이 존재함.


0. Gradient Descent

  • 최적화 알고리즘의 기본이 되는 경사하강법(Gradient Descent)의 가중치 업데이트 수식은 다음과 같다.
  • : 시점의 가중치
  • : 손실 함수
  • : 학습률 (learning rate)

1. Momentum

개념

  • 물리학에서 모멘텀(Momentum)은 외부에서 힘을 받지 않는 한 정지해 있거나 운동 상태를 지속하려는 성질을 말하며, 이러한 성질을 이용하여 경사 하강법으로 이동할 때 이전 기울기의 크기를 고려한 관성을 부여하는 최적화 방법이다. (이전 업데이트 방향을 기억하고 관성을 이용해 가속함)
  • 이전의 기울기 정보를 지수가중이동평균으로 누적하여 기울기를 갱신한다.
  • 모멘텀의 성질을 이용하면, Local Minimum에 빠지는 상황을 줄일 수 있고, 더욱 빠르게 수렴이 가능하다.

수식

  • : 현재 속도 (파라미터의 이동 방향과 크기)
  • : 모멘텀 계수 (Momentum term 0.9)
  • : 손실 함수
  • : 시점에서의 기울기
  • : 학습률 (learning rate)

해석

  • 모멘텀 계수 가 0.9라면, 최근 기울기에 가중치 1, 그보다 이전 기울기에는 0.9, 0.81, …처럼 가중치를 두고 지수적으로 감쇠되며 반영됨. (2-1. 지수 이동 평균 (Exponential Moving Average))
  • 최근 기울기에 더 큰 비중을 두면서도 과거의 흐름을 유지하는 효과가 있음.

2. Adagrad

개념

  • Adagrad(Adaptive Gradient) 알고리즘은 학습률(learning rate)을 각 파라미터마다 자동(adaptive)으로 조정하며 최적화 한다.
  • 자주 업데이트되는 파라미터는 학습률을 점점 줄이고, 드물게 업데이트되는 파라미터는 학습률을 크게 유지함.

수식

  • : 각 가중치별로 누적된 기울기의 제곱합 (행렬/벡터)
  • : 시점에서의 기울기
  • : 분모가 0이 되는 것을 방지 (예: )
  • : 초기 학습률 (learning rate)

해석

  • 각 가중치별 기울기의 제곱 누적합을 이용해 기존 학습률을 조정함.

  • 기존 학습률에 나누어 주므로, 기울기가 큰 가중치일수록 업데이트를 작게하여 기울기 크기가 큰 가중치의 변동을 억제하고 작은 피처에 더 많은 학습 기회 제공함.

  • Adagrad는 간단한 2차방정식 문제에 대해서는 잘 작동하지만 신경망을 훈련할 때 학습률이 너무 감소되어 너무 일찍 멈출 수 있음. 따라서, 심층 신경망에는 가급적 사용하지 않고 선형 회귀 같은 간단한 작업에는 효과적일 수 있음.

  • SGD, Momentum:
    “어제()의 기울기 정보로 오늘 업데이트하자.”

  • Adagrad:
    “지금() 기울기가 얼마나 신뢰할 만한지 즉시 판단하고, 그에 따라 지금 바로 업데이트하자.”


3. RMSProp

개념

  • Adagrad는 너무 빨리 느려져서 전역 최적점에 수렴하지 못하는 위험이 있으며, 이를 해결하기 위해 등장한 RMSprop(Root Mean Square Propagation) 알고리즘은 가장 최근의 기울기 정보만 사용하여 기울기의 제곱의 지수 가중 이동 평균을 계산하여 최근 그래디언트들에 더 집중함.

수식

  • : 시점에서의 기울기
  • : 현재까지의 기울기 제곱의 지수이동평균
  • : 지수이동평균 파라미터(기억력 조절)

해석

  • Adagrad 방법 처럼 각 가중치별 학습률을 조절하며, 지수이동평균을 이용해 최근 기울기에 더 집중하여 학습률이 너무 작아지는 문제를 방지함.
  • 하지만 여전히 , 등의 하이퍼파라미터에 따른 민감도가 존재하고, 모멘텀을 고려하지 않는다.

4. Adam

개념

  • Adam(Adaptive Moment Estimation) 알고리즘은 현재 딥러닝에서 가장 널리 사용되는 방법 중 하나로, RMSProp과 Momentum의 장점을 동시에 결합한 최적화 알고리즘 이다.
  • Momentum 처럼 과거 기울기의 방향성(1차 moment)을 반영하고, RMSProp 처럼 기울기의 크기 스케일(2차 moment)도 조절한다.
  • 학습률을 파라미터별로 자동 조절하면서도, 진동 없이 안정적인 수렴을 유도함.

수식


참고