いきなりまとめ
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が出力する確率分布と標準正規分布のKullback-Leibler divergenceで情報の損失量を表す。
regularizerによって同種のデータ(別々の人間による同じ文字の手書き)に対して近い値をエンコードするようになる。
0 件のコメント:
コメントを投稿