AEとVAEについて

AI

初めに

AEとVAEを大体把握したい人向けです。基本的にメモです。
参考文献に記載している方々のが理解しやすいので、興味がある人はみていただけると幸いです。

オートエンコーダー(AE)

AEとは、

  • 教師なし学習の一つ。そのため学習時の入力データは訓練データのみで教師データは利用しない。
  • データを表現する特徴を獲得するためのニューラルネットワーク。

です。

MNISTを例にとると、28×28の数字の画像を入れて、同じ画像を出力するニューラルネットワークということになります。入力データXから潜在変数zに変換するニューラルネットワークをEncoderといいます。この時、zの次元が入力Xより小さい場合、次元削減とみなすこともできます。逆に潜在変数zをインプットとして元画像を復元するニューラルネットワークをDecoderと言います。

変分オートエンコーダー(VAE)

VAEはこの潜在変数zに確率分布、通常\( z∼N(\mu(X),σ(X))\)を仮定したところが大きな違いです。通常のオートエンコーダーだと、何かしら潜在変数zにデータを押し込めているものの、その構造がどうなっているかはよくわかりません。VAEは、潜在変数zを確率分布という構造に押し込めることを可能にします。

この変更により、リパラメタリゼーショントリックを用います。これは、
エンコーダとデコーダの間に\( z∼N(\mu(X),σ(X))\)という確率分布が入るため、エンコーダ側まで誤差逆伝播を適用することが困難となります。そこで、\( z∼N(\mu(X),σ(X))\)を直接扱うのではなく、\( ε∼N(0,I)\)にてノイズを発生させ、
$$ z=\mu(X)+ε∗σ(X) $$
という形でつなげることで、VAEを構成します。これにより、誤差逆伝播法の適用が可能となります。
また、VAEの損失関数は、通常のオートエンコーダで定義する損失関数に、事前分布から事後分布へのKLダイバージェンスを加えたものとなります。

参考文献

Auto-Encoding Variational Bayes(Diederik P Kingma, Max Welling)
https://arxiv.org/abs/1312.6114
https://www.slideshare.net/ssusere55c63/variational-autoencoder-64515581
https://www.renom.jp/ja/notebooks/tutorial/generative-model/VAE/notebook.html
https://qiita.com/kenmatsu4/items/b029d697e9995d93aa24
https://rmizutaa.hatenablog.com/entry/2019/09/23/191405

コメント

  1. […] 潜在空間のサンプリング方法https://jun2life.com/2021/11/11/ae%e3%81%a8vae%e3%81%ab%e3%81%a4%e3%81%84%e3%81%a6/ […]

タイトルとURLをコピーしました