단점: 각 변환 fk는 (1) 역변환이 가능해야 하고 (2) 자코비안 행렬식(det(J))을 계산하기 쉬워야 합니다. 이 두 가지 제약 조건 때문에 RealNVP, Glow, MAF 등 특정 구조(예: coupling layers, autoregressive)만 사용해야 하는 아키텍처의 제약이 매우 큽니다.
2. Discrete NF 수식 유도
2.1. 확률 밀도 함수 (Probability Density Function, PDF)
우선 확률 밀도가 무엇인지부터 짚고 넘어가야 합니다.
이산(Discrete) vs. 연속(Continuous):
이산 확률 변수 (예: 주사위 눈)는 '확률 질량 함수(PMF)'를 가집니다. P(X=3)=1/6 처럼 특정 값에 대한 확률이 존재합니다.
연속 확률 변수 (예: 키, 몸무게)는 '확률 밀도 함수(PDF)', px(x)를 가집니다. 키가 정확히 175.0000...cm일 확률은 0입니다. (측정 가능한 점이 무한히 많기 때문)
PDF의 의미:px(x) 자체는 확률이 아닙니다. (그래서 1보다 클 수도 있습니다.) px(x)는 x 지점에서의 확률의 상대적인 밀도(촘촘함)를 나타냅니다.
확률 계산: 우리는 PDF를 적분해야만 확률을 얻을 수 있습니다. x가 a와 b 사이에 있을 확률은 a부터 b까지 PDF 곡선 아래의 면적입니다.
P(a≤x≤b)=∫abpx(x)dx
핵심 속성:x가 아주 작은 구간 dx 안에 존재할 "확률"은 px(x)⋅dx (즉, 그 지점의 높이 × 밑변)로 근사할 수 있습니다.
2.2. 자코비안 (Jacobian) 이란?
자코비안은 다변수 함수에서 "국소적인 변화율(스케일링 팩터)"을 나타내는 행렬입니다.
1D (1차원)의 경우: 도함수(Derivative) x∈R, y∈R이고 y=f(x)일 때, 도함수 dxdy는 x가 1만큼 변할 때 y가 얼마나 변하는지를 나타냅니다. 즉, x에서의 작은 길이 dx가 y에서의 길이 dy=dxdydx로 "스케일링"됩니다.
nD (다차원)의 경우: 자코비안 행렬(Jacobian Matrix) z∈Rn, x∈Rn이고 x=f(z)일 때, f는 n개의 입력(z1,…,zn)을 받아 n개의 출력(x1,…,xn)을 내보내는 함수입니다.
자코비안 Jf(z)는 이 변환의 모든 편미분(partial derivatives)을 모아놓은 행렬입니다.
자코비안 행렬식 (Jacobian Determinant)
우리가 정말 관심 있는 것은 이 행렬의 행렬식(Determinant)인 det(Jf(z)) 입니다.
이 스칼라 값은 z 공간에서의 아주 작은 부피(Volume)dVz가 f에 의해 x 공간으로 변환될 때, 그 부피 dVx가 얼마나 스케일링되는지를 알려줍니다.
dVx=∣det(Jf(z))∣⋅dVz
∣det(Jf)∣>1 : 부피가 팽창 (Stretching)
∣det(Jf)∣<1 : 부피가 수축 (Shrinking)
∣det(Jf)∣=1 : 부피가 보존
(부피는 항상 양수여야 하므로 절댓값∣⋅∣을 사용합니다.)
자코비안 예시
2차원 함수
{x=f1(u,v),y=f2(u,v)
를 생각해보자. 즉,
입력 공간 (u,v)의 한 점이 함수 f를 통해 (x,y)로 매핑되는 상황이다.
그리고 각 함수가 아래와 같다고 가정하자.
{x=2u+vy=u+3v
이 함수는 (u,v) 공간의 점을 (x,y) 공간으로 선형 변환(linear transformation) 시킨다.
각 성분을 u,v에 대해 편미분해서 자코비안 행렬을 만든다.
Jf(u,v)=[∂u∂x∂u∂y∂v∂x∂v∂y]=[2113]
이제 이 행렬의 행렬식(Determinant) 을 계산한다.
det(Jf)=(2)(3)−(1)(1)=6−1=5
이 말은 곧 다음을 의미한다:
(u,v) 공간의 아주 작은 면적 요소du,dv가, (x,y) 공간에서는 5배 커진 면적 dx,dy=5,du,dv가 된다는 뜻이다.
즉, 이 변환은 모든 방향에서 국소적으로 5배 확대되는 변환이다.
원래 (u,v) 공간에서 1×1 정사각형 (면적 1)을 생각하자.
이 정사각형은 (x,y) 공간으로 매핑되면 평행사변형(parallelogram) 이 된다.
그 평행사변형의 면적이 정확히 5배로 늘어난다.
즉,
면적변화비율=∣det(Jf)∣=5
요약
개념
수식
의미
자코비안 행렬
[2113]
각 축 방향의 국소적 변화율
자코비안 행렬식
det(Jf)=5
면적이 5배로 확대됨
스케일링 관계
dAxy=5,dAuv
(u,v) 공간의 면적 요소가 (x,y) 공간에서 5배 커짐
2.3. 첫 번째 공식 유도 (Change of Variables)
이제 이 두 개념을 합쳐서 첫 번째 공식을 유도해 보겠습니다.
기본 가정:
z는 간단한 분포 pz(z)를 따릅니다. (예: 가우시안)
x는 z를 변환하여 얻어집니다: x=f(z).
f는 역변환이 가능합니다: z=f−1(x).
우리는 x의 분포 px(x)를 알고 싶습니다.
핵심 원리: 확률 보존
변환 전후에 z가 아주 작은 부피 dVz 안에 존재할 확률과, 그에 대응하는 x가 dVx 안에 존재할 확률은 반드시 같아야 합니다. (확률은 어디로 사라지거나 생겨나지 않습니다.)
P(z∈dVz)=P(x∈dVx)
PDF로 표현하기 (1번 개념 적용)
위 확률을 PDF로 표현하면 다음과 같습니다.
pz(z)∣dVz∣=px(x)∣dVx∣
px(x)에 대해 정리하기
px(x)=pz(z)∣∣∣∣∣dVxdVz∣∣∣∣∣
여기서 ∣∣∣∣dVxdVz∣∣∣∣는 x 공간에서 z 공간으로 변환될 때의 부피 스케일링 팩터입니다.
자코비안 적용 (2번 개념 적용)
x에서 z로 가는 변환은 z=f−1(x) 입니다.
이 변환의 자코비안은 Jf−1(x)=∂x∂f−1 입니다.
따라서 x 공간의 부피 dVx가 z 공간의 부피 dVz로 변환될 때의 스케일링 팩터는 ∣∣∣∣det(∂x∂f−1)∣∣∣∣ 입니다.
즉, ∣∣∣∣dVxdVz∣∣∣∣=∣∣∣∣det(∂x∂f−1)∣∣∣∣ 입니다.
공식 완성
위 식을 4번에 대입하고, z=f−1(x) 관계도 대입하면 다음과 같습니다.
px(x)=pz(f−1(x))∣∣∣∣∣det(∂x∂f−1)∣∣∣∣∣
Log-Likelihood (로그 확률)
확률 값들은 매우 작아져서 곱셈 연산 시 수치적으로 불안정(underflow)할 수 있습니다. 그래서 log를 씌워 덧셈으로 바꿔줍니다.