자코비안(Jacobian) 행렬의 기하학적 의미

 

※ Jacobian matrix의 정식 한글 명칭은 ‘야코비 행렬’인 것으로 보이나 통상적으로 많이 사용하는 ‘자코비안 행렬’로 부르고자 합니다.

※ 본 article에서는 열벡터(column vector) convention을 따릅니다.

※ 본 포스팅은 Grant Sanderson의 Khan Academy Jacobian 강의로부터 대부분의 내용을 차용했음을 밝힙니다.

Khan Academy 영상 출처: https://www.khanacademy.org/math/multivariable-calculus/multivariable-derivatives/jacobian/v/jacobian-prerequisite-knowledge

prerequisites

Jacobian 행렬의 기하학적 의미를 이해하기 위해선 다음의 내용에 대해 숙지하고 오는 것이 좋습니다.

자코비안 행렬의 정의

조금 복잡해 보이겠지만, 우선은 자코비안 행렬의 정의에서부터 이야기를 시작해보자.

$n$차원 벡터 $x\in\mathbb{R}^n$를 입력으로 받고 $m$차원 벡터 $f(x)\in\mathbb{R}^m$를 출력으로 생성하는 벡터 함수 $f: \mathbb{R}^n \rightarrow \mathbb{R}^m$가 있다고 가정해보자.

이 때, 이 함수의 1차 편미분이 $\mathbb{R}^n$의 실수 벡터 공간에서 존재한다고 하면, 자코비안은 다음과 같이 $m\times n$ 행렬로 정의할 수 있다.

\[J = \begin{bmatrix} \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{bmatrix}\]

자코비안 행렬의 복잡한 수식을 보자마자 알 수 있는 것 중 하나는 자코비안 행렬의 원소들은 모두 1차 미분 계수로 구성되어 있다는 점이다. 또, 자코비안 행렬은 미소 변화에 관한 선형 변환이라는 것을 알 수 있다.

사실, 자코비안이 말하고자 하는 것은 미소 영역에서 ‘비선형 변환’을 ‘선형 변환으로 근사’ 시킨 것이다.

이에 대해선 차근히 더 이해해보도록 하자.

다변수함수의 chain rule

Jacobian 행렬을 이해하기에 앞서, 가장 핵심적인 내용인 chain rule에 대해 짧게 짚고 넘어가보자.

일반적으로 다변수함수라고 하면 2개 이상의 입력을 갖는 함수를 생각할 수 있지만, 추후에 볼 예시는 모두 2차원 평면상에 표시할 수 있는 함수를 이용해 진행할 것이기 때문에 이변수함수에 한정해 chain rule을 알아보도록 하자.

이변수 함수 $z = f(x,y)$에 대해 $x = g(t)$, $y = h(t)$이고, $f(x,y)$, $g(t)$, $h(t)$가 모두 미분 가능한 함수이면

\[\frac{dz}{dt} = \frac{\partial z}{\partial x}\frac{dx}{dt} + \frac{\partial z}{\partial y}\frac{dy}{dt}\]

이다.

위 식을 약간 변형하면 다음과 같이 쓸 수 있다.

\[dz = \frac{\partial z}{\partial x}dx + \frac{\partial z}{\partial y}dy\]

Jacobian 행렬의 기하학적 의미

비선형 변환

행렬과 선형변환에서는 선형대수학의 기본정리를 설명하였다. 한 마디로 행렬은 선형 변환이라는 것이었다.

기하학적으로 선형변환이란 다음과 같은 특징을 가진 변환이다.

  1. 변환 후에도 원점의 위치가 변하지 않고,
  2. 변환 후에도 격자들의 형태가 직선의 형태를 유지하고 있으며,
  3. 격자 간의 간격이 균등해야 한다.

대표적인 선형변환인 shear 행렬의 선형변환 애니메이션을 보도록 하자.

선형변환 예시: shear matrix

\[\begin{bmatrix} 2 & 1 \\ 1 & 2 \end{bmatrix}\]

위의 shear matrix의 변환 전, 후의 격자의 형태를 보면 위의 세 가지 선형 변환의 기하학적 특성을 만족시키는 것을 알 수 있다.

반면, 비선형 변환은 쉽게 말하면 선형변환이 아닌 변환을 통칭한다고 할 수 있을 것 같다.

아래의 비선형 변환의 예시를 보고, 기하학적으로 선형변환의 특징을 가지지 않는다는 것을 시각적으로 확인해보자.

