Introduction

모델을 학습시킨다는 것은 결국 "얼마나 틀렸는가"를 측정하고, 그 오차를 줄이는 방향으로 파라미터를 조금씩 움직이는 과정이다. 경사 하강법gradient descent은 이 과정을 수학적으로 정형화한 최적화 알고리즘이다. 손실 함수의 기울기를 따라 파라미터 공간을 내려가면서 최솟값을 찾는다. 딥러닝의 거의 모든 학습 알고리즘이 이 아이디어 위에 세워져 있다.

지도 학습과 최적화 문제

지도 학습supervised learning의 목표는 입력 xx에서 출력 yy를 예측하는 함수 fθf_\theta를 찾는 것이다. 여기서 θ\theta는 모델의 파라미터(가중치와 편향)를 나타낸다.

학습 데이터셋 D={(x(i),y(i))}i=1N\mathcal{D} = \{(x^{(i)}, y^{(i)})\}_{i=1}^{N}이 주어졌을 때, 우리는 모델의 예측 y^(i)=fθ(x(i))\hat{y}^{(i)} = f_\theta(x^{(i)})가 실제 정답 y(i)y^{(i)}에 최대한 가까워지도록 θ\theta를 조정하고 싶다. 이를 최적화 문제로 표현하면 다음과 같다.

θ=argminθL(θ)\theta^* = \arg\min_\theta \mathcal{L}(\theta)

L(θ)\mathcal{L}(\theta)는 손실 함수loss function로, 모델이 얼마나 틀렸는지를 하나의 스칼라 값으로 요약한다. 이 값을 최소화하는 θ\theta^*를 찾는 것이 학습의 전부다.

손실 함수

손실 함수는 문제의 종류에 따라 다르게 선택한다.

평균 제곱 오차 (MSE)

회귀regression 문제에서 흔히 쓰인다. 예측값과 정답의 차이를 제곱해 평균을 낸다.

LMSE(θ)=1Ni=1N(y^(i)y(i))2\mathcal{L}_{\text{MSE}}(\theta) = \frac{1}{N} \sum_{i=1}^{N} \left( \hat{y}^{(i)} - y^{(i)} \right)^2

제곱을 취하는 이유는 두 가지다. 부호에 무관하게 오차의 크기만 반영하고, 큰 오차에 더 큰 패널티를 부여한다.

교차 엔트로피 손실 (Cross-Entropy Loss)

분류classification 문제에서 쓰인다. 모델이 출력하는 확률 분포 p^\hat{p}와 실제 레이블의 분포 pp 사이의 거리를 측정한다.1

LCE(θ)=1Ni=1Nc=1Cyc(i)logp^c(i)\mathcal{L}_{\text{CE}}(\theta) = -\frac{1}{N} \sum_{i=1}^{N} \sum_{c=1}^{C} y_c^{(i)} \log \hat{p}_c^{(i)}

정답 클래스 cc에 대해 yc(i)=1y_c^{(i)} = 1이고 나머지는 0이므로, 실제로는 정답 클래스의 예측 확률 p^c(i)\hat{p}_c^{(i)}의 로그값만 남는다. 모델이 정답에 높은 확률을 부여할수록 손실이 작아진다.

그래디언트

손실 함수를 최소화하려면 θ\theta를 어느 방향으로 움직여야 할지 알아야 한다. 이 방향 정보를 제공하는 것이 그래디언트(gradient)다.

스칼라 함수 L(θ)\mathcal{L}(\theta)의 그래디언트는 각 파라미터에 대한 편미분을 모아 놓은 벡터다.

θL=[Lθ1, Lθ2, , Lθn]T\nabla_\theta \mathcal{L} = \left[ \frac{\partial \mathcal{L}}{\partial \theta_1},\ \frac{\partial \mathcal{L}}{\partial \theta_2},\ \ldots,\ \frac{\partial \mathcal{L}}{\partial \theta_n} \right]^T

