수학 개념 지도
데이터와 학습(Data and learning)

경사 하강법(Gradient descent)

손실 함수⁠(loss function)⁠의 기울기(그래디언트⁠, gradient⁠) 반대 방향으로 조금씩 내려가며 낮은 곳을 찾는 방법. 걸음 크기(학습률⁠, learning rate⁠)가 너무 크면 튀고, 너무 작으면 느리며, 볼록 함수⁠(convex function)⁠가 아니면 가장 낮은 곳에 닿는다는 보장이 없다.

x⃗k+1=x⃗k−η ∇f(x⃗k)\vec x_{k+1} = \vec x_k - \eta\,\nabla f(\vec x_k)
먼저 보면 좋은 개념미분계수최적화

안개 낀 산에서 가장 낮은 골짜기를 찾는다고 해 봅시다. 발밑의 경사만 느낄 수 있다면, 가장 가파르게 내려가는 쪽으로 한 걸음 옮기고 다시 경사를 재기를 되풀이하면 됩니다. 이것이 경사 하강법입니다. 두 변수 함수⁠(function)⁠ f(x, y)를 각 변수로 미분⁠(differentiation)⁠한 값을 모은 벡터⁠(vector)⁠ ∇f=(∂f/∂x, ∂f/∂y)\nabla f = (\partial f/\partial x,\ \partial f/\partial y)(그래디언트)는 가장 가파르게 오르는 방향을 가리키고, 그 길이는 그 방향의 기울기⁠(slope)⁠입니다. 그러니 반대쪽으로 갑니다.

x⃗k+1=x⃗k−η ∇f(x⃗k)\vec x_{k+1} = \vec x_k - \eta\,\nabla f(\vec x_k)

η는 걸음의 크기를 정하는 학습률입니다. 아래는 의 등고선입니다. 노란 출발점을 끌어 놓고 학습률 η = 로 굴려 보세요.

분홍 화살표가 다음 한 걸음 −η∇f입니다. 걸음은 늘 등고선에 수직으로 출발합니다. 흰검은 점이 가장 낮은 곳입니다.
걸음마다의 함숫값 f. 흰검은 점선이 가장 낮은 값입니다.

지금 걸음째, f = , 기울기의 길이 ∣∇f∣=|\nabla f| = 입니다. '길쭉한 골짜기' f=(x2+6y2)/2f = (x^2 + 6y^2)/2에서 η를 바꿔 보세요. 한 걸음은 x에 1−η1-\eta, y에 1−6η1-6\eta를 곱하므로, k걸음 뒤에는 이 수의 k제곱이 곱해져 등비수열⁠(geometric progression)⁠의 항처럼 줄어듭니다. 두 수의 절댓값⁠(absolute value)⁠이 모두 1보다 작아야 수렴⁠(convergence)⁠합니다. η가 1/6을 넘으면 y 쪽 배율이 음수가 되어 골짜기 양쪽 벽을 오가며 지그재그로 튀고, 1/3을 넘으면 튈 때마다 더 멀어져 발산⁠(divergence)⁠합니다. 반대로 안전하게 η를 작게 잡으면 완만한 x 방향으로는 매우 느리게 갑니다. η = 0.02라면 x는 한 걸음에 2%씩만 줄어듭니다.

일반적으로 매끄러운 함수는 극소점 근처에서 이차함수처럼 생겼고, 그 모양은 두 번 미분한 값들을 모은 행렬(헤세 행렬⁠(Hessian matrix)⁠, 독일 수학자 오토 헤세의 이름)이 정합니다. 그 고유값⁠(eigenvalue)⁠들은 고유벡터⁠(eigenvector)⁠ 방향으로 그릇이 얼마나 가파르게 휘었는지, 곧 방향마다의 곡률입니다. 길쭉한 골짜기에서는 x 방향 곡률⁠(curvature)⁠이 1, y 방향 곡률이 6입니다. 가장 큰 곡률 λmax⁡\lambda_{\max}에 대해 η<2/λmax⁡\eta \lt 2/\lambda_{\max}여야 발산하지 않고(1/λmax⁡1/\lambda_{\max}를 넘으면 지그재그로 튀면서 다가갑니다), 가장 큰 곡률과 가장 작은 곡률의 비(조건수⁠, condition number⁠)가 클수록 느려집니다. '둥근 그릇'에서는 곡률이 어느 방향으로나 1이라 η = 1이면 한 걸음에 바닥에 닿습니다.

'두 개의 골짜기'에서는 출발점에 따라 도착하는 곳이 다릅니다. 처음 자리에서 출발하면 얕은 오른쪽 골짜기에서 멈춥니다. 그곳도 기울기가 0이어서, 발밑만 보는 경사 하강법은 더 낮은 왼쪽 골짜기가 있는지 알 수 없습니다. 최적화⁠(optimization)⁠에서 기울기가 0인 점은 극소일 수도, 한쪽으로는 오르고 다른 쪽으로는 내려가는 안장점⁠(saddle point)⁠일 수도 있고, 극소라 해도 최소라는 보장이 없습니다. k-평균 군집⁠(k-means clustering)⁠이 나쁜 시작에서 멈추는 것도 같은 모양입니다. 경사 하강법이 보장하는 것은 이 정도입니다. 기울기가 갑자기 바뀌지 않는 함수에서 η를 충분히 작게 잡으면 f가 걸음마다 줄어들고, 아래로 끝없이 내려가는 함수가 아닌 한 기울기가 0에 다가갑니다. 그릇처럼 어디서나 위로 휜 함수(볼록 함수)라면 극소가 곧 최소라서, 이때는 가장 낮은 곳에 다가간다고 말할 수 있습니다.