비선형 변환 예시

\[f(x,y) = \begin{bmatrix} x + \sin(y/2) \\ y + \sin(x/2)\end{bmatrix}\]

비선형 변환 결과를 국소적으로 관찰하면?

앞서 자코비안의 정의에 대해 알아볼 때 자코비안이 말하고자 하는 것은 미소 영역에서 ‘비선형 변환’을 ‘선형 변환으로 근사’ 시킨 것이라고 언급한 바가 있다. 그렇다면 정말 비선형 변환을 미소 영역에서 본다면 선형 변환으로 충분히 근사할 수 있는 것일까?

아래의 시각적 예시를 확인해보자.

왼쪽 그래프에 있는 흰색 박스의 장면을 확대 해놓은 것이 오른쪽 그래프에 그려져 있다.

위 비선형 변환의 국소적 관찰에 관련된 Javascript applet의 마지막 장면은 아래의 그림 1과 같다.

그림 1에서 볼 수 있듯이 비선형 변환을 국소적으로 관찰하면 변환 후에도 격자들의 형태가 직선 형태에 가까우며 격자들 간의 간격도 균등하게 유지되고 있는 것을 알 수 있다.


그림 1. 비선형 변환을 국소적으로 관찰하면 선형변환으로 근사시켜 생각할 수 있다.

그렇다면, 처음 언급했던 선형변환의 기하학적 특징 중 원점의 위치가 변하지 않는 것은 어떻게 해결할까?

아래의 그림 2에서 볼 수 있듯이 변환하고자 하는 $(x_0, y_0)$에서의 점을 원점이라 생각하고 근사하고자 하는 행렬을 얻으면 그것이 비선형 변환을 선형 변환으로 근사시킨 행렬인 ‘자코비안 행렬’을 얻을 수 있게 되는 것이다.


그림 2. 자코비안 행렬은 비선형 변환을 선형 변환으로 근사시킨 결과이다.
출처: https://math.stackexchange.com/questions/951917/what-do-i-do-with-these-equations-to-create-a-jacobian-matrix

Jacobian 행렬의 유도

이젠 자코비안 행렬이 비선형 변환을 국소적으로 선형변환으로 근사한 것이라는 사실을 알았으니 직접 자코비안 행렬을 유도해보도록 하자.

아래의 그림과 같이 비선형 변환의 결과를 선형 변환과 유사하게 근사시켰을 때 $(u,v)$ 좌표계에서 $(x,y)$ 좌표계로 변하는 경우로 볼 수 있다고 상정해보자.


그림 3. 비선형 변환 전, 후의 미소 변위 간의 관계

그러면 어떤 선형변환 $J$에 의해서 $du$와 $dv$는 $dx$와 $dy$로 변환된다고 볼 수 있다.

수식으로 나타내면 다음과 같다.

\[\begin{bmatrix} dx \\ dy \end{bmatrix} = J \begin{bmatrix}du \\ dv\end{bmatrix} = \begin{bmatrix} a & b \\ c & d \end{bmatrix} \begin{bmatrix} du \\ dv \end{bmatrix}\]

위 수식을 풀어서 쓰면 다음과 같은데,

\[dx = a\times du + b\times dv\] \[dy = c \times du + d \times dv\]

위 두 수식은 chain rule을 통해 얻은 식 (3)을 통해 생각하면 국소적 비선형 변환의 전 후의 관계식을 얻을 수 있으므로, 자코비안 행렬은 다음과 같이 생각할 수 있다.

\[J = \begin{bmatrix} \frac{\partial x}{\partial u} & \frac{\partial x}{\partial v} \\ \frac{\partial y}{\partial u} & \frac{\partial y}{\partial v} \end{bmatrix}\]

Jacobian 행렬의 행렬식

행렬식의 기하학적 의미편에서는 행렬식은 선형변환 할 때 단위 면적이 얼마만큼 늘어나는가를 나타낸다고 언급하였다.

아래의 그림 4에서 볼 수 있듯이 선형 변환 전의 사각형의 넓이가 1이었다면 선형 변환 후에는 행렬식 값 만큼의 넓이인 $ad-bc$로 사각형이 변형된다.


그림 4. 행렬식의 기하학적 의미. 행렬식은 선형 변환 할 때 단위 면적이 얼마만큼 늘어나는가를 말해준다.

