本文へ移動

G検定(ジェネラリスト検定)

へんぶんおーとえんこーだ

変分オートエンコーダ

VAE

Variational Autoencoder

変分オートエンコーダ(VAE)とは、連続な潜在変数を持つ確率モデルについて、データから潜在変数の分布を推し量る認識モデルと、潜在変数からデータを生み出すモデルの両方を確率的勾配法でまとめて学習できるようにしたモデルです。

詳しい説明

変分オートエンコーダが扱う問題

変分オートエンコーダ(Variational Autoencoder、略称VAE)は、ディーデリック・P・キングマ(Diederik P. Kingma)とマックス・ヴェリング(Max Welling)が2013年に発表した論文「Auto-Encoding Variational Bayes」の手法にもとづくモデルです。

この論文が対象にしているのは、観測できるデータの背後に、直接は観測できない連続な値の変数があると考える確率モデルです。この観測できない変数を潜在変数と呼びます。データ点ごとに1つずつ潜在変数があり、潜在変数からデータが生み出されるという向きを持つモデルなので、有向確率モデルと呼ばれます。

このようなモデルでは、あるデータが与えられたときに潜在変数がどんな値だったかを表す分布(事後分布)は、正確に計算するのが難しい場合があります。キングマとヴェリングは、事後分布が扱いにくいモデルでも効率よく推論と学習を行える確率的変分推論のアルゴリズムを提案しました。

認識モデルと変分下界による学習

変分オートエンコーダの中心には2つのしくみがあります。

1つ目は近似推論モデルで、論文では認識モデルとも呼ばれています。正確には計算しにくい事後分布の代わりに、データを入力すると潜在変数の分布を近似して返すモデルを用意し、これを学習させます。学習が済んだ認識モデルにデータを入れれば潜在変数の分布が得られるので、データ点ごとに事後分布を一から計算し直す必要がなくなり、事後推論を効率よく行えます。

2つ目は変分下界の再パラメータ化です。変分下界は、学習で直接は計算しにくい量の代わりに最適化する、その量の下限にあたる値です。論文は、この下界を書き換える(再パラメータ化する)ことで、標準的な確率的勾配法で最適化できる推定量が得られることを示しました。これによって、認識モデルと、潜在変数からデータを生み出す側のモデルの両方が、勾配法による学習の対象になります。

論文が事後推論の効率化を特に示しているのは、データ点ごとに連続な潜在変数を持つi.i.d.のデータセットの場合です。i.i.d.とは、各データ点が互いに独立に、同じ分布から得られていることを指します。

平均と分散で表す潜在変数の例

潜在変数を確率分布で表すとはどういうことか、数値で考えてみます。潜在変数を2つの数の組とし、その分布の形として正規分布を使う場合を想定します。

ある手書き数字の画像を認識モデルに入れたところ、1つ目の潜在変数について平均0.8、分散0.1、2つ目の潜在変数について平均マイナス1.5、分散0.2という値が出てきたとします。これは、この画像の潜在変数は1つ目がおよそ0.8の近く、2つ目がおよそマイナス1.5の近くにありそうだが、ぴったり1つの値には決まらない、という状態を表しています。分散が小さいほど、平均の近くにあるという見込みが強いことを意味します。

学習ではこの分布から値を取り出して使います。たとえば1回目は0.75とマイナス1.6、2回目は0.9とマイナス1.3のように、取り出す値は毎回少しずつ変わります。そのように値が揺れても元のデータをうまく説明できるよう、認識モデルとデータを生み出す側のモデルが調整されていく、というのが一般的な理解です。

通常のオートエンコーダとの違い

オートエンコーダは、入力をその出力へコピーするように訓練されるニューラルネットワークです。イアン・グッドフェロー(Ian Goodfellow)、ヨシュア・ベンジオ(Yoshua Bengio)、アーロン・クールヴィル(Aaron Courville)の教科書「Deep Learning」(2016年)では、入力xからコードhを求めるエンコーダh=f(x)と、hから再構成r=g(h)を作るデコーダの2つの部分からなると説明されています。ここでのhは、1つの入力に対して1つに決まる値です。

変分オートエンコーダも、データから潜在変数へ向かう認識モデルと、潜在変数からデータを生み出すモデルという2つの部分を持つので、エンコーダとデコーダの組と似た形をしています。一方で、変分オートエンコーダは潜在変数を1つの値ではなく確率分布として扱う点で異なる、と一般に理解されます。

出発点の違いも押さえておくと整理しやすくなります。通常のオートエンコーダは、入力をうまく写し取るコードを求めるところから組み立てられています。変分オートエンコーダは、潜在変数を持つ確率モデルで推論と学習をどう効率よく行うかという問題から組み立てられています。

誤解しやすい点

名前にオートエンコーダと入っているため、通常のオートエンコーダに手を加えたものとして受け取られがちです。しかし、キングマとヴェリングの論文の要旨は、通常のオートエンコーダとの比較としては書かれていません。要旨が述べているのは、連続な潜在変数を持ち事後分布が扱いにくい確率モデルに対する推論と学習の方法です。通常のオートエンコーダとの対比は、両者の構造を並べたときに読み取れる理解として持っておくのが適切です。

また、論文が対象として挙げているのは連続な潜在変数です。潜在変数が連続な値をとるモデルであることが、このしくみの前提になっています。

試験で問われること

G検定

  • VAEは、キングマとヴェリングが2013年の論文「Auto-Encoding Variational Bayes」で示した手法にもとづくモデルです。連続な潜在変数を持ち、事後分布が扱いにくい確率モデルで、推論と学習を効率よく行うことを目的としています。
  • 認識モデル(近似推論モデル)は、データを入力すると潜在変数の分布を近似して返すモデルです。これを学習させておくことで、データ点ごとに事後分布を計算し直さずに推論できます。
  • 変分下界を再パラメータ化することで、標準的な確率的勾配法で最適化できる推定量が得られます。これにより、認識モデルと潜在変数からデータを生み出すモデルを勾配法で学習できます。
  • 通常のオートエンコーダはエンコーダh=f(x)で入力ごとに1つのコードを求めます。VAEは潜在変数を確率分布として扱い、その分布はたとえば平均と分散で表されます。この点で通常のオートエンコーダと異なると理解されます。

最終更新日: 2026/09/23