再構築とKL損失変分オートエンコーダーのバランス


11

顔のデータセットで条件付き変分オートエンコーダをトレーニングしています。KLL損失を再構成損失項に等しく設定すると、オートエンコーダーがさまざまなサンプルを生成できないようです。私はいつも同じタイプの顔が現れます: ここに画像の説明を入力してください

これらのサンプルはひどいです。ただし、KLL損失の重みを0.001減らすと、妥当なサンプルが得られます。 ここに画像の説明を入力してください

問題は、学習された潜在空間が滑らかでないことです。潜在補間を実行しようとしたり、ランダムサンプルを生成しようとしたりすると、迷惑になります。KLL項の重みが小さい(0.001)場合、次の損失動作が観察されます ここに画像の説明を入力してください 。VLL損失(再構成項)が減少する一方で、KLLossは増加し続けることに注意してください。

潜在空間の次元も増やしてみましたが、うまくいきませんでした。

ここで、2つの損失項の重みが等しい場合、KLL項が支配的であるが、再構成損失の減少を許容しないことに注意してください。

ここに画像の説明を入力してください

これは恐ろしい再建をもたらします。これらの2つの損失項のバランスを取る方法、またはオートエンコーダがスムーズで補間的な潜在空間を学習して妥当な再構成を生成できるように、他に可能なことを提案しますか?

回答:


6

ここのパーティーには少し遅れて、おそらくこれをはるかに上回っていますが、ゼロから開始してKL損失を導入する前に少しだけ再構成損失についてトレーニングすることによってKL損失項を「ウォームアップ」する必要があることは十分に文書化されています。良くない。これを行ったかどうかは投稿からはわかりませんが、これはこれらがどれほど微妙なトレーニングであるかを示す典型的な例です-非常に強力な試行錯誤であり、少しのピクシーダストと、虹。


興味深い点ですが、その参考資料はありますか?
dopexxx

4
@dopexxx「KLアニーリング」を検索します
jayelm

ありがとう!Bengio以外の誰がそれを紹介しました:D実際、私は後である時点でその論文を見つけましたが、このスレッドについて忘れていました。それは素晴らしいリファレンスです
dopexxx

5

ただし、KLL損失の重みを0.001ずつ減らすと、妥当なサンプルが得られます。(...)問題は、学習された潜在空間が滑らかでないことです。

オーバーフィットのように見えます。潜在空間でのKLの損失は、正則化に相当することを覚えておいてください。

これらの2つの損失項のバランスをとる方法や、オートエンコーダがスムーズで補間可能な潜在空間を学習し、合理的な再構築を行うために試してみることのできる提案はありますか?

私は最近この論文にぶつかりました: -VAE:制約付き変分フレームワークを使用した基本的な視覚概念の学習(実際には1つの例ではデータセットを使用しています)。β

論文から(は変更したパラメーターです):β

潜在チャネルキャパシティと独立制約を再構成精度とバランスさせる調整可能なハイパーパラメータを導入します(...) -VAEはトレーニングに対して安定しており、データについてほとんど仮定せず、単一のハイパーパラメータチューニングに依存しています。弱くラベル付けされたデータを使用するハイパーパラメータ検索または純粋に監視されていないデータのヒューリスティックな目視検査によって直接最適化される。βββ

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.