확률적 경사하강법

편집 역사 토론
최적설계 수치해석 통계 마지막 수정: 2026-07-26 04:33:58

1. 개요[편집]

확률적 경사하강법(Stochastic Gradient Descent, SGD)은 목적함수의 정확한 기울기 대신, 데이터의 일부만 써서 만든 잡음 섞인 기울기 추정량으로 내려가는 최적화 방법이다. 뿌리는 1951년 로빈스(Herbert Robbins)와 먼로(Sutton Monro)의 확률적 근사(stochastic approximation) 논문이고1, 오늘날 기계학습 모델 학습의 사실상 전부가 이 방법 아니면 그 변종으로 돌아간다.

핵심 동기는 계산비용이다. 목적함수가 표본 nn개의 평균 꼴

F(w)=1ni=1nfi(w)F(w) = \frac{1}{n}\sum_{i=1}^{n} f_i(w)

일 때, 전배치(full-batch) 경사하강법은 스텝 한 번에 nn개 항의 기울기를 전부 계산해야 한다. nn10810^8이면 파라미터를 한 번 갱신하는 데 전체 데이터를 훑는 셈이다. SGD는 이 관찰에서 출발한다 — 어차피 우리가 원하는 건 기울기의 방향인데, 표본 몇 개면 방향은 대충 맞는다.

2. 미니배치 추정량[편집]

크기 BB짜리 미니배치 B\mathcal{B} 를 무작위로 뽑아 기울기를 만든다.

gk=1BiBfi(wk),wk+1=wkηkgkg_k = \frac{1}{B}\sum_{i \in \mathcal{B}} \nabla f_i(w_k), \qquad w_{k+1} = w_k - \eta_k g_k

이 추정량의 성질 두 가지가 SGD 이론 전체를 지탱한다. 첫째, 불편성: E[gk]=F(wk)\mathbb{E}[g_k] = \nabla F(w_k). 복원추출로 뽑으면 정확히 성립한다. 둘째, 분산이 배치 크기에 반비례: 개별 기울기의 분산을 σ2\sigma^2 라 하면 Var[gk]=σ2/B\mathrm{Var}[g_k] = \sigma^2 / B. 즉 BB를 4배로 키우면 계산량도 4배지만 잡음의 표준편차는 2배밖에 줄지 않는다. 정확도를 사는 데 드는 값이 제곱으로 비싸다는 이 비대칭이, “왜 작은 배치가 계산 효율 면에서 유리한가”의 수학적 이유다.2

비용 대비 진척으로 보면 더 극명하다. 전배치 한 스텝의 비용으로 SGD는 n/Bn/B 번 갱신한다. 초반처럼 기울기가 크고 방향이 뻔한 구간에서는 이 횟수 차이가 잡음 손해를 압도한다.

3. 로버스-먼로 조건[편집]

학습률 수열 {ηk}\{\eta_k\} 가 만족해야 하는 고전적 조건이 로버스-먼로 조건이다.

k=1ηk=,k=1ηk2<\sum_{k=1}^{\infty} \eta_k = \infty, \qquad \sum_{k=1}^{\infty} \eta_k^2 < \infty

두 조건의 역할이 서로 반대라는 게 포인트다. 첫 번째는 어디서 출발하든 도달할 수 있을 만큼 총 이동거리가 충분해야 한다는 뜻이고(너무 빨리 줄면 목표 전에 멈춘다), 두 번째는 잡음의 누적 효과가 유한해야 한다는 뜻이다(안 줄이면 영원히 떨린다). ηk=η0/k\eta_k = \eta_0/k 는 둘 다 만족하고, ηk=η0/k\eta_k = \eta_0/\sqrt{k} 는 첫 번째만 만족한다.

4. 고정 학습률과 잡음 공[편집]

