フローベース生成モデル
z 0 {\displaystyle z_{0}} を確率分布 p 0 ( z 0 ) {\displaystyle p_{0}(z_{0})} に従う(一変数または多変数の)確率変数であるとする。
i = 1 , . . . , K {\displaystyle i=1,...,K} について、 z i = f i ( z i − 1 ) {\displaystyle z_{i}=f_{i}(z_{i-1})} を z 0 {\displaystyle z_{0}} から変換された確率変数の列であるとする。ここで関数 f 1 , . . . , f K {\displaystyle f_{1},...,f_{K}} は逆変換可能である必要がある:すなわち、逆関数 f i − 1 {\displaystyle f_{i}^{-1}} が存在する。最終的な出力 z K {\displaystyle z_{K}} はモデル化したい分布を表す。
ここで、 z K {\displaystyle z_{K}} の対数尤度は以下の様に表される(対数尤度の導出参照):
フローベース生成モデル(フローベースせいせいモデル、英:Flow-based generative model)は、機械学習で使われる生成モデルの一つである。確率分布の変数変換則を用いた手法である正規化流 (英:normalizing flow)を活用し確率分布を明示的にモデル化することで、単純な確率分布を複雑な確率分布に変換する。
尤度関数を直接的にモデリングすることには多くの利点がある。例えば、負の対数尤度を損失関数として直接計算して最小化することができる。また、変換前の分布からサンプリングし、フローによる変換を適用することにより、複雑な分布に基づいた新しいサンプルを生成することができる。
これとは対照的に、変分オートエンコーダ(VAE)や生成的敵対的ネットワークなどの多くの代替生成モデリング手法は、尤度関数を明示的に表現しない。