#개념

경사 하강법(Gradient Descent)은 미분 가능한 손실 함수(Loss Function)의 값을 최소화하기 위해, 현재 위치에서 함수가 가장 가파르게 증가하는 방향인 기울기(Gradient)의 반대 방향으로 매개변수를 조금씩 이동시키는 1차 반복 최적화(Optimization) 알고리즘이다. 모델의 가중치(Weight)편향(Bias)을 통틀어 $\theta$라 하고 손실 함수를 $J(\theta)$라 할 때, 경사 하강법의 갱신 규칙은 $\theta_{t+1} = \theta_t - \eta \nabla_\theta J(\theta_t)$로 표현된다. 여기서 $\eta$는 한 번에 이동하는 보폭을 결정하는 학습률(Learning Rate)이며, $\nabla_\theta J(\theta_t)$는 각 매개변수에 대한 손실 함수의 편미분을 모아 놓은 기울기 벡터다. 신경망에서는 이 기울기를 역전파(Backpropagation)자동 미분(Automatic Differentiation)으로 효율적으로 계산하며, 경사 하강법은 선형 회귀부터 대규모 언어 모델(Large Language Models, LLM)에 이르기까지 사실상 모든 딥러닝(Deep Learning) 모델을 학습시키는 근간이 된다.
경사 하강법은 한 번의 갱신에 사용하는 데이터의 양에 따라 세 가지로 구분된다.
  • 배치 경사 하강법(Batch Gradient Descent) : 전체 학습 데이터에 대한 손실의 평균 기울기를 계산한 뒤 한 번 갱신하는 방식으로, 기울기 추정이 정확하고 볼록(convex) 함수에서는 안정적으로 수렴하지만, 데이터가 클수록 한 번의 갱신 비용이 커지고 메모리에 전체 데이터를 올려야 하는 부담이 있다.
  • 확률적 경사 하강법(Stochastic Gradient Descent, SGD) : 매번 무작위로 뽑은 표본 하나의 기울기만으로 갱신하는 방식으로, 갱신 비용이 매우 작고 기울기의 잡음(noise)이 얕은 지역 최솟값이나 안장점(saddle point)을 벗어나는 데 도움을 주지만, 손실이 크게 진동하고 하드웨어의 병렬 연산을 활용하기 어렵다.
  • 미니배치 경사 하강법(Mini-batch Gradient Descent) : 데이터의 일부(보통 32~1024개)를 묶어 기울기를 추정하는 절충안으로, GPU의 행렬 연산 효율과 기울기 잡음의 규제 효과를 동시에 얻을 수 있어 실무에서 사실상 표준으로 쓰인다. 오늘날 딥러닝 문헌에서 SGD라고 부르는 것은 대부분 이 미니배치 방식을 가리키며, 배치 크기는 기울기 분산과 일반화 성능에 영향을 주는 중요한 하이퍼파라미터(Hyperparameter)다.
