Note

  这是一篇将Self-Attention应用到GAN中的paper,Self-Attention模块是卷积模块的补充,能够有助于建模跨图像区域的长范围、多层次依赖关系。文中主要提到4点:

  1. 在生成的过程中,可以使用所有的特征来生成高分辨率的细节,每个位置的精细细节都与图像远处部分的精细细节仔细协调;
  2. 在判别的过程中,判别器可以检查图像中较远部分的高度详细的特征是否彼此一致,还可以更准确地在全局图像结构上执行复杂的几何约束;
  3. 将谱归一化(Spectral Normalization)应用于GAN生成器和判别器,能够改善训练动态;
  4. 在对生成器和判别器进行更新时,使用不一致的学习率。

Paper Details

1. Self-Attention Generative Adversarial Networks

  在图像生成任务中,大多数基于GAN的模型使用卷积层对网络进行构建,卷积处理局部邻域中的信息,但是单独使用卷积层对图像中的长期依赖性建模在计算上是低效的。在paper中,采用非局部模型,将自注意力机制引入GAN框架,使生成器和判别器能够有效地建模广泛分离的空间区域之间的关系。网络框架如下图:

具体实现如下:

  1. Self-Attention层的输入为前一层的输出 x∈(C为通道数,N为上一隐藏层特征数),经过1 x 1的卷积后,形成 f(x) 和 g(x) 两个特征空间 ( f(x) = ,g(x) = ),用来计算注意力(表示在合成第j个区域时,模型关注第i个位置的程度),计算方式如下:

  2. Self-Attention层的输出,其中,



    对于以上的计算公式,四个W都是网络训练过程中学习到的权重,具体实现为上边提到的1 x 1卷积。

  3. 最后,将Self-Attention层的输出乘以一个比例参数,再添加回输入的特征图,形成最后的输出 (γ是一个可学习的标量,它初始化为0) :



    Note:引入可学习γ允许网络首先依赖于局部邻域的线索,因为这更容易,然后逐渐学会给非局部证据分配更多的权重。即:先学习简单的任务,然后逐步增加任务的复杂性

2. Techniques to Stabilize the Training of GANs

Paper还研究了两种技术来稳定GANs在具有挑战性的数据集上的训练。

  1. 生成器和判别器中使用谱归一化 (Spectral Normalization) ;
  2. 确认两时间尺度更新规则(TTUR)是有效的,主张专门使用它来解决正则化鉴别器中的缓慢学习。

2.1 Spectral normalization for both generator and discriminator

Paper认为生成器也可以受益于谱归一化,使用在判别器上的谱归一化亦可使用在生成器,如下:

  1. 谱归一化在生成器中可以防止参数幅度的上升和避免异常梯度;
  2. 生成器和判别器的谱归一化使得每次生成器的更新使用更少的判别器更新,从而显著降低了训练的计算成本;
  3. 该方法还显示出更稳定的训练行为。

2.2 Imbalanced learning rate for generator and discriminator updates

  在实践中,使用正则化鉴别器的方法在训练过程中,每个生成器更新步骤通常需要多个(例如5个)判别器更新步骤,会减慢GANs的学习过程。Paper中建议专门使用TTUR弥补正则化判别器中学习缓慢的问题,使得每个生成器步骤使用更少的判别器步骤。使用这种方法,能够在相同的时间下产生更好的结果

两种改进的效果如下图:



3. Experiments Details

  训练的所有SAGAN模型都是用来生成128×128图像的。默认情况下:

  1. 谱归一化用于生成器和鉴别器中的层;
  2. SAGAN在生成器中使用有条件批处理归一化,在判别器中进行判别推测
  3. 对于所有模型,我们使用β1 = 0β2 = 0.9的Adam优化器进行训练;
  4. 缺省情况下,判别器的学习率为0.0004,生成器的学习率为0.0001
  5. 在较深的层次中使用Self-Attention效果比在较浅的层中使用效果好。如图:

4. Visualization of attention maps

  如上的图像是由SAGAN生成的,Paper中将使用Attention的最后一个生成器层的注意力映射可视化,因为这一层最接近输出像素,最直接地投射到像素空间中。

  在每个单元格中,第一张图像用彩色点显示了三个具有代表性的查询位置。其他三张图片是这些查询位置的注意力图,对应的彩色箭头总结了最受关注的区域。可以观察到,网络学会根据颜色和纹理的相似性来分配注意力,而不仅仅是空间邻接 (见左上角的单元格) 。

  我们还发现,虽然一些查询点在空间位置上非常接近,但它们的注意力图可能有很大的不同,如左下角单元格所示。如右上单元格所示,SAGAN能够画出腿明显分开的狗。蓝色查询点表示注意有助于正确获得关节区域的结构。

