VQGAN 画像生成 (離散化と対立トレーニング)

1 はじめに

この記事は、 2021 年 6 月の「 Taming Transformers for High-Resolution Image Synthesis 」の翻訳と要約に基づいています。テイミングとは飼い慣らすという意味です。タイトルからもわかるように、トランスが有効活用されています。

1) CNN を使用して画像コンポーネントの意味的に豊富な語彙を学習する方法 (この部分は VQGAN) をモデリングに使用する方法を示します。

全体のモデルは次の図に示すとおりで、VQGAN とトランスの 2 つの部分が含まれています。VQGAN はまず画像を圧縮し、それから変換器に入力します。VQGAN は VQVAE をアップグレードしたもので、離散 VQ と対立訓練 GAN を使用します。

2つの方法

画像をピクセルで表現する代わりに、コードブック内の知覚的に豊富な画像コンポーネントによって画像を表現します。このようにして、構成の長さを効果的に短縮できるため、変圧器を便利に使用できます。

2.1 効果的なコードブックの学習

 

次に、画像は次のようにデコーダ G によって再構築および復元されます。

上記の式 3 の逆伝播時間は微分可能ではありません。ただし、デコーダーの勾配をエンコーダーに直接コピーできるため、モデルとコードブック全体をエンドツーエンドでトレーニングできます。損失関数は次のとおりです。

知覚的にリッチなコードブックの学習

VQGAN は、弁別器 D と知覚損失を使用して、圧縮を高めたときに良好な知覚品質を維持する VQVAE の変形です。損失関数は次のとおりです。

完全な損失関数は次のとおりです。

2.2 トランスフォーマーを使用して画像合成を学習する

 

次に、自己回帰モデルを使用して、インデックス i の前のシーケンスによってインデックス i を予測します。つまり、次の式になります。

対数尤度を直接最大化できます。

条件に基づいて生成される

条件 c を追加して、次の式に変更します。

高解像度の画像を生成する

以下に示すように、スライディング ウィンドウ アテンションが使用されます。

3つの実験

コードブックの長さ |Z|=1024 を使用します。

以下の表に示すように、VQGAN は顔の合成に適しています。

VQGAE および DALL-E (これも VAE に基づく) と比較して、VQGAN は imageNet データに対してより優れた効果をもたらします。

下の図は VQGAN と VQGAE をより直感的に比較したもので、VQGAE の効果はぼやけていますが、VQGAN の方がより現実的です。

おすすめ

転載: blog.csdn.net/zephyr_wang/article/details/131290193