我们在这里介绍「基于能量的生成对抗网络(Energy-based Generative Adversarial Network,简称 EBGAN)」模型,该网络将 GAN 框架中的鉴别器(discriminator)视为与数据流形(data manifold)和其它所有更高能量的区域的低能量区域相关联的能量函数(energy function)。和概率 GAN 类似,需要训练一个生成器(generator)来产生具有最小能量的对比样本,同时还要训练该能量函数将高能量分配给那些生成的样本。将鉴别器视为能量函数让我们可以在通常的二元判别网络之外还能使用范围广泛的架构和损失函数。在 EBGAN 的所有实例中,其中之一是沿着作为重构误差(reconstruction error)的能量使用一个自动编码器(auto-encoder)。我们研究表明这种形式的 EBGAN 能在训练过程中得到比通常的 GAN 更稳定的表现。我们也表明只需训练一个单尺度(single-scale)的架构就能生成高分辨率的图像。

1 导语

生成对抗网络(GAN,Goodfellow et al., 2014)已经为图像生成(Denton et al., 2015; Radford et al., 2015; Im et al., 2016; Salimans et al., 2016)、视频预测(Mathieu et al., 2015)以及一些其它领域带来了显著的进步。GAN 的基本思想是同时训练一个鉴别器和一个生成器。训练鉴别器的目的是为了将来自真实数据集的样本和生成器产生的「假」样本区分开;而训练生成器的目的是产生鉴别器无法将其与真实数据样本区分开的样本。要做到这一点,该生成器使用了来自一个易于取样的随机源的输入向量,然后生成被送入鉴别器的「假」样本。在训练过程中,生成器通过接收鉴别器对应输入的输出的梯度来进行「欺骗」。在 Goodfellow et al. (2014) 中的原始配方的 GAN 中,鉴别器输出一个概率,而在特定的情况下,当生成器产生的分布和数据分布匹配时会发生收敛(convergence)(Goodfellow et al., 2014)。从优化的角度看,GAN 的收敛可被看作是达到一个目标函数的一个鞍点(saddle point),该目标函数在对应于此时的鉴别器参数时值最小,在对应于生成器参数时值最大。

在这项成果中,我们通过将鉴别器作为能量函数(或对比函数)而非概率的形式从基于能量(energy-based)的角度明确地构建了该 EBGAN 框架。也就是说,该能量函数被看作是一个可训练的惩罚函数(penalty function),它会将低能量值赋予高数据密度的区域,并将更高的能量值赋予其它区域。我们断定这种角度的 GAN 训练为架构和训练流程的选择提供了更大的灵活性。尽管通常可以通过吉布斯分布(Gibbs distribution)将能量转换成概率(更多详情在 2.3 节),但在这种基于能量的角度中对规范化的规避为鉴别器在学习合适的对比函数上提供了更大的自由。在这种基于能量的解读(energy-based interpretation)的范围中,Goodfellow et al. (2014) 提出的一般的二元鉴别器可被看作是许多定义对比函数和损失函数的方法中的一种,正如 LeCun et al. (2006) 为监督式和弱监督式设置及 Ranzato et al. (2007) 为无监督设置所描述的那样。为了进行概念验证,我们采用了一种自动编码器架构,其中用重构损失(reconstruction loss)作为鉴别器。更多关于基于能量的学习和 GAN 的解读可见附录 5.

我们的主要贡献总结如下:

(i) 我们为 GAN 提供了一种基于能量的解释,并据此提出了一套新架构;

(ii) 通过一个详尽的网格搜索实验,我们验证了一个关于一个全连接的 workhouse 中 GAN 和 EBGAN 的超参数和架构设置的完整集合。在不同的超参数的元参数(架构)设置下,EBGAN 表现出了更好的训练稳定性和增强了的稳健性(robustness),从而可以减少用于调节 GAN 的人类工作;

(iii) 基于编码器表征(encoder representation),我们引入了一个 pull-away 项,其可以帮助防止生成器仅关注一种或少数几种模式;

(iv) 我们的研究表明我们的模型能够在单尺度(single-scale)的配置下从 256×256 的 ImageNet 数据集中生成合理的高分辨率图像。

2 模型

一种 EBGAN 实例如图 1 所示。具体而言,生成器 G 以随机向量 z 作为输入,并将其转换成像素空间 G(z)。鉴别器 D 被看作是能量函数,它既接收真实图像,也接收生成的图像,并据此评估能量值 E,其中 E ∈ R。

图 1:EBGAN 架构

4 实验

4.2 MNIST

图 5:根据 MNIST 上网格搜索的模型样本生成。左图 (a):最好的 GAN 生成;中图 (b):最好的 EBGAN 生成;右图 (c):最好的 EBGAN-PT 生成。

4.3 LSUN & CELEBA

图 6:根据 LSUN 卧室全图像的生成。左图 (a):DCGAN 生成;右图 (b):EBGAN-PT 生成

图 7:根据 LSUN 卧室增强图像块的生成。左图 (a):DCGAN 生成;右图 (b):EBGAN-PT 生成

图 8:根据 CelebA 脸部数据集的生成。左图 (a):DCGAN 生成;右图 (b):EBGAN-PT 生成

4.4 IMAGENET

