core idea:将self-attention机制引入到GANs的图像生成当中,来建模像素间的远距离关系,用于图像生成任务
CGAN的缺点:
1.依赖卷积建模图像不同区域的依赖关系,由于卷积核比较小一般都是1*1,3*3,5*5,导致卷积感受野太小,需要进行多层卷积才能获取远距离的依赖关系
2.多层卷积,优化算法优化参数困难
在本文中,我们提出了自我注意生成对抗网络(SAGAN),它允许注意力驱动的远程依赖建模的图像生成任务。传统卷积GAN在低分辨率特征地图中仅通过空间局部点的函数生成高分辨率细节。在SAGAN中,可以使用来自所有特征位置的线索生成细节。此外,鉴别器可以检查图像的远处部分的高度详细的特征是否彼此一致。此外,最近的研究表明生成器调节影响GAN的性能。利用这一发现,我们将光谱归一化(spectral normalization)应用于GAN生成器,并发现这改善了训练动力学。提出的SAGAN比之前的工作1表现得更好,在具有挑战性的ImageNet数据集上,将最佳发布Inception得分从36.8提高到52.52,并将Frechet Inception距离从27.62降低到18.65。注意层的可视化显示,生成器利用与物体形状对应的邻近区域,而不是固定形状的局部区域。
图像合成是计算机视觉中的一个重要问题。随着生成式对抗网络的出现,在这个方向上已经取得了显著的进展(GANs) (Goodfellow等人,2014),尽管仍有许多开放的问题(Odena,2019)。基于深度卷积网络的GAN(Radford et al.,2016;Karras et al.,2018;Zhang et al.)尤其成功。然而,
通过仔细检查这些模型生成的样本,我们可以观察到卷积GAN(Odena et al.,2017;Miyato et al.,2018;Miyato & Koyama,2018)在多类数据集(如ImageNet (Russakovsky et al.,2015))上训练时,在建模某些图像类时比其他图像类困难得多。
例如,虽然最先进的ImageNet GAN模型(Miyato & Koyama, 2018)擅长合成具有少量结构约束的图像类(例如,海洋、天空和景观类,这些类更多地通过纹理而不是几何区分),它无法捕捉到某些类别中一致出现的几何或结构图案(例如,狗通常用真实的毛皮纹理绘制,但没有明确定义的单独的脚)。一个可能的解释是,以前的模型严重依赖于卷积来建模不同图像区域之间的依赖关系。因为卷积运算符有一个局部的接收字段,所以只能在通过几个卷积层之后处理长期依赖关系。由于各种原因,这可能会妨碍了解长期依赖关系:一个小模型可能无法表示它们,优化算法可能在发现参数值时遇到困难,这些参数值要仔细协调多个层来捕获这些依赖关系,而且这些参数化在应用于以前未见的输入时,在统计上可能很脆弱,容易失败。增加卷积核的大小可以提高网络的表示能力,但同时也会损失使用局部卷积结构所获得的计算和统计效率。另一方面,自我关注(Cheng et al.,2016;Parikh et al.,2016; V aswani et al.,2017)在长期依赖的建模能力与计算和统计效率之间表现出更好的平衡。自我注意模块将一个位置上的响应计算为所有位置上特征的加权和,其中的权重(或注意向量)只需要很小的计算成本就可以计算出来。
在这项工作中,我们提出了自我注意生成对抗网络(SAGANs),该网络将自我注意机制引入到卷积GAN中。自我关注模块是卷积的补充,并帮助建模的长期、多层次的依赖跨图像区域。有了自我注意,生成器可以绘制图像,其中每个位置的精细细节都与图像远处部分的精细细节仔细协调。此外,鉴别器还可以更准确地对全局图像结构施加复杂的几何约束。
除了self-attention,,我们还结合了最近关于网络调节与GAN性能的研究。Odena等人的研究表明,条件良好的生成器往往表现得更好。我们建议使用光谱归一化技术对GAN发生器进行良好的调理,该技术以前只应用于鉴别器(Miyato et al.,2018)。
我们在ImageNet数据集上进行了大量的实验,以验证提出的自我注意机制和稳定技术的有效性。SAGAN在图像合成方面显著优于之前的工作,它将最佳报告的Inception分数从36.8提高到52.52,并将Fréchet Inception距离从27.62降低到18.65。注意层的可视化显示,生成器利用与物体形状对应的邻近区域,而不是固定形状的局部区域。我们的代码可以访问:GitHub - brain-research/self-attention-gan。
Generative Adversarial Networks。GAN在各种图像生成任务中取得了巨大的成功,包括图像到图像的翻译(Isola等,2017;Zhu等,2017;Taigman等,2017;Liu & Tuzel,2016;Xue et al., 2018;Park et al.,2019),图像超分辨率(Ledig et al.,2017;Snderby et al.,2017)和文本-图像合成(Reed et al.,2016b;a;Zhang et al.,2017;Hong et al.,2018)。尽管取得了成功,GANs的训练众所周知是不稳定的和敏感的超参数的选择。一些研究试图通过设计新的网络架构来稳定GAN训练动态并提高样本多样性(Radford et al.,2016;Zhang et al.,2017;Karras et al.,2018;2019),修改学习目标和动态(Arjovsky et al.,2017;Salimans等人,2018;Metz等人,2017;Che等人,2017;Zhao等人,2017;jolicour - martineau,2019),加入正则化方法(Gulrajani等人,2017;Miyato等人,2018),并引入启发式技巧(Salimans等人,2016;Odena等人,2017;Azadi等人,2018)。最近,Miyatoet al.(Miyato et al.,2018)提出限制鉴别器中权重矩阵的谱范数,以约束鉴别器函数的Lipschitz常数。结合基于投影的鉴别器(Miyato & Koyama,2018),光谱归一化模型极大地改善了ImageNet上的类条件图像生成。
Attention Models。最近,注意机制已经成为捕捉全局依赖的模型的一个必要组成部分(Bahdanau等人,2014;Xu等人,2015;yang等人,2016;Gregor等人,2015;Chen等人,2018)。特别是自我注意(Cheng et al.,2016;Parikh et al.,2016),也被称为intra-attention,它通过注意同一序列中的所有位置来计算序列中某一位置的反应。V aswaniet al.(V aswaniet al.,2017)证明了机器翻译模型仅使用自我注意模型就可以获得最先进的结果。Parmaret等人(Parmar et al.,2018)提出了一个Image Transformer模型,将自我注意添加到一个用于图像生成的自回归模型中。Wanget al.(Wang et al.,2018)将自我注意形式化为非局部操作,以建模视频序列中的时空依赖性。尽管取得了这些进展,自我注意还没有在GAN的背景下被探索。(AttnGAN (Xu et al.,2018)使用注意对输入序列内的单词嵌入,但没有使用自我注意对内部模型状态)。SAGAN学习有效地发现全局的,长期的依赖自我注意生成对抗网络密度在图像的内部表示。
大多数基于GAN的图像生成模型(Radford et al.,2016;Salimans et al.,2016;Karras et al.,2018)都是使用卷积层构建的。卷积处理局部邻域的信息,因此单独使用卷积层在建模图像中的远程依赖时计算效率很低。在本节中,我们采用(Wang et al.,2018)的非局部模型将自我关注引入GAN框架,使生成器和鉴别器都能有效地建模广泛分离的空间区域之间的关系。我们称提出的方法为自我注意生成对抗网络(SAGAN),因为它的自我注意模块(见图2)。
前一个隐藏层的图像特征首先转换为两个特征空间
来计算注意,其中
。
表示模型在合成第j个区域时对第i个位置的关注程度。这里,C是通道的数量,N是来自前一个隐藏层的特征的特征位置的数量。注意层的输出
,其中
在上述公式中,,和
对学到的权矩阵进行关照,实现为1×1卷积。当我们减少
到
的通道数时,在ImageNet上经过几次训练后我们没有注意到任何显著的性能下降,其中k= 1,2,4,8。对于内存效率,我们在所有的实验中选择= 8(即,
=C/8)。
此外,我们进一步将注意层的输出乘以一个比例参数,并添加回输入特征图。因此,最终的输出是,
其中是一个可学习的标量,它被初始化为0。引入可学习
使得网络首先依赖于局部邻近区域的线索,因为这比较容易,然后逐渐学会给非局部证据分配更多的权重。我们这么做的直观原因很简单:我们想先学习简单的任务,然后逐渐增加任务的复杂性。在SAGAN中,建议的注意模块已应用于生成器和鉴别器,通过最小化铰链版本的对抗损失以交替的方式训练它们(Lim & Ye,2017;Tran et al.,2017;Miyato et al ., 2018),
我们还研究了两种技术来稳定GAN在具有挑战性的数据集上的训练。首先,我们在生成器和鉴别器中使用光谱归一化(Miyato et al.,2018)。其次,我们确认了双时间尺度更新规则(TTUR) (Heusel et al.,2017)是有效的,我们提倡专门使用它来解决正则化鉴别器学习缓慢的问题。
Miyatoet al.(Miyato et al.,2018)最初提出将光谱归一化应用于鉴别器网络来稳定GAN的训练。这样做通过限制每一层的光谱范数来约束鉴别器的李普希茨常数。与其他归一化技术相比,光谱归一化不需要额外的超参数调整(将所有权重层的光谱范数设置为1在实践中始终表现良好)。此外,计算成本也相对较小。
我们认为,生成器也可以受益于光谱归一化,基于最近的证据,生成器的条件是GAN性能的一个重要的因果因素(Odena等,2018)。在生成器中的光谱归一化可以防止参数幅度的升级和避免不寻常的梯度。我们从经验上发现,同时对生成器和鉴别器进行光谱归一化处理,可以使每个发生器更新使用较少的鉴别器更新,从而显著降低训练的计算成本。该方法还显示出更稳定的训练行为。
在之前的工作中,鉴别器的正规化(Miyato et al.,2018;Gulrajani et al.,2017)往往会减缓GANs的学习过程。在实践中,使用正则化鉴别器的方法通常需要在训练过程中对每个生成器更新步骤进行多个鉴别器更新步骤(例如,5个)。独立地,Heuselet等(Heusel et al., 2017)提倡使用单独的学习率(TTUR)的生成器和鉴别器。我们特别提出使用TTUR来补偿正则化鉴别器学习缓慢的问题,使每个生成器步骤使用较少的鉴别器步长成为可能。使用这种方法,我们能够在相同的wall-clock时间下产生更好的结果。
在本文中,我们提出了自我注意生成对抗网络(Self-Attention Generative Adversarial Networks, SAGANs),该网络将自我注意机制整合到GAN框架中。自我注意模块在建立长期依赖关系方面是有效的。此外,我们还表明,应用于生成器的光谱归一化稳定GAN训练,而TTUR加速正则化鉴别器的训练。SAGAN在ImageNet上实现了最先进的类条件图像生成性能。
根据源码绘制的判别器结构如下:(个人理解,不一定对)