본문으로 건너뛰기

다변수 미분 — 기울기에서 Jacobian, Hessian까지

Calculus 4/5. 입력이 벡터가 되는 순간 "기울기 하나"로는 부족해집니다. 미분을 "최적 선형 근사"로 정의해 두었기 때문에 확장은 자연스럽습니다: 선형 근사가 수에서 벡터(gradient)로, 벡터에서 행렬(Jacobian)로 승격될 뿐입니다. 딥러닝의 모든 미분이 이 페이지의 언어로 쓰입니다.

편미분 (Partial Derivative)

f:RnRf: \mathbb{R}^n \to \mathbb{R} 에서, 다른 변수를 고정하고 xix_i 방향으로만 미분한 것:

fxi(a)=limh0f(a+hei)f(a)h\frac{\partial f}{\partial x_i}(\mathbf{a}) = \lim_{h \to 0} \frac{f(\mathbf{a} + h\,\mathbf{e}_i) - f(\mathbf{a})}{h}

편미분은 좌표축 방향의 단면 기울기일 뿐입니다. 모든 편미분이 존재해도 함수가 "미분 가능"하지 않을 수 있다는 점이 일변수와 다릅니다 — 축 방향만 착해 보이고 대각 방향으로 불연속인 함수가 존재합니다. 그래서 다변수의 진짜 정의는 선형 근사로 갑니다.

전미분 가능성 = 선형 근사의 존재

f:RnRmf: \mathbb{R}^n \to \mathbb{R}^ma\mathbf{a} 에서 미분 가능하다는 것은, 선형 사상(행렬) JJ 가 존재해서:

f(a+h)=f(a)+Jh+o(h)f(\mathbf{a} + \mathbf{h}) = f(\mathbf{a}) + J\,\mathbf{h} + o(\|\mathbf{h}\|)

JRm×nJ \in \mathbb{R}^{m \times n}Jacobian 행렬이며, 성분은 편미분입니다:

Jij=fixjJ=(f1x1f1xnfmx1fmxn)J_{ij} = \frac{\partial f_i}{\partial x_j} \qquad J = \begin{pmatrix} \frac{\partial f_1}{\partial x_1} & \cdots & \frac{\partial f_1}{\partial x_n} \\ \vdots & \ddots & \vdots \\ \frac{\partial f_m}{\partial x_1} & \cdots & \frac{\partial f_m}{\partial x_n} \end{pmatrix}

충분조건: 편미분이 모두 존재하고 연속이면(C1C^1) 미분 가능합니다. 실무에서 다루는 함수 대부분이 여기 해당합니다.

Gradient — 출력이 스칼라인 경우

m=1m = 1 이면 Jacobian은 행벡터가 되고, 그 전치를 gradient 라 부릅니다:

f=(fx1,,fxn) ⁣f(a+h)f(a)+f(a)h\nabla f = \left( \frac{\partial f}{\partial x_1}, \dots, \frac{\partial f}{\partial x_n} \right)^{\!\top} \qquad f(\mathbf{a} + \mathbf{h}) \approx f(\mathbf{a}) + \nabla f(\mathbf{a})^{\top} \mathbf{h}

방향도함수와 최급상승

단위벡터 u\mathbf{u} 방향의 변화율(방향도함수)은:

Duf=fu=fcosθD_{\mathbf{u}} f = \nabla f^{\top} \mathbf{u} = \|\nabla f\| \cos\theta

Cauchy–Schwarz에 의해 이 값은 u\mathbf{u}f\nabla f 방향일 때 최대입니다. 즉:

  • gradient는 함수가 가장 가파르게 증가하는 방향이고, 크기는 그 방향의 기울기입니다.
  • 등고선(level set)에 항상 수직입니다.
  • 따라서 f-\nabla f 방향으로 이동하는 것이 국소적으로 가장 빠른 감소 — 경사하강법(xxηf\mathbf{x} \leftarrow \mathbf{x} - \eta \nabla f)의 존재 이유입니다.

다변수 연쇄법칙 = Jacobian의 곱

f:RnRmf: \mathbb{R}^n \to \mathbb{R}^m, g:RmRkg: \mathbb{R}^m \to \mathbb{R}^k 일 때:

Jgf(x)=Jg(f(x))Jf(x)J_{g \circ f}(\mathbf{x}) = J_g\big(f(\mathbf{x})\big) \cdot J_f(\mathbf{x})

