フローベース生成モデル

フローベース生成モデル（フローベースせいせいモデル、英：Flow-based generative model）は、機械学習で使われる生成モデルの一つである。確率分布の変数変換則を用いた手法である正規化流 (英：normalizing flow)を活用し確率分布を明示的にモデル化することで、単純な確率分布を複雑な確率分布に変換する。
尤度関数を直接的にモデリングすることには多くの利点がある。例えば、負の対数尤度を損失関数として直接計算して最小化することができる。また、変換前の分布からサンプリングし、フローによる変換を適用することにより、複雑な分布に基づいた新しいサンプルを生成することができる。
これとは対照的に、変分オートエンコーダ（VAE）や生成的敵対的ネットワークなどの多くの代替生成モデリング手法は、尤度関数を明示的に表現しない。
方法.
formula_1を確率分布 formula_2 に従う（一変数または多変数の）確率変数であるとする。
formula_3 について、formula_4を formula_1 から変換された確率変数の列であるとする。ここで関数 formula_6は逆変換可能である必要がある：すなわち、逆関数 formula_7が存在する。最終的な出力formula_8はモデル化したい分布を表す。
ここで、formula_8の対数尤度は以下の様に表される（"対数尤度の導出"参照）：
対数尤度を効率的に計算するためには、関数formula_6は次の性質を満たす必要がある：
実際には、関数formula_6はディープニューラルネットワークを使用してモデル化され、対象となる分布からのデータサンプルの負の対数尤度を最小化するように訓練される。これらの手法は通常、逆行列式とヤコビ行列式の両方の計算でニューラルネットワークの順方向演算のみが必要になるように設計される。このような手法の例として、NICE、 RealNVP 、およびGlowがある。 
対数尤度の導出.
変数 formula_13及び formula_1 について、formula_15 であるとする。
確率密度の変数変換公式より、 formula_13の従う確率分布は以下のように書ける：
ここで、formula_18は formula_19 のヤコビ行列の行列式である。
逆関数定理により
恒等式 formula_21 により（formula_22は正則行列）、次が導ける：
したがって、対数尤度は次のようになる。
一般に、上記の式は全ての formula_25及び formula_26 に適用される 。formula_27 は formula_28 から非再帰的な項を引いたものに等しいので、数学的帰納法より以下が示せる。
派生.
Continuous Normalizing Flow（CNF）.
関数の合成によってフローを構築する代わりに、別のアプローチとして、フローを連続時間ダイナミクスとして定式化することができる。formula_1 を分布 formula_31 を持つ潜在変数であるとする。以下のフロー関数を使用して、この潜在変数をデータ空間に写す。
ここで formula_33 は任意の関数であり、ニューラルネットワークなどでモデル化できるとする。
その場合、逆関数は次のようになる。
このとき formula_35 の対数尤度は以下で与えられる：
実用上では Neural ODE などの数値積分手法が必要になる場合がある。
応用.
フローベース生成モデルは、次のようなさまざまなモデリングタスクに適用されている。