기본 경사 하강법은 매개변수마다 곡률이 크게 다른 협곡 형태의 손실 지형에서 지그재그로 진동하거나 평평한 구간에서 정체되는 약점이 있어, 이를 보완한 다양한 변형이 제안되었다. 모멘텀(Momentum)은 이전 갱신 방향을 지수 이동 평균으로 누적한 속도 $v_t = \gamma v_{t-1} + \eta \nabla_\theta J(\theta_t)$를 이용해 $\theta_{t+1} = \theta_t - v_t$로 갱신함으로써 일관된 방향으로는 가속하고 진동하는 방향은 상쇄한다. 네스테로프 가속 경사(Nesterov Accelerated Gradient, NAG)는 모멘텀으로 먼저 이동한 위치에서 기울기를 계산해 앞을 내다보는 효과를 준다. AdaGrad는 각 매개변수별로 과거 기울기 제곱합의 제곱근으로 학습률을 나누어 드물게 갱신되는 매개변수에는 큰 보폭을, 자주 갱신되는 매개변수에는 작은 보폭을 적용하지만 학습이 진행될수록 학습률이 지나치게 작아지는 문제가 있다. RMSProp은 이를 기울기 제곱의 지수 이동 평균으로 대체해 학습률 소멸을 막는다. Adam(Adaptive Moment Estimation)은 모멘텀의 1차 모멘트 추정과 RMSProp의 2차 모멘트 추정을 결합하고 초기 편향을 보정한 방식으로, 하이퍼파라미터에 비교적 둔감하고 빠르게 수렴하여 가장 널리 쓰이는 옵티마이저가 되었다. 이후 가중치 감쇠(weight decay)를 기울기 기반 갱신과 분리한 AdamW가 제안되어 Transformer 계열 모델 학습의 사실상 표준으로 자리 잡았다.
경사 하강법의 수렴은 학습률과 손실 지형의 성질에 크게 좌우된다. 학습률이 너무 작으면 수렴이 매우 느리고 평탄한 구간에서 멈춘 것처럼 보이며, 너무 크면 최솟값을 지나쳐 진동하거나 손실이 발산한다. 볼록하고 기울기가 $L$-립시츠 연속인 함수에서는 학습률을 $1/L$ 이하로 잡으면 수렴이 보장되며, 강볼록(strongly convex) 함수에서는 선형 속도로 수렴한다. 반면 신경망의 손실 함수는 일반적으로 비볼록(non-convex)이어서 전역 최솟값에 도달한다는 보장은 없지만, 실전에서는 충분히 좋은 지역 최솟값이나 평탄한 영역에 도달하는 것만으로도 우수한 일반화 성능을 얻는다. 확률적 방식에서는 기울기 추정의 분산 때문에 고정 학습률로는 최솟값 근처에서 진동이 남으므로, 학습이 진행됨에 따라 학습률을 줄이는 계단형 감소, 코사인 감쇠, 초기 워밍업(warm-up) 등의 학습률 스케줄링을 함께 사용한다. 이 밖에도 기울기 폭발을 막는 기울기 클리핑(gradient clipping), 학습 안정성을 높이는 배치 정규화, 적절한 가중치 초기화가 경사 하강법의 실질적인 수렴 속도와 도달 품질을 좌우하는 요소로 함께 고려된다.

#관련 용어

손실 함수
모델의 예측값과 실제값 사이의 오차를 하나의 수치로 나타내어 최소화 대상이 되는 함수
학습률
기울기 방향으로 매개변수를 한 번에 얼마나 이동시킬지 결정하는 하이퍼파라미터
역전파
연쇄 법칙을 이용해 손실 함수의 기울기를 출력층에서 입력층 방향으로 효율적으로 계산하는 알고리즘
확률적 경사 하강법(SGD)
전체 데이터 대신 무작위로 추출한 일부 표본의 기울기로 매개변수를 갱신하는 경사 하강법의 변형
모멘텀
이전 갱신 방향을 누적하여 일관된 방향으로는 가속하고 진동은 억제하는 경사 하강법 기법
아담(Adam)
기울기의 1차·2차 모멘트 추정을 결합해 매개변수별로 학습률을 적응적으로 조절하는 옵티마이저

#직무 연관도

DA
Data Analyst
낮음
회귀·분류 모델이 학습되는 원리를 이해하고 학습 곡선을 해석하는 데 필요한 배경 개념이다
DS
Data Scientist
밀접
모델 학습의 핵심 원리이며, 옵티마이저와 학습률 선택이 실험 결과와 수렴 속도를 직접 좌우한다
DE
Data Engineer
높음
분산 학습, 배치 크기 조정, 메모리·연산 효율을 고려한 학습 파이프라인 구축에 필수적인 지식이다

#사용 사례

인터넷 서비스전자상거래금융의료자율주행제조
개요
경사 하강법은 선형 회귀, 로지스틱 회귀, 신경망, 대규모 언어 모델에 이르기까지 매개변수를 갖는 거의 모든 머신러닝 모델의 학습에 사용된다. 데이터 규모와 손실 지형의 특성에 따라 배치·확률적·미니배치 방식과 모멘텀·Adam 등 변형을 선택하며, 학습률 스케줄과 결합하여 수렴 속도와 일반화 성능을 조절한다.
사례
전자상거래 추천 시스템에서는 수억 건의 클릭·구매 로그로 순위 모델을 학습할 때 전체 데이터를 한 번에 처리할 수 없으므로 미니배치 경사 하강법을 사용한다. 로그를 수백 개 단위의 미니배치로 나누어 GPU에서 기울기를 계산하고 Adam이나 AdamW 옵티마이저로 가중치를 갱신하며, 학습 초반에는 학습률을 서서히 올리는 워밍업 후 코사인 감쇠로 줄여 손실이 안정적으로 수렴하도록 한다.

#참고 자료

#추천 포스트

© 2024 diki All rights reserved.