最近読んでいる本で、VAEにはいろんな種類の派生技術があることがわかった。 このため、整理する。
参考書
AIが筆跡を覚えることが可能だと思わせる技術(Conditional VAE)
Conditional VAEは、潜在変数だけではなくDecoderに入力することでラベルを指定した生成を行う。
下記は、指定したラベルの手書き数字画像が生成された結果
それぞれ縦横2つの潜在変数を変化させているが、同じ文字でも書き方が変化していることがわかる。 VAEは教師なし学習であるが、これに対して教師あり学習の要素を加えて反響しあり学習にすることで、復元するデータの指定を行うことが可能になる。
参考論文
https://arxiv.org/pdf/1406.5298.pdf
潜在変数を使って画像などの特徴を要素分解できる興味深い技術(β-VAE)
β-VAEは、画像特徴の「disentanglement」、すなわち「もつれ」をとくことが特徴で、画像の禿頭を潜在空間上で分離することができる。
例えば、顔の画像の場合、1つ目の潜在変数が目の形、2つ目の潜在変数が顔の向きのように、潜在変数の各要素が独立した異なる特徴を担当する事になる。 これにより、例えば1つ目の潜在変数が独立した異なる特徴を担当することになる。 潜在変数の例
1つ目の調整をすることで目の形を変えることができる。
2つ目の潜在変数を調整することで顔向きを調整することが可能になる。
β-VAEは顔の向きと表情意外は変化していないが、VAEはそれ以外も変化している。
参考文献
https://openreview.net/pdf?id=Sy2fzU9gl
https://github.com/Yagami360/MachineLearning-Papers_Survey/issues/27
高品質な画像生成が可能になる。(Vector Quantised VAE)
VAEには潜在変数がデータの特徴をうまく捉えることができなくなる"posterior collapse"と呼ばれる現象がある。 これにより生成画像がぼやけたものになってしまう問題がある。
この問題に対処するために、Vector Quantised VAEでは潜在変数を離散値(0, 1, 2, 3....)に変換する。 これは、画像をEncoderに入力し、出力である潜在変数のベクトルを「コードブック」にマッピングすることで実装される。 画像を離散的な潜在空間に圧縮することにより、高品質な画像の生成が可能になる。
参考資料
https://arxiv.org/pdf/1711.00937.pdf
補足:コードブックとは
ベクトル量子化(Vector Quantization: VQ)とは、ベクトルで表されたデータ集合を有限個の代表的なパターン(セントロイド)に置き換える処理のことです。代表パターン(セントロイド)のリストはコードブック(code book)と呼ばれます。また、クラスタの番号をコードと呼びます。各ベクトルデータは、距離が一番近いコードに置き換えられます。大量のデータを少ない代表パターンで置き換えることができるためデータの圧縮に使えます。ただし、コードブックから元のデータは復元できないため非可逆圧縮になります。
更に高品質な画像生成が可能になる。(Vector Quantised VAE-2)
VQ-VAE-2は、VQ-VAEを階層構造にすることで更に高解像度の画像を生成できるようにした技術。 VQ-VAE-2では、潜在表現を異なるスケールごとに、階層的に学習する。 潜在表現は元の画像よりも大幅に小さくなるが、これをDecoderすることでより非常に鮮明でリアルな画像を再構成することが可能。
参考資料
https://arxiv.org/pdf/1906.00446.pdf
補助資料にも詳細に色々とまとめられてます。
Generating Diverse High-Fidelity Images with VQ-VAE-2
www.slideshare.net
本記事の参考資料
なお本まとめは、下記の本から色々と引用させて頂きました。 手を動かして学ぶシリーズですが、いろいろと学ぶことが多い本です。