core idea:将self-attention机制引入到GANs的图像生成当中,来建模像素间的远距离关系,用于图像生成任务

CGAN的缺点:
1.依赖卷积建模图像不同区域的依赖关系,由于卷积核比较小一般都是1*1,3*3,5*5,导致卷积感受野太小,需要进行多层卷积才能获取远距离的依赖关系
2.多层卷积,优化算法优化参数困难

Abstract

在本文中,我们提出了自我注意生成对抗网络(SAGAN),它允许注意力驱动的远程依赖建模的图像生成任务。传统卷积GAN在低分辨率特征地图中仅通过空间局部点的函数生成高分辨率细节。在SAGAN中,可以使用来自所有特征位置的线索生成细节。此外,鉴别器可以检查图像的远处部分的高度详细的特征是否彼此一致。此外,最近的研究表明生成器调节影响GAN的性能。利用这一发现,我们将光谱归一化(spectral normalization)应用于GAN生成器,并发现这改善了训练动力学。提出的SAGAN比之前的工作1表现得更好,在具有挑战性的ImageNet数据集上,将最佳发布Inception得分从36.8提高到52.52,并将Frechet Inception距离从27.62降低到18.65。注意层的可视化显示,生成器利用与物体形状对应的邻近区域,而不是固定形状的局部区域。

1. Introduction

图像合成是计算机视觉中的一个重要问题。随着生成式对抗网络的出现,在这个方向上已经取得了显著的进展(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。

2. Related Work

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学习有效地发现全局的,长期的依赖自我注意生成对抗网络密度在图像的内部表示。

3. Self-Attention Generative Adversarial Networks

大多数基于GAN的图像生成模型(Radford et al.,2016;Salimans et al.,2016;Karras et al.,2018)都是使用卷积层构建的。卷积处理局部邻域的信息,因此单独使用卷积层在建模图像中的远程依赖时计算效率很低。在本节中,我们采用(Wang et al.,2018)的非局部模型将自我关注引入GAN框架,使生成器和鉴别器都能有效地建模广泛分离的空间区域之间的关系。我们称提出的方法为自我注意生成对抗网络(SAGAN),因为它的自我注意模块(见图2)。

图2  SAGAN的自我注意模块,⊗表示矩阵乘法。对每一行执行softmax操作。

前一个隐藏层的图像特征首先转换为两个特征空间来计算注意,其中

表示模型在合成第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),

4. Techniques to Stabilize the Training of GANs

我们还研究了两种技术来稳定GAN在具有挑战性的数据集上的训练。首先,我们在生成器和鉴别器中使用光谱归一化(Miyato et al.,2018)。其次,我们确认了双时间尺度更新规则(TTUR) (Heusel et al.,2017)是有效的,我们提倡专门使用它来解决正则化鉴别器学习缓慢的问题。

4.1. Spectral normalization for both generator and discriminator

Miyatoet al.(Miyato et al.,2018)最初提出将光谱归一化应用于鉴别器网络来稳定GAN的训练。这样做通过限制每一层的光谱范数来约束鉴别器的李普希茨常数。与其他归一化技术相比,光谱归一化不需要额外的超参数调整(将所有权重层的光谱范数设置为1在实践中始终表现良好)。此外,计算成本也相对较小。

我们认为,生成器也可以受益于光谱归一化,基于最近的证据,生成器的条件是GAN性能的一个重要的因果因素(Odena等,2018)。在生成器中的光谱归一化可以防止参数幅度的升级和避免不寻常的梯度。我们从经验上发现,同时对生成器和鉴别器进行光谱归一化处理,可以使每个发生器更新使用较少的鉴别器更新,从而显著降低训练的计算成本。该方法还显示出更稳定的训练行为。

4.2. Imbalanced learning rate for generator and discriminator updates

在之前的工作中,鉴别器的正规化(Miyato et al.,2018;Gulrajani et al.,2017)往往会减缓GANs的学习过程。在实践中,使用正则化鉴别器的方法通常需要在训练过程中对每个生成器更新步骤进行多个鉴别器更新步骤(例如,5个)。独立地,Heuselet等(Heusel et al., 2017)提倡使用单独的学习率(TTUR)的生成器和鉴别器。我们特别提出使用TTUR来补偿正则化鉴别器学习缓慢的问题,使每个生成器步骤使用较少的鉴别器步长成为可能。使用这种方法,我们能够在相同的wall-clock时间下产生更好的结果。

6.Conclusion

在本文中,我们提出了自我注意生成对抗网络(Self-Attention Generative Adversarial Networks, SAGANs),该网络将自我注意机制整合到GAN框架中。自我注意模块在建立长期依赖关系方面是有效的。此外,我们还表明,应用于生成器的光谱归一化稳定GAN训练,而TTUR加速正则化鉴别器的训练。SAGAN在ImageNet上实现了最先进的类条件图像生成性能。