그래디언트의 기하학적 의미

그래디언트 θL\nabla_\theta \mathcal{L}는 손실 함수가 가장 가파르게 증가하는 방향을 가리킨다. 반대로 θL-\nabla_\theta \mathcal{L}는 손실이 가장 가파르게 감소하는 방향이다.

2차원 파라미터 공간을 상상해 보자. 손실 함수는 산과 골짜기가 있는 지형이다. 그래디언트는 현재 위치에서 가장 가파른 오르막 방향을 가리키는 나침반이다. 우리는 그 반대 방향, 즉 가장 가파른 내리막으로 한 걸음씩 내려가면서 골짜기(최솟값)를 찾는다.

그림 1. 손실 함수 지형 위에서의 그래디언트와 음의 그래디언트. 현재 위치 θ에서 ∇L은 가장 가파른 오르막을, −∇L은 가장 가파른 내리막을 가리키며, 후자를 반복해 따라가면 최솟값 θ*에 도달한다.

왜 음의 그래디언트가 최급강하 방향인가

"가장 가파른 내리막"이라는 직관은 1차 테일러 전개first-order Taylor expansion로 정확히 정당화된다. 단위 방향 벡터 u\mathbf{u} (단, u=1\|\mathbf{u}\| = 1)와 충분히 작은 η>0\eta > 0에 대해 θ+ηu\theta + \eta \mathbf{u}에서의 손실은 다음과 같이 근사된다.

L(θ+ηu)L(θ)+ηuθL(θ)\mathcal{L}(\theta + \eta \mathbf{u}) \approx \mathcal{L}(\theta) + \eta\, \mathbf{u}^\top \nabla_\theta \mathcal{L}(\theta)

손실의 변화량은 ηuθL\eta\, \mathbf{u}^\top \nabla_\theta \mathcal{L}이며, 이를 최소화하는 u\mathbf{u}를 찾으면 된다. 코시-슈바르츠 부등식Cauchy–Schwarz inequality에 의해

uθLuθL=θL\mathbf{u}^\top \nabla_\theta \mathcal{L} \geq -\|\mathbf{u}\| \cdot \|\nabla_\theta \mathcal{L}\| = -\|\nabla_\theta \mathcal{L}\|

이고, 등호는 u\mathbf{u}θL-\nabla_\theta \mathcal{L}과 같은 방향일 때만 성립한다. 즉

u=θLθL\mathbf{u}^* = -\frac{\nabla_\theta \mathcal{L}}{\|\nabla_\theta \mathcal{L}\|}

가 1차 근사에서 손실을 가장 빨리 감소시키는 방향이다.2 경사 하강법의 모든 직관은 이 한 줄에서 출발한다.

경사 하강법

기본 업데이트 규칙

경사 하강법의 파라미터 업데이트 규칙은 단순하다.

θθηθL(θ)\theta \leftarrow \theta - \eta \cdot \nabla_\theta \mathcal{L}(\theta)

η>0\eta > 0은 학습률learning rate로, 한 번에 얼마나 크게 이동할지를 결정하는 하이퍼파라미터다.3 그래디언트 방향의 반대로 η\eta만큼 이동한다.

이 과정을 수렴할 때까지 반복한다.

입력: 손실 함수 ∇L, 초기 파라미터 θ₀, 학습률 η, 종료 조건
출력: 학습된 파라미터 θ

θ ← θ₀
repeat
    g ← ∇_θ L(θ)            # 현재 위치의 그래디언트 계산
    θ ← θ − η · g            # 파라미터 갱신
until ‖g‖ < ε  or  반복 횟수 초과
return θ

종료 조건은 보통 그래디언트 노름이 충분히 작아지거나, 손실의 개선폭이 임곗값 미만이거나, 사전에 정한 에포크epoch 수에 도달했을 때다.

학습률의 중요성

