7.89 미니 배치 경사 하강법

1. 배치 크기의 스펙트럼

경사 하강법은 그래디언트 계산에 사용되는 데이터 샘플의 수에 따라 세 가지 범주로 분류된다.

  • 전체 배치(full-batch): N개의 전체 데이터를 사용. 정확한 그래디언트를 계산하지만 반복당 비용이 O(Nn)이다.
  • 확률적(stochastic): 단일 샘플(B = 1)을 사용. 반복당 비용이 O(n)이지만 분산이 크다.
  • 미니 배치(mini-batch): B개의 샘플 (1 < B < N)을 사용. 두 극단의 절충이다.

미니 배치 경사 하강법은 각 반복에서 전체 데이터의 부분 집합 \mathcal{B}_k \subset \{1, \ldots, N\}, \lvert \mathcal{B}_k \rvert = B를 무작위로 추출하여 그래디언트를 추정한다.

\mathbf{x}_{k+1} = \mathbf{x}_k - \alpha_k \mathbf{g}_k, \quad \mathbf{g}_k = \frac{1}{B}\sum_{i \in \mathcal{B}_k} \nabla f_i(\mathbf{x}_k)

2. 미니 배치 그래디언트의 통계적 성질

미니 배치 그래디언트 \mathbf{g}_k는 전체 그래디언트의 비편향 추정량이다.

\mathbb{E}[\mathbf{g}_k] = \nabla f(\mathbf{x}_k)

분산은 배치 크기에 반비례하여 감소한다.

\text{Var}[\mathbf{g}_k] = \frac{\sigma^2(\mathbf{x}_k)}{B}

여기서 \sigma^2(\mathbf{x}_k) = \frac{1}{N}\sum_{i=1}^{N}\lVert \nabla f_i(\mathbf{x}_k) - \nabla f(\mathbf{x}_k) \rVert^2는 개별 그래디언트의 분산이다. 배치 크기 B를 증가시키면 분산이 1/B로 감소하지만, 반복당 계산 비용은 B에 비례하여 증가한다.

3. 배치 크기의 선택

3.1 분산-비용 상충 관계

미니 배치 그래디언트의 신호 대 잡음비(signal-to-noise ratio)는 \sqrt{B}에 비례하므로, 분산을 절반으로 줄이려면 배치 크기를 4배로 증가시켜야 한다. 이는 수확 체감(diminishing returns) 현상을 나타내며, 지나치게 큰 배치 크기는 계산 효율 면에서 비효율적이다.

3.2 임계 배치 크기

그래디언트의 잡음 대 신호비가 1이 되는 배치 크기를 임계 배치 크기(critical batch size) B^*로 정의할 수 있다.

B^* \approx \frac{\sigma^2}{\lVert \nabla f(\mathbf{x}) \rVert^2}

B < B^*이면 잡음이 지배적이므로 배치 크기를 증가시키는 것이 효과적이고, B > B^*이면 추가 샘플의 이득이 미미하다. 학습 초기에는 그래디언트가 크므로 B^*가 작고, 최적점에 접근할수록 B^*가 증가한다.

3.3 병렬 계산과의 관계

현대 GPU 아키텍처에서 미니 배치 내의 그래디언트 계산은 병렬로 수행된다. 배치 크기가 GPU의 병렬 처리 용량 이하이면, 배치 크기의 증가가 벽시계 시간(wall-clock time)에 거의 영향을 미치지 않는다. 이 경우 하드웨어 활용률을 최대화하는 배치 크기가 최적이다. 통상적으로 B = 32, 64, 128, 256 등의 2의 거듭제곱이 메모리 정렬의 이유로 선호된다.

4. 에폭 기반 학습

