- 「VQーVAE(生成モデル)」について学びたいけど理解できるか不安・・・
- 「VQーVAE(生成モデル)」と「VAE」の違いが分からない?
- 「VQーVAE(生成モデル)」を体系的に教えて!
VQーVAE(Vector Quantised-Variational AutoEncoder、ベクトル量子化変分オートエンコーダー)はVAE(変分オートエンコーダー)の派生技術にあたる生成モデルであり、VAEで起こりやすいとされる「posterior collapse」の問題を回避し、高品質のデータを生成することが可能でありますが、興味があっても難しそうで何から学んだらよいか分からず、勉強のやる気を失うケースは非常に多いです。
私は過去に基本情報技術者試験(旧:第二種情報処理技術者試験)に合格し、また2年程前に「一般社団法人 日本ディープラーニング協会」が主催の「G検定試験」に合格しました。現在、「E資格」にチャレンジ中ですが3回不合格になり、この経験から学習の要点について学ぶ機会がありました。
そこでこの記事では、VQ-VAEのポイントを解説します。
この記事を参考に「VQ-VAE」が理解できれば、E資格に合格できるはずです。
目次
1.VQ-VAEとは
VQーVAE(Vector Quantised-Variational AutoEncoder)とは・・・
- VAE(Variational AutoEncoder:変分オートエンコーダー)の派生技術にあたる生成モデル
- 仕組み
「自然界の様々な事物の特徴を捉えるには離散変数の方が適している」という発想から、潜在変数が離散値となるように学習が行われる。 - メリット
VAEで起こりやすいとされる”posterior collapse”の問題を回避し、高品質のデータを生成することが可能- 補足)posterior collapse:直訳は「後部崩壊」、VAEの訓練は潜在変数がデコーダーに無視される現象にしばしば妨げられる
2.VQ-VAEとVAEの比較
VAEとVQーVAEの比較

VAE | VQーVAE | |
---|---|---|
潜在変数z | ガウス(Gauss)分布に従うベクトルになるように学習を行う。 補足)ガウス(Gauss)分布とは1次元正規分布のこと | 離散的な数値となるように学習を行う。 事後分布q(z|x)は以下のように表される。 |

k,j:離散潜在埋め込みベクトルのインデックス(カテゴリ数 K)
ej:インデックスjの潜在埋め込みベクトル
3.Evidence lower bound(ELBO)の最大化
- 通常のVAEと同様にEvidence lower bound(ELBO)の最大化を考える。
Evidence lower bound:直訳すると「証拠の下限」

- 上式より、KL項が定数となる ⇒ KL項を無視して学習が行える

著者
上式のポイントは2つあるよ!
q(z=k|x)=1 ⇒ log q(z=k|x) = 0
p(z=k)=1/K ⇒ ーlog(1/K)=log K
4.VQ-VAEの目的関数
VQ-VAEの目的関数は以下の式で表される。

- ①項:VQ処理後の勾配を「エンコーダの出力の勾配」としてコピーする形で、エンコーダまで逆伝播される。
- ②項:コードブックロス。潜在埋め込みベクトルの更新に用いられる。
- ③項:コミットメントロス。エンコーダーのパラメーター更新にのみ使われる。

著者
VQ処理は微分不可能であることがポイントだよ!!
5.まとめ



最後まで読んで頂きありがとうございます。
皆様のキャリアアップを応援しています!!
コメント