수학 개념 지도
미적분(Calculus)

기울기 벡터와 야코비 행렬(Gradient and Jacobian)

변수가 여러 개인 함수⁠(function)⁠의 미분⁠(differentiation)⁠. 출력이 수 하나면 각 변수로 편미분⁠(partial derivative)⁠한 값을 모은 기울기 벡터⁠(gradient vector)⁠가 가장 가파르게 오르는 방향과 빠르기를 가리키고, 출력도 여러 개면 그 기울기⁠(slope)⁠들을 쌓은 야코비 행렬⁠(Jacobian matrix)⁠이 한 점 근처에서 함수를 흉내 내는 선형변환⁠(linear transformation)⁠이 된다.

∇f=(∂f∂x,∂f∂y),F(p⃗+h⃗)≈F(p⃗)+J h⃗,Jij=∂Fi∂xj\nabla f = \Bigl(\frac{\partial f}{\partial x}, \frac{\partial f}{\partial y}\Bigr), \qquad F(\vec p + \vec h) \approx F(\vec p) + J\,\vec h, \quad J_{ij} = \frac{\partial F_i}{\partial x_j}
먼저 보면 좋은 개념미분계수국소 선형성행렬

높이가 f(x,y)=x2+3y2f(x, y) = x^2 + 3y^2인 그릇 모양 땅에서 점 (1, 1)에 서 있다고 합시다. y는 그대로 두고 x 방향(동쪽)으로만 조금 가면 높이는 걸음의 2배 빠르기로 오르고, x는 그대로 두고 y 방향(북쪽)으로만 가면 6배 빠르기로 오릅니다. 다른 변수를 고정하고 한 변수로만 미분한 이 값을 편미분이라 하고 ∂f/∂x=2x=2\partial f/\partial x = 2x = 2, ∂f/∂y=6y=6\partial f/\partial y = 6y = 6처럼 씁니다. 둘을 모은 벡터⁠(vector)⁠ ∇f=(2,6)\nabla f = (2, 6)이 기울기 벡터(그래디언트⁠, gradient⁠)입니다.

비스듬히 가면 어떨까요? 방향 u⃗=(cos⁡θ,sin⁡θ)\vec u = (\cos\theta, \sin\theta)로 갈 때의 변화율(방향 미분⁠, directional derivative⁠)은 두 편미분을 방향 성분으로 섞은 Du⃗f=∇f⋅u⃗=2cos⁡θ+6sin⁡θD_{\vec u} f = \nabla f\cdot\vec u = 2\cos\theta + 6\sin\theta입니다. 작게 움직일 때의 변화가 x 방향 몫과 y 방향 몫의 합이 되는 까닭은 국소 선형성⁠(local linearity)⁠입니다. 매끄러운 곡면을 충분히 확대하면 평면(접평면⁠, tangent plane⁠)과 구별되지 않고, 평면 위에서는 높이의 변화가 방향 성분별로 그냥 더해집니다. 점 P를 끌고, 노란 손잡이로 방향을 돌려 보세요. 땅:

지금 ∇f=\nabla f = , 그 길이 ∣∇f∣=|\nabla f| = , 고른 방향의 변화율 Du⃗f=D_{\vec u} f = 입니다. 손잡이를 한 바퀴 돌리면 변화율은 ∇f 방향에서 ∣∇f∣|\nabla f|로 가장 크고, 반대 방향에서 −∣∇f∣-|\nabla f|로 가장 작으며, 그 사이의 수직인 두 방향에서 0입니다. 내적⁠(dot product)⁠으로 쓰면 Du⃗f=∣∇f∣cos⁡φD_{\vec u} f = |\nabla f|\cos\varphi(φ는 ∇f와 u 사이의 각)이기 때문입니다. 변화율이 0인 방향은 높이가 변하지 않는 방향, 곧 등고선의 방향입니다. 그래서 기울기 벡터는 (0이 아닌 한) 언제나 등고선에 수직이고, 가장 가파르게 오르는 방향을 가리킵니다. 왼쪽 그림의 보라 곡선이 P를 지나는 등고선, 보라 점선이 P에서 그은 그 접선⁠(tangent line)⁠인데, P를 어디로 옮겨도 청록 ∇f 화살표가 이 점선과 수직을 이룹니다. 경사 하강법⁠(gradient descent)⁠이 −∇f-\nabla f 쪽으로 걸음을 내딛고, 그 걸음이 등고선에 수직으로 출발하는 까닭입니다. 오른쪽 그래프는 P에서 u 방향으로 자른 단면 g(s)=f(P+su⃗)g(s) = f(P + s\vec u)이고, 청록 접선의 기울기가 Du⃗fD_{\vec u} f입니다. 여러 변수의 방향 미분도 결국 한 변수 함수의 미분입니다.

