딥러닝 모델 학습에서 중요한 것은 손실 함수(loss function)를 최소화하는 최적의 파라미터를 찾는 과정이다. 이를 위해 다양한 **최적화 알고리즘(Optimization Algorithm)**이 사용된다.
1. 경사 하강법 (Gradient Descent, GD)
θ=θ−η∇θJ(θ)
- 전체 데이터셋을 사용하여 한 번의 업데이트를 수행한다.
- 항상 손실 함수의 기울기(gradient) 방향을 따라 이동한다.
- 수렴은 안정적이나, 데이터가 클 경우 계산량이 매우 크다.
특징
- 계산 비용이 큼
- 매 반복마다 모든 데이터를 사용
2. 확률적 경사 하강법 (Stochastic Gradient Descent, SGD)
θ=θ−η∇θJ(θ;x(i),y(i))
- 매번 하나의 데이터 샘플만 사용하여 업데이트한다.
- 계산은 빠르지만 손실 함수의 진동(variance)이 크다.
- 지역 최소값(local minimum)을 탈출할 가능성이 있다.
특징
3. 미니배치 경사 하강법 (Mini-batch GD)
θ=θ−η∇θJ(θ;B)
- 데이터셋을 작은 배치(batch) 단위로 나누어 업데이트한다.
- GD의 안정성과 SGD의 효율성을 절충한 방식이다.
- 실제 딥러닝 학습에서 가장 널리 사용되는 방법이다.
특징
- GPU 연산 최적화에 적합
- 안정성과 효율성 균형
4. 모멘텀 (Momentum)
vt=βvt−1+(1−β)∇θJ(θ)θ=θ−ηvt
- 과거의 기울기를 일정 비율(β)로 누적하여 관성 효과를 부여한다.
- 경사가 완만한 방향에서는 속도를 높이고, 불필요한 진동은 줄인다.
- 공 모양이 경사를 따라 굴러가는 것과 유사하다.
특징
5. RMSprop (Root Mean Square Propagation)
E[g2]t=βE[g2]t−1+(1−β)gt2θ=θ−E[g2]t+ϵηgt
- 기울기의 제곱 평균을 추적하여, 각 파라미터마다 학습률을 조정한다.
- 기울기가 큰 방향은 학습률을 줄이고, 작은 방향은 학습률을 키운다.
- 비정상적(non-stationary) 문제에서도 잘 작동한다.
특징
- 학습률 자동 조정
- RNN 학습에서 특히 효과적
6. Adam (Adaptive Moment Estimation)
mt=β1mt−1+(1−β1)gtvt=β2vt−1+(1−β2)gt2m^t=1−β1tmt,v^t=1−β2tvtθ=θ−ηv^t+ϵm^t
- Momentum과 RMSprop을 결합한 알고리즘이다.
- 1차 모멘트(평균)와 2차 모멘트(분산)을 동시에 고려한다.
- 현재 딥러닝에서 가장 널리 사용되는 최적화 알고리즘이다.
특징
- 적응적 학습률 제공
- 빠른 수렴
- 대부분의 문제에서 안정적인 성능
✅ 요약 비교
| 알고리즘 | 특징 | 장점 | 단점 | 활용 |
|---|
| GD | 전체 데이터 사용 | 안정적 수렴 | 계산량 큼 | 소규모 데이터 |
| SGD | 샘플 단위 업데이트 | 빠름, 일반화 성능 | 진동 심함 | 온라인 학습 |
| Mini-batch GD | 배치 단위 | 효율성과 안정성 균형 | 배치 크기 튜닝 필요 | 딥러닝 전반 |
| Momentum | 관성 효과 | 진동 감소, 빠른 수렴 | 하이퍼파라미터 필요 | 딥러닝 최적화 |
| RMSprop | 기울기 크기 조정 | 적응적 학습률 | 최적값 보장은 아님 | RNN, 시계열 |
| Adam | Momentum + RMSprop | 빠르고 안정적 | 메모리 사용 많음 | 대부분 딥러닝 |
📌 정리
- GD는 안정적이나 비효율적이다.
- SGD는 빠르지만 불안정하다.
- Mini-batch GD는 가장 많이 쓰이는 절충안이다.
- Momentum은 진동을 줄이고 수렴을 빠르게 한다.
- RMSprop은 학습률을 자동 조정한다.
- Adam은 현재 가장 널리 쓰이며, 다양한 문제에서 좋은 성능을 보인다.