画像・動画・音声 上級

VAE

Variational Autoencoder

データを少ない数値に圧縮し、そこから元に近い形へ復元するよう学習したモデルです。画像生成では、画像と潜在空間とを行き来させる変換器の役目を担い、画質にも影響します。

別の呼び方変分オートエンコーダ、変分自己符号化器

例生成画像の色がくすんで見えたので、モデルに合った VAE に差し替えたところ、色味が改善した。

詳しく

VAE(変分オートエンコーダ)は、データを圧縮する「エンコーダ」と、復元する「デコーダ」を組み合わせたニューラルネットワークです。2013年に発表された手法で、その後の画像生成の基盤の1つになりました。

しくみ

エンコーダは、画像を受け取って、潜在空間の座標に相当する少数の数値に圧縮します。デコーダは、その座標から元の画像を再構成します。学習の目標は、「できるだけ元に近い画像を復元すること」です。ただし、単純なオートエンコーダと異なり、VAE は座標を一点ではなく「確率の分布」として表し、空間がなめらかにつながるように学習します。これにより、座標を少しずらしたときにも、意味のある画像が復元できます。「変分」という名前は、この確率分布を近似する数学的な手法に由来します。

画像生成での役割

Stable Diffusion のような潜在拡散モデルでは、次の流れで VAE が使われます。

  • 学習時:画像を VAE のエンコーダで潜在表現に圧縮し、その上で拡散モデルを学習する。
  • 生成時:拡散モデルが潜在空間で作った結果を、VAE のデコーダで通常の画像に戻す。

つまり、VAE は画像の「ことば」と画素の世界の通訳係です。VAE の出来が、最終画像の細部の描写や色味を左右します。

具体例

  • 配布されているモデルに「VAE」を差し替えるオプションがあり、色がくすむ、または細部がぼやけるといった問題を改善できる場合がある。
  • 動画生成でも、映像を時間方向も含めて圧縮する VAE が使われることが多い。

使うときの注意・よくある誤解

  • VAE 単体の画像生成は、ぼやけた仕上がりになりがちです。現在の高品質な画像生成は、拡散モデルと組み合わせて実現されています。
  • 圧縮するため、小さな文字や細い線、顔の細部が崩れやすくなります。
  • 画像生成 AI の「VAE」と、モデル本体を取り違えやすい点に注意してください。VAE は変換器であり、絵を考えているのは拡散モデルの部分です。
  • VAE の名前が付いていても、実装や目的はさまざまで、近年は敵対的な学習を取り入れたものなど、派生形が多くあります。

関連する考え方

潜在空間という考え方そのものと切り離せません。拡散モデルのほか、以前の主流だった GAN とも、画像を生成するモデルの系譜として比較されます。

初心者向けのまとめ方

写真を小さく折りたたんで持ち運び、使うときに広げ直す仕組みを想像してください。折りたたみ方(エンコーダ)と広げ方(デコーダ)を、セットで学習するのが VAE です。

あわせて知りたい言葉

「画像・動画・音声」の言葉をすべて見る