조심할 점이 있습니다. 편미분 두 개가 있다고 해서 이 모든 것이 성립하지는 않습니다. f(x,y)=xy/(x2+y2)f(x, y) = xy/(x^2 + y^2)(원점에서는 0으로 정함)는 원점에서 두 편미분이 모두 0이지만, 직선 y = x를 따라 원점에 다가가면 값이 늘 1/2이어서 원점에서 연속조차 아닙니다. 위의 식들이 성립하려면 f가 그 점에서 미분 가능해야 합니다. 곧 어떤 일차식 a⃗⋅h⃗\vec a\cdot\vec h가 f(P+h⃗)−f(P)f(P + \vec h) - f(P)를, ∣h⃗∣|\vec h|보다 빨리 0으로 가는 오차만 남기고 흉내 내야 합니다. 그때 그 a⃗\vec a가 ∇f입니다. 편미분들이 그 점 근처에서 있고 연속이면 미분 가능하다는 것이 알려져 있어서, 흔히 쓰는 매끄러운 함수는 이 조건을 만족합니다.

출력도 여러 개일 때. F(x,y)=(u,v)F(x, y) = (u, v)처럼 점을 점으로 보내는 함수를 생각합시다. 출력마다 기울기 벡터가 하나씩 있고, 그것들을 가로줄로 쌓은 행렬⁠(matrix)⁠이 야코비 행렬입니다.

J=[∂u/∂x∂u/∂y∂v/∂x∂v/∂y],F(P+h⃗)≈F(P)+J h⃗J = \begin{bmatrix} \partial u/\partial x & \partial u/\partial y \\ \partial v/\partial x & \partial v/\partial y \end{bmatrix}, \qquad F(P + \vec h) \approx F(P) + J\,\vec h

국소 선형성은 이제 이런 뜻이 됩니다. P 근처에서 F는 행렬 J로 나타나는 선형변환에 평행이동을 더한 것처럼 보입니다. 사상: , 작은 정사각형의 한 변 h =

왼쪽의 점 P(정사각형의 가운데)를 끌어 보세요. 오른쪽의 청록 영역은 정사각형이 F로 옮겨 간 실제 모양이고, 흰검은 점선 평행사변형은 J로 옮긴 모양입니다. 분홍과 주황 화살표는 P에서 가로, 세로로 h/2만큼 간 변위⁠(displacement)⁠이고, 오른쪽에서는 그 변위에 J를 곱한 것, 곧 J의 두 열에 h/2를 곱한 것입니다. 지금 이고 det⁡J=\det J = , 실제 넓이⁠(area)⁠의 비율은 입니다. h를 줄이면 휘어진 모양이 평행사변형에 달라붙고 넓이의 비율이 ∣det⁡J∣|\det J|에 다가갑니다. 곧 야코비 행렬식⁠(Jacobian determinant)⁠은 그 점 근처에서 넓이가 몇 배가 되는지를 말합니다(행렬식⁠(determinant)⁠). '극좌표⁠(polar coordinates)⁠'를 고르면 (r,θ)↦(rcos⁡θ,rsin⁡θ)(r, \theta) \mapsto (r\cos\theta, r\sin\theta)이고 det⁡J=r\det J = r입니다. 원점에서 멀수록 같은 크기의 dr dθdr\,d\theta 칸이 더 넓은 부채꼴 조각이 되기 때문이고, 가우스 적분⁠(Gaussian integral)⁠을 극좌표로 계산할 때 dx dydx\,dy 자리에 r dr dθr\,dr\,d\theta가 들어가는 까닭입니다(치환 적분⁠(integral)⁠의 다변수판). 'z²'은 복소수⁠(complex number)⁠의 곱셈 z↦z2z \mapsto z^2입니다. J가 늘 [a−bba]\begin{bmatrix} a & -b \\ b & a \end{bmatrix}, 곧 회전⁠(rotation)⁠과 확대를 합친 꼴이라서 작은 정사각형이 거의 정사각형인 모양으로 갑니다(각이 보존됩니다). det⁡J=0\det J = 0인 원점에서는 이 그림이 깨집니다. F가 연속적으로 미분 가능하고 det⁡J≠0\det J \ne 0인 점에서는 F를 그 근처에서 거꾸로 되돌릴 수 있다는 것이 역함수 정리입니다.

