1行定義
VAEとは、入力を潜在変数の確率分布として表し、潜在空間から取り出した値をデコーダに通して新しいデータを生成できる、オートエンコーダの一種のことです。
くわしく
VAE(変分オートエンコーダ)は、オートエンコーダを、新しいデータを作れる生成モデルに発展させたものです。2013年にKingmaとWellingが発表しました。
通常のオートエンコーダとの違い
通常のオートエンコーダは、入力を潜在空間の1つの点に圧縮し、そこから復元します。点の間には意味のない領域が残るため、適当な点をデコーダに通しても、意味のあるデータになるとは限りません。
VAEのエンコーダは、入力ごとに正規分布の平均と分散を出力します。潜在変数を、点ではなく広がりのある分布で表すのです。この分布から値を取り出してデコーダに通し、入力を復元するように学習します。すると潜在空間がなめらかにつながり、近い点からは似たデータが生まれます。
学習のしくみ
損失は2つの項の和です。
- 再構成誤差:出力が入力をどれだけ再現できたか
- KL情報量:エンコーダが出した分布と、標準正規分布とのずれ
KL情報量の項が、潜在空間全体を標準正規分布の形に整えます。この損失は変分推論から導かれ、名前の「変分」はここに由来します。
分布から値を取り出す操作は、そのままでは微分できません。そこで標準正規分布のノイズεを使い、z = μ + σ × εと書き直します。これを再パラメータ化トリックと呼び、誤差逆伝播法で学習できるようになります。
生成時は、標準正規分布から取り出した値をデコーダに通します。GANに比べ、生成画像はぼやけやすいとされます。
派生手法
- β-VAE:KL情報量の項に1より大きい係数βを掛け、潜在変数の各次元が別々の要因を表すように促します。
- VQ-VAE:潜在変数を、コードブックにある有限個のベクトルのどれかに置き換えて、離散的に表します。
- InfoVAE:入力と潜在変数の相互情報量を大きく保つ項を加え、強力なデコーダと組み合わせても潜在変数が無視されにくくします。
覚え方
「点ではなく雲(分布)で表すオートエンコーダ」と覚えます。
G検定での出題
出題のされ方
通常のオートエンコーダとの違い、生成モデルとしての使い方、再構成誤差とKL情報量を合わせた損失、再パラメータ化トリック、β-VAEやVQ-VAEなどの派生手法との違いが問われます。
混同しやすい用語
| 用語 | 意味 |
|---|---|
| VAEこのページの用語 | 入力を潜在変数の確率分布として表し、潜在空間から取り出した値をデコーダに通して新しいデータを生成できる、オートエンコーダの一種 |
| オートエンコーダ | 入力をエンコーダで低次元の表現に圧縮し、デコーダでもとの入力を復元するように学習するニューラルネットワーク |
| GAN | データを作る生成器と、本物か偽物かを見分ける識別器を競わせながら学習し、本物に近いデータを生成できるようにするモデル |
違いを表で比べる
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
VAEでは、潜在変数を確率分布から取り出す操作がそのままでは微分できないため、標準正規分布から取り出したノイズと平均・標準偏差を使って潜在変数を表し、誤差逆伝播法で学習できるようにする。
答えを見る
答え ◯ 正しい
再パラメータ化トリックと呼びます。z = μ + σ × εの形にすると、ランダムな部分がεに分かれ、μとσまで勾配が届きます。
-
学習を終えたVAEで新しいデータを生成するには、必ずエンコーダに元のデータを入力する必要があり、デコーダだけでは生成できない。
答えを見る
答え × 誤り
事前分布(通常は標準正規分布)から潜在変数を取り出し、デコーダに通すだけで生成できます。エンコーダは、学習時や手元のデータを潜在変数に変換したいときに使います。
-
VAEは、GANと同じく、データを作るネットワークと本物かどうかを見分けるネットワークを競わせる敵対的な学習で訓練する。
答えを見る
答え × 誤り
VAEは、再構成誤差とKL情報量の和を小さくするように学習し、見分ける役のネットワーク(識別器)をもちません。敵対的な学習を使うのはGANです。
この用語の練習問題
出典
- G検定 試験出題範囲(シラバス2024)第1.4版 (技術分野 項目24 オートエンコーダ)
- Diederik P. Kingma, Max Welling, Auto-Encoding Variational Bayes (2013)
- Irina Higgins et al., beta-VAE: Learning Basic Visual Concepts with a Constrained Variational Framework, ICLR (2017)
- Aaron van den Oord, Oriol Vinyals, Koray Kavukcuoglu, Neural Discrete Representation Learning (2017)
- Shengjia Zhao, Jiaming Song, Stefano Ermon, InfoVAE: Information Maximizing Variational Autoencoders (2017)