학습률은 학습의 성패를 좌우하는 핵심 하이퍼파라미터다.

  • η\eta가 너무 크면: 최솟값을 지나쳐 발산하거나 진동한다.
  • η\eta가 너무 작으면: 수렴 속도가 극도로 느려진다.
  • 적절한 η\eta: 안정적으로 최솟값을 향해 수렴한다.
그림 2. 학습률 η의 크기에 따른 수렴 거동. 너무 크면 발산·진동, 너무 작으면 수렴이 정체되고, 적절한 크기에서만 안정적으로 최솟값에 도달한다.

테일러 전개에서 보았듯이 θL-\nabla_\theta \mathcal{L}이 최급강하 방향임은 어디까지나 1차 근사가 유효한 충분히 작은 η\eta 범위에서만 성립한다. η\eta가 커지면 2차 이상의 항이 무시 못 할 만큼 커지므로 손실이 오히려 증가할 수 있다.

세 가지 변형

전체 데이터셋에 대해 그래디언트를 계산하는 것은 데이터가 많을 때 비현실적이다. 실제로는 데이터를 어떻게 사용하느냐에 따라 세 가지 변형이 있다.

배치 경사 하강법 (Batch Gradient Descent)

전체 학습 데이터 NN개를 모두 사용해 그래디언트를 계산한다.

θL=1Ni=1Nθ(θ;x(i),y(i))\nabla_\theta \mathcal{L} = \frac{1}{N} \sum_{i=1}^{N} \nabla_\theta \ell(\theta; x^{(i)}, y^{(i)})

정확한 그래디언트를 사용하므로 수렴이 안정적이지만, 데이터가 많을 때 한 번의 업데이트에 드는 계산 비용이 크다.

확률적 경사 하강법 (Stochastic Gradient Descent, SGD)

매 업데이트마다 무작위로 샘플 하나만 사용한다.

θLθ(θ;x(i),y(i))\nabla_\theta \mathcal{L} \approx \nabla_\theta \ell(\theta; x^{(i)}, y^{(i)})

업데이트가 빠르고 지역 최솟값local minimum을 탈출하는 데 유리하지만, 그래디언트 추정의 분산이 커서 수렴 경로가 불안정하다.4

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

BB개의 샘플로 구성된 미니배치를 사용한다.

θL1BiBθ(θ;x(i),y(i))\nabla_\theta \mathcal{L} \approx \frac{1}{B} \sum_{i \in \mathcal{B}} \nabla_\theta \ell(\theta; x^{(i)}, y^{(i)})

배치 경사 하강법의 안정성과 SGD의 속도를 절충한 방식으로, 딥러닝에서 사실상 표준으로 쓰인다. 일반적으로 B=32,64,128,256B = 32, 64, 128, 256 등 2의 거듭제곱을 사용한다.5

방법그래디언트 추정업데이트 속도안정성
배치 GD정확느림높음
SGD노이즈 많음빠름낮음
미니배치 GD근사중간중간

최적화의 어려움

실제 딥러닝 모델의 손실 함수는 볼록convex하지 않다. 파라미터 공간에는 다양한 함정이 존재한다.

지역 최솟값과 안장점

지역 최솟값local minimum은 주변보다 손실이 낮지만 전역 최솟값global minimum은 아닌 지점이다. 경사 하강법은 이 지점에 갇힐 수 있다.

안장점saddle point은 어떤 방향으로는 최솟값이지만 다른 방향으로는 최댓값인 지점이다. 고차원 공간에서는 지역 최솟값보다 안장점이 훨씬 흔하다.6 안장점에서 그래디언트는 0에 가까워 학습이 매우 느려진다.

기울기 소실과 폭발

신경망이 깊어질수록 역전파backpropagation 과정에서 그래디언트가 레이어를 거슬러 올라가면서 점점 작아지거나(기울기 소실, vanishing gradient) 점점 커지는(기울기 폭발, exploding gradient) 문제가 발생한다.7

모멘텀과 적응형 학습률

