1 简介

本文根据2021年6月的《Taming Transformers for High-Resolution Image Synthesis》翻译总结的。Taming是驯化的意思。从标题可以看到有效了利用了transformer。

我们显示了1)如何使用CNN学习了一个图像成分的语义丰富的词汇表,这部分也就是VQGAN;2)利用transformer在高分辨率图像中有效地对其组成(VQGAN压缩过的图片码书表示)进行建模。

整体模型也就如下图,包括两部分,VQGAN和transformer。VQGAN先进行图片的压缩,然后输入到transformer。VQGAN算是VQVAE的升级吧,使用了离散化VQ,也使用了对抗式训练GAN。

2 方法

代替用像素表示图片,我们用码书(codebook)中的感知的丰富图片成分来表示。这样我们可以有效减少构成的长度,从而可以方便使用transformer。

2.1 学习一个有效的码书

 

然后图像通过解码器G重构恢复,如下式:

上面公式3的反向传输时不可微分。不过我们可以将解码器梯度直接复制到编码器,这样整个模型和码书就可以端到端训练了,损失函数如下:

学习感知丰富的码书

VQGAN是VQVAE的变体,使用识别器D和感知损失,在增加压缩率下保持好的感知质量。损失函数如下:

完整的损失函数如下:

2.2 使用transformer学习图片构成

 

接着使用自回归模型,通过索引为i之前的序列预测索引i。即如下式:

我们可以直接最大化log-likelihood。

基于条件生成

就多加了条件c,改为下式:

生成高分辨率图片

使用了滑窗注意力,如下图

3 实验

使用码书长度|Z|=1024.

如下表,在人脸合成上,VQGAN效果好。

VQGAN和VQGAE、DALL-E(也是基于VAE的)相比,在imageNet数据上,效果也较好。

下图,更加直观的比较了VQGAN和VQGAE,VQGAE效果模糊,而VQGAN更逼真。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