鴨川η

The Concrete Distribution: A Continuous Relaxation of Discrete Random Variables

メタデータとか

Chris J. Maddison, Andriy Mnih, Yee Whye Tehの 論文. ICLR2017のレビュー中の論文. 最終著者のアラートで流れてきたので読んだ.

同じくICLR2017に投稿中のGumbel-Softmaxとほぼコンフリクトしてる.

本題

VAEで出てきたreparametarization trickは,ガウス分布とベルヌーイ分布に対して行われていた. 今回は,潜在変数 次元のone-hotベクトル (深層学習では離散値はone-hotベクトルで表現されることが多いため) とする. 実際にはこれが複数あるが単純なケースとして1つの例で紹介する. VAEで多変量ガウス分布の平均ベクトルと共分散行列の対角成分をencoderで求めたように, カテゴリカル分布のパラメータをencoderで推定する. 推定するまではいいが,そのパラメータをもつカテゴリカル分布に従って離散値をサンプルし,one-hotベクトルを構成しなければならない. とりあえず離散値をサンプルすることを考えると, reparametarization trickと同様に単純な分布からサンプル値を構成する. これには第1著者らが過去にNIPSに通した論文の中でGumbel-Max trickと呼ぶ方法を使うことができる. サンプルする離散値は, 次元ベクトルの正の実数 に対して

によって構成できる. Gumbel分布自体は , という単純な分布のサンプルから計算できる.

Google 翻訳させてもnzwがよくわからなかったのだが, だと 対応する次元以外は0になってしまうので, 次元については勾配が消えてしまうためGumbel-Max trickは今回の用途には不適切らしい. そこで離散値をサンプルせずに直接one-hotベクトルを構成する Concrete distribution を導入する.

これが 要素となる. temperature で0に近いほどone-hotベクトルになり, 大きいほど離散一様分布のパラメータを要素に持つようなベクトルに近くなる. よってone-hotベクトルの近似を求めている.

実験で使ってるネットワークは馴染みがないので読み飛ばした.

その他

  • 付録に証明やreparametarization trickのチートシートがあるので,参考になる
  • VAEに限らず中間層で離散値がとれるはず
  • VAEを離散値にしてKerasで試したところ,adam/nadamだとlossが NaN になってしまって厳しい気持ちになった