13.5 확률적 경사 하강법(Stochastic Gradient Descent)
확률적 경사 하강법(Stochastic Gradient Descent, SGD)은 학습 데이터의 일부 표본만을 사용하여 손실 함수의 기울기를 추정하고 매개 변수를 갱신하는 학습 절차이다. SGD는 대규모 학습 데이터에서 학습 비용을 학술적으로 절감하기 위하여 도입되었으며, 신경망 학습의 표준 절차로 채택되어 왔다. 이 절에서는 SGD의 학술적 정의, 동기, 수렴 특성, 잡음의 효과, 학술적 의의를 학습 순서에 따라 기술한다.
1. 학술적 동기
학습 데이터의 수가 매우 큰 경우 전체 학습 데이터에 대한 손실 함수의 기울기를 계산하는 비용이 매우 크다. 한 번의 매개 변수 갱신에 모든 학습 데이터를 사용하는 배치 경사 하강법(batch gradient descent)은 다음의 학술적·실용적 한계를 가진다.
- 갱신마다 매우 큰 계산 비용
- 학습 데이터 전체를 메모리에 적재하는 부담
- 학습의 진행이 느림(에포크 단위)
- 비볼록 손실 표면에서 지역 최소값에 머무를 가능성
확률적 경사 하강법은 이러한 한계를 학술적으로 완화하기 위하여, 한 번의 갱신에 단일 표본 또는 일부 표본만을 사용한다.
2. 학술적 정의
학습 데이터 \{(\mathbf{x}^{(k)}, \mathbf{y}^{(k)})\}_{k=1}^{N}에 대한 손실 함수가 다음과 같이 정의된다고 하자.
\mathcal{L}(\theta) = \frac{1}{N} \sum_{k=1}^{N} \ell_k(\theta)
여기서 \ell_k(\theta) = \ell(f_\theta(\mathbf{x}^{(k)}), \mathbf{y}^{(k)})는 k번째 표본에 대한 손실이다. 확률적 경사 하강법은 다음과 같은 갱신 규칙을 따른다.
\theta^{(t+1)} = \theta^{(t)} - \eta_t \nabla_\theta \ell_{k_t}(\theta^{(t)})
여기서 k_t는 t번째 갱신에서 무작위로 선택된 표본의 인덱스이며, \eta_t는 학습률이다. 단일 표본의 기울기 \nabla_\theta \ell_{k_t}(\theta)는 전체 손실 함수의 기울기 \nabla_\theta \mathcal{L}(\theta)의 비편향 추정량이다.
\mathbb{E}[\nabla_\theta \ell_k(\theta)] = \nabla_\theta \mathcal{L}(\theta)
13.5.3 학술적 역사
확률적 경사 하강법은 1951년 Robbins와 Monro의 A Stochastic Approximation Method에서 학술적으로 정형화되었다. 이 학술 문헌은 무작위 잡음을 가진 함수의 영점을 반복적으로 추정하는 절차를 분석하였다. 이후 신경망 학습에서의 적용은 1986년 Rumelhart, Hinton, Williams의 학술 문헌에서 본격화되었다.
13.5.4 수렴 특성
확률적 경사 하강법의 수렴 특성에 관한 학술적 결과는 다음과 같다.
- 학습률이 다음의 Robbins-Monro 조건을 만족하면 SGD는 거의 확실하게 정류점에 수렴한다.
\sum_{t=1}^{\infty} \eta_t = \infty, \quad \sum_{t=1}^{\infty} \eta_t^{2} < \infty
- 일정 학습률의 경우 SGD는 정류점 주변에서 진동한다.
- 강 볼록 손실 함수의 경우 SGD는 적절한 학습률 일정 하에서 거듭제곱 수렴을 보인다.
- 비볼록 손실 함수의 경우 일반적으로 정류점으로의 수렴은 보장되지만, 전역 최소값으로의 수렴은 보장되지 않는다.
3. 잡음의 효과
SGD의 갱신은 단일 표본의 기울기에 기반하므로 통계적 잡음을 포함한다. 이 잡음은 다음과 같은 학술적 효과를 가진다.
3.1 부정적 효과
- 갱신의 분산이 크므로 수렴이 진동적이다.
- 정류점 주변에서 정확한 수렴이 어렵다.
- 학습률을 적절히 작게 설정해야 안정적 학습이 가능하다.
3.2 긍정적 효과
- 잡음이 지역 최소값과 안장점에서 벗어나는 데에 도움을 준다.
- 정칙화 효과를 가진다(잡음이 매개 변수의 평탄한 영역으로의 이동을 촉진).
- 학습 데이터의 무작위성에 의한 일반화 성능의 향상이 학술적으로 보고되어 있다.
이러한 양면성은 학술 문헌에서 SGD의 잡음이 일반화 성능에 학술적으로 긍정적 영향을 미칠 수 있음을 시사한다.
4. 미니배치와의 관계
순수 SGD는 한 번의 갱신에 단일 표본만을 사용한다. 그러나 단일 표본의 사용은 GPU와 같은 병렬 연산 장치의 자원 활용이 비효율적이며, 갱신의 분산이 크다. 이러한 한계를 학술적으로 완화하기 위하여 미니배치 SGD가 사용된다. 미니배치 SGD는 한 번의 갱신에 N_{\text{batch}}개의 표본을 사용하며, 단일 표본의 SGD와 배치 경사 하강법 사이의 학술적 균형을 제공한다.
5. 학술적 의의
확률적 경사 하강법은 다음의 학술적 의의를 가진다.
- 대규모 학습 데이터에서의 학습 가능성 보장
- 한정된 메모리에서의 학습 가능
- 잡음에 의한 정칙화 효과
- 다양한 학술적 변형(모멘텀, AdaGrad, RMSProp, Adam 등)의 출발점
- 통계적 최적화의 학술적 틀과의 연결
6. 출처 및 버전 정보
- Robbins, H., Monro, S., A Stochastic Approximation Method, The Annals of Mathematical Statistics, 1951
- Rumelhart, D. E., Hinton, G. E., Williams, R. J., Learning representations by back-propagating errors, Nature, 1986
- Bottou, L., Large-Scale Machine Learning with Stochastic Gradient Descent, COMPSTAT, 2010
- Bottou, L., Curtis, F. E., Nocedal, J., Optimization Methods for Large-Scale Machine Learning, SIAM Review, 2018
- Goodfellow, I., Bengio, Y., Courville, A., Deep Learning, MIT Press, 2016
- Keskar, N. S., Mudigere, D., Nocedal, J., Smelyanskiy, M., Tang, P. T. P., On Large-Batch Training for Deep Learning: Generalization Gap and Sharp Minima, International Conference on Learning Representations, 2017