일변수에서 "기울기의 곱"이던 것이 행렬 곱으로 승격됐을 뿐, 내용은 동일합니다("선형 근사의 합성은 선형 사상의 곱"). 신경망 L=(fL(f2(f1(x))))L = \ell(f_L(\cdots f_2(f_1(\mathbf{x})))) 의 gradient가 층별 Jacobian의 곱이 되는 것이 정확히 이 공식이고, 곱하는 순서(왼쪽부터 vs 오른쪽부터)가 forward/reverse 모드 자동미분의 차이를 만듭니다.

스칼라 경로로 풀어 쓰면 익숙한 꼴이 됩니다. z=g(y1,,ym)z = g(y_1, \dots, y_m), yj=fj(x)y_j = f_j(x) 일 때:

dzdx=j=1mzyjdyjdx\frac{dz}{dx} = \sum_{j=1}^{m} \frac{\partial z}{\partial y_j} \frac{d y_j}{dx}

"모든 경로의 기여를 더한다" — 계산 그래프에서 한 노드로 들어오는 gradient를 전부 합산하는 역전파 규칙이 이 식입니다.

Hessian — 2차 정보

f:RnRf: \mathbb{R}^n \to \mathbb{R} 의 2계 편미분을 모은 행렬:

Hij=2fxixjH_{ij} = \frac{\partial^2 f}{\partial x_i\, \partial x_j}
  • Schwarz 정리: 2계 편미분이 연속이면 Hij=HjiH_{ij} = H_{ji} — Hessian은 대칭 행렬입니다.
  • 2차 테일러 전개:
f(x+h)f(x)+fh+12hHhf(\mathbf{x} + \mathbf{h}) \approx f(\mathbf{x}) + \nabla f^{\top} \mathbf{h} + \frac{1}{2} \mathbf{h}^{\top} H\, \mathbf{h}
  • 임계점(f=0\nabla f = 0)에서의 판정: H0H \succ 0 (양의 정부호)이면 극소, H0H \prec 0 이면 극대, 고윳값 부호가 섞이면 안장점(saddle point). 고차원 손실 지형에서는 극대·극소보다 안장점이 압도적으로 많다는 것이 알려져 있습니다.
  • Hessian의 고윳값 비율(조건수)이 크면 손실 지형이 좁은 골짜기가 되어 경사하강이 지그재그로 느려집니다 — 전처리(preconditioning)·모멘텀·Adam이 완화하려는 문제입니다.
  • 통계 연결: 로그 가능도의 Hessian 기댓값에 음부호를 붙인 것이 Fisher 정보 행렬이고, Laplace 근사에서 사후분포의 공분산 역행렬 역할을 합니다.

행렬 미분 치트시트

ML 논문에서 반복 등장하는 항등식입니다. (a\mathbf{a}, b\mathbf{b} 는 상수 벡터, AA 는 상수 행렬, 분모 레이아웃)

f(x)f(\mathbf{x})f\nabla f비고
ax\mathbf{a}^{\top}\mathbf{x}a\mathbf{a}선형항
xAx\mathbf{x}^{\top} A \mathbf{x}(A+A)x(A + A^{\top})\,\mathbf{x}AA 대칭이면 2Ax2A\mathbf{x}
x2=xx\|\mathbf{x}\|^2 = \mathbf{x}^{\top}\mathbf{x}2x2\mathbf{x}위의 특수형 (A=IA = I)
Axb2\|A\mathbf{x} - \mathbf{b}\|^22A(Axb)2A^{\top}(A\mathbf{x} - \mathbf{b})최소제곱
lndetA\ln \det A/A=(A1)\partial/\partial A = (A^{-1})^{\top}가우시안 로그가능도

예제 — 최소제곱의 정규방정식: Axb2=0\nabla \|A\mathbf{x} - \mathbf{b}\|^2 = 0 을 풀면

AAx=AbA^{\top} A\, \mathbf{x} = A^{\top} \mathbf{b}

선형 회귀의 닫힌형 해가 gradient 계산 한 번에서 나옵니다. 다변량 가우시안의 MLE(평균·공분산 추정)도 같은 방식 — lndet\ln\det 항등식 포함 — 으로 유도됩니다.

요약

  • 다변수 미분의 정의는 일변수와 동일하게 "최적 선형 근사": 스칼라 출력이면 gradient, 벡터 출력이면 Jacobian.
  • 편미분 존재 ≠ 미분 가능. C1C^1 이면 안전합니다.
  • gradient는 최급상승 방향(등고선에 수직) — 경사하강법의 근거.
  • 연쇄법칙은 Jacobian 행렬의 곱이고, 곱 순서 선택이 자동미분의 forward/reverse 모드가 됩니다.
  • Hessian은 볼록성·안장점·조건수·Fisher 정보를 판정하는 2차 정보입니다.

다음: 미분과 최적화, 자동미분