変分オートエンコーダー(VAE)は、2013年にDiederik P. KingmaとMax Wellingによって導入された人工ニューラルネットワークアーキテクチャである。これは、確率的グラフィカルモデルと変分ベイズ法のファミリーに属する。VAEは生成モデルであり、データを圧縮された潜在空間で表現することを学習し、その空間から新しいサンプルを生成する。標準的なオートエンコーダーが入力を潜在空間の固定点にマッピングするのに対し、VAEは入力を確率分布(通常は多変量ガウス分布)にマッピングする。これにより、過学習を回避し、滑らかな補間と生成を可能にする。
このアーキテクチャは、エンコーダーとデコーダーという2つのニューラルネットワークで構成される。エンコーダーは、各入力データポイント(例:画像)を潜在空間における変分分布のパラメータ(平均ベクトルや分散ベクトルなど)にマッピングする。デコーダーは、潜在空間から入力空間へマッピングし、再構成や新しいサンプルを生成する。両方のネットワークは、再パラメータ化トリックを用いて共同で訓練され、これにより確率的サンプリングを通じた逆伝播が可能になる。VAEは当初、教師なし学習のために設計されたが、半教師あり学習や教師あり学習のタスクでも効果的であることが証明されている。
アーキテクチャと動作の概要
変分オートエンコーダーは、潜在変数上の事前分布とデータのノイズ分布を持つ生成モデルである。確率的PCAやスパースコーディングなどの従来の生成モデルは、期待値最大化(EM)メタアルゴリズムを用いて訓練される。EMはデータ尤度の下界を最適化するが、これはしばしば計算上扱いにくく、各データポイントに対してq分布(変分事後分布)を別個の最適化プロセスで発見する必要がある。対照的に、VAEはニューラルネットワークを償却アプローチとして使用し、すべてのデータポイントにわたって共同で最適化する。これは、同じネットワークパラメータが複数のデータポイントで再利用されることを意味し、大幅なメモリ節約をもたらす。
エンコーダーネットワークは、入力データポイントを受け取り、変分分布のパラメータを出力する。既知の入力空間から低次元の潜在空間へのマッピングであるため、エンコーダーと呼ばれる。デコーダーは2番目のニューラルネットワークであり、潜在空間から入力空間へのマッピングを行い、通常はノイズ分布の平均を出力する。別のネットワークを使用して分散を出力することも可能だが、簡潔さのために省略されることが多く、分散は勾配降下法で最適化できる。
モデルを最適化するには、再構成誤差とカルバック・ライブラー発散(KLダイバージェンス)の2つの項が必要である。両方の項は確率モデルの自由エネルギー式から導出され、ノイズ分布とデータの想定される事前分布(p分布)によって異なる。例えば、ImageNetのような標準的なVAEタスクでは通常ガウスノイズが仮定され、二値化MNISTのようなタスクではベルヌーイノイズが必要となる。KL-D項は、p分布と重なるq分布の確率質量を最大化し、モード探索行動につながる可能性がある。再構成項は自由エネルギー式の残りの部分であり、その期待値を計算するにはサンプリング近似が必要である。最近のアプローチでは、KL-Dを様々な統計距離に置き換えており、統計距離VAE変種のセクションで議論されている。
定式化
確率モデリングの観点から、目標は選択されたパラメータ化された確率分布p_θ(x) = p(x|θ)の下でデータxの尤度を最大化することである。この分布はしばしばガウス分布N(x|μ, σ)として選択され、平均μと分散σでパラメータ化される。これは指数族のメンバーとして扱いやすい。単純な分布は最大化が容易であるが、潜在変数zに事前分布が仮定されると、結果として得られる積分は扱いにくくなる。p_θ(x)を見つけるには、zについて周辺化する:
p_θ(x) = ∫ p_θ(x, z) dz、
ここでp_θ(x, z)は、p_θの下での観測可能なデータxと潜在エンコーディングzの同時分布である。連鎖律を用いると、これは次のように書き換えられる:
p_θ(x) = ∫ p_θ(x|z) p_θ(z) dz。
この積分は、潜在空間が高次元であり、尤度p_θ(x|z)が複雑になり得るため、一般的に扱いにくい。変分推論は、真の事後分布p_θ(z|x)を、エンコーダーネットワークによってパラメータ化されたより単純な分布q_φ(z|x)で近似する。モデルを最適化するために、エビデンス下界(ELBO)が導出される:
log p_θ(x) ≥ E_{q_φ(z|x)}[log p_θ(x|z)] - KL(q_φ(z|x) || p_θ(z))。
最初の項は再構成尤度であり、2番目の項は近似事後分布と事前分布の間のKLダイバージェンスである。再パラメータ化トリックにより、zをμ + σ * εとして表現することでq_φ(z|x)からのサンプリングが可能になり、ここでεは標準正規分布から抽出され、勾配ベースの最適化を可能にする。
エンコーダーとデコーダーネットワーク
エンコーダーネットワークは、しばしばq_φ(z|x)と表記され、入力xを受け取り、変分分布のパラメータ(通常はガウス分布の平均μと対数分散log σ²)を出力する。この分布は入力の潜在エンコーディングを表す。デコーダーネットワークは、p_θ(x|z)と表記され、潜在サンプルzを受け取り、データ分布のパラメータ(連続データの場合はガウス分布の平均、ベルヌーイデータの場合は確率)を出力する。
両方のネットワークは通常、再パラメータ化トリックを用いて一緒に訓練される。エンコーダーとデコーダーは通常、データタイプに応じて多層パーセプトロン(MLP)または畳み込みニューラルネットワーク(CNN)として実装される。画像データの場合、畳み込みVAEのようなモデルに見られるように、CNNが一般的である。ネットワークアーキテクチャの選択は、モデルの容量と性能に影響を与える。
訓練と再パラメータ化トリック
VAEの訓練には、再構成項とKLダイバージェンス項の合計であるELBOの最大化が含まれる。再構成項は、デコーダーが潜在サンプルから入力を正確に再構成することを促進し、KLダイバージェンス項は、近似事後分布が事前分布(通常は標準正規分布N(0, I))に近いことを促進する。このバランスは過学習を防ぎ、滑らかな潜在空間を保証する。
再パラメータ化トリックは、確率的サンプリングプロセスを通じて勾配が流れることを可能にするため、訓練にとって重要である。q_φ(z|x)から直接zをサンプリングする(これは微分不可能である)代わりに、エンコーダーはμとσを出力し、zはz = μ + σ * εとして計算され、ここでε ~ N(0, I)である。これにより、サンプリング操作がパラメータに関して微分可能になり、標準的な逆伝播が可能になる。
訓練中、ノイズモデルの分散は別途学習されるか、固定される。一部の実装では、デコーダーが平均と分散の両方を出力するが、他の実装では、分散はハイパーパラメータであるか、別途最適化される。訓練プロセスは通常、確率的勾配降下法(SGD)またはAdamのような変種を学習率スケジュールとともに使用する。
損失関数とKLダイバージェンス
VAEの損失関数は負のELBOであり、再構成損失とKLダイバージェンスの2つの項で構成される。再構成損失は、デコーダーが潜在サンプルから入力をどれだけうまく再構成するかを測定する。ガウスノイズを持つ連続データの場合、これは入力と再構成出力の間の平均二乗誤差(MSE)であることが多い。二値データの場合、これは二値交差エントロピーである。
KLダイバージェンス項は、近似事後分布q_φ(z|x)と事前分布p(z)の間で計算される。ガウス分布の場合、これは閉形式の式を持つ:
KL(q_φ(z|x) || p(z)) = -0.5 * (1 + log σ² - μ² - σ²)、
ここで事前分布がN(0, I)であると仮定する。この項は、潜在分布が事前分布から逸脱することを罰し、コンパクトで連続的な潜在空間を促進する。
KLダイバージェンスはモード探索行動につながる可能性があり、モデルがデータ分布の少数のモードに焦点を当てる。これに対処するために、ワッサースタイン距離や最大平均不一致(MMD)などの異なる統計距離を使用するなど、様々な代替案が提案されている。
変種と拡張
VAEの導入以来、性能を改善し限界に対処するために多数の変種が開発されてきた。注目すべき変種には以下が含まれる:
- β-VAE:KLダイバージェンス項に重み係数βを導入し、より解離した表現を促進する。これは解釈可能な因子の教師なし学習でよく使用される。
- 条件付きVAE(CVAE):エンコーダーとデコーダーの両方をクラスラベルなどの追加情報で条件付けし、制御された生成を可能にする。
- VQ-VAE:潜在空間でベクトル量子化を使用し、離散的な潜在コードを生成する。これは画像生成や表現学習などのタスクに有用である。
- 統計距離VAE変種:KLダイバージェンスをワッサースタイン距離などの他の統計距離に置き換え、訓練の安定性とサンプル品質を改善する。
これらの変種は、画像生成、テキスト生成、異常検知など、様々な領域で応用されている。
応用と重要性
変分オートエンコーダーは、機械学習と人工知能において幅広い応用がある。これらは生成モデリングに使用され、訓練データに類似した新しいデータサンプル(画像、音声、テキストなど)を生成できる。VAEは表現学習にも使用され、潜在空間がデータの意味のある特徴を捉え、クラスタリングや次元削減などのタスクを可能にする。
半教師あり学習では、VAEはラベルなしデータを活用して有用な表現を学習し、ラベル付きデータが限られたタスクでの性能を向上させることができる。教師あり学習では、VAEは特徴抽出器やデータ拡張に使用できる。VAEは異常検知にも応用されており、データポイントの再構成誤差や尤度が正常か異常かを示す。
VAEの重要性は、教師なしで確率的潜在表現を学習する能力にあり、生成モデリングのための原理的なフレームワークを提供する。これらは、生成AIのより広い分野を含む、その後の深層学習の多くの発展に影響を与えており、現在も活発な研究分野である。
他の生成モデルとの関係
VAEは、生成的敵対ネットワーク(GAN)や拡散モデルと並んで、著名な生成モデルファミリーの1つである。GANが敵対的訓練プロセスを通じて現実的なサンプルを生成することに焦点を当てるのに対し、VAEは確率的推論と滑らかな潜在空間を強調する。最近人気を集めている拡散モデルは、ノイズ付加プロセスを逆転させることでデータを生成する。各アプローチには長所と短所があり、VAEは安定した訓練と明確に定義された潜在空間を提供するが、GANと比較してぼやけたサンプルを生成する可能性がある。モデルの選択は、特定のアプリケーションと要件に依存する。
深層学習の文脈では、VAEは変分オートエンコーダーベースのトランスフォーマーやマルチモーダルモデルのコンポーネントなど、より大きなアーキテクチャの構成要素としてよく使用される。これらは大規模言語モデルの開発にも関連しているが、それらは通常、VAEではなく自己回帰またはトランスフォーマーアーキテクチャに依存している。