2017/07/22

VAE(VariationalAutoEncoder)とは

いきなりまとめ


VAEとは、
  • エンコーダー、デコーダー、ロス関数からなる生成的ANN
  •  架空のセレブの顔、高解像度の絵画を生成


Today I Learned


What is a variational autoencoder?
を参考に。


VAEの用途


複雑な生成的モデルを構築できる。
架空のセレブの顔を作る、高解像度の絵画を生成するなど。


VAEの構造


VAEはencoder、decoder、loss-functionからなる。


・エンコーダー

encoderはinputの次元を削減=エンコードするANN。
encoderはGaussianのパラメーターθを出力。
ここからサンプリングすることで入力データをzとしてエンコードする。
確率モデルで言えばzの事後分布のパラメーターを出力し、事後分布からサンプリングする。


・デコーダー

decoderはエンコードされたデータzを入力としてデータ1ピクセルごとのパラメーターφを出力するANN。
データがモノクロのピクセルによる画像データの場合、decoderは個々のピクセルのためのBernoulli distributionのパラメーターを出力する。
この確率分布よりサンプリングすることでデータを復元する。


 ・LOSS

autoencoderのloss-functionはreconstruction loss + regularizer(the Kullback-Leibler divergence)。
reconstruction lossは個々のデータポイントに対するexpected negative log-likelihood。
decoderの出力をencoderが出力するrepresentationsの確率によって期待値を取ったもの。
これによりデコーダーがデータを復元するようになる。

regularizerはencoderが出力する確率分布qθ(zx)q_\theta(z\vert x)と標準正規分布p(z)p(z)のKullback-Leibler divergenceで情報の損失量を表す。
regularizerによって同種のデータ(別々の人間による同じ文字の手書き)に対して近い値をエンコードするようになる。

0 件のコメント:

コメントを投稿

Relation Netowrksの概要

いきなりまとめ Relation Netowrksとは関係性の推論を行えるニューラルネット。 画像や音声の単純な認識ではなく、複雑な思考が可能。 例えば、 グレーの物体から最も離れている物体の形は何か? ボールは今何処にあるか? ランダムに動くボール群のどれが...