따라서, Jacobian의 행렬의 행렬식의 의미는 원래 좌표계에서 변환된 좌표계로 변환될 때의 넓이의 변화 비율을 말해준다.

아래의 그림 5에서 $(u, v)$ 좌표계에서 $(x, y)$ 좌표계로 변환 될 때, $dx\times dy$와 $du\times dv$의 관계는 다음과 같다.

\[dx\times dy = |J| (du\times dv)\]

여기서 $|J|$는 Jacobian 행렬의 행렬식을 의미한다.

(여기서 $\times$ 기호는 단순 곱셈 기호이지 외적 기호가 아니다.)


그림 5. 행렬식의 기하학적 의미. 행렬식은 선형 변환 할 때 단위 면적이 얼마만큼 늘어나는가를 말해준다.

Jacobian 행렬식 사용 예시

이번에는 자코비안을 이용해서 원의 넓이를 구해보는 예시를 수행해보도록 하자.

원의 넓이를 구하는 방법은 여러가지가 있을 수 있지만 $r, \theta$ 좌표계에서 원의 넓이를 구하는 방법을 이용하는 것도 한 가지 방법이다.

그렇다면 Jacobian을 이용해서 $r, \theta$ 좌표계에서 원의 넓이를 구한다는 것은 무슨 의미일까?

그것은, 가로축이 $r$이고 세로축이 $\theta$인 좌표계에서 무엇인가를 계산한 뒤(여기서는 해당 $r, \theta$ 좌표계에서의 넓이) 가로축이 $x$, 세로축이 $y$인 좌표계로 변환을 시켜주겠다는 의미이며,

여기서 Jacobian 행렬식의 역할은 좌표계 간의 변환 시 필요한 넓이의 보정값이라고 할 수 있다.

이를 이해하기 위해 아래의 두 애니메이션을 관찰해보자.


위 애니메이션의 첫 장면에서는 $r, \theta$ 좌표게에 있던 점들을 볼 수 있는데, 애니메이션의 후반부에서는 이 점들이 $x, y$ 좌표게로 옮겨지는 것을 알 수 있다.

이 과정에서 왼쪽 애니메이션의 경우에는 결과 부분에서 원의 넓이가 듬성 듬성하게 보이지만, 오른쪽 애니메이션의 경우 원의 넓이가 어느정도는 꽉 차 보이는 것을 알 수 있다.

이 때, 적절히 꽉 채워줄 만큼의 넓이 보정값이 Jacobian의 행렬식 값이 되는 것이다.

$r, \theta$ 좌표게에서 $x,y$ 좌표계로의 변환 공식은 아래와 같다.

\[\begin{bmatrix}x \\ y \end{bmatrix} = \begin{bmatrix}r\cos(\theta) \\ r\sin(\theta)\end{bmatrix}\]

이 공식에서 Jacobian 행렬을 계산하면,

\[J = \begin{bmatrix} \frac{\partial x}{\partial r} & \frac{\partial x}{\partial \theta} \\ \frac{\partial y}{\partial r} & \frac{\partial y}{\partial \theta} \end{bmatrix}\] \[= \begin{bmatrix}\cos(\theta) & -r\sin(\theta) \\ \sin(\theta) & r\cos(\theta)\end{bmatrix}\]

이며, Jacobian의 행렬식 값을 계산하면 다음과 같다.

\[|J| = r\cos^2(\theta) + r\sin^2(\theta) = r\]

이제 이 Jacobian의 행렬식 값을 이용해 $r,\theta$ 좌표계에서 반지름이 3인 원의 넓이를 계산해보자.

\[\int_{r=0}^{r=3}\int_{\theta = 0}^{\theta = 2\pi}dxdy\] \[=\int_{r=0}^{r=3}\int_{\theta = 0}^{\theta = 2\pi}|J|drd\theta\] \[=\int_{r=0}^{r=3}\int_{\theta = 0}^{\theta = 2\pi}r drd\theta\] \[=\int_{r=0}^{r=3}r\theta|_{\theta = 0}^{\theta = 2\pi}dr\] \[=2\pi \frac{1}{2}r^2|_{r=0}^{r=3}\] \[=2\pi\cdot \frac{1}{2}3^2 = 3^2\pi\]


그림 6. $r, \theta$ 좌표계에서 $x, y$ 좌표계로의 선형 변환
출처: 8일간의 선형대수학, 경문사, 박부성 지음