곡률까지 쓰는 뉴턴 방법⁠(Newton's method)⁠은 이차함수라면 한 걸음에 바닥에 닿지만, 변수가 n개면 n × n 헤세 행렬을 만들고 연립방정식을 풀어야 합니다. 변수가 수백만에서 수십억 개인 신경망⁠(neural network)⁠에서는 그럴 수 없어서, 기울기만 쓰는 경사 하강법과 그 변형을 씁니다. 그 기울기는 역전파⁠(backpropagation)⁠로 구합니다. 데이터가 많을 때의 손실은 예 하나하나의 손실의 평균⁠(mean)⁠이고 기울기도 평균입니다. 매번 전부 계산하는 대신 무작위로 고른 몇 개(미니배치⁠, minibatch⁠)로 기울기를 어림하는 것이 확률적 경사 하강법(SGD)입니다. 그 어림은 기댓값⁠(expected value)⁠이 참 기울기와 같은 잡음 섞인 추정이라 걸음이 조금씩 비틀거리지만 훨씬 쌉니다. 지난 걸음의 방향을 관성⁠(inertia)⁠처럼 이어 가는 모멘텀⁠(momentum)⁠, 변수마다 걸음 크기를 따로 맞추는 Adam 같은 변형도 널리 쓰입니다. 방법 자체는 1847년 코시가 연립방정식을 풀려고 제안한 것으로 흔히 꼽힙니다.

이어지는 곳. 최소제곱 회귀⁠(least-squares regression)⁠의 오차 제곱합은 그릇 모양이라 공식으로 바로 풀 수 있지만, 자료가 아주 크면 경사 하강법으로 풀기도 합니다. 퍼셉트론⁠(perceptron)⁠의 학습 규칙도 점 하나씩 밟는 경사 하강으로 볼 수 있습니다. 학습 데이터⁠(training set)⁠의 손실을 끝까지 줄이는 것이 늘 좋지는 않아서, 따로 떼어 둔 검증 데이터⁠(validation set)⁠의 오차가 오르기 시작하면 멈추는 조기 종료⁠(early stopping)⁠로 과적합⁠(overfitting)⁠을 막기도 합니다. η를 한없이 작게 하면 경로는 미분방정식 x⃗˙=−∇f(x⃗)\dot{\vec x} = -\nabla f(\vec x)의 풀이로 다가가는데, 이차함수에서는 이것이 선형 미분방정식⁠(linear differential equation)⁠입니다.

이 개념이 나오는 긴 글

미분에서 회전까지 · 1편 · 미분 순간의 속도 속도계는 '지금 이 순간'의 속도를 보여 준다. 순간에는 시간이 흐르지 않는데, 무엇을 재는 걸까? 최소제곱과 선형대수 잃어버린 소행성 1801년, 발견 몇 주 만에 태양 뒤로 사라진 세레스. 스물네 살의 가우스는 흩어진 관측값에서 궤도를 되찾았다. 계산언어학 말을 세는 기계 문법은 규칙일까, 확률일까? 파니니의 문법에서 촘스키의 위계, 섀넌의 영어 엔트로피, 오늘날의 언어 모델까지. 신경망과 기계 학습 배우는 기계 예를 보여 주면 규칙을 스스로 찾는 기계. 1958년의 퍼셉트론에서 오늘의 심층 신경망까지, 그 밑바닥에는 미분과 연쇄법칙이 있다. 언어 모델 다음 단어를 맞히는 기계 다음 낱말을 짐작하는 일만으로 어디까지 갈 수 있을까? 마르코프의 글자 세기에서 섀넌의 추측 게임, 트랜스포머와 규모의 법칙, 사람의 선호까지. 밑바닥에는 확률의 곱셈 규칙과 로그 하나가 있고, 그 수학은 모델이 왜 그럴듯하게 틀리는지도 말해 준다. 라플라시안 라플라시안, 가장 많이 재사용된 식 이웃의 평균에서 나를 뺀다. 이 한 줄이 열의 법칙이고, 도박꾼이 이길 확률이고, 전기 회로와 나무 세기이고, 북의 음색이고, 사진의 윤곽선이고, 그래프를 가르는 칼이고, 잡음에서 그림을 빚는 확산 모델의 밑그림이다. 게임과 증명 이기는 쪽이 존재한다 "이 판은 백이 이겼다"는 흑이 어떻게 두든 백에게 답이 있다는 말이다. 체스의 체르멜로 정리, ε–δ, 님의 이진법, 폰 노이만의 최소최대와 쌍대성, 논리의 한계를 재는 게임, 끝나지 않는 게임과 선택공리, 대화로 읽는 증명, 겨루며 배우는 신경망까지. 수학의 참을 두 사람의 게임으로 읽는다.

이 개념 위에 세워진 것

이 개념을 언급하는 페이지

이 페이지가 가리키는 개념