VAE(変分オートエンコーダ)は画像を新しく作れるらしいけど、ふつうのオートエンコーダとどこが違うん?
【疑問】VAEはふつうのオートエンコーダと何が違うん?β-VAE・VQ-VAE・info VAEまで【G検定】
前提のおさらい。オートエンコーダは、入力を小さい潜在表現(真ん中の層)に縮めて、そこから入力を復元するように学ぶ
>>1
ふつうのオートエンコーダは、入力を潜在空間の1点に写す。点と点のあいだに何があるかは決まってないから、適当な点から復元しても意味のある画像にならん
VAEは、入力を1点やなくて正規分布(平均 、標準偏差 )に写す。そして、その分布が標準正規分布 に近くなるように学習する
潜在空間がすき間なく、なめらかに埋まるから、 から点をとって復元すれば新しい画像が作れる
>>3
キングマとウェリングの2013年の論文で提案された
誤差は「復元の誤差」と「分布が からどれだけ離れてるか(KL情報量)」の和
なら0。 なら0.5、 なら約0.32
>>4
分布から点をランダムにとるんやったら、そこで微分できんくなるんちゃうの?
>>5
そこで再パラメータ化トリック。( は からとる)と書きかえると、ランダムなのは だけになって、 と では微分できる
、、とれた なら
β-VAEは、KLの項に を掛けて強めたもの。ヒギンズらの2017年の論文
潜在変数の1つ1つが、顔の向き・笑顔の度合い、みたいに別々の要素に分かれやすくなる(もつれをほどいた表現)。そのかわり復元の細かさは落ちやすい
VQ-VAEは、潜在表現を連続の値やなくて、決まった数のベクトル(コードブック)のどれかに置きかえる。ファン・デン・オードらの2017年の論文
エンコーダの出力が (0.9, 0.2) で、コードブックが (1, 0) と (0, 1) なら、距離の2乗は0.05と1.45で、(1, 0) に置きかえる
>>8
わざわざとびとびの値にする意味ある?
>>9
画像や音声を「コードの番号の並び」として扱えるようになる。番号の並びなら、文章を作るモデルと同じやり方で次の番号を予測して、新しい画像や音声を作れる
>>7
info VAEは、VAEのKLの項が強すぎて、デコーダが潜在変数をほとんど使わなくなる問題に対して、入力と潜在変数の相互情報量を保つように誤差を変えたもの。ジャオらの2017年の論文
管理人のひとこと
- VAE(キングマとウェリング、2013年の論文)は入力を正規分布に写し、それが に近くなるように学ぶ。潜在空間がなめらかに埋まり、点をとって新しいデータを作れる。
- 誤差は復元誤差+KL情報量。 は (0,1) で0、(1,1) で0.5、(0,0.5) で約0.32。再パラメータ化 で微分できる。
- β-VAE(2017年の論文)はKLを強めて要素ごとに分かれた表現にする。VQ-VAE(2017年の論文)は潜在表現をコードブックの一番近いベクトルに置きかえる((0.9, 0.2) は (1, 0) へ)。
- info VAE(2017年の論文)は入力と潜在変数の相互情報量を保つように誤差を変え、潜在変数が使われなくなる問題を和らげる。