Neural Autoregressive Flowsを読んだのでメモ
はじめに
Neural Autoregressive Flowsを読んだのでメモ.表裏一体の関係にあったMAFとIAFを統合して一般化したneural autoregressive flow(NAF)を提案した論文.
お気持ち
この論文で問題としているのは,Variational InferenceにおいてIAFやMAFなどかなり質の良いモデルが作れるようになっているが,局所解の影響を受けやすいというところ(mode collapseのような現象).その原因は変換に使える関数の形が制限されていることにあるため,そこをもっとrichなものにして解決しようというもの.
その上で気をつけないといけないのはnormalizing flowを使った変分推定ではKLダイバージェンスの勾配はモンテカルロ推定などをしなければならないため以下の計算は扱いやすい必要がある.
ただし,はデータ分布では近似事後分布,は潜在変数の真の分布を表す.
Neural Autoregressive Flows
ここでは論文のnotationとは少し異なることに注意.
基本的にはAutoregressive Flowで用いられる変換の関数をニューラルネットに変えるというもの.すなわち
とする.何をしているかというと,入力はのスカラーでNNの重みがを入力とする関数から得られ,そこからが計算されるというもの.つまりニューラルネットの構造としてはスカラーを入力としてスカラーを出力する.ここではこの重みを擬似パラメータと呼ぶ.この定式化の嬉しいところは,と擬似パラメータの勾配が逆伝播によってもとまるというところ.
さらにここではの構造として二つ,deep sigmoidal flows(DSF)とdeep dense sigmoidal flows(DDSF)というものを導入する. DSFは以下で定義される.
ここではシグモイド関数を表し,はlogit関数.logit関数を最後に使う理由はの値が不当に0にならないようにするため.またとして定義される.または隠れ層のユニット数ではsoftmaxの出力とsoftplusまたはexpの出力から得られる.ただし,DSFは隠れ層1層の入出力がスカラーのMLPとして考えられるため表現力には限界がある.
そこでその問題を解決するためにDDSFは出力をベクトルとするようなモデルとして定義する.
ただし,を満たしを除き全て正の値を持つ.
ここで一つ問題が生じていて,DDSFの計算にはの擬似パラメータが必要となる.すると隠れ層の次元が大きくなると実践的に計算が難しくなるため,conditional batch-normalizationなるものを使って関数をの統計パラメータとの擬似パラメータで表現したらしい.実際のところ実験においてはconditional weight normalizationを使ったとのこと.詳しくはappendixにあるそうだがちょっとしたtips的なところは興味ないので割愛.
まとめ
一応最後にNAFがuniversal density approximatorだという主張があったが証明の部分がピンとこなかったのでこのメモでは割愛してしまった.
Flow関連の生成モデルに関してある程度主要な部分はsurveyできたと思うからアウトプットとして論文書きたいなという気持ち.