変分オートエンコーダ
- 作成
- 更新
- (1564日前)
- 公開範囲
- personal notes
『
- Variational Autoencoder, VAE
- 2013年、
Diederik P. KingmaとMax Wellingに よって 基礎が 築かれた - 生成
モデリングに おいては 最も 基本的で よく 知られたDeep Learningの アーキテクチャ
オートエンコーダ
以下の2つからなる
- エンコーダネットワーク
- 高次元の
入力データを より 低次元の 表現ベクトルに 圧縮する
- 高次元の
- デコーダネットワーク
- 表現ベクトルを
もとに、 元の 領域へ データを 復元する - 畳み込み層の
代わりに 「 転置畳み込み層」を 使う - デコーダは
エンコーダと 完全に 対称である 必要は ない - 最後の
層の 出力サイズが エンコーダ 入力と 一致していればOK
- 最後の
- 表現ベクトルを
- この
ネットワーク は、 元の 入力と 復元後 出力の 誤差を 最小化するように、 重みを 学習する - 損失関数は
入力画像と、 それが エンコーダと デコーダを 通過して 復元された 画像とのRMSE
- 損失関数は
アイデアの
- デコーダは
潜在空間内の 任意の 点を 画像へ 変換できるように 学習している - 潜在空間の
点を 自由に 選んで デコーダに 渡せば、 「新しい 画像」が 生成できる
- 潜在空間の
- 画像の
ノイズ除去にも 利用可能 - ランダムノイズの
場所を 潜在空間内で 補足しても 役に 立たない ことは エンコーダが 学習するから
- ランダムノイズの
表現ベクトル
- 元の
画像を より 低い 次元の 潜在空間へ 圧縮した もの
変分オートエンコーダ
- 各画像が
潜在空間内の ある 点の 周りの 多変量正規分布に 写像される - 通常の
オートエンコーダ は、 潜在空間の 一点に マッピング される
- 通常の
-
損失関数に、
復元誤差に 加え 「KLダイバージェンス」が 加わる -
KLダイバージェンス
とは - ある
確率分布が、 別の 分布と どれだけ異なるかを 示す指標 - ここでは
N(μ,σ) と いう 正規分布 (エンコーダで 得られる)が、 標準正規分布 N(0,1) と どれだけ 違うかを 見る - DKL[N(μ,σ)∣∣N(0,1)]=−21∑(1+log(σ2)−μ2−σ2)
- ある
-
標準正規分布
(mu=0, log_var=0)から 大きく 外れた muやlog_varに対しては、 ネットワークに ペナルティを 課す