Continuous Normalizing Flow(CNF)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/07/08 10:10 UTC 版)
「フローベース生成モデル」の記事における「Continuous Normalizing Flow(CNF)」の解説
関数の合成によってフローを構築する代わりに、別のアプローチとして、フローを連続時間ダイナミクスとして定式化することができる。 z 0 {\displaystyle z_{0}} を分布 p ( z 0 ) {\displaystyle p(z_{0})} を持つ潜在変数であるとする。以下のフロー関数を使用して、この潜在変数をデータ空間に写す。 x = F ( z 0 ) = z T = z 0 + ∫ 0 t f ( z t , t ) d t {\displaystyle x=F(z_{0})=z_{T}=z_{0}+\int _{0}^{t}f(z_{t},t)dt} ここで f {\displaystyle f} は任意の関数であり、ニューラルネットワークなどでモデル化できるとする。 その場合、逆関数は次のようになる。 z 0 = F − 1 ( x ) = z T + ∫ t 0 − f ( z t , t ) d t {\displaystyle z_{0}=F^{-1}(x)=z_{T}+\int _{t}^{0}-f(z_{t},t)dt} このとき x {\displaystyle x} の対数尤度は以下で与えられる: log ( p ( x ) ) = log ( p ( z 0 ) ) − ∫ 0 t Tr [ ∂ f ∂ z t d t ] {\displaystyle \log(p(x))=\log(p(z_{0}))-\int _{0}^{t}{\text{Tr}}\left[{\frac {\partial f}{\partial z_{t}}}dt\right]} 実用上では Neural ODE などの数値積分手法が必要になる場合がある。
※この「Continuous Normalizing Flow(CNF)」の解説は、「フローベース生成モデル」の解説の一部です。
「Continuous Normalizing Flow(CNF)」を含む「フローベース生成モデル」の記事については、「フローベース生成モデル」の概要を参照ください。
- Continuous Normalizing Flowのページへのリンク