왜 최적화란 무엇인가가 필요한가? 실무에서 이 개념 없이는 문제를 해결할 수 없습니다. 핵심 동기와 배경을 먼저 이해합시다.
머신러닝 모델 학습의 핵심은
최적화(Optimization)입니다.
모델에는 수천~수십억 개의
파라미터(θ)가 있습니다.
이 파라미터를 조정하여 모델의 예측이 정답에 가까워지도록 만드는 과정이 학습입니다.
손실 함수(Loss Function) L(θ):
- 모델 예측과 실제 정답 사이의 차이를 숫자로 측정
- 손실이 클수록 예측이 부정확, 작을수록 정확
- 학습 = 이 손실 함수를
최소화하는 파라미터 θ*를 찾는 것
\theta^* = \arg\min_\theta L(\theta)
왜 한 번에 풀 수 없는가?
- 선형 회귀: \theta = (X^TX)^{-1}X^Ty (닫힌 형태 해 존재)
- 신경망: 비선형 활성화 함수 → 닫힌 형태 없음
- 파라미터가 수백만~수십억 개 → 해석적 풀이 불가능
- 따라서
반복적(iterative) 최적화가 필요 → 경사 하강법!
일상 비유:
눈을 감고 산에서 가장 낮은 계곡을 찾으려 합니다.
발밑의 경사만 느끼며 가파른 쪽으로 한 걸음씩 내려갑니다.
이것이 경사 하강법의 핵심 아이디어입니다.
왜 중요한가? 수백만 개의 파라미터를 가진 모델에서 손실을 줄이는 방향을 어떻게 찾을까요? 그래디언트(기울기)는 다변수 함수에서 가장 가파르게 증가하는 방향을 가리킵니다. 그 반대 방향으로 이동하면 국소적으로 손실이 가장 빠르게 감소합니다. 이것은 수학적으로 증명된 최적 방향이며, 랜덤 탐색보다 기하급수적으로 효율적입니다. 경사 하강법이 없었다면 현대 딥러닝은 불가능했을 것입니다.