184
개발자를 위한 필수 수학
5.3.3
경사 하강법
경사 하강법
gradient
descent
은 미분과 반복을 사용해 목적 함수에 대한 파라미터 집합을 최소화/최
대화하는 최적화 기법입니다. 경사 하강법을 알아보기 위해 간단한 사고 실험을 한 다음, 간단
한 예제에 적용해보겠습니다.
경사 하강법에 대한 사고 실험
깜깜한 밤, 산 꼭대기에 있는데 손전등 하나만 가지고 있다고 상상해보세요. 여러분은 산 아래
가장 낮은 지점으로 가고 싶습니다. 한 발자국을 내딛기 전에 손전등을 비춰 주변의 경사를 볼
수 있습니다. 경사가 눈에 띄게 아래로 내려가는 방향으로 발걸음을 옮깁니다. 경사가 크면 발
걸음을 크게 내딛고, 경사가 작으면 발걸음을 작게 내딛습니다. 궁극적으로 경사가 평평한 낮
은 지점, 즉 경사가
0
인 곳에 도달합니다. 꽤 괜찮게 들리죠? 손전등을 이용해 경사가 아래로
내려가는 방향으로 이동하는 이런 방법을 경사 하강법이라고 합니다.
머신러닝에서는 다양한 파라미터로 구성된 전체 제곱 합의 손실을 하나의 산악 지형으로 생각
할 수 있습니다. 손실을 최소화하기 위해 이 손실 지형을 탐색합니다. 이 문제를 해결하기 위
해 경사 하강법에는 한 가지 매력적인 특징이 있습니다. 편도함수가 모든 파라미터(이 경우
m
과
b
, 또는
β
1
과
β
0
)의 경사를 보여주는 손전등의 역할을 하는 것이죠. 경사가 아래로 내려가는
방향으로
m
과
b
를 이동시킵니다. 경사가 클수록 더 많이 이동하고 경사가 작을수록 더 조금씩
이동합니다. 경사 크기에 비례해 보폭의 크기를 ...