Transformer带来了各种自然语言任务的快速进步,最近开始渗透到计算机视觉领域,之前开始被CNN称霸的任务中暂时展现出引人注目的身影。最近,加州大学圣地亚哥分校和谷歌研究院的一项研究提出了使用visualTransformer来训练GAN。为了有效应用该方法,研究人员还提出了多项改进技术,使新方法在某些指标上可与前沿的CNN模型相媲美。卷积神经网络(CNN)因其在卷积(权重共享和局部连接)和池化(平移等变)方面的强大能力而成为当今计算机视觉领域的主导技术。但最近,Transformer架构已开始在图像和视频识别任务中与CNN竞争。特别值得一提的是VisionTransformer(ViT)。该技术将图像解释为标记序列(类似于自然语言中的单词)。Dosovitskiy等。表明ViT在ImageNet基准测试中以较低的计算成本实现了相当的分类精度。与CNN中的本地连接不同,ViT依赖于在全局上下文中考虑的表示,其中每个补丁必须与同一图像的所有补丁相关联地进行处理。ViT及其变体虽然仍处于早期阶段,但已被证明有望用于建模非本地上下文依赖关系,并且还被证明是高效和可扩展的。自从ViT诞生以来,它已经被用于许多不同的任务,例如目标检测、视频识别和多任务预训练。最近,加州大学圣地亚哥分校和谷歌研究院的一项研究提出了使用visualTransformer来训练GAN。这篇论文的研究主题是:visualTransformers是否可以在不使用卷积或池化的情况下完成图像生成任务?更具体地说:ViT能否用于训练生成对抗网络(GAN),使其达到与广泛研究的基于CNN的GAN相当的质量?论文链接:https://arxiv.org/pdf/2107.04589.pdf为此,研究人员遵循最原始的ViT设计,使用纯基础的ViT训练GAN(如图2(A)所示)。困难在于,当与ViT结合时,GAN训练变得非常不稳定,并且在鉴别器训练后期,对抗性训练通常会受到高方差梯度(或尖峰梯度)的阻碍。此外,虽然梯度惩罚和谱归一化等传统正则化方法可以有效地用于基于CNN的GAN模型(如图4所示),但这些正则化方法无法解决上述不稳定性问题。基于CNN的GAN在使用适当的正则化方法进行训练时不稳定的情况并不常见,因此这对于基于ViT的GAN来说是一个独特的挑战。针对这些问题,本文提出了一些必要的修改,以稳定训练动态并促进基于ViT的GAN的收敛。在判别器中,研究人员重新审视了自注意力的Lipschitz特性,在此基础上,他们设计了一种增强Lipschitz连续性的谱归一化。与努力应对不稳定性的传统光谱归一化方法不同,这些技术在稳定基于ViT的鉴别器的训练动态方面非常有效。此外,为了验证新提出的技术的效果,研究人员还进行了控制变量研究。对于基于ViT的生成器,研究人员尝试了几种不同的架构设计,并发现了对层标准化和输出映射层的两个关键修改。实验表明,无论使用的判别器是基于ViT还是CNN,基于ViT修改版本的生成器都可以更好地促进对抗训练。为了更有说服力,研究人员在三个标准图像合成基准上进行了实验。结果表明,新提出的模型ViTGAN大大优于之前基于Transformer的GAN模型,并且在不使用卷积和池化的情况下也实现了与领先的基于CNN的GAN(例如StyleGAN2)相当的性能。据作者介绍,新提出的ViTGAN是最早在GAN中使用视觉Transformer的尝试之一,更重要的是,这项研究首次表明Transformer在CIFAR、CelebA、和LSUN卧室数据集。当前最先进的卷积架构。方法图1显示了新提出的ViTGAN架构,它由一个ViT鉴别器和一个基于ViT的生成器组成。研究人员发现,直接使用ViT作为判别器会使训练变得不稳定。为了稳定训练动态并促进收敛,研究人员为生成器和鉴别器引入了新技术:(1)ViT鉴别器的正则化和(2)新的生成器架构。图1:新提出的ViTGAN框架示意图。生成器和鉴别器都是基于VisualTransformer(ViT)设计的。判别器得分来自分类嵌入(图中标记为*);生成器根据补丁嵌入逐个补丁地生成像素。增强Transformer鉴别器的Lipschitz属性。在GAN鉴别器中,Lipschitz连续性起着重要作用。它首先被注意到是作为WGAN中Wasserstein距离的近似条件,此后在其他GAN设置中使用Wasserstein损失得到了证实。其中,ICML2019论文《Lipschitz generative adversarial nets》尤为值得一提,它证明了Lipschitz判别器能够保证最优判别函数和唯一纳什均衡的存在性。然而,来自ICML2021《The lipschitz constant of self-attention》的一篇论文表明,标准点积自注意力层的Lipschitz常数可以是无界的,这打破了ViT中的Lipschitz连续性。为了加强ViT鉴别器的Lipschitz属性,研究人员采用了上述论文中提出的L2注意力。如式7所示,将点积相似度换成欧式距离,投影矩阵的权重也关联起来,用于self-attention中的query和key。这种改进提高了用于GAN鉴别器的Transformer的稳定性。改进的光谱归一化。为了进一步加强Lipschitz连续性,研究人员还在鉴别器训练中使用了谱归一化。标准谱归一化使用幂迭代来估计神经网络每一层的投影矩阵的谱范数,然后将权重矩阵除以估计的谱范数,使得得到的投影矩阵的Lipschitz常数等于1。研究人员发现,Transformer模块对Lipschitz常数的大小非常敏感,使用谱归一化时,训练速度会很慢。同样,研究人员还发现,当使用基于ViT的鉴别器时,R1梯度惩罚会损害GAN训练。另一项研究发现,如果MLP模块的Lipschitz常数较小,可能会导致Transformer的输出坍缩成rank-1矩阵。为了解决这个问题,研究人员提出增加投影矩阵的谱范数。他们发现,只需在初始化时将谱范数与每一层的归一化权重矩阵相乘就足以解决这个问题。具体来说,光谱归一化的更新规则如下,其中σ是计算权重矩阵的标准光谱范数:重叠图像块。由于ViT判别器的学习能力太大,容易出现过拟合。在这项研究中,鉴别器和生成器使用相同的图像表示,根据预定义的网络P×P将图像分割成一系列不重叠的块。如果设计不当,这些任意的网络分区可能会迫使鉴别器记住局部线索,从而无法为生成器提供有意义的损失。为了解决这个问题,研究人员采用了重叠补丁的简单技巧。对于补丁的每条边,它都被扩展了o个像素,这样有效的补丁大小就变成了(P+2o)×(P+2o)。这会产生与原始序列长度相同的序列,但对预定义网格不太敏感。Transformer也可以更好地理解当前patch的相邻patch是什么,从而更好地理解局部特征。生成器设计基于ViT架构设计生成器并非易事,其中一个挑战是将ViT的功能从预测一组类标签转变为在空间区域中生成像素。图2:生成器架构。左边是研究人员研究的三种生成器架构:(A)为每个位置嵌入添加一个中间隐藏嵌入w,(B)将w预置到序列上,(C)使用从w学习的仿射自调制层范数通过变换(图中A)计算的(SLN/self-modulatedlayernorm)代替归一化。右图是Transformer模块中使用的自调制操作的细节。研究人员首先研究了多种生成器架构,发现它们都无法与基于CNN的生成器相媲美。于是他们按照ViT的设计原理提出了一种全新的发电机。图2(c)显示了这个ViTGAN生成器,它由两个主要组件组成:Transformer模块和输出映射层。为了促进训练过程,研究人员对新提出的生成器进行了两项改进:自调节层范数(SLN)。新方法不是将噪声向量z作为输入发送到ViT,而是使用z来调制层范数操作。这种操作称为自调制,因为该过程不需要外部信息;用于瓦片生成的隐式神经表示。为了学习从补丁嵌入到补丁像素值的连续映射,我们使用隐式神经表示。当与傅里叶特征或正弦激活函数结合使用时,隐式表示将生成的样本空间限制为平滑变化的自然信号空间。该研究发现,在使用基于ViT的生成器训练GAN时,隐式表示特别强大。需要指出的是,由于生成器和判别器的图像网格不同,因此序列长度也不同。进一步的研究发现,当模型需要扩展到更高分辨率的图像时,只需简单地增加判别器的序列长度或特征维度就足够了。实验结果表1:几种具有代表性的GAN架构在无条件图像生成基准上的结果比较。Conv和Pool分别代表卷积和池化。↓表示越低越好;↑表示越高越好。表1显示了图像合成的三个标准基准的主要结果。本文提出的新方法可与以下基准架构相媲美。TransGAN是目前唯一完全不使用卷积的GAN,完全基于Transformer。这里的比较是与其最佳变体TransGAN-XL的比较。Vanilla-ViT是一种基于ViT的GAN,它使用图2(A)的生成器和ViT鉴别器的干净版本,但不使用本文提出的改进技术。图2(B)所示的生成器架构在表3a中分别进行了比较。此外,BigGAN和StyleGAN2作为基于CNN的GAN的最佳模型也被纳入对比。图3:定性比较。ViTGAN与CIFAR-1032×32、CelebA64×64和LSUNBedroom64×64数据集上的StyleGAN2、Transformer的最佳基准以及清洁生成器和鉴别器的ViT相比的结果。图4:(a-c)梯度幅度(所有参数的L2范数)和(d-f)ViT鉴别器的FID分数(越低越好)作为训练迭代的函数。可以看出,新提出的方法的性能与使用R1惩罚和谱范数的两个干净的ViT鉴别器基准相当。架构的其余部分对于所有方法都是相同的。可以看出,新方法可以克服梯度幅度的峰值并实现显着较低的FID(在CIFAR和CelebA上)或类似的FID(在LSUN上)。表3:在CIFAR-10数据集上对ViTGAN进行的控制变量研究。左图:发电机架构的控制变量研究。右图:鉴别器架构的控制变量研究。