기본 경사 하강법의 한계를 극복하기 위해 다양한 개선 알고리즘이 제안됐다.

모멘텀 (Momentum)

물리학의 관성에서 영감을 받은 방법이다. 이전 업데이트 방향을 기억해 같은 방향으로 계속 가속한다.

vβvηθLv \leftarrow \beta v - \eta \nabla_\theta \mathcal{L} θθ+v\theta \leftarrow \theta + v

β[0,1)\beta \in [0, 1)는 모멘텀 계수로, 보통 0.9를 사용한다. 안장점에서 빠져나오고 진동을 줄이는 데 효과적이다.

Adam

현재 딥러닝에서 가장 널리 쓰이는 옵티마이저다. 그래디언트의 1차 모멘트(평균)와 2차 모멘트(분산)를 모두 추적해 파라미터마다 학습률을 적응적으로 조정한다.8

mβ1m+(1β1)θL(1차 모멘트)m \leftarrow \beta_1 m + (1 - \beta_1) \nabla_\theta \mathcal{L} \quad \text{(1차 모멘트)} vβ2v+(1β2)(θL)2(2차 모멘트)v \leftarrow \beta_2 v + (1 - \beta_2) (\nabla_\theta \mathcal{L})^2 \quad \text{(2차 모멘트)} m^m1β1t,v^v1β2t(편향 보정)\hat{m} \leftarrow \frac{m}{1 - \beta_1^t}, \quad \hat{v} \leftarrow \frac{v}{1 - \beta_2^t} \quad \text{(편향 보정)} θθηv^+ϵm^\theta \leftarrow \theta - \frac{\eta}{\sqrt{\hat{v}} + \epsilon} \hat{m}

기본값은 β1=0.9\beta_1 = 0.9, β2=0.999\beta_2 = 0.999, ϵ=108\epsilon = 10^{-8}이다. 그래디언트가 자주 업데이트되는 파라미터는 학습률이 작아지고, 드물게 업데이트되는 파라미터는 학습률이 커진다.

역전파와의 관계

경사 하강법은 그래디언트 θL\nabla_\theta \mathcal{L}를 필요로 한다. 신경망에서 이 그래디언트를 효율적으로 계산하는 알고리즘이 역전파backpropagation다.

역전파는 연쇄 법칙chain rule을 재귀적으로 적용해 출력층에서 입력층 방향으로 그래디언트를 전파한다. 손실 L\mathcal{L}에 대한 각 파라미터의 편미분을 O(θ)O(|\theta|) 시간에 계산할 수 있다.9

Lθl=Lzl+1zl+1θl\frac{\partial \mathcal{L}}{\partial \theta_l} = \frac{\partial \mathcal{L}}{\partial z_{l+1}} \cdot \frac{\partial z_{l+1}}{\partial \theta_l}

경사 하강법이 "어느 방향으로 얼마나 이동할지"를 결정하는 알고리즘이라면, 역전파는 "그 방향을 어떻게 계산할지"를 담당하는 알고리즘이다. 둘은 서로 다른 역할을 하지만 항상 함께 쓰인다.


출처

  • Rumelhart, D.E., Hinton, G.E. and Williams, R.J. (1986) 'Learning representations by back-propagating errors', Nature, 323(6088), pp. 533–536.
  • Cauchy, A.-L. (1847) 'Méthode générale pour la résolution des systèmes d'équations simultanées', Comptes Rendus de l'Académie des Sciences, 25, pp. 536–538.
  • Robbins, H. and Monro, S. (1951) 'A stochastic approximation method', The Annals of Mathematical Statistics, 22(3), pp. 400–407.
  • Dauphin, Y.N., Pascanu, R., Gulcehre, C., Cho, K., Ganguli, S. and Bengio, Y. (2014) 'Identifying and attacking the saddle point problem in high-dimensional non-convex optimization', Advances in Neural Information Processing Systems, 27, pp. 2933–2941.
  • Kingma, D.P. and Ba, J. (2015) 'Adam: A method for stochastic optimization', Proceedings of the 3rd International Conference on Learning Representations (ICLR). Available at: https://arxiv.org/abs/1412.6980 (Accessed: 27 April 2026).
  • Manning, C.D. (2025) CS224N: Natural Language Processing with Deep Learning, Lecture 3: Neural Networks. Stanford University. Available at: https://web.stanford.edu/class/cs224n/ (Accessed: 27 April 2026).
  • Goodfellow, I., Bengio, Y. and Courville, A. (2016) Deep Learning. Cambridge, MA: MIT Press. Available at: https://www.deeplearningbook.org (Accessed: 27 April 2026).

