야코비안
벡터값 함수 $\mathbf{f}: \mathbb{R}^n \to \mathbb{R}^m$의 선형 근사를 담은 행렬.
그래디언트가 스칼라 함수의 1차 미분이라면, 야코비안은 벡터 함수의 1차 미분이다.
정의
$\mathbf{f}(\mathbf{x}) = (f_1, f_2, \ldots, f_m)^T$, $\mathbf{x} = (x_1, \ldots, x_n)^T$ 일 때:
$$J = \frac{\partial \mathbf{f}}{\partial \mathbf{x}} =
\begin{pmatrix}
\dfrac{\partial f_1}{\partial x_1} & \dfrac{\partial f_1}{\partial x_2} & \cdots & \dfrac{\partial f_1}{\partial x_n} \\[10pt]
\dfrac{\partial f_2}{\partial x_1} & \dfrac{\partial f_2}{\partial x_2} & \cdots & \dfrac{\partial f_2}{\partial x_n} \\[10pt]
\vdots & \vdots & \ddots & \vdots \\[4pt]
\dfrac{\partial f_m}{\partial x_1} & \dfrac{\partial f_m}{\partial x_2} & \cdots & \dfrac{\partial f_m}{\partial x_n}
\end{pmatrix}_{m \times n}$$
$i$행 $j$열: $J_{ij} = \dfrac{\partial f_i}{\partial x_j}$
크기 기억법:
출력 개수 $m$개의 함수, 입력 변수 $n$개 → $J$는 $m \times n$ 행렬.
그래디언트는 $m=1$인 야코비안의 전치: $\nabla f = J^T$.
예시
예제 1 — $\mathbb{R}^2 \to \mathbb{R}^2$
$\mathbf{f}(x,y) = \begin{pmatrix} x^2 y \\ \sin(x + y) \end{pmatrix}$
$$J = \begin{pmatrix} 2xy & x^2 \\ \cos(x+y) & \cos(x+y) \end{pmatrix}$$
예제 2 — 극좌표 변환
$(r, \theta) \mapsto (x, y) = (r\cos\theta,\; r\sin\theta)$
$$J = \begin{pmatrix} \cos\theta & -r\sin\theta \\ \sin\theta & r\cos\theta \end{pmatrix}$$
행렬식(야코비안 행렬식): $\det J = r\cos^2\theta + r\sin^2\theta = r$
이중적분 변수 변환: $dx\,dy = r\,dr\,d\theta$의 $r$이 여기서 나온다.
예제 3 — $\mathbb{R}^3 \to \mathbb{R}^2$
$\mathbf{f}(x,y,z) = \begin{pmatrix} x^2 + yz \\ e^{xz} \end{pmatrix}$
$$J = \begin{pmatrix} 2x & z & y \\ ze^{xz} & 0 & xe^{xz} \end{pmatrix}_{2 \times 3}$$
야코비안 행렬식 (Jacobian Determinant)
정방행렬($m = n$)일 때 행렬식을 취할 수 있다. 변환이 국소적으로 넓이/부피를 얼마나 늘리거나 줄이는지를 나타낸다.
$$\det J = \left|\frac{\partial(f_1, \ldots, f_n)}{\partial(x_1, \ldots, x_n)}\right|$$
- $|\det J| > 1$: 넓이 팽창
- $|\det J| < 1$: 넓이 수축
- $\det J = 0$: 국소적으로 역변환 불가 (특이점)
- $\det J < 0$: 방향(orientation) 반전
연쇄 법칙 — 행렬 버전
$\mathbf{h} = \mathbf{f} \circ \mathbf{g}$ (합성 함수)의 야코비안:
$$J_{\mathbf{h}} = J_{\mathbf{f}}\big|_{\mathbf{g}(\mathbf{x})} \cdot J_{\mathbf{g}}\big|_{\mathbf{x}}$$
스칼라 연쇄 법칙 $h' = f'(g(x)) \cdot g'(x)$의 행렬 일반화다.
역함수 정리
점 $\mathbf{a}$에서 $\det J_{\mathbf{f}}(\mathbf{a}) \neq 0$ 이면, $\mathbf{a}$ 근방에서 $\mathbf{f}$는 국소적으로 역함수를 가진다.
$$J_{\mathbf{f}^{-1}} = \left(J_{\mathbf{f}}\right)^{-1}$$
머신러닝에서의 야코비안
역전파(backpropagation)에서 각 레이어의 야코비안이 연쇄 법칙으로 곱해지며 그래디언트를 전파한다.
배치 입력 $\mathbf{X} \in \mathbb{R}^{B \times n}$에서 손실 $L \in \mathbb{R}$ 까지의 경로:
$$\frac{\partial L}{\partial \mathbf{X}} = \frac{\partial L}{\partial \mathbf{Y}} \cdot J_{\mathbf{f}}$$
$J_{\mathbf{f}}$를 명시적으로 구성하는 대신 벡터-야코비안 곱(VJP)을 계산하는 것이 자동 미분(autodiff)의 핵심이다.
| 함수 형태 | 입력 | 출력 | 야코비안 크기 |
| 스칼라 함수 | $n$ | $1$ | $1 \times n$ (= $\nabla f^T$) |
| 벡터 함수 | $n$ | $m$ | $m \times n$ |
| 선형 변환 $A\mathbf{x}$ | $n$ | $m$ | $A$ 자체 |