PROGRESSIVE GROWING OF GANS FOR IMPROVED QUALITY, STABILITY, AND VARIATION(PGGAN)

  • 论文简述
  • 论文要点
    • 论文背景
    • 渐进式生成
    • fade in形式
    • 增加多样性-MSD
    • 归一化-pixel norm
    • 代码及测试结果
  • 思考

论文简述

PGGAN是英伟达在2018年发表在ICLR上的文章,主要贡献是采用了渐进式生成的方式训练GAN,实现从低分辨率到高分辨率的过渡,使这种方式有落地的可能。渐进式的方法能够提升训练的稳定性,提升训练速度,最终能够提升生成图像的质量。PGGAN首次生成1024×1024的人脸图像,在此之前128×128的已经相当困难且质量无法保证。此外,作者还提出些在训练过程中用到的trick等。

论文要点

论文背景

  1. 生成高分辨率图像的问题

    1. 高分辨率放大训练分布与生成分布之间的差异,进而放大梯度问题(WGAN中有详细介绍)
    2. 由于内存的约束,需要使用更小批量去处理数据,会导致训练不稳定
  2. GAN目前遇到的问题
    1. 多样性问题,传统GAN倾向于捕获训练集多样性中的一种
    2. 模型崩塌(判别器处理过度,导致G和D之间不健康竞争,成为猫捉老鼠的游戏)

渐进式生成

本文用到的渐进式生成的方式是先训练出低分辨率的图片,再逐步增加网络结构提升图片质量。生成器和分类器是镜像生成的,N×N是指这部分的卷积网络作用在N×N分辨率的图像上,在分辨率增长的过程中采用fade in形式的增长,早期分辨率低时学习到的是大规模结构特征,再分辨率逐渐增加的过程中,转移到细节逐步学习。
优势:增强训练稳定性,减少训练时间,提高图像质量

fade in形式

引入残差块的概念,使网络逐步适应高分辨率,直至构建成新的网络结构,这样有助于利用前期训练好的网络。在实际训练中,先将4×4的网络训练到一定程度(文中的条件是判别器判别了800k真实图片),然后再两个阶段进行交替:fade in网络,也即b;稳定网络,也即c。每个阶段均训练到一定程度后进入下一阶段。在训练阶段,真实图片也需要跟生成图片一样,根据α值融合两个分辨率的图像,然后输入到判别器中。

增加多样性-MSD

常见的增加多样性的两种方法:

  1. 优化loss让网络自己调整–WGAN
  2. 设计衡量多样性的度量加到判别器中–imporoved GAN-MD

文章在MD的基础上提出了MSD,引入了特征的标准差作为衡量标准,以样本为单位,求取相应特征图的相应位置的特征的标准差,最后将所有特征差求出平均值,然后生成一个mean std,并填充成特征图大小,和每个样本原有的特征图进行concat,然后将这些特征图送入到判别器中。这个特征图中包含了不同样本之间的差异性信息,送入判别器后,经过训练,生成样本的差异性也会与训练样本的相似。
图来自:https://zhuanlan.zhihu.com/p/30637133 【写的很详细,易懂】

归一化-pixel norm

归一化主要是用来制约信号幅度,从而减少G与D之间的不正常竞争,沿channel维度对每个像素的特征长度归一化。
minibatch statistic layer沿着batch维度求标准差,而它沿着channel维度求norm
图源同上

代码及测试结果

代码来源:https://blog.csdn.net/u013139259/article/details/78885815
需要注意,Python 3.x中/操作是真正的除法,最终结果是float,而如果想要截断式除法,也就是说得到int型,应采用//操作
生成的是128×128的图像,应该是没有收敛,还是有些能区分的出来,边缘不够自然且出现混叠,有噪声,之后可以再优化下代码。
real
train

思考

  1. 渐进式思想比较适用于大型网络的训练,之后可以多加考虑
  2. MSD为什么不只对样本的对应位置求平均,而是将所有标准差求平均,这样不能更好的去反映当前位置的差异性???-之后可以验证下
  3. 实际中还使用了WGAN-GP,推荐看下相关论文,会对GAN及GAN遇到的问题有更深一步的理解。

