Density estimation using Real NVPを読んだのでメモ
はじめに
DENSITY ESTIMATION USING REAL NVPを読んだのでメモ.
前に読んでメモしたNICEの改善手法.なのでNormalizing flowの細かいところやNICEに関わることは以前の記事を参照.
real-valued non-volume preserving(real NVP)
まずnotationがわりに確率変数の変数変換による分布を以下に.
Real NVPでは基本的にはNICEで提案されたaffine coupling layerをベースに以下の変数変換に用いる.
はデータ数を表しており,はscaleとtranslationを表しの関数になっている.はアダマール積で定義されている.
上記のようなaffine coupling layerを定義するとヤコビアンは
として計算ができる(amp;と出るのははてなブログの表示上のバグのよう).ただし,は対角成分がの対角行列.よって分布の計算に必要なヤコビアンの行列式は]として計算される.この論文でははCNNとして構成する. また,NICEの時と同様に逆変換も以下のように簡単に定義ができる.
NICEではカップリング層で変換されるデータは片方のみで固定だったが,層ごとに交互に変換するデータを入れ替えることで両方のデータを変換する.層単位で見れば片方の変数は固定なので同様に逆変換をすることができる.
あとは実装する上でマルチスケール化等のモデルに関する工夫をおこなっているが本質とは関係ないので割愛.(午後の眠い時間に読んだせいで読みきれなかったとは言えない)
まとめ
Real NVPは数式的にどうこうというよりも強いモデルを作るためのニューラルネットワーク周りのモデルの組み方に重点をおいている感じでいわゆるビジョン系に多いやってみた論文感が強かった気がする. そういう意味ではreal NVPや関連手法を何かに応用する時にはちゃんと読み込みたいところ.