합성과 두 번째 미분. 함수를 이으면 야코비 행렬이 곱해집니다. JG∘F(P)=JG(F(P)) JF(P)J_{G\circ F}(P) = J_G(F(P))\,J_F(P)이고, 1변수 연쇄법칙⁠(chain rule)⁠은 이것의 1×1 경우입니다(행렬의 곱⁠, matrix multiplication⁠). 출력이 수 하나인 f의 야코비 행렬은 1×n 가로줄이고, 이것을 세로로 세운 것이 ∇f입니다. 한 번 더 미분한 값 ∂2f/∂xi∂xj\partial^2 f/\partial x_i\partial x_j를 모은 헤세 행렬⁠(Hessian matrix)⁠ H(독일 수학자 오토 헤세의 이름)는, 두 번 연속적으로 미분 가능하면 대칭이고 f(P+h⃗)≈f(P)+∇f⋅h⃗+12h⃗THh⃗f(P + \vec h) \approx f(P) + \nabla f\cdot\vec h + \tfrac12\vec h^{\mathsf T}H\vec h를 줍니다. H의 고유값⁠(eigenvalue)⁠은 그 고유벡터⁠(eigenvector)⁠ 방향으로 자른 단면의 이계도함수, 흔히 말하는 '그 방향의 휘는 정도'입니다. ∇f = 0인 점에서 고유값이 모두 양수면 극소, 모두 음수면 극대, 양수와 음수가 섞이면 '안장' 땅의 원점 같은 안장점입니다. 고유값에 0이 끼어 있으면 이것만으로는 가릴 수 없습니다. 두 번 미분할 수 있는 함수라면 H의 고유값이 어디서나 0 이상인 것이 곧 볼록 함수⁠(convex function)⁠라는 것입니다. 이차 근사의 바닥으로 한 번에 건너뛰는 걸음 −H−1∇f-H^{-1}\nabla f를 되풀이하는 것이 뉴턴 방법⁠(Newton's method)⁠입니다.

신경망⁠(neural network)⁠ 속의 야코비 행렬. 층 하나 y⃗=σ(Wx⃗+b⃗)\vec y = \sigma(W\vec x + \vec b)의 입력에 대한 야코비 행렬은 diag⁡(σ′(z⃗)) W\operatorname{diag}(\sigma'(\vec z))\,W, 곧 가중치⁠(weight)⁠ 행렬의 각 행에 활성화 함수⁠(activation function)⁠의 기울기를 곱한 것입니다(z⃗=Wx⃗+b⃗\vec z = W\vec x + \vec b). 층을 쌓으면 이 행렬들이 곱해집니다. 손실 L은 수 하나라서, 손실 쪽 끝부터 '가로줄 벡터 × 행렬'을 차례로 곱해 나가면 모든 기울기를 싸게 얻습니다. 이것이 역전파⁠(backpropagation)⁠이고, 아무 프로그램에나 쓸 수 있게 일반화한 것이 자동 미분⁠(automatic differentiation)⁠입니다. 가중치 행렬에 대한 기울기는 ∂L/∂W=δ⃗ x⃗T\partial L/\partial W = \vec\delta\,\vec x^{\mathsf T}(δ⃗=∂L/∂z⃗\vec\delta = \partial L/\partial\vec z) 꼴, 곧 세로 벡터와 가로 벡터의 곱인 계수 1 행렬입니다. 미니배치⁠(minibatch)⁠의 예 하나마다 이런 조각이 하나씩 더해집니다(특잇값 분해⁠(singular value decomposition)⁠).

이어지는 곳. 야코비 행렬과 행렬식은 1841년 이 행렬식을 체계적으로 다룬 야코비의 이름을 땄습니다. 제약이 있는 최적화⁠(optimization)⁠에서는 목표의 기울기가 제약의 기울기와 평행해야 한다는 조건이 나오는데, 그것이 라그랑주 승수법입니다. 기울기를 전부 계산하기에 데이터가 너무 많을 때 일부로 어림하는 것이 확률적 경사 하강법⁠(stochastic gradient descent)⁠입니다. 기울기가 0인 점을 찾는 일은 최적화의 첫걸음이고, x⃗˙=−∇f(x⃗)\dot{\vec x} = -\nabla f(\vec x)처럼 기울기를 따라 흐르는 운동은 동역학계⁠(dynamical system)⁠의 한 종류입니다. 평형점⁠(equilibrium)⁠ 근처의 흐름을 야코비 행렬의 고유값으로 판정하는 방법은 로렌츠 끌개⁠(Lorenz attractor)⁠와 선형 미분방정식⁠(linear differential equation)⁠에서 쓰입니다.

이 개념이 나오는 긴 글

미분에서 회전까지 · 1편 · 미분 순간의 속도 속도계는 '지금 이 순간'의 속도를 보여 준다. 순간에는 시간이 흐르지 않는데, 무엇을 재는 걸까? 신경망과 기계 학습 배우는 기계 예를 보여 주면 규칙을 스스로 찾는 기계. 1958년의 퍼셉트론에서 오늘의 심층 신경망까지, 그 밑바닥에는 미분과 연쇄법칙이 있다. 언어 모델 다음 단어를 맞히는 기계 다음 낱말을 짐작하는 일만으로 어디까지 갈 수 있을까? 마르코프의 글자 세기에서 섀넌의 추측 게임, 트랜스포머와 규모의 법칙, 사람의 선호까지. 밑바닥에는 확률의 곱셈 규칙과 로그 하나가 있고, 그 수학은 모델이 왜 그럴듯하게 틀리는지도 말해 준다. 범주론 화살표만으로 본 수학 최대공약수와 교집합과 '그리고'는 같은 것이고, 화살표를 뒤집으면 최소공배수와 합집합과 '또는'이 된다. 무엇으로 만들었는지 묻지 않고 어떻게 이어지는지만 보는 언어로, '자연스럽다'는 말의 뜻, 관계만으로 대상을 알아보는 요네다의 생각, 함자로 본 연쇄법칙, 어디에나 있는 수반까지 사이트의 여러 분야를 가로지른다.

이 개념 위에 세워진 것

이 개념을 언급하는 페이지

이 페이지가 가리키는 개념