图 9:使用一个 EBGAN-PT 的 ImageNet 128×128 图像生成

图 10:使用一个 EBGAN-PT 的 ImageNet 256×256 图像生成

基于能量的生成对抗网络相关推荐

  1. 学习笔记:Controllable Artistic Text Style Transfer via Shape-Matching GAN 基于形状匹配生成对抗网络的可控艺术文本风格迁移

    [ICCV-2019] Controllable Artistic Text Style Transfer via Shape-Matching GAN 基于形状匹配生成对抗网络的可控艺术文本风格迁移 ...

  2. 基于Keras的生成对抗网络(1)——利用Keras搭建简单GAN生成手写体数字

    目录 0.前言 一.GAN结构 二.函数代码 2.1 生成器Generator 2.2 判别器Discriminator 2.3 train函数 三.结果演示 四.完整代码 五.常见问题汇总 0.前言 ...

  3. 基于PyTorch的生成对抗网络入门(3)——利用PyTorch搭建生成对抗网络(GAN)生成彩色图像超详解

    目录 一.案例描述 二.代码详解 2.1 获取数据 2.2 数据集类 2.3 构建判别器 2.3.1 构造函数 2.3.2 测试判别器 2.4 构建生成器 2.4.1 构造函数 2.4.2 测试生成器 ...

  4. 生成对抗网络(GAN)的理论与应用完整入门介绍

    本文包含以下内容: 1.为什么生成模型值得研究 2.生成模型的分类 3.GAN相对于其他生成模型相比有什么优势 4.GAN基本模型 5.改进的GANs 6.GAN有哪些应用 7.GAN的前沿研究 一. ...

  5. GANs:生成对抗网络系列及应用

    GANs Goodfellow和Bengio等人发表在NIPS 2014年的文章Generative Adversarial Network是生成对抗网络的开创文章,论文思想启发自博弈论中的二人零和博 ...

  6. 新手必看:生成对抗网络的初学者入门指导

    新手必看:生成对抗网络的初学者入门指导 https://www.cnblogs.com/DicksonJYL/p/9698877.html 本文为 AI 研习社编译的技术博客,原标题 A Beginn ...

  7. 改善图像处理效果的五大生成对抗网络

    作者 | Martin Isaksson 译者 | Sambodhi 策划 | 刘燕 在图像处理方面,机器学习实践者们正在逐渐转向借助生成对抗网络的力量,本文带你了解其中五种生成对抗网络,可根据自己的 ...

  8. 深度学习生成对抗网络(GAN)

    一.概述 生成对抗网络(Generative Adversarial Networks)是一种无监督深度学习模型,用来通过计算机生成数据,由Ian J. Goodfellow等人于2014年提出.模型 ...

  9. 生成对抗网络(GAN)的前沿进展(论文、报告、框架和Github资源)汇总

    生成模型(GenerativeModel)是一种可以通过学习训练样本来产生更多类似样本的模型.在所有生成模型当中,最具潜力的是生成对抗网络(Generative Adversarial Network ...

最新文章

  1. SFB 项目经验-57-Skype for business-录音系统-你拥有吗(模拟线路)
  2. html中讲关键字加粗体,关键字(词)加粗 SEO
  3. C++ primer 第10章 泛型算法
  4. 一加将于10月14日推出新款Buds系列真无线耳塞
  5. 字节跳动面试:java实例化对象必须调用类的构造方法
  6. 判断objcet是否是map类型_Java集合类和Map判定一个对象是否已经存在
  7. 怎么还原mysql的数据库文件_.sql数据库文件如何还原?
  8. 2019 强网杯 babybank
  9. 漏洞修复:TLS 1.0 enabled
  10. Halcon批量读取图片 读取指定文件夹下图片
  11. itext7实现参数和图片替换
  12. 中国互联网二十年回忆
  13. android显示通知图标大全,Android推送通知:图标未显示在通知中,而是显示白色方块...
  14. 三,python基础初识。
  15. 领导说“辛苦啦”,下属怎么回答?这三种话术,给你职场加分
  16. suse linux 修复模式,用 SuSE Linux Rescue Mode 恢复超级用户口令
  17. 将 ChatGPT 引入你的飞书
  18. 展示 用户画像_案例分析:如何建立一个产品的用户画像?
  19. 从源码解析-Android系统启动流程概述 init进程zygote进程SystemServer进程启动流程
  20. 转载,常用RGB color

热门文章

  1. 深职院计算机学院教室,机电学院计算机专业赴深职院为国赛训练取经
  2. mysql windows 管道连接,科技常识:Windows Server 2016 MySQL数据库安装配置详细安装教程...
  3. mysql 定义存储过程_mysql——定义——存储过程和函数——概念
  4. 轮播图最后一张图结束如何平缓回到第一张_产品经理早期如何学习?
  5. 求5个学生4门成绩的总分和平均分
  6. solidworks模板_SolidWorks文件属性分类和创建方法,图纸自动属性的基础
  7. Actipro WPF Studio破解
  8. 【书评:Oracle查询优化改写】第14章 结尾章
  9. POJ 2104 K-th Number(区间第k大数)(平方切割,归并树,划分树)
  10. ADT 怎么删除logcat过滤规则