딥러닝 최적화 알고리즘 정리

김민준·2025년 9월 16일

딥러닝 모델 학습에서 중요한 것은 손실 함수(loss function)를 최소화하는 최적의 파라미터를 찾는 과정이다. 이를 위해 다양한 **최적화 알고리즘(Optimization Algorithm)**이 사용된다.


1. 경사 하강법 (Gradient Descent, GD)

θ=θηθJ(θ)\theta = \theta - \eta \nabla_\theta J(\theta)
  • 전체 데이터셋을 사용하여 한 번의 업데이트를 수행한다.
  • 항상 손실 함수의 기울기(gradient) 방향을 따라 이동한다.
  • 수렴은 안정적이나, 데이터가 클 경우 계산량이 매우 크다.

특징

  • 계산 비용이 큼
  • 매 반복마다 모든 데이터를 사용

2. 확률적 경사 하강법 (Stochastic Gradient Descent, SGD)

θ=θηθJ(θ;x(i),y(i))\theta = \theta - \eta \nabla_\theta J(\theta; x^{(i)}, y^{(i)})
  • 매번 하나의 데이터 샘플만 사용하여 업데이트한다.
  • 계산은 빠르지만 손실 함수의 진동(variance)이 크다.
  • 지역 최소값(local minimum)을 탈출할 가능성이 있다.

특징

  • 빠르지만 불안정
  • 일반화 성능이 좋을 수 있음

3. 미니배치 경사 하강법 (Mini-batch GD)

θ=θηθJ(θ;B)\theta = \theta - \eta \nabla_\theta J(\theta; B)
  • 데이터셋을 작은 배치(batch) 단위로 나누어 업데이트한다.
  • GD의 안정성과 SGD의 효율성을 절충한 방식이다.
  • 실제 딥러닝 학습에서 가장 널리 사용되는 방법이다.

특징

  • GPU 연산 최적화에 적합
  • 안정성과 효율성 균형

4. 모멘텀 (Momentum)

vt=βvt1+(1β)θJ(θ)θ=θηvtv_t = \beta v_{t-1} + (1-\beta)\nabla_\theta J(\theta) \theta = \theta - \eta v_t
  • 과거의 기울기를 일정 비율(β\beta)로 누적하여 관성 효과를 부여한다.
  • 경사가 완만한 방향에서는 속도를 높이고, 불필요한 진동은 줄인다.
  • 공 모양이 경사를 따라 굴러가는 것과 유사하다.

특징

  • 수렴 속도 개선
  • 진동 감소

5. RMSprop (Root Mean Square Propagation)

E[g2]t=βE[g2]t1+(1β)gt2θ=θηE[g2]t+ϵgtE[g^2]_t = \beta E[g^2]_{t-1} + (1-\beta) g_t^2 \theta = \theta - \frac{\eta}{\sqrt{E[g^2]_t + \epsilon}} g_t
  • 기울기의 제곱 평균을 추적하여, 각 파라미터마다 학습률을 조정한다.
  • 기울기가 큰 방향은 학습률을 줄이고, 작은 방향은 학습률을 키운다.
  • 비정상적(non-stationary) 문제에서도 잘 작동한다.

특징

  • 학습률 자동 조정
  • RNN 학습에서 특히 효과적

6. Adam (Adaptive Moment Estimation)

mt=β1mt1+(1β1)gtvt=β2vt1+(1β2)gt2m^t=mt1β1t,v^t=vt1β2tθ=θηm^tv^t+ϵm_t = \beta_1 m_{t-1} + (1-\beta_1) g_t v_t = \beta_2 v_{t-1} + (1-\beta_2) g_t^2 \hat{m}_t = \frac{m_t}{1-\beta_1^t}, \quad \hat{v}_t = \frac{v_t}{1-\beta_2^t} \theta = \theta - \eta \frac{\hat{m}_t}{\sqrt{\hat{v}_t} + \epsilon}
  • Momentum과 RMSprop을 결합한 알고리즘이다.
  • 1차 모멘트(평균)와 2차 모멘트(분산)을 동시에 고려한다.
  • 현재 딥러닝에서 가장 널리 사용되는 최적화 알고리즘이다.

특징

  • 적응적 학습률 제공
  • 빠른 수렴
  • 대부분의 문제에서 안정적인 성능

✅ 요약 비교

알고리즘특징장점단점활용
GD전체 데이터 사용안정적 수렴계산량 큼소규모 데이터
SGD샘플 단위 업데이트빠름, 일반화 성능진동 심함온라인 학습
Mini-batch GD배치 단위효율성과 안정성 균형배치 크기 튜닝 필요딥러닝 전반
Momentum관성 효과진동 감소, 빠른 수렴하이퍼파라미터 필요딥러닝 최적화
RMSprop기울기 크기 조정적응적 학습률최적값 보장은 아님RNN, 시계열
AdamMomentum + RMSprop빠르고 안정적메모리 사용 많음대부분 딥러닝

📌 정리

  • GD는 안정적이나 비효율적이다.
  • SGD는 빠르지만 불안정하다.
  • Mini-batch GD는 가장 많이 쓰이는 절충안이다.
  • Momentum은 진동을 줄이고 수렴을 빠르게 한다.
  • RMSprop은 학습률을 자동 조정한다.
  • Adam은 현재 가장 널리 쓰이며, 다양한 문제에서 좋은 성능을 보인다.

profile
지금까지 해온 여러 활동들을 간략하게라도 정리해보고자 합니다.

0개의 댓글