5. Comparison with the state-of-the-art

  SAGAN与最先进的GAN模型的比较如下图所示。(Inception Score越高,图像质量越好; FID表示真实图像与生成图像之间的距离,FID越低,越准确

  另外,SAGAN在合成具有复杂几何或结构模式(如金鱼和圣伯纳)的图像类时,比最先进的GAN模型获得了更好的性能(即更低的内部FID)。对于结构约束较少的类(例如,山谷、石墙和珊瑚真菌,它们更多地是通过纹理而不是几何来区分),我们的SAGAN与基线模型相比表现出较少的优势。原因是SAGAN中的自注意力是对捕获在几何或结构模式中一致出现的远距离全局级依赖的卷积的补充,但在为简单纹理建模依赖时,它与局部卷积起着类似的作用。实验结果如下图所示:

【Basic Knowledge】Self-Attention Generative Adversarial Networks的更多相关文章

  1. 【文献阅读】Perceptual Generative Adversarial Networks for Small Object Detection –CVPR-2017

    Perceptual Generative Adversarial Networks for Small Object Detection 2017CVPR 新鲜出炉的paper,这是针对small ...

  2. 论文笔记之:Semi-Supervised Learning with Generative Adversarial Networks

    Semi-Supervised Learning with Generative Adversarial Networks 引言:本文将产生式对抗网络(GAN)拓展到半监督学习,通过强制判别器来输出类 ...

  3. 生成对抗网络(Generative Adversarial Networks,GAN)初探

    1. 从纳什均衡(Nash equilibrium)说起 我们先来看看纳什均衡的经济学定义: 所谓纳什均衡,指的是参与人的这样一种策略组合,在该策略组合上,任何参与人单独改变策略都不会得到好处.换句话 ...

  4. 论文解读(GAN)《Generative Adversarial Networks》

    Paper Information Title:<Generative Adversarial Networks>Authors:Ian J. Goodfellow, Jean Pouge ...

  5. 《Self-Attention Generative Adversarial Networks》里的注意力计算

    前天看了 criss-cross 里的注意力模型  仔细理解了  在: https://www.cnblogs.com/yjphhw/p/10750797.html 今天又看了一个注意力模型 < ...

  6. (转)Introductory guide to Generative Adversarial Networks (GANs) and their promise!

    Introductory guide to Generative Adversarial Networks (GANs) and their promise! Introduction Neural ...

  7. SAGAN:Self-Attention Generative Adversarial Networks - 1 - 论文学习

    Abstract 在这篇论文中,我们提出了自注意生成对抗网络(SAGAN),它是用于图像生成任务的允许注意力驱动的.长距离依赖的建模.传统的卷积GANs只根据低分辨率图上的空间局部点生成高分辨率细节. ...

  8. GD-GAN: Generative Adversarial Networks for Trajectory Prediction and Group Detection in Crowds

    GD-GAN: Generative Adversarial Networks for Trajectory Prediction and Group Detection in Crowds 2019 ...

  9. AttnGAN: Fine-Grained Text to Image Generation with Attentional Generative Adversarial Networks 笔记

    AttnGAN: Fine-Grained Text to Image Generation with Attentional Generative Adversarial Networks 笔记 这 ...

  10. StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Networks 论文笔记

    StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Networks  本文将利 ...

随机推荐

  1. Asp.Net Core MVC传值 Asp.Net Core API 前台写法

    $("#Add_User").click(function () { var obj = { //"属性名": 传递的值, "User_Name&qu ...

  2. static 关键字分析

    在java中static 关键字用途很广,可以修饰成员变量 方法 甚至类(静态内部类),这里不分析static 修饰类 static修饰的内容的运行顺序 java的程序执行之前有一个类的加载的过程,在 ...

  3. python 队列(QUEUE)

    QUEUE python中多线程编程的数据结构 基本FIFO队列 class Queue.Queue(maxsize=0) 先进先出,maxsize为队列中能存放的数据个数上限. import Que ...

  4. 前端常见loading动画

    loading动画是前端页面加载时必不可少的元素,好看合适的加载动画会极大的提升用户体验与系统的交互效果.下面为大家提供几种简单的加载动画效果,如果帮助到你了请点赞评论. 1.无限循环的圆圈 < ...

  5. 😊SpringBoot 整合 Elasticsearch (超详细).md

    SpringBoot 整合 Elasticsearch (超详细) 注意: 1.环境搭建 安装es Elasticsearch 6.4.3 下载链接 为了方便,环境使用Windows 配置 解压后配置 ...

  6. [C++] - GCC和LLVM对方法 warning: non-void function does not return a value [-Wreturn-type] 的处理差异

    最近做一个C++开源项目发现一个奇怪问题,通过clang编译链接执行程序每到有一个就崩溃了,gcc下则没有此问题. 后来通过调试,发现原因是bool返回的方法是没有return语句!问题是为啥还能通过 ...

  7. 第2-3-1章 文件存储服务系统-nginx/fastDFS/minio/阿里云oss/七牛云oss

    目录 文件存储服务 1. 需求背景 2. 核心功能 3. 存储策略 3.1 本地存储 3.2 FastDFS存储 3.3 云存储 3.4 minio 4. 技术设计 文件存储服务 全套代码及资料全部完 ...

  8. AR Engine光照估计能力,让虚拟物体在现实世界更具真实感

    AR是一项现实增强技术,即在视觉层面上实现虚拟物体和现实世界的深度融合,打造沉浸式AR交互体验.而想要增强虚拟物体与现实世界的融合效果,光照估计则是关键能力之一. 人们所看到的世界外观,都是由光和物质 ...

  9. cookies和session总结

    1.作为基础知识,但是也是容易被我们忽略的知识. 2.从我的一次面试中,面试官问到,session是什么?和cookies有什么关系,当时我以为很简单,便顺口回答到,session是为了解决http无 ...

  10. dafny : 微软推出的形式化验证语言

    dafny是一种可验证的编程语言,由微软推出,现已经开源. dafny能够自我验证,可以在VS Code中进行开发,在编辑算法时,写好前置条件和后置条件,dafny验证器就能实时验证算法是否正确. 在 ...