Masked Autoregressive Flow for Density Estimationを読んだのでメモ
はじめに
Masked Autoregressive Flow for Density Estimationを読んだのでメモ.
お気持ち
Inverse Autoregressive Flowと密接な関係がある,Real NVPの一般化手法Masked Autoregressive Flowを提案したぜということ.
密度推定の課題ではnormalizing flowやautoregressive modelがうまくいっているが,autoregressive modelは変数のオーダーにセンシティブな部分がありそこが欠点である.実際にFigure 1に例が載っていて,ターゲットの分布とモデルの分布の変数のオーダーを等しくしてもautoregressive modelは真の分布にフィットできず,フィットするのに適したオーダーを知るすべもないので良くない.さらに並列計算もあまり有効ではないがそれはMasked Autoencoder for Distribution Estimation(MADE)が解決した. Normalizing flowにおいてはInverse Autoregressive Flow(IAF)などのモデルは変分推定に基づいて作られているため密度推定に最適なものになっていない.
だからこの辺うまいこと統合して密度推定に適したものを作りたいというのが気持ち.
Masked Autoregressive Flow
まず,導入として自己回帰モデルをnormalizing flowの枠組みで考える.
はじめにガウス分布でparameterizedされた自己回帰モデルを考える.すると,の分布は
と表すことができる.ただし,は平均と標準偏差の対数を計算するなんらかの関数.上記のモデルからデータを生成する際にはreparameterization trickから
という計算を行えばいい.この式を考えてみれば,確率変数からデータへの写像を与えていることになるため,モデルとしてはとして書くことができる.さらにこの関数は簡単に逆変換がのように記述でき,その逆変換のヤコビアンは自己回帰モデルの構造から三角行列になる.よって行列式は
として簡単に計算ができる.この辺りはInverse Autoregressive Flowと同様の話.
ここでflowとして自己回帰モデルを記述し,モデルを積み重ねて深層構造にすることで改善を行う.自己回帰モデルがと与えられたとき,モデルの乱数の密度をでモデル化するモデルを考える.これは最終的には乱数を標準ガウス分布でモデリングすることになるが,モデルを積み重ねることで柔軟性を持ったモデルを作ることができる.この論文では関数をMADEを使ったアプローチで構成し,それをMasked Autoregressive Flow(MAF)とする.
IAFとの関係
今までの流れで定義されたMAFはほぼほぼIAFと同じ形をしていて,違うのはガウス分布のパラメータの計算が何を入力とするかだけ.MAFは上で書いたようにから計算されるのに対し,IAFはから計算される.この違いは計算のコストに大きく現れ,MAFはデータ点の密度分布を一つのパスから計算できるが,サンプリングにはデータ点の次元数のパスが必要になる.それに対しIAFは逆になる.このことからMAFは密度推定のためにデザインされていることが伺える.
理論的な面としては,初期の分布をを使って表せば,MAFにより計算される密度分布は変数変換の公式から
となるのに対し,IAFは
となる.ここから以下の関係が成り立つ.
証明はsupplementary materialにあったが簡単だったので割愛.基本的にはをで変数変換することでの形になることを導くだけ.
この後も論文中では色々書いてあったが,要するにIAFは変分推定を使って問題を解いていて,MAFはnormalizing flowとして問題を解いているくらいの違いだと思う.そこの違いで出口が潜在変数になるかデータになるか変わってくると言ったところ.
realNVPとの関係
realNVPはNICEをベースにaffine coupling layerを使って拡張したモデルで,affine coupling layerは今まで定義された変数を使えば以下の形で定義される.
式を見ればわかるようにIAFヤMAFとほぼほぼ同じ形をしていて,実際MAFの特別な場合とみなすことができる.realNVPではを二つに分けて一つは恒等写像されるが,IAFやMAFでは自己回帰性を満たすためのマスクによりについては恒等写像でについては変換が行われるため,realNVPの柔軟性を持つ一般化としてみなすことができる.ただし,realNVPはデータの生成も密度の推定もone forward passで計算できるため利点も存在する.
Conditional MAF
ここではサンプルのペアが与えられた時の条件付き分布の推定を行うタスクについて考える.自己回帰モデルはこの問題に自然に拡張することが可能.確率における連鎖律から自己回帰モデルではとして条件付き分布を書くことが可能で,入力の変数を拡張するだけで記述できる.
まとめ
realNVPの一般化としてIAFを定義したというところか.密度推定を意識してモデリングされているからタスク次第で,IAFとMAFの優劣はつかない感じか.MAFはSupplementary materialに生成した画像載っていたが全然うまくいってなかったところを見るとIAFの方がモデルの形式からも生成には向いている?(IAFは生成画像が載ってないからわからないが。。。)ただそれにしてもモデルの形式上は大差ないGlowがあれだけ綺麗に画像を生成できたのは何が起きているのか気になる.