用于改善质量、稳定性和多样性的可增长式GAN

GANs
NVIDIA
Fly

real or fake ?

real or fake ?

1024 x 1024 images generated using the CELEBA-HQ dataset

来源

摘要

  • 描述了生成对抗网络的新的训练方法

  • 关键思想是通过渐进的方式训练生成器和鉴别器:从低分辨率开始,逐步添加新的层次,从而在训练进展中增加更精细的细节

  • 还提出了一种增加生成图像变化的简单方法,并且在无监督的CIFAR10中实现了创记录的8.80的初始分数。

  • 此外,描述了几个实现细节,这些细节对于抑制生成器和鉴别器之间的不健康竞争非常重要。

  • 提出了一个新的衡量GAN结果的指标,无论是在图像质量和变化方面。

  • 作为额外的贡献,构建了更高质量的CelebA数据集。

提出模型

模型图

逐层递增的网络

以往的 GAN 生成低分辨率图片稳定迅速,但生成高分辨率图片困难重重。这篇文章从简单的低分辨率图片开始同时训练生成器和判别器,然后逐层增加分辨率,让训练的难度每层只增加一点点。感觉就像是算法里面的暴力搜索到二分法搜索,大大提高了高分辨率图片的生成速度及质量。

其他的一些改进

  • 以往没有好的办法去判断 GAN 生成的图片是好是坏,很多时候需要肉眼来看,有很大的主观性,而且人能检查的样本空间不够大。文章的第 5 节介绍了如何用统计的方法来直观的判断生成样本的好坏,采用的思路是在各个尺度上抽取 7x7 个像素的局域碎片,比较生成图片与训练图片的局域结构相似性。

  • GAN 生成图像的多样性不好量化,当判别器过强时生成器可能会塌缩到单个类。这篇文章不添加任何超参数,只是将所有属性在所有空间位置的统计标准差求平均,作为卷积神经网络 Feature Map 的一个常量通道,就得到了更好的多样性 。

  • 使用了一种“local response normalization”方法来对 FeatureMap 做归一化,不清楚与 BatchNormalization 的效果相比有没有提升。

  • 在 WGAN-GP 的正规化项中使用非常大的 gamma 因子,从公式上看当生成图片与训练图片相差过大时,大的 gamma 因子可以让生成分布快速漂移到训练图像分布。

算法结果

六分钟的视频

缺点以及不足

论文最后说了一下还面临的一些情况:

与真实的写实主义相比,还有一段路要走:

  • 图片语义敏感性和理解数据集的相关结束还有很大进步空间
  • 图像的微观结构也有改进的余地

reference

http://mp.weixin.qq.com/s/1XkOEIlTD4Igr_Ws2sJvoQ

https://www.leiphone.com/news/201710/tPXkf1dcoGDqv5HD.html

http://research.nvidia.com/publication/2017-10_Progressive-Growing-of

