
경사하강법(Gradient Descent)은 어떤 함수의 최소값을 찾기 위한 방법입니다.
쉽게 말해, 우리가 높은 산에서 낮은 계곡으로 내려가는 것처럼, 어떤 값을 찾아 내려가는 방법이라고 생각하면 됩니다. 따라서 경사하강법은 주로 최적화 문제에 사용됩니다.
경사하강법의 핵심 원리는 바로 기울기를 이용하는 것입니다. 함수의 기울기(미분)를 계산해서, 현재 위치에서 기울기의 반대 방향으로 이동하는 것입니다.
여기서 중요한 개념은 미분입니다. 미분은 함수의 변화율을 나타내주는데, 이 변화율을 통해 기울기를 구할 수 있습니다. 예를 들어, 함수가 아래로 내려가고 있다면 미분 값이 음수이고, 올라가고 있다면 미분 값이 양수가 됩니다.

경사하강법이 어떻게 작동하는지 이해하기 위해 예를 들어보겠습니다.
경사하강법에서 한 번에 이동하는 크기를 결정하는 값이 바로 학습률입니다.
적절한 학습률을 설정하는 것이 중요하며, 공부에 비유하자면 ‘한 번에 얼마나 많이 배우는지’를 조절하는 것과 같습니다. 너무 많이 배우면 혼란스러워지고, 너무 적게 배우면 느리게 성장하니까요.
| ✅ 장점 | ❌ 단점 |
|---|---|
| 구현이 쉽다 | 학습률 설정이 어렵다 |
| 대부분의 문제에서 효과적 | 국소 최솟값에 빠질 위험 |
| 머신러닝에서 필수적 | 계산량 증가 가능성 |
| ⚠️ 학습률 조절 필요 | 복잡한 함수 최적화 어려움 |
경사하강법은 산의 꼭대기에서 가장 낮은 곳을 찾는 방법으로, 함수의 기울기를 통해 움직이며 최저값을 찾아가는 기술입니다. 학습률을 조절하여 효율적인 탐색이 가능하며, 머신러닝에서 많이 사용됩니다. 가끔 최저값이 아닌 다른 지점에 멈출 수 있어, 이를 해결하기 위한 다양한 방법들이 개발되었습니다.
다양한 방법 예)
확률적 경사하강법, 미니배치 경사하강법, 모멘텀 (Momentum), 아담(Adam)