「データを圧縮して復元する」オートエンコーダに確率の考え方を持ち込むと、見たことのない新しいデータを生み出せる「生成モデル」に生まれ変わります。それが変分オートエンコーダ(VAE)です。GANと並ぶ代表的な生成モデルとして、G検定でも頻出のキーワードです。
📖 ひと言でいうと
変分オートエンコーダ(VAE: Variational Autoencoder)とは、入力データを潜在空間上の「確率分布」として表現することを学習し、その分布からのサンプリングを通じて新しいデータを生成できるようにしたオートエンコーダの発展形です。
例えるなら、通常のオートエンコーダが顔写真を「地図上の1点」に置くのに対し、VAEは「この辺りにありそう」という広がりを持つ円で置くイメージです。点と点の間が滑らかにつながった地図ができるので、地図上の好きな場所を選んで「その場所に対応する顔」を新しく描き出せる——厳密には、潜在変数の分布を学習し、そこからサンプリングした値をデコーダで画像に変換する、という仕組みです。
🖼 1枚でわかる変分オートエンコーダ
📘 公式テキストの説明
変分オートエンコーダ(VAE)は、深層学習における生成モデルの一種であり、データの潜在的な構造を学習し、新たなデータを生成する能力を持つ。従来のオートエンコーダは、入力データを低次元の潜在空間に圧縮し、再構築することでデータの特徴を捉えるが、VAEはこれに確率的な要素を導入している。VAEのエンコーダは、入力データから潜在変数の平均と分散を推定し、これらのパラメータに基づいて潜在変数をサンプリングする。この手法により、潜在空間上でのデータの分布をモデル化し、新たなデータの生成が可能となる。デコーダは、サンプリングされた潜在変数から元のデータに近い出力を再構築する役割を担う。VAEの特徴として、潜在空間が連続的かつ滑らかであるため、データ間の連続的な変化を表現できる点が挙げられる。また、潜在変数の分布を正規分布などの既知の分布に近づけることで、新たなデータの生成が安定し、多様性のある出力が得られる。この特性は、画像生成や異常検知など、さまざまな応用分野で活用されている。
かみ砕くと、VAEと通常のオートエンコーダの違いは「潜在空間の扱い」に集約されます。通常のオートエンコーダはデータを潜在空間の1点に圧縮するだけですが、VAEのエンコーダは「平均」と「分散」という2つの値を出力し、そこから確率的に潜在変数を抜き出し(サンプリング)ます。さらに潜在変数の分布を正規分布のような既知の分布に近づけるよう学習するため、潜在空間全体が連続的で滑らかに整い、どこを選んでもそれらしいデータを生成できるようになるのです。
🔍 しっかり理解する
データの流れ:「点」ではなく「分布」に押し込む
エンコーダが出すのは「この画像の潜在変数はだいたいこの辺(平均)に、この程度の広がり(分散)で存在する」という情報です。学習のたびに分布から少しずつ違う点がサンプリングされるため、デコーダは「近い潜在変数からは近いデータを復元する」ことを自然に学びます。これが潜在空間の滑らかさの源です。
潜在空間が「連続的で滑らか」だと何がうれしいのか
通常のオートエンコーダの潜在空間は、学習データが置かれた点の周り以外は「空白地帯」になりがちで、空白地帯の点をデコーダに入れても意味のある出力は得られません。VAEは潜在変数の分布を正規分布などに近づける制約をかけながら学習するため、空間全体に意味が行き渡ります。
その結果、次のようなことが可能になります。
- 潜在空間の適当な点をサンプリングするだけで、新しいデータを安定して生成できる
- 2つのデータの潜在変数の中間の点を取ると、「AとBの中間的なデータ」が得られる(連続的な変化の表現)
- 生成のたびに確率的な揺らぎが入るため、多様性のある出力が得られる
なお、学習では「入力をどれだけ忠実に復元できたか(再構成誤差)」と「潜在変数の分布をどれだけ既知の分布に近づけられたか」の2つをバランスさせます。後者の制約があるからこそ滑らかな空間が手に入る、と理解しておけば十分です。
💡 具体例で考える
手書き数字画像でVAEを学習させた例が有名です。潜在空間を2次元にして学習すると、平面上に「0の領域」「1の領域」…が滑らかに並び、たとえば「3」の領域から「8」の領域へ潜在変数を少しずつ動かしながらデコードすると、3が徐々に8へ変形していく中間画像が次々と生成されます。これが「データ間の連続的な変化を表現できる」ことの目に見える証拠です。
また異常検知への応用では、正常品の画像だけでVAEを学習させておき、検査対象の画像を入力して再構成させます。正常品なら学習した分布の範囲内なのできれいに復元されますが、傷や欠陥のある製品は学習した「正常の分布」から外れているため復元がうまくいかず、入力と出力の差が大きくなります。この差を手がかりに異常を見つけられます。
⚠️ よくある誤解・紛らわしい用語
- 通常のオートエンコーダとの違い——どちらもエンコーダとデコーダを持ちますが、通常のオートエンコーダは潜在空間の「1点」への圧縮(主目的は次元削減・特徴抽出)、VAEは「分布」の学習(主目的は生成)です。「オートエンコーダはすべて生成モデルである」は誤りです。
- エンコーダの出力は「潜在変数そのもの」ではない——VAEのエンコーダが出力するのは潜在変数の「平均と分散」であり、潜在変数はそこからサンプリングして得ます。この一段が確率的要素の正体です。
- GANとの混同——GANも代表的な生成モデルですが、生成器と識別器を競わせる敵対的学習で、仕組みが根本的に異なります。VAEは分布の学習と再構成に基づく生成モデルで、学習が比較的安定している一方、GANに比べて出力がぼやけやすいと言われます。
- 「変分」の意味——確率分布を扱いやすい分布で近似する「変分推論」という統計的手法に由来する名前です。G検定レベルでは「確率的な近似手法を使うから変分と付く」程度の理解で問題ありません。
📝 試験でのポイント
- 「VAEのエンコーダは潜在変数の平均と分散を推定し、サンプリングする」という記述の穴埋め・正誤が典型です。
- 「VAEは生成モデルか識別モデルか」→ 生成モデル。オートエンコーダ系で生成モデルに分類されるのはVAE、と押さえましょう。
- 潜在空間の性質(連続的かつ滑らか、データ間の連続変化を表現できる)は、通常のオートエンコーダとの違いとして問われます。
- 応用例として画像生成・異常検知が挙げられている点、生成モデル仲間のGANとの仕組みの違いも確認しておきましょう。
📚 まとめ
変分オートエンコーダ(VAE)は、オートエンコーダに確率的な要素を導入した生成モデルです。エンコーダが潜在変数の平均と分散を推定し、その分布からサンプリングした潜在変数をデコーダが再構築することで、データの分布そのものをモデル化します。潜在空間が連続的で滑らかなため、新しいデータの安定した生成やデータ間の連続的な変化の表現が可能になり、画像生成や異常検知に活用されています。試験では「平均と分散」「サンプリング」「生成モデル」の3語を核に整理しておきましょう。