전체 데이터셋을 한 번 순회하는 것을 하나의 에폭(epoch)이라 한다. 에폭당 갱신 횟수는 \lceil N/B \rceil이다. 매 에폭의 시작 시 데이터를 무작위로 셔플(shuffle)한 후 순차적으로 미니 배치를 추출하는 방식이 널리 사용되며, 이를 비복원 추출(sampling without replacement)이라 한다. 비복원 추출은 복원 추출에 비해 실용적으로 더 빠른 수렴을 보이며, 에폭 내에서 모든 데이터가 정확히 한 번 사용되므로 데이터 활용의 균형이 보장된다.

5. 수렴 해석

강볼록 함수에서 미니 배치 SGD의 수렴률은 다음과 같다.

고정 학습률 \alpha에서의 정상 상태 오차:

\mathbb{E}[f(\mathbf{x}_k)] - f(\mathbf{x}^*) \to O\left(\frac{\alpha \sigma^2}{B \mu}\right), \quad k \to \infty

감쇠 학습률 \alpha_k = O(1/k)에서의 수렴률:

\mathbb{E}[f(\mathbf{x}_k)] - f(\mathbf{x}^*) = O\left(\frac{\sigma^2}{B \mu k}\right)

배치 크기 B의 증가는 수렴률의 분자에 있는 \sigma^2/B를 감소시키며, 이는 더 큰 학습률의 사용을 가능하게 한다. 선형 스케일링 규칙(linear scaling rule)에 따르면, 배치 크기를 m배로 증가시킬 때 학습률도 m배로 증가시키면 유사한 수렴 궤적을 유지할 수 있다.

6. 대규모 배치 학습의 도전

배치 크기를 크게 증가시키면 다음의 문제가 발생할 수 있다.

일반화 성능 저하: 매우 큰 배치 크기는 손실 함수의 날카로운(sharp) 극소점으로 수렴하는 경향이 있으며, 이는 학습 데이터에 대해서는 좋은 성능을 보이지만 새로운 데이터에 대한 일반화 성능이 떨어질 수 있다. 작은 배치의 잡음이 일종의 정규화(regularization) 역할을 하여 평탄한(flat) 극소점으로 유도한다는 가설이 제기되어 있다.

통신 비용: 분산 학습 환경에서 대규모 배치의 그래디언트를 집계하기 위한 통신 비용이 병목이 될 수 있다.

학습률 조정의 어려움: 배치 크기가 클수록 최적 학습률의 범위가 좁아져 튜닝이 어려워진다. 워밍업 스케줄과 선형 스케일링 규칙의 결합이 이를 완화하는 데 효과적이다.

7. 로봇 공학에서의 고려 사항

로봇 학습에서 미니 배치의 크기는 학습 데이터의 성격에 따라 결정된다. 시뮬레이션 환경에서 대량의 궤적 데이터를 생성할 수 있는 경우에는 큰 배치가 효과적이지만, 실물 로봇 실험에서는 데이터 수집 비용이 높으므로 작은 배치가 불가피한 경우가 많다. 강화 학습의 정책 최적화에서는 하나의 에피소드(episode)가 하나의 샘플에 해당하며, 미니 배치는 복수의 에피소드로 구성된다.

8. 참고 문헌

  • Bottou, L., Curtis, F. E., & Nocedal, J. (2018). “Optimization Methods for Large-Scale Machine Learning.” SIAM Review, 60(2), 223–311.
  • Goyal, P., et al. (2017). “Accurate, Large Minibatch SGD: Training ImageNet in 1 Hour.” arXiv:1706.02677.
  • Keskar, N. S., Mudigere, D., Nocedal, J., Smelyanskiy, M., & Tang, P. T. P. (2017). “On Large-Batch Training for Deep Learning: Generalization Gap and Sharp Minima.” Proceedings of ICLR.
  • Goodfellow, I., Bengio, Y., & Courville, A. (2016). Deep Learning. MIT Press.
  • Smith, S. L., Kindermans, P.-J., Ying, C., & Le, Q. V. (2018). “Don’t Decay the Learning Rate, Increase the Batch Size.” Proceedings of ICLR.

version: 1.0