Footnotes

  1. 교차 엔트로피cross-entropy는 정보 이론에서 두 확률 분포 ppqq 사이의 거리를 측정하는 척도로, H(p,q)=xp(x)logq(x)H(p, q) = -\sum_x p(x) \log q(x)로 정의된다. 분류 문제에서 pp는 원-핫 레이블, qq는 모델의 소프트맥스 출력이다.

  2. 코시-슈바르츠 부등식이 알려 주는 것은 1차 근사 한정의 최적성이다. 손실 표면의 곡률이 방향마다 다른 경우, 한 스텝의 손실 감소를 최대화하는 진짜 최적 방향은 헤시안 2L\nabla^2 \mathcal{L}로 곱한 (2L)1L-(\nabla^2 \mathcal{L})^{-1} \nabla \mathcal{L}, 즉 뉴턴 방향이다. 경사 하강법은 곡률 정보를 포기하는 대가로 헤시안 역행렬 계산을 피한다.

  3. 학습률은 사전에 정해야 하는 하이퍼파라미터hyperparameter로, 모델 파라미터 θ\theta와 달리 데이터로부터 학습되지 않는다. 학습률 스케줄링learning rate scheduling을 통해 학습 과정에서 동적으로 조정하기도 한다.

  4. SGD의 노이즈는 단점이기도 하지만 장점이기도 하다. 그래디언트 추정의 무작위성이 지역 최솟값이나 안장점에서 탈출하는 데 도움을 주기 때문이다. 이를 확률적 정규화stochastic regularization 효과라 한다.

  5. 미니배치 크기는 GPU 메모리와 학습 안정성 사이의 트레이드오프를 결정한다. 배치 크기가 클수록 그래디언트 추정이 정확해지지만 메모리 사용량이 늘고, 너무 크면 일반화 성능이 떨어진다는 연구 결과도 있다 (Keskar et al., 2017).

  6. Dauphin et al. (2014)의 연구에 따르면, 고차원 신경망의 손실 지형에서 지역 최솟값보다 안장점이 압도적으로 많다. 안장점 근방에서는 그래디언트가 0에 가까워 학습이 정체되는 현상이 나타난다.

  7. 기울기 소실 문제는 Hochreiter (1991)가 처음 분석했다. 시그모이드나 하이퍼볼릭 탄젠트 활성화 함수의 포화 영역에서 미분값이 0에 가까워지기 때문에 발생한다. ReLU 활성화 함수와 잔차 연결residual connection이 이 문제를 완화하는 대표적인 방법이다.

  8. Adam(Adaptive Moment Estimation)은 Kingma와 Ba가 2015년 ICLR에서 발표했다. AdaGrad와 RMSProp의 아이디어를 결합한 것으로, 편향 보정bias correction1βt1 - \beta^t를 통해 초기 학습 단계에서 모멘트 추정값이 0으로 편향되는 문제를 해결한다.

  9. 역전파 알고리즘은 Rumelhart, Hinton, Williams (1986)가 신경망 학습에 적용해 널리 알려졌다. 계산 그래프computational graph 위에서 연쇄 법칙을 자동으로 적용하는 자동 미분automatic differentiation이 현대 딥러닝 프레임워크(PyTorch, JAX 등)의 핵심 기능이다.