オムライスの備忘録

数学・統計学・機械学習・プログラミングに関することを記す

【深層学習】Normalizing Flows

Index

Normalizing Flows

Normalizing Flowsは、単純な基底分布を一連の可逆微分可能な変換を通して複雑な分布に変換することで機能する. 自己回帰フローや残差フローなど、様々なフロー構造が、効率的な計算と表現力のトレードオフを伴う設計原則に基づいていることが論じられている. さらに、標準的なユークリッド空間だけでなく、離散領域やリーマン多様体へのフローの拡張、および確率変換の一般化されたフレームワークについても紹介. 最後に、正規化フローの密度推定、生成モデリング、変分推論といった様々な応用についても概説.

アルゴリズム

連続的な確率変数  x\ \in\ R^{D} に対する柔軟な確率分布を構築する.



 x を以下のように表現する.

 x\ =\ T(u),\ u\ \sim\ p_{u}(u)


  •  u\ \in\ R^{D} : シンプルな基本分布 / base distribution  p_{u}(u) からサンプリング
    •  p_{u}(u) : 確率変数 u の確率分布 (もしくは、確率密度関数) を指している.
      • 他の文献では  p_{u}(u) を事前分布、 u を潜在変数と呼ぶこともある.
  •  x :  u をある変換  T を用いて変換した結果


この変換  T および、基本分布  p_{u} (u) は、それぞれ独自のパラメータを持つ. ( \varphi,\ \psi)

変換  T の性質

Flow Base Model の特性は、変換  T が可逆であり、かつ  T T^{-1}微分可能であること.

 x確率密度関数  p_{x}(x)

 x確率密度関数  p_{x}(x) を考える.

 p_{x}(x)\ =\ p_{u}(u)\ |\ det\ J_{T}(u)\ |^{-1},\ u\ =\ T^{-1}(x)


  • |\ det\ J_{T}(u)\ |^{-1} : 変換  T の逆の操作を表している.
    •  J_{T} :  T の Jacobian / ヤコビアン行列.
      •  J_{T}\ =\ \begin{pmatrix} \displaystyle \frac{\partial T_{1}}{\partial u_{1}} & \cdots & \displaystyle \frac{\partial T_{1}}{\partial u_{D}} \\ 
\vdots & \ddots & \vdots \\ 
\displaystyle \frac{\partial T_{D}}{\partial u_{1}} & \cdots & \displaystyle \frac{\partial T_{D}}{\partial u_{D}} \end{pmatrix}
    • det : 行列式
      • この行列式は、変換  T によって  u の周辺の微少な領域がどれだけ変化するかを定量化している. 直感的には、 u の周囲の微小な領域が変換によって拡張されれば、 x における密度は  u の密度よりも小さくなり、収束すれば大きくなることを意味する.



ここで、

 p_{x}(x)\ =\ p_{u}(T^{-1}(x))\ |\ det\ J_{T^{-1}}(x)\ |



と変換される.

変換  T の合成

可逆かつ微分可能な変換  T の重要な特性は、合成可能であること.

複数の単純な変換  T_{1},\ \cdots,\ T_{K} を合成して、

 T\ =\ T_{K}\ \circ\ \cdots\ \circ\ T_{1}


という複雑な変換を構築することができる.

「Flow」と「Normalizing」の意味

Flow / フローは、基本分布  p_{u}(u) からのサンプルが、変換  T_{1},\ \cdots,\ T_{K} の系列によって徐々に変換されていく軌跡を指す.

Normalizing / 正規化は p_{x}(x) からのサンプルが逆フロー  T^{-1}_{K},\ \cdots,\ T^{-1}_{1} を経て、規定された密度  p_{u}(u) からのサンプルに「正規化」されるという事実に言及している.

参考

  • Normalizing Flows for Probabilistic Modeling and Inference
    • [2019]
    • 2 Normalizing Flows
      • 2.1 Definition and Basics
    • arxiv.org

web サイト