[UDL 스터디 노트] 16장 - Normalizing Flows

한창훈
October 29, 2025

[UDL 스터디 노트] 16장 - Normalizing Flows

Use Original Cover Image
Type
Post
Children
Language
ko
Tags
Deep Learning
VAE
Normalizing Flow
DensityEstimation
GLOW
Authors
한창훈
Published
October 29, 2025

개요

해당 포스팅 시리즈는 “Unerstanding Deep Learning” 책을 학습하는 과정을 기록하는 스터디 노트이다.
이번에는 16장, Normalizing Flow에 대해 다룬다.

1. Likelihood and Invertibility

16장에서는 Normalizing Flow를 다루며, “확률 분포를 가역적인 방식으로 변환한다”는 개념이 중심에 있었다.
이전 장(VAE)에서는 분포의 추정이 근사(approximation) 형태였던 반면, Flow에서는 정확한 확률(likelihood) 을 계산할 수 있다는 점이 매우 인상적이었다.
특히 $Pr(\bold x | \bold \phi)$ 와 같이 복잡한 데이터 분포를 단순한 base distribution $p(\bold z)$ 로부터
변환 $f(\bold z, \bold \phi)$ 를 통해 직접 모델링한다는 점이 흥미로웠다.
단, 모든 layer가 invertible(가역적) 이어야 하며, Jacobian determinant를 효율적으로 계산해야 하는 제약이 존재했다.
이 구조적 제약 덕분에 “수학적으로 완벽히 정의된 생성 모델”이라는 안정감이 느껴졌다.

2. Residual Flows와 Contraction Mapping

Residual Flow를 다룰 때, Banach Fixed Point Theorem(바나흐 고정점 정리) 를 적용해
학습 과정이 수렴하도록 보장한다는 점이 새로웠다.
이전까지는 신경망의 안정성은 경험적으로 다뤄졌는데,
여기서는 수학적 수렴 조건( Lipschitz constant < 1 )으로 안정성을 증명한다는 점이 인상 깊었다.
특히 수식
y = z + f[z]
에서, $f$가 contraction mapping일 경우 반복적으로 적용해도
항상 하나의 고정점에 수렴한다는 개념이 매우 직관적이었다.
이로써 Flow 모델이 “표현력은 높되, 폭주하지 않는 구조”라는 확신을 주었다.

3. GLOW와 이미지 합성

GLOW 모델 부분에서는 Flow의 실전 응용이 드러났다.
GAN처럼 이미지를 생성하지만, GAN과 달리 확률 기반으로 해석 가능한 생성 모델이라는 점이 차별적이었다.
256×256×3의 이미지 텐서를 Coupling Layer와 1×1 Convolution으로 분해하고
해상도를 단계적으로 줄이는 multi-scale 구조가 효율적이었다.
특히 latent space에서 두 얼굴을 보간(interpolation)하여
자연스럽게 이어지는 이미지를 생성하는 과정은 Flow의 “가역성”이 얼마나 강력한지를 보여주었다.
다만, GLOW가 생성한 샘플은 GAN보다 약간 품질이 떨어졌고,
이는 invertible 구조가 주는 제약 때문이라는 점이 아쉬우면서도 합리적으로 느껴졌다.

4. Flow의 본질적 의의

Flow는 결국 “데이터를 수학적으로 완벽하게 모델링하려는 시도”로 보였다.
확률적 계산과 샘플 생성을 동시에 수행하며,
GAN의 불안정성이나 VAE의 근사적 한계를 극복하려는 접근이었다.
다른 생성 모델이 감으로 “좋은 샘플”을 찾는다면,
Flow는 정확한 수식 기반의 생성 모델
“좋음을 수학적으로 증명”하는 방향에 가깝다고 느껴졌다.

Reference

[1] Prince, S. J. D. (2023). Understanding Deep Learning. The MIT Press. Retrieved from http://udlbook.com