Flow-based Generative Models
Flow-based Generative Models は、simple な base distribution から data distribution へ、invertible transformation を連続して適用することで generative model を構成する方法です。
Generative model の中での位置づけ
Generative model には、大きく分けていくつかの設計があります。Lilian Weng の記事では、GAN、VAE、Flow-based model の違いが整理されています。

画像出典: Lilian Weng, “Flow-based Deep Generative Models”。GAN、VAE、Flow-based model の違いが比較されています。
Flow-based model の特徴
Flow-based model の特徴は、次の三つです。
- Base distribution は、standard Gaussian などの扱いやすい distribution にします。
- Data と latent variable の間に invertible transformation を定義します。
- Change of Variables によって、exact likelihood を計算できます。
つまり、Flow-based model は、sample generation と density estimation の両方を明示的に扱える model です。
基本式
Invertible function によって、data と latent variable を対応させます。
Change of variables theorem によって、data density は次のように計算されます。
この式のため、Flow-based model では Jacobian determinant を効率よく計算できる architecture が重要になります。
数式で見る flow-based model の likelihood
Flow-based model は、単純な base distribution と可逆変換 によって data distribution を表します。Change of variables により、data likelihood は次のように計算できます。
この式の気持ちは、「複雑な data を可逆変換で単純な Gaussian に戻し、その密度と体積変化を足し合わせて likelihood を計算する」というものです。
Flow の設計では、表現力の高い変換を作りたい一方で、Jacobian determinant を効率的に計算する必要があります。Coupling layer、autoregressive flow、invertible convolution は、この trade-off を解くための代表的な構造です。