用于改善质量、稳定性和多样性的可增长式GAN的更多相关文章

  1. FEC(Forward Error Correction)前向纠错 UDP\RTP 中使用用于改善无线等网络丢包等问题--转

    FEC(Forward Error Correction)前向纠错 UDP\RTP 中使用用于改善无线等网络丢包等问题 算法暂不介绍. 思路:FEC ENCODE 增加冗余包,当无线等网络丢包之后,接 ...

  2. Web标准中用于改善Web应用程序性能的各种方法总结

    提起Web应用程序中的性能改善,广大开发者们可能会想到JavaScript与DOM访问等基于各种既存技术的性能改善方法.最近,各种性能改善方法被汇总成为一个Web标准. 本文对Web标准中所包含的各种 ...

  3. SSE图像算法优化系列二十九:基础的拉普拉斯金字塔融合用于改善图像增强中易出现的过增强问题(一)

    拉普拉斯金字塔融合是多图融合相关算法里最简单和最容易实现的一种,我们在看网络上大部分的文章都是在拿那个苹果和橙子融合在一起,变成一个果橙的效果作为例子说明.在这方面确实融合的比较好.但是本文我们主要讲 ...

  4. [改善Java代码]养成良好习惯,显式声明UID

    建议11: 养成良好习惯,显式声明UID 我们编写一个实现了Serializable接口(序列化标志接口)的类, Eclipse马上就会给一个黄色警告:需要增加一个Serial Version ID. ...

  5. Pixelmetrix :OTT Media Grinder (OTT TV 质量评价设备)

    有关OTT TV 质量评价方法方面的研究少之又少.国内貌似还几乎没有相关的研究.不过在国外已经找到相关的产品了,翻译了一下产品手册的部分内容,很有参考价值,尤其是其提出的8个指标. 概述 OTT Me ...

  6. 你的GAN训练得如何--GAN 的召回率(多样性)和精确率(图像质量)方法评估

    生成对抗网络(GAN)是当今最流行的图像生成方法之一,但评估和比较 GAN 产生的图像却极具挑战性.之前许多针对 GAN 合成图像的研究都只用了主观视觉评估,一些定量标准直到最近才开始出现.本文认为现 ...

  7. 通过ulimit改善linux系统性能(摘自IBM)

    本文介绍了 ulimit 内键指令的主要功能以及用于改善系统性能的 ulimit 用法.通过这篇文章,读者不仅能够了解 ulimit 所起的作用.而且能够学会怎样更好地通过 ulimit 限制资源的使 ...

  8. BP神经网络及其在教学质量评价中 的应用

    本文学习笔记是自己的理解,如有错误的地方,请大家指正批评.共同进步.谢谢! 之前的教学质量评价,仅仅是通过对教学指标的简单处理.如求平均值或人为的给出各指标的权值来加权求和,其评价结果带有非常大主观性 ...

  9. DevOps之持续集成SonarQube代码质量扫描

    一.SonarQube介绍       SonarQube是一个用于代码质量检测管理的开放平台,可以集成不同的检测工具,代码分析工具,以及持续集成工具.SonarQube 并不是简单地把不同的代码检查 ...

随机推荐

  1. 局部覆盖element-ui的默认样式

    最近项目中遇到的问题,只想在某个页面里面单独更改element-ui的样式,而不影响全局 有两种方法: 1.在需要更改的组件里新增一个style标签[重点:不要加scoped],然后直接获取class ...

  2. .net C# 格式化时间

    1.HtmlEncode="False" 2.DataFormatString="{0:d}" C#格式化日期时间 DateTime dt = DateTime ...

  3. python 生成器函数.推导式.生成器表达式

    一.生成器 什么是生成器,生成器的实质就是迭代器 在python中有三种方式来获取生成器: 1.通过生成器函数 2.通过各种推导式来实现生成器 3.通过数据的转换也可以获取生成器 1 def func ...

  4. jsp里post和get的乱码解决问题

    6.乱码问题01:<%reques.setCharacterEncoding("utf-8");%> 02:get请求乱码 001.:String 编码之后的字符串 = ...

  5. 设计模式——“signleton”

    那天别人问了我一个问题,关于单例模式的,由于之前了解的都是蜻蜓点水,所以重新复习了一次重新总结. 单例模式的写法总的来说有5种:懒汉,恶汉,枚举,双重校验锁,静态内部类 懒汉 public class ...

  6. SQL基本操作——日期函数

    SQL日期:当我们处理日期时,最难的任务恐怕是确保所插入的日期的格式,与数据库中日期列的格式相匹配.只要数据包含的只是日期部分,运行查询就不会出问题.但是,如果涉及时间,情况就有点复杂了.在讨论日期查 ...

  7. 从ABC到流利口语-unit01

    Unit 1 Introduction1 Good evening,everyone.It's a pleasure to you all. My name is Wang Dong.I'M from ...

  8. git生成ssh key及本地解决多个ssh key的问题

    git生成ssh key及本地解决多个ssh key的问题 ssh是一种网络协议,用于计算机之间的加密登录.ssh原理及应用可参考: SSH原理与运用(一):远程登录 生成ssh key步骤 这里以配 ...

  9. TensorFlow:Windows下使用TensorFlow-Python版本

    原文链接:Win10X64下安装使用TensorFlow 安装TensorFlow 由于Google那帮人已经把 TensorFlow 打成了一个 pip 安装包,所以现在可以用正常安装包的方式安装 ...

  10. Redis 之order set有序集合结构及命令详解

    1.zadd key score1 value1 score2 value2  添加元素 2.zrem key value1 value2 ..  删除集合中的元素 3.zremrangebyscor ...