根据源码绘制的判别器结构如下:(个人理解,不一定对)

(SAGAN)Self-Attention Generative Adversarial Networks相关推荐

  1. 06.SAGAN(Self-Attention Generative Adversarial Networks)

    SAGAN 摘要 introduction problems SAGAN的优点 好处: SAGAN理论 Self-attention架构 代码 三个卷积核 三个映射 out SAGAN 优化 1. S ...

  2. Self-Attention Generative Adversarial Networks(SAGAN)理解

    介绍 Self-Attention Generative Adversarial Networks(SAGAN)是Han Zhang, Ian Goodfellow等人在去年提出的一种新的GAN结构, ...

  3. SAGAN——Self-Attention Generative Adversarial Networks

    原论文下载地址:Self-Attention Generative Adversarial Networks 该文章作者为:Han Zhang GitHub代码实现:pytorch实现 摘要部分: 本 ...

  4. Generative Adversarial Networks(WGAN、SAGAN、BigGAN)

    此篇博文继续整理GAN的衍生版本. Wasserstein Generative Adversarial Networks(WGAN) GAN 在基于梯度下降训练时存在梯度消失的问题,特别是当真实样本 ...

  5. [论文笔记]Self-Attention Generative Adversarial Networks

    1.文献综述 文章链接:链接 文章题目:<Self-Attention Generative Adversarial Networks> 项目地址:1.TensorFlow版 2.pyto ...

  6. Generative Adversarial Networks in Computer Vision: A Survey and Taxonomy(计算机视觉中的GANs:综述与分类)

    Abstract: 生成对抗网络(GANs)在过去几年得到了广泛的研究.可以说,他们最重要的影响是在计算机视觉领域,在挑战方面取得了巨大的进步,如可信的图像生成,图像之间的翻译,面部属性操纵和类似领域 ...

  7. ESRGAN - Enhanced Super-Resolution Generative Adversarial Networks论文翻译——中英文对照

    文章作者:Tyan 博客:noahsnail.com  |  CSDN  |  简书 声明:作者翻译论文仅为学习,如有侵权请联系作者删除博文,谢谢! 翻译论文汇总:https://github.com ...

  8. 生成对抗网络 – Generative Adversarial Networks | GAN

    生成对抗网络 – Generative Adversarial Networks | GAN 生成对抗网络 – GAN 是最近2年很热门的一种无监督算法,他能生成出非常逼真的照片,图像甚至视频.我们手 ...

  9. Generative Adversarial Networks(CGAN、CycleGAN、CoGAN)

    很久前整理了GAN和DCGAN,主要是GAN的基本原理和训练方法,以及DCGAN在图像上的应用,模式崩溃问题等.其核心思想就是通过训练两个神经网络,一个用来生成数据,另一个用于在假数据中分类出真数据, ...

最新文章

  1. grunt使用watch和livereload的Gruntfile.js的配置
  2. POJ1236 强连通 (缩点后度数的应用)
  3. 密码(图解密码技术)_第二章_历史上的密码
  4. Spring整合Mybatis之注解方式,(注解整合Junit)
  5. 使用SAP Analytics Cloud展示全球新冠肺炎确诊总人数的分布情况
  6. day 02 python 基础
  7. python可打印字符_测试一个python字符串是否可打印
  8. python循环输入数组_python数组循环处理方法
  9. log4j的使用 slf4j简单介绍
  10. Thinkphp apart_level 自定义独立日志
  11. Adobe向美国反垄断部门投诉苹果封杀Flash
  12. 计算机技术发展5大阶段,现阶段计算机技术应用及发展
  13. MySql大批量生成测试数据
  14. python获取上周一的日期
  15. 【HelloKitty团队项目】Alpha阶段项目展示
  16. python格式和JSON格式转换
  17. Labview 版本控制
  18. 群晖php安装目录,如何在群晖上搭建网盘目录?(无Docker) 来自 世界三傻
  19. C.Defuse the Bombs(简单二分)
  20. [maven] maven

热门文章

  1. addEventListener() 方法
  2. jq控制一个按钮触发单击效果
  3. 音乐制作宿主软件-PreSonus Studio One 5 Professional v5.2.0 WiN
  4. OneNote 使用(持续更新)
  5. jsp页面传递特殊字符的参数
  6. 用纯CSS实现简单的相册幻灯片
  7. unity-菜单MenuItem的使用
  8. 上海国际学校该怎么选
  9. linux网卡名字 mac,linux下编程如何获得所有网卡的信息-包括网卡名字,网卡MAC等等......
  10. 稳定婚姻(tarjan)