PROGRESSIVE GROWING OF GANS FOR IMPROVED QUALITY, STABILITY, AND VARIATION(PGGAN)相关推荐

  1. 【PGGAN】1、Progressive Growing of GANs for Improved Quality, Stability, and Variation 论文阅读

    使用渐进式增长GAN提升质量.稳定性.变化性  paper:https://arxiv.org/abs/1710.10196 code :https://github.com/facebookrese ...

  2. 《Progressive Growing of GANs for Improved Quality, Stability, and Variation》-论文阅读笔记

    <Progressive Growing of GANs for Improved Quality, Stability, and Variation>-论文阅读笔记 文章目录 <P ...

  3. 生成网络论文阅读:PGGAN(二):PROGRESSIVE GROWING OF GANS FOR IMPROVED QUALITY, STABILITY, AND VARIATION

    速览索引 0.ABSTRACT 0.1逐句翻译 0.2总结 1 INTRODUCTION 第一段(分析当前各种生成模型的优缺点,最终作者决定研究如何提升GAN网络的分辨率) 第二段(讲述GAN网络的结 ...

  4. PROGRESSIVE GROWING OF GANS FOR IMPROVED QUALITY, STABILITY, AND VARIATION

    一些名词 unprecedented前所未有的 inception初始的 autoregressive自回归 hybrid混合 synchrony同步的 prone易于 deviate偏离 摘要 描述 ...

  5. 相位解包裹(六)质量图导向法quality guide phase unwrapping(QGPU)

    上一篇文章讲了通过连接残点形成branch的枝切法,这篇再介绍一种空间相位解包裹的算法,质量图导向法quality guide phase unwrapping(QGPU). 质量图导向法QGPU 质 ...

  6. 论文学习记录:PROGRESSIVE GROWING OF GANS

    论文链接:https://arxiv.org/pdf/1710.10196.pdf 前言 这是一种针对GANs的训练优化方法,从低分辨率图像开始,通过向网络添加层来逐步提高分辨率,如图1.这种递增的特 ...

  7. 【技术综述】有三说GANs(上)

    文章首发于微信公众号<与有三学AI> [技术综述]有三说GANs(上) 今天我们来说说GAN,这个被誉为新的深度学习的技术.由于内容非常多,我们会分上下两期.今天这一期是上,我们从以下几个 ...

  8. 【阅读笔记】PSA-GAN PROGRESSIVE SELF ATTENTION GANS FOR SYNTHETIC TIME SERIES

    CCF none , ICLR2022 Paul J , Michael B S , Pedro M , et al. PSA-GAN: Progressive Self Attention GANs ...

  9. Explained: A Style-Based Generator Architecture for GANs (StyleGAN)

    文章目录 Background How StyleGAN works Mapping Network Style Modules (AdaIN) Removing traditional input ...

最新文章

  1. 获取App Store中App的ipa包
  2. 【Android 应用开发】Android 返回堆栈 与 任务
  3. [转]50个c/c++源代码网站
  4. CentOS更换网卡设置
  5. python加载dll函数失败_Python:使用ctypes访问DLL函数 – 按函数* name *访问失败
  6. java如何造假数据_JAVA时间数据造假
  7. Python数据分析学习
  8. pythonclass全局变量_python的局部变量,全局变量,类变量,实例变量
  9. Swift快速入门(一)第一个Swift程序
  10. django的模板系统过滤器笔记
  11. SQL常用语句一览(增删改查Easy)
  12. 汽车语音控制是什么意思 汽车语音控制怎么用
  13. doubango安卓端的帧率太低,解决办法
  14. 使用微软官方方法制作纯净WinPE
  15. 南大 东大 计算机谁厉害,南京这两所985高校号称“双姝”:南大文理强势,东大工科超群...
  16. python漂亮的gui_python开发的gui漂亮吗
  17. 刚看到的消息,MD5居然被破解了~~~
  18. shell du命令
  19. 12V铅酸电池充放电保护板
  20. 【数据结构】栈的应用-算术表达式求值#数据结构实验任务书

热门文章

  1. 前端开发应知网站(Marksheng)
  2. 项目实战:Qt贝塞尔曲线拽托顶点实时显示工具
  3. Visual Servo Control Part I: Basic Approaches
  4. 目标跟踪:Deepsort--卡尔曼滤波、匈牙利匹配、马氏距离、欧氏距离、级联匹配、reid
  5. 如何将照片从iPhone导入到Mac
  6. 淘宝直播火爆的背后,阿里做了什么?
  7. [多媒体] 音频的左右声道
  8. 机器学习(李宏毅)—— Linear Regression
  9. 8通道250MSPS 14位AD采集FMC子卡
  10. 【微软 Azure 认知服务】零基础搭建微软 Azure AI 认知服务实验分享