Normalizing Flow의 모든 설계 결정은 하나의 제약에서 나온다
Change of variables 공식의 두 조건 — invertibility와 tractable Jacobian — 이 어떻게 Coupling, Autoregressive, Continuous Flow의 architecture를 각각 다르게 강제하는지 추적한다.
- 01 생성 모델의 통합 프레임워크 — 무엇을 배우는가
- 02 Autoregressive 모델은 왜 모든 modality를 생성할 수 있는가
- 03 VAE는 왜 latent를 포기하는가
- 04 Normalizing Flow의 모든 설계 결정은 하나의 제약에서 나온다
- 05 GAN은 왜 그토록 불안정한가
- 06 DDPM의 수학은 하나의 질문으로 수렴한다
- 07 생성 모델의 다섯 계보는 왜 하나의 질문에서 갈라지는가
Normalizing Flow는 VAE의 ELBO가 아니라 정확한 를 계산한다. 이 사실 하나가 모든 것을 결정한다. Flow의 각 architecture는 서로 다른 설계처럼 보이지만, 사실 모두 같은 두 제약 — invertibility와 tractable Jacobian determinant — 을 각기 다른 방식으로 타협한 결과다. 왜 이 두 제약이 그토록 강력한 inductive bias가 되는가?
출발점: 확률 질량 보존
Change of variables 공식은 단순하다.
직관은 더 단순하다. 가 공간을 늘리면 density는 반비례로 줄어야 전체 확률 질량이 1로 보존된다. 가 그 부피 변화율이다.
체인 로 확장하면:
이 공식이 Flow에 주는 것은 세 가지다. Exact likelihood — 근사가 아니다. Trivial sampling — 에서 샘플링 후 적용. Exact latent inference — 가 결정론적.
그런데 문제가 있다. 의 일반적 계산 비용은 다. 이면 매 forward pass마다 ops — 실용적이지 않다. 이것이 모든 Flow architecture를 만들어낸 문제다.
첫 번째 해법: 삼각 Jacobian (RealNVP / Glow)
가 하삼각 행렬이면 이다. 계산 비용 .
RealNVP의 affine coupling layer는 이 성질을 architecture에 직접 구워 넣는다.
는 그대로 통과, 만 에 의존하는 affine 변환. Jacobian의 블록 구조:
하삼각 블록 형태이므로 — 계산. 는 임의의 NN이어도 된다. Invertibility는 architecture가 보장한다: .
Glow는 여기에 Invertible Convolution을 더한다. 채널 차원에 를 적용하면 . 로 분해하면 — 다시 . 고정 alternating mask 대신 학습 가능한 channel mixing.
Coupling layer는 forward와 inverse 모두 병렬이라 양방향 효율이 좋다. 대신 매 layer마다 절반의 입력이 변형되지 않는다 — information bottleneck. 이를 보상하려면 수십 개의 layer를 쌓아야 한다. 깊이가 expressive함을 결정한다.
두 번째 해법: 자기회귀 순서 (MAF / IAF)
Coupling의 “절반은 그대로”라는 제약을 피하려면? 모든 차원을 변형하되, 자기회귀 순서를 이용해 triangular Jacobian을 구성한다.
MAF(Masked Autoregressive Flow):
for — 하삼각 구조. .
하지만 비대칭이 생긴다. Density 계산 방향 (): 가 전부 알려져 있으므로 MADE masking으로 모든 를 한 번에 병렬 계산. Sampling 방향 (): 에서 을 먼저 구해야 를 구할 수 있다 — 순차.
IAF(Inverse Autoregressive Flow)는 conditioning 변수를 뒤집는다:
가 한 번에 샘플링되면 모든 를 병렬 계산 가능 — sampling 병렬, density 순차. 정반대의 효율 구조다.
| Density 계산 | Sampling | |
|---|---|---|
| Coupling | 병렬 | 병렬 |
| MAF | 병렬 | 순차 |
| IAF | 순차 | 병렬 |
MAF는 density estimation(이상 탐지)에, IAF는 VAE의 expressive posterior나 Parallel WaveNet의 student model에 쓰인다. 같은 변환 family를 표현하지만 효율의 비대칭이 사용처를 결정한다.
세 번째 해법: 연속 시간 ODE (CNF / FFJORD)
Coupling도, autoregressive도, 아무 architectural restriction도 원하지 않는다면? ResNet block 의 극한을 취한다.
이것이 Neural ODE다. 는 임의의 NN이어도 된다 — coupling pattern도, autoregressive mask도 필요 없다. Invertibility는 ODE를 역방향으로 적분하면 자동으로 얻어진다.
Density의 시간 변화는 continuity equation으로 유도된다:
Discrete flow의 가 continuous 버전에서 가 된다.
이면 .
.
FFJORD은 이 추정량을 CNF에 적용한다. 을 autograd의 JVP 한 번으로 계산 — stochastic 추정. determinant에서 로.
CNF는 free-form NN으로 이론상 가장 expressive하다. 대가는 ODE solver 비용이다. Adaptive solver(Dopri5)의 NFE(Number of Function Evaluations)는 문제 난이도에 따라 20~1000회 NN forward pass를 요구한다. Discrete flow의 상수 번과 달리 가변 비용이다. Hutchinson estimator의 분산도 학습 불안정성을 유발한다.
Diffusion과의 통합
CNF의 vector field가 score 와 연결된다는 사실은 이 framework의 범위를 드러낸다.
Score-SDE의 forward process에 대한 Probability Flow ODE:
이 ODE의 marginal이 SDE와 동일하다. Diffusion의 결정론적 sampling은 CNF다. Score는 vector field의 특수한 parameterization이다.
Diffusion이 CNF보다 실용적인 이유가 여기 있다. CNF는 vector field 를 직접 학습하면서 tracking 비용을 감수한다. Diffusion은 denoising score matching으로 Jacobian 계산을 우회한다 — 같은 ODE framework 안에서 더 효율적인 학습 신호.
정리
- Flow의 모든 설계 결정은 를 에서 로 줄이는 방법의 차이다.
- Coupling (RealNVP/Glow)은 양방향 병렬이지만 매 layer 절반이 변형되지 않는다.
- MAF는 density 병렬, IAF는 sampling 병렬 — 같은 family의 비대칭 duality.
- CNF는 제약이 없지만 ODE solver 비용과 stochastic trace 분산이 대가다.
- Diffusion은 CNF와 같은 ODE framework 위에서 score-based 학습으로 Jacobian 추적을 우회해 현재의 SOTA를 점한다.
“Exact likelihood”가 항상 “best generative model”을 의미하지는 않는다. Architecture의 inductive bias와 학습 신호의 질이 sample quality를 결정한다.