학습률을 줄이지 않고 상수로 두면 어떻게 되는가. SGD는 최적점으로 수렴하지 않고, 최적점 주변의 일정한 반경 안을 영원히 떠돈다. 이 정상상태 산포를 잡음 공(noise ball)이라 부른다. 강볼록(계수 μ\muLL-매끄러운 문제에서 정상상태 기대 손실 초과분은 대략

E[F(wk)F]  k  O ⁣(ηLσ2μB)\mathbb{E}[F(w_k) - F^\star] \ \xrightarrow{\ k \to \infty\ }\ O\!\left(\frac{\eta L \sigma^2}{\mu B}\right)

잡음 공의 크기는 ησ2/B\eta \sigma^2 / B 에 비례한다. 학습률을 절반으로 줄이거나 배치를 두 배로 키우면 공이 절반으로 줄어든다. 그리고 η\eta 가 안정성 한계 2/L2/L 을 넘으면 잡음 공이고 뭐고 그냥 발산한다.

표본 200개짜리 최소제곱 문제 F(w) = (1/2n)Σ(aᵢ·w − bᵢ)² 의 등고선(데이터가 이방성이라 조건수 ≈ 16) 위에서 세 갈래를 동시에 실제로 반복 계산한다. 초록은 전배치 경사하강(정확한 기울기), 주황은 고정 학습률 SGD(매 스텝 B개를 새로 복원추출해 합산한 진짜 미니배치 기울기), 파랑은 감쇠 학습률 η/(1+k/150) SGD다. 라벨에 관측잡음이 섞여 있어 주황은 최적점에 닿지 못하고 점선 원(잡음 공) 안을 떠돌고, 파랑은 그 공을 줄여 가며 수렴한다. 하단 띠는 log₁₀(F(w_k) − F*) 곡선이며, η 슬라이더를 2/λmax 위로 올리면 실제로 발산 표시가 뜬다.

여기서 실무 관행이 따라 나온다. 고정 학습률로 오래 돌리고 있는데 손실이 어느 값에서 평평해졌다면, 그건 수렴한 게 아니라 잡음 바닥에 닿은 것이다. 이때 학습률을 10분의 1로 떨어뜨리면 손실 곡선이 계단처럼 한 번 더 내려간다. 학습 곡선의 그 유명한 “계단 모양”이 여기서 나온다.

5. 학습률 스케줄[편집]

  • 역수 감쇠 ηk=η0/(1+k/τ)\eta_k = \eta_0/(1+k/\tau) — 로버스-먼로 조건을 만족하는 고전형. 이론적으로 안전하지만 실전에서는 초반에 너무 빨리 식는 경향이 있다.
  • 계단 감쇠(step decay) — 정해진 에폭에서 ×0.1\times 0.1. 앞 절의 계단을 손으로 만드는 방식으로, 오래도록 표준이었다.
  • 코사인 감쇠 ηk=η02(1+cos(πk/K))\eta_k = \tfrac{\eta_0}{2}\left(1 + \cos(\pi k / K)\right) — 총 스텝 수 KK를 미리 알 때 쓴다. 끝에서 부드럽게 0으로 가라앉아 마무리 품질이 좋다.
  • 워밍업(warm-up) — 처음 수백~수천 스텝 동안 η\eta 를 0에서 목표값까지 선형으로 올린다. 초기 파라미터에서 곡률 추정이 불안정해 큰 학습률이 곧장 발산으로 이어지는 것을 막는 장치다.

6. 모멘텀과 적응 방법[편집]

이방성이 심한(=조건수가 큰) 지형에서 순수 SGD는 좁은 골짜기를 지그재그로 튕기며 내려간다. 모멘텀은 기울기를 지수이동평균으로 누적해 이 진동을 상쇄한다.

vk+1=βvk+gk,wk+1=wkηvk+1v_{k+1} = \beta v_k + g_k, \qquad w_{k+1} = w_k - \eta\, v_{k+1}

β=0.9\beta = 0.9 면 실효 학습률이 η/(1β)=10η\eta/(1-\beta) = 10\eta 로 뻥튀기되므로, 모멘텀을 켜면서 η\eta 를 그대로 두면 터진다. 네스테로프 가속은 현재 위치가 아니라 관성으로 밀려갈 위치 wkηβvkw_k - \eta\beta v_k 에서 기울기를 재는 “미리보기” 형태로, 결정론적 볼록 문제에서 수렴률을 O(1/k)O(1/k) 에서 O(1/k2)O(1/k^2) 로 끌어올린다(다만 이 개선은 잡음이 있으면 대부분 사라진다).

적응 방법은 좌표별로 학습률을 다르게 준다. AdaGrad는 기울기 제곱의 누적합 jkgj2\sqrt{\sum_{j\le k} g_j^2} 로 나누고, RMSProp은 그 누적합을 지수이동평균으로 바꿔 “영원히 식어 버리는” AdaGrad의 결함을 고쳤다. Adam은 여기에 모멘텀과 편향보정을 합친 것으로, 기본값 β1=0.9, β2=0.999, ϵ=108\beta_1=0.9,\ \beta_2=0.999,\ \epsilon=10^{-8} 이 사실상 업계 표준이 됐다.3 다만 적응 방법이 만능은 아니다 — 볼록 설정에서 원 Adam의 수렴 증명에 결함이 있다는 것이 밝혀졌고(AMSGrad가 그 수정본이다), 영상 분류처럼 잘 조율된 SGD+모멘텀이 Adam보다 최종 일반화 성능이 나은 영역도 여전히 존재한다.

7. 배치 크기와 선형 스케일링[편집]

잡음 공 크기가 η/B\eta/B 에 비례한다는 사실에서 곧바로 실용 규칙이 나온다. 배치를 kk배로 키우면 학습률도 kk배로 키워라. 그러면 스텝당 잡음 수준이 유지되고, 병렬 컴퓨팅·GPU 컴퓨팅으로 늘린 배치가 그대로 시간 단축으로 이어진다. 대규모 학습에서 이 규칙과 워밍업을 조합해 배치 8192까지 성능 손실 없이 확장한 것이 잘 알려진 사례다. 물론 무한정 통하지는 않는다 — 배치가 어느 임계치를 넘으면 잡음이 이미 충분히 작아져 추가 표본이 낭비가 되고, 학습률도 안정성 한계 2/L2/L 에 먼저 부딪힌다.

8. 수렴률과 과학계산에서의 쓰임[편집]

수렴 속도를 정리하면 이렇다. 볼록 문제에서 감쇠 학습률 SGD는 O(1/k)O(1/\sqrt{k}), 강볼록이면 O(1/k)O(1/k). 반면 전배치 경사하강법은 강볼록에서 선형 수렴 O(ρk)O(\rho^k), ρ=(κ1)/(κ+1)\rho = (\kappa-1)/(\kappa+1) 을 낸다. 스텝당 정확도만 보면 SGD가 압도적으로 느리다. SGD가 이기는 것은 오직 “같은 계산량 안에서 얼마나 내려가는가”라는 축에서다. 그리고 비볼록에서는 EF20\mathbb{E}\|\nabla F\|^2 \to 0 이라는 정상점 수렴만 보장되지, 전역해는 보장되지 않는다 — 지역 최적해볼록 최적화의 차이가 여기서도 그대로 나타난다.4

시뮬레이션·수치해석 쪽에서도 SGD는 자기 자리를 잡았다. 물리 정보 신경망은 콜로케이션 점을 매 스텝 새로 뽑아 PDE 잔차를 최소화하는데, 이 “점 샘플링” 자체가 미니배치이므로 SGD 계열이 자연스러운 선택이다. 대리 모델 학습, 신경망 기반 축소차수모델, 초해상도 기반 난류장 복원, 강화 학습의 정책 경사도 마찬가지다. 기울기는 대개 자동 미분으로 얻는다. 다만 잔차가 101010^{-10} 수준까지 떨어져야 하는 고전적 수치해석 문제(선형계 풀이, 정상상태 해석)에서 SGD를 쓰는 것은 도구 선택 착오다. 그쪽은 준-뉴턴법이나 라인서치를 갖춘 결정론적 방법의 영역이고, SGD가 잘하는 것은 “적당한 정확도를 아주 싸게” 얻는 일이다.

9. 관련 문서[편집]

10. Footnotes[편집]

  1. Robbins, H. & Monro, S. (1951). A Stochastic Approximation Method. 원 논문은 신경망은커녕 컴퓨터도 제대로 없던 시절에 “잡음 섞인 관측으로 방정식의 근을 찾는 법”을 다뤘다. 70년 뒤에 GPU 수만 장을 굴리는 근거가 될 줄은 본인들도 몰랐을 것이다.

  2. 그래서 “배치를 키우면 기울기가 정확해져서 좋다”는 말은 절반만 맞다. 정확해지긴 하는데 B\sqrt{B} 로만 좋아진다. 돈은 BB 만큼 내고 이득은 B\sqrt{B} 만큼 받는 거래를 계속할 이유가 없다는 게 미니배치의 존재 이유다.

  3. 학습률 10310^{-3}, β2=0.999\beta_2 = 0.999 라는 Adam 기본값은 논문에 실린 권장값일 뿐인데, 지금은 거의 물리상수 취급을 받는다. 실험 로그에 “lr=3e-4”가 적혀 있으면 대체로 아무도 근거를 묻지 않는 것도 같은 맥락이다.

  4. 재미있는 것은 SGD의 잡음이 버그가 아니라 기능일 수 있다는 관찰이다. 미니배치 잡음이 날카로운 최소점에서 빠져나와 평평한 최소점에 정착하도록 유도하며, 그 평평함이 일반화 성능과 상관이 있다는 가설이 널리 논의된다. 잡음이 담금질 모사의 온도 비슷한 역할을 한다는 셈인데, 아직 완결된 이론은 아니다.