読み方 : ブイキューブイエーイー
VQ-VAE【Vector Quantized Variational Autoencoder】
概要
VQ-VAEとは、変分オートエンコーダ(VAE)の拡張手法の一つで、データの潜在変数を連続的な値ではなく離散値のベクトルとして表現するもの。高画質な画像生成や音声合成、動画生成などの基盤として広く利用されている。

従来の変分オートエンコーダでは、エンコーダがデータを連続的な確率分布として表現するため、生成される画像がぼやけやすいという課題があった。これに対し、VQ-VAEは「コードブック」と呼ばれる離散的なベクトルの集合を用意し、エンコーダの出力をこれらに最も近いベクトルへと量子化する仕組みを採用している。
エンコーダによって抽出された特徴量は、コードブックに登録されたベクトルを指し示す番号(インデックス)に置き換えられる。デコーダはコードブックの指定された番号のベクトルを取り寄せ、これに基づいて元のデータを復元する。画像をパズルのピースのように有限のパターンの組み合わせとして表現することに似ている。
このような量子化を伴う操作は微分不可能なため、そのままでは誤差逆伝播法による学習が困難となってしまう。そこで、VQ-VAEではデコーダからの勾配をそのままエンコーダへと流す「ストレートスルー推定法」という手法が用いられる。同時に、コードブックのベクトル自体も、入力データの分布に近づくように逐次更新する。モデルはデータの本質的な特徴を効率的に圧縮し、意味のある「語彙」をコードブックとして獲得することができる。
データを離散的な表現に変換することで、連続値の空間を扱うよりも情報の密度を高められ、自己回帰モデルやTransformerなど他の機械学習モデルと組み合わせやすくなる利点がある。例えば、画像を一旦VQ-VAEで離散的な記号の列に変換し、その記号の並び方をTransformerで学習させることで、極めて高精細で複雑な構造を持つ画像の生成が可能となる。