13.6 미니배치 경사 하강법(Mini-Batch Gradient Descent)

13.6 미니배치 경사 하강법(Mini-Batch Gradient Descent)

미니배치 경사 하강법(Mini-Batch Gradient Descent)은 전체 학습 데이터의 일부 표본 집합인 미니배치(mini-batch)를 사용하여 손실 함수의 기울기를 추정하고 매개 변수를 갱신하는 학습 절차이다. 미니배치 경사 하강법은 배치 경사 하강법과 단일 표본 확률적 경사 하강법 사이의 학술적 균형을 제공하며, 신경망 학습의 사실상 표준으로 채택되어 왔다. 이 절에서는 미니배치 경사 하강법의 정의, 학술적 동기, 미니배치 크기의 효과, 일반화에 미치는 영향, 학술적 의의를 학습 순서에 따라 기술한다.

1. 학술적 정의

학습 데이터 \{(\mathbf{x}^{(k)}, \mathbf{y}^{(k)})\}_{k=1}^{N}가 주어지고, 미니배치 크기가 N_{\text{batch}}일 때, 각 갱신 단계에서 무작위로 추출된 미니배치 \mathcal{B}_t \subset \{1, 2, \dots, N\}에 대하여 매개 변수는 다음과 같이 갱신된다.

\theta^{(t+1)} = \theta^{(t)} - \eta_t \cdot \frac{1}{|\mathcal{B}_t|} \sum_{k \in \mathcal{B}_t} \nabla_\theta \ell_k(\theta^{(t)})

미니배치의 크기는 학술적·실용적 균형에 의하여 결정되며, 일반적으로 32에서 수천 사이의 값이 사용된다.

13.6.2 학술적 동기

미니배치 경사 하강법은 다음의 학술적 동기에 기반한다.

  • 갱신의 분산 감소: 미니배치의 크기가 클수록 기울기 추정의 분산이 작아진다.
  • 병렬 연산의 효율성: GPU와 같은 병렬 연산 장치는 행렬 연산에 최적화되어 있으므로, 미니배치의 행렬 연산이 효율적이다.
  • 메모리 효율성: 전체 학습 데이터를 메모리에 적재하지 않아도 학습이 가능하다.
  • 학습의 진행 속도: 단일 표본 SGD보다 갱신당 정보 활용도가 높다.

13.6.3 미니배치 크기의 효과

미니배치 크기 N_{\text{batch}}의 학술적 효과는 다음과 같다.

13.6.3.1 작은 미니배치 크기

작은 미니배치 크기(예: 32, 64)는 다음의 학술적 특성을 가진다.

  • 갱신의 분산이 큼: 학습 신호에 잡음이 많다.
  • 정칙화 효과: 잡음이 평탄한 영역으로의 이동을 촉진한다.
  • 일반화 성능의 향상: Keskar 외의 On Large-Batch Training for Deep Learning: Generalization Gap and Sharp Minima (2017)는 작은 미니배치가 평탄한 지역 최소값으로의 수렴을 통하여 일반화 성능을 향상시킬 수 있음을 학술적으로 분석하였다.
  • GPU 자원 활용도가 낮음

13.6.3.2 큰 미니배치 크기

큰 미니배치 크기(예: 수천에서 수만)는 다음의 학술적 특성을 가진다.

  • 갱신의 분산이 작음
  • 학습의 안정성이 향상됨
  • 한 번의 갱신에 더 많은 정보를 활용
  • GPU 자원 활용도가 높음
  • 일반화 성능이 저하될 수 있음(Sharp minima 가설)
  • 학습률을 적절히 조정해야 함

대규모 학습에서는 큰 미니배치를 사용하면서도 일반화 성능을 유지하기 위한 학습률 스케줄링과 워밍업 등이 학술적으로 제안되어 왔다.

13.6.4 학술적 균형

미니배치 크기는 다음의 학술적·실용적 요인의 균형에 의하여 결정된다.

  • 계산 효율성과 일반화 성능의 균형
  • GPU 메모리의 한계
  • 학습 데이터의 크기
  • 학습률과의 상호작용
  • 모형의 종류와 과제의 특성

학술적으로는 작은 모형과 적은 데이터에서는 작은 미니배치, 큰 모형과 많은 데이터에서는 큰 미니배치가 일반적으로 권고되어 왔다.

13.6.5 학습률과의 결합

미니배치 크기는 학습률과 직접적으로 관련된다. 갱신의 크기는 학습률과 기울기의 추정량의 곱으로 결정되므로, 미니배치 크기를 증가시키면 학습률을 그에 비례하여 조정하는 것이 학술적으로 권고된다. Goyal 외의 Accurate, Large Minibatch SGD: Training ImageNet in 1 Hour (2017)는 큰 미니배치 학습에서 학습률을 미니배치 크기에 비례하여 증가시키는 linear scaling rule을 학술적으로 제안하였다.

13.6.6 학습 데이터의 무작위화

미니배치는 일반적으로 학습 데이터에서 무작위로 추출된다. 학술적·실용적으로는 다음의 절차가 사용된다.

  • 에포크 시작 시 학습 데이터를 무작위로 섞는다(shuffling).
  • 섞인 데이터를 순차적으로 미니배치로 분할한다.
  • 한 에포크 내에서는 각 표본이 한 번씩만 사용된다.
  • 다음 에포크에서는 다시 섞고 분할한다.

이러한 절차는 학습 데이터의 순서에 의한 편향을 회피하고, SGD의 무작위성을 보장한다.

13.6.7 학술적 의의

미니배치 경사 하강법은 다음의 학술적 의의를 가진다.

  • 배치와 단일 표본 SGD의 학술적 균형
  • GPU 기반 병렬 학습의 표준 절차
  • 일반화 성능과 계산 효율의 동시 달성
  • 다양한 최적화기(Adam 등)의 적용 기반
  • 대규모 학습의 실용화 기반

13.6.8 출처 및 버전 정보

  • Bottou, L., Large-Scale Machine Learning with Stochastic Gradient Descent, COMPSTAT, 2010
  • Goyal, P., 외, Accurate, Large Minibatch SGD: Training ImageNet in 1 Hour, arXiv:1706.02677, 2017
  • 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
  • Smith, S. L., Kindermans, P.-J., Ying, C., Le, Q. V., Don’t Decay the Learning Rate, Increase the Batch Size, International Conference on Learning Representations, 2018
  • Goodfellow, I., Bengio, Y., Courville, A., Deep Learning, MIT Press, 2016
  • Bottou, L., Curtis, F. E., Nocedal, J., Optimization Methods for Large-Scale Machine Learning, SIAM Review, 2018