인공지능에서 경사하강법(Gradient Descent) 이해하기

경사하강법(Gradient Descent)은 인공지능, 특히 머신러닝과 딥러닝에서 모델의 오차를 최소화하기 위해 사용하는 대표적인 최적화 알고리즘입니다. 함수의 기울기(Gradient)를 이용해, 비용 함수(Cost Function)가 최소가 되는 지점을 찾아가는 방법입니다.

경사하강법의 기본 개념

경사하강법은 산에서 내려오는 과정에 비유할 수 있습니다. 산 정상에서 출발해 가장 낮은 지점(최솟값)으로 가기 위해, 현재 위치에서의 기울기 방향을 계산하고, 기울기가 내려가는 쪽으로 조금씩 이동하는 방식입니다.

수학적 원리

모델의 파라미터를 \( \theta \), 비용 함수를 \( J(\theta) \)라고 하면, 경사하강법은 다음과 같은 수식으로 표현됩니다.

\[ \theta := \theta – \alpha \cdot \nabla_\theta J(\theta) \]

  • \( \alpha \): 학습률(Learning Rate), 한 번에 이동하는 거리
  • \( \nabla_\theta J(\theta) \): 비용 함수의 기울기(Gradient)

작동 과정

  1. 초기 파라미터 \( \theta \)를 임의로 설정
  2. 현재 위치에서의 비용 함수의 기울기 계산
  3. 기울기가 감소하는 방향으로 \( \alpha \)만큼 이동
  4. 최솟값에 도달할 때까지 2~3단계를 반복

예제

비용 함수가 다음과 같다고 가정합시다.

\[ J(\theta) = \theta^2 \]

이때, 도함수는

\[ J'(\theta) = 2\theta \]

경사하강법의 갱신식은

\[ \theta := \theta – \alpha \cdot 2\theta \]

만약 초기값 \( \theta = 4 \), 학습률 \( \alpha = 0.1 \)이라면, 첫 번째 업데이트 후:

\[ \theta := 4 – 0.1 \cdot 2 \cdot 4 = 4 – 0.8 = 3.2 \]

다음 반복에서도 같은 과정을 거쳐 \( \theta \)가 점점 0에 가까워집니다.

경사하강법의 종류

  • 배치 경사하강법(Batch Gradient Descent) – 모든 데이터를 사용해 기울기를 계산
  • 확률적 경사하강법(SGD) – 한 개의 데이터 샘플로 기울기를 계산
  • 미니배치 경사하강법(Mini-batch Gradient Descent) – 일부 데이터 묶음으로 기울기를 계산 (딥러닝에서 가장 많이 사용)

주의할 점

  • 학습률이 너무 크면 → 최소값을 지나쳐 발산
  • 학습률이 너무 작으면 → 수렴 속도가 매우 느려짐
  • 지역 최소값(Local Minimum)과 전역 최소값(Global Minimum) 문제

결론

경사하강법은 비용 함수를 최소화하여 모델 성능을 향상시키는 핵심 알고리즘입니다.

학습률 설정적절한 변형 알고리즘 선택이 중요하며, 이를 통해 안정적이고 빠른 학습이 가능합니다.