Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >GAN的发展系列一(CGAN、DCGAN、WGAN、WGAN-GP、LSGAN、BEGAN)

GAN的发展系列一(CGAN、DCGAN、WGAN、WGAN-GP、LSGAN、BEGAN)

作者头像
Minerva
发布于 2020-06-16 09:26:53
发布于 2020-06-16 09:26:53
15.6K0
举报

GAN的发展系列一(CGAN、DCGAN、WGAN、WGAN-GP、LSGAN、BEGAN)

在上一篇文章中我们介绍了GAN的原理(GAN生成对抗网络入门介绍),生成对抗网络GAN主要由两部分组成,生成网络Generator和判别网络Discriminator,生成模型G的思想是将一个随机噪声包装成一个逼真的样本,判别模型D则需要判断输入的样本是真实的还是生成的假样本,通过对抗训练共同进步,判别模型D对样本的判别能力不断上升,生成模型G的造假能力也不断上升,但GAN存在着训练困难、生成器和判别器的loss无法指示训练进程、生成样本缺乏多样性等问题,下面介绍一系列在此基础上的各种改进。 一、 CGAN条件GAN 论文《Conditional Generative Adversarial Nets》 论文地址:https://arxiv.org/pdf/1411.1784.pdf 1、原理 原始GAN的生成过程采用随机噪声就可以开始训练,不再需要一个假设的数据分布,但是这样自由散漫的方式对于较大的图像就不太可控了,CGAN方法提出了一种带有条件约束的GAN,通过额外的信息对模型增加条件,来指导数据生成过程。本文将额外信息y输送给判别模型和生成模型,作为输入层的一部分,从而实现条件GAN,是在Mnist数据集上以类别标签为条件变量,生成指定类别的图像,把纯无监督的GAN变成有监督的模型。

2、目标函数 条件 GAN 的目标函数是带有条件概率的二人极小极大值博弈(two-player minimax game ):

CGAN的网络结构:

本文针对Mnist数据集,生成器的输入是100维服从均匀分布的噪声向量,以类别标签(one-hot编码)为条件来训练条件GAN,生成器经过sigmoid生成784维(28x28)的单通道图像,判别器的输入为784维的图像和类别标签(one-hot编码),输出是该样本来自训练集的的概率。

二、 DCGAN深度卷积GAN 论文《unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks》 论文地址:https://arxiv.org/pdf/1511.06434.pdf DCGAN使用卷积层代替了全连接层,采用带步长的卷积代替上采样,更好的提取图像特征,判别器和生成器对称存在,极大的提升了GAN训练的稳定性和生成结果的质量。判别器中采用leakyRELU而不是RELU来防止梯度稀疏,而生成器仍然采用RELU,但输出层采用tanh。本文采用adam优化器训练GAN,设置学习率为0.0002。 DCGAN的生成器结构如下,通过卷积的方式将100维的随机噪声输入映射成一张图像,

一些生成的图像如下:

DCGAN并没有从根本上解决GAN训练不稳定的问题,训练的时候仍需要小心的平衡生成器和判别器的训练,往往是训练一个多次,训练另一个一次。 三、WGAN 论文《Wasserstein GAN》 论文地址:https://arxiv.org/pdf/1701.07875.pdf WGAN主要是从损失函数的角度对GAN进行了改进,这种改进即使在全连接层也能得到很好的表现结果,在理论上给出了GAN训练不稳定的原因,就是之前的损失函数交叉熵(JS散度)不适合衡量具有不相交部分的分布之间的距离,而使用文章提出的Wassertein距离来衡量数据分布和真实数据分布之间的距离,理论上解决了训练不稳定的问题,不再需要小心平衡生成器和判别器的训练。同时也解决了模式崩溃问题(collapse mode)(生成器倾向于生成一些有把握但相似的图片,而不敢轻易地尝试去生成没把握的新图片,从而缺乏多样性的情况),使得生成器生成结果更加多样。 具体的改进有: 1) 判别器最后一层去掉了sigmoid, 2) 生成器和判别器的损失函数loss不含有log 3) 在梯度更新后的权重强制截断到一定的范围[-0.01,0.01],来满足论文中提到的lipschitz连续性条件(在样本空间中,要求判别器函数D(x)梯度值不大于一个有限的常数K) 4) 论文提出采用其他SGD,RMSprop优化器也可以,不再使用基于动量的优化算法(momentum和Adam) 5) 提出了一个评价指标来表示GAN训练的好坏 训练过程如下:

原目标函数的问题: 原始GAN的目标函数为:

当固定生成器时,最优的判别器是

当判别器最优时,生成器的优化目标为

可以写成JS散度的形式

上述有关JS散度的目标函数会带来梯度消失的问题,如果判别器训练得太好,生成器就无法得到足够的梯度继续优化,而如果判别器训练得太弱,指示作用不显著,同样不能让生成器进行有效的学习。这样一来,判别器的训练火候就非常难把控,这就是GAN训练难的根源。 四、WGAN-GP 论文《Improved Training of Wasserstein GANs》 论文地址:https://arxiv.org/pdf/1704.00028.pdf WGAN有时候也会伴随样本质量低、难以收敛等问题,WGAN-GP是WGAN的改进版,主要改进Lipschitz连续性限制条件,之前是直接采用weight clipping将权重裁剪到一定范围[-0.01,0.01],但这样过于简单粗暴,会导致模型建模能力弱化、梯度消失或爆炸。WGAN-GP引入了Gradient Penalty

GP项的设计逻辑是:当且仅当一个可微函数的梯度范数(gradient norm)在任意处都不超过1时,该函数满足1-Lipschitz条件。从理论上最优Critic的梯度范数应当处处接近1,对Lipschitz条件的影响不大,同时从实验中发现two-sided penalty效果比one-sided penalty略好。 详细的算法流程如下:

WGAN-GP在训练的速度和生成样本的质量上,都略胜WGAN一筹。由于是对每个batch中的每一个样本都做了梯度惩罚(随机数的维度是(batchsize,1)),因此判别器中不能使用batch norm,但是可以使用其他的normalization方法,比如Layer Normalization、Weight Normalization和Instance Normalization,论文中使用了Layer Normalization,weight normalization效果也是可以的。

五、LSGAN最小二乘GAN 论文《Least Squares Generative Adversarial Networks》 论文地址:https://arxiv.org/pdf/1611.04076.pdf LSGAN采用最小二乘损失函数代替原始GAN的交叉熵损失函数,主要针对原始GAN生成器生成的图像质量不高和训练过程不稳定两个问题,作者认为以交叉熵作为损失,会使得生成器不会再优化那些被判别器识别为真实图片的生成图片,即使这些生成图片距离判别器的决策边界仍然很远,也就是距真实数据比较远。这意味着生成器的生成图片质量并不高。为什么生成器不再优化优化生成图片呢?是因为生成器已经完成我们为它设定的目标——尽可能地混淆判别器,所以交叉熵损失已经很小了。而最小二乘就不一样了,要想最小二乘损失比较小,在混淆判别器的前提下还得让生成器把距离决策边界比较远的生成图片拉向决策边界。

损失函数定义如下

sigmoid交叉熵损失很容易就达到饱和状态(饱和是指梯度为0),而最小二乘损失只在一点达到饱和,因此LSGAN使得GAN的训练更加稳定。

一些生成结果如下:

六、BEGAN(Boundary Equilibrium GAN)边界均衡GAN 论文《BEGAN: Boundary Equilibrium Generative Adversarial Networks》 论文地址:https://arxiv.org/pdf/1703.10717.pdf BEGAN是一种基于均衡思想的改进,其不需要训练的trick,使用标准的训练步骤就可以快速稳定的收敛,使得判别器和生成器在训练过程中保持平衡,BEGAN使用了自动编码器(auto-encoder)作为判别器,判别器的输入是图片,输出是经过编码解码后的图片,使用重构误差来衡量样本是生成的还是真实的,尽可能匹配误差的分布而不是样本的分布,如果误差的分布之间足够接近,那么真实样本之间的分布也会足够接近,最后生成的图像质量也不会差。BEGAN提供了一个超参数,这个超参数可以在图像的多样性和生成质量之间做均衡,提出了一种收敛程度的估计。 网络结构为:

重构误差L(v)为:

设真实样本的重构误差分布u1的均值为m1,生成样本的重构误差分布u2的均值为m2,采用EM距离来衡量该距离

它的下界为

BEGAN中G和D对应的损失函数为:

系统达到均衡时应该满足

引入超参数diversity ratio来进行trade-off,当该值 比较小时,D的目标是最小化真实样本的重构误差,相对来说,而对生成样本的关注较少,这将导致生成样本的多样性降低。

BEGAN的目标为

一些生成结果如下:

当改变超参数时模型生成结果的多样性和清晰度在变化,值越小图像越清晰但多样性降低,值越大图像质量下降但多样性提高了。

上图显示了随着模型的逐渐收敛,生成图像的质量不断提高。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-06-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python编程和深度学习 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
你的云计算SLA是否是可协商的?
虽然有部分SLA比其他SLA更为灵活,但并非所有SLA都是一成不变的。和云供应商一起查看用户的要求,看看是否有可以协商的空间。 服务水平协议是开展云业务的基石。供应商草拟的SLA可充分反映他们的商业模式,客户在签署SLA时(通常不会提出太多意见)会希望能够在发生违反协议情况时获得赔偿。 但是,企业用户应当更认真细致地审核他们的云服务水平协议(SLA),同时如有可能,应考虑针对SLA中对他们最重要的那部分进行谈判协商。 企业寻找云服务供应商来管理他们应用程序和数据的可靠性和可用性。根据产品是否是平台即服务、基
静一
2018/03/26
1.6K0
创建云灾难恢复需要了解服务等级协议(SLA)
如今,许多组织正在转向云计算的特定服务,应用程序和新的商业经济。人们看到更多的方案部署到云计算中,并且出现了围绕特定类型云服务的更多的成熟方案。 考虑这一点,根据思科公司的调查,全球云计算流量在2014年跨过了泽字节门槛,而2019年,在云计算中的总流量将超过所有的数据中心总流量的五分之四。云计算流量显著增长,2019年云计算流量为总数据中心流量的83%,这其中包括快速通过和迁移到云计算架构和云计算数据中心的能力,以处理更高的流量负载。云计算数据中心支持增强的虚拟化,标准化和自动化。这些因素导致更好的性能,
静一
2018/03/26
1.6K0
管理多云环境的10种实践
随着多云领域的不断成熟并成为组织IT环境的主要组成部分,首席信息官必须清楚地了解业务目标、约束和可交付成果。
静一
2020/09/07
6910
管理多云环境的10种实践
云计算服务如何使ERP现代化
与传统的企业资源规划(ERP)方法相比,云计算技术为企业资源规划(ERP)提供了许多好处,其中包括增强的安全性和可用性。
静一
2020/02/18
1.5K0
云计算服务如何使ERP现代化
如何使用最佳实践构建云计算恢复策略
全球各地的组织都在采用云计算基础设施和现代化技术,以提高弹性和正常运行时间。全面的现代化战略有助于简化多云环境的资源调配和日常管理,并利用云计算功能实现大规模创新。组织需要了解各种类型的工作负载,并确定停机时间对这些工作负载的影响。组织需要考虑制定灾难恢复计划以确保业务连续性。
静一
2021/03/26
7710
重新考虑云计算的灾难恢复
随着持续复制技术的采用和灾难恢复专业化,推动了更多灾难恢复即服务(DRaaS)公司的发展和成长,对于那些计划为其混合计算环境进行灾难恢复的公司来说,可以获得更多可用的帮助。但是,如果没有定义灾难恢复目标,则这些帮助都不会非常有效。
静一
2018/12/29
1.2K0
云计算风险详细解析
云计算的高速发展也为试图重新聚焦关键业务目标的企业带来了许多利好,例如提高产品上市的速度、增加企业竞争的优势以及降低资本和/或运行的开支等等。 通常来说,对诸如软件即服务(SaaS)或基础设施即服务(IaaS)的云计算技术进行投资就能够降低对企业内部传统信息技术部门的服务需求。而由企业业务部门管理(例如培训、人力资源、工资和医疗管理等)的服务也会随着云计算的应用而逐步减少。 虽然投资资本与运营运行的成本有所降低,但是由于黑暗网络中信息经纪人的兴起云计算的风险也有所增加。这些恶意的组织会交易和销售包括个人身份
静一
2018/03/20
1.7K0
防止被骗 教你辨别云计算提供商的真伪
你会更信任谁来维修你的车呢?是一个持有执照的专家还是一个你曾经看到过他为别人更换过机油的人呢?现实生活中,总会被信任的专家和自称是专家的人辩论,各行各业这样的辩论很多。对于目前快速发展的云计算来说,这样的情况也是时常发生。 云计算改变了人们的工作方式,你可以从任何设备访问你的程序。但云计算也同样创造了一个新的行业。你很难分辨哪些是有过经验的云计算从业者,哪些是打折云计算大旗招摇撞骗的人。虽然从表面上,你很难分辨出哪一家是最适合你的提供商,但是你可以通过以下几个方面,来分辨出提供商的真伪。 1.四个9还是五个
静一
2018/03/20
1.1K0
2017年云计算的回顾与总结
如果回溯到2016年,很多大型企业的数据中心工作负载正计划向云端迁移。而2017年则是企业的业务向云端迁移的一年,这种迁移在整个数据中心行业引起了很大的反响,为云计算技术供应商和数据中心提供商带来了巨大的变化。 数据中心基础设施供应商Vertiv公司(前身为艾默生网络能源)已经重新调整了策略、资源,以及产品组合,以满足客户将其业务托管到云基础设施的需求。由于云计算提供商将开发自己的硬件设计和供应链功能,IT硬件供应商因为这种核心价值主张在市场发展中苦苦挣扎。惠普企业(Hewlett Packard Ente
BestSDK
2018/03/02
1K0
云计算服务中断表明多云至关重要
对于很多企业来说,在云平台上运行的业务遭遇中断可能难以避免,其供应商提供的服务也不完全可靠。除非已经在两个云平台或多个云平台上运行服务,否则无法快速迁移工作负载。
静一
2020/03/16
5100
云计算服务中断表明多云至关重要
2017年云计算和数据中心产业的回顾与总结
随着企业将越来越多的工作负载迁移到云端,云计算提供商需要越来越多的数据中心空间和能力来支持这些工作负载。 如果回溯到2016年,很多大型企业的数据中心工作负载正计划向云端迁移。而2017年则是企业的业务向云端迁移的一年,这种迁移在整个数据中心行业引起了很大的反响,为云计算技术供应商和数据中心提供商带来了巨大的变化。 数据中心基础设施供应商Vertiv公司(前身为艾默生网络能源)已经重新调整了策略、资源,以及产品组合,以满足客户将其业务托管到云基础设施的需求。由于云计算提供商将开发自己的硬件设计和供应链功
静一
2018/03/28
9080
2017年云计算和数据中心产业的回顾与总结
如何选择最佳的托管服务供应商
选择一个企业级云管理服务供应商并非易事,由于市场不断增长,产品已经变得越来越复杂而详细,其后果是也是很明显的。如果企业要将数据中心的应用程序、计算和数据迁移到云中,并在第三方手中,就要知道这个管理服务供应商是否值得信赖,是否可靠。 企业级云托管服务要求的基础架构是安全的,可扩展的,并且可以随时使用,几乎没有停机或完全没有数据丢失。数据应该可以从任何地方访问。如果可能的话,企业的业务不应该通过公共互联网连接,而是通过私有的安全通道进行连接。 企业不只是想降低资本成本,还需要获得端到端的性能、可靠性和安全性,并
静一
2018/03/26
1K0
如何为云计算提供商和批发数据中心带来电源的灵活性
研究表明,自适应冗余电源(ARP)可以解决超大规模厂商、批发和托管数据中心面临的一些挑战。
静一
2020/11/04
4760
云桌面:从DIY到SaaS的六个注意事项
很多企业的首席信息官已经在很大程度上超越了采购基础设施的心态,转而支持提供更大灵活性的云计算解决方案。而将桌面工作负载迁移到云平台是一项可以显著产生业务收益的投资。根据调研机构Gartner公司的预计,数据即服务(DaaS)市场在2021年至2024年期间将继续增长253%。
静一
2021/07/30
6520
这些云服务水平协议实践好得不要不要的
关于云服务水平协议的概念有一点可以让人感到欣慰。那就是它是白纸黑字的表明了云供应商对你的应用在几乎任何时间内都可以正常运行的一种承诺。 不过,虽然云服务水平协议也许对保证云服务安全性来说是不可缺少的组成部分,但却很少象看上去那样严谨。事实上,专家认为用户既需要了解服务水平协议的最佳实践,同时也要意识到各种潜在的问题。 云计算SLA最大的问题是,它们还没有演变为一个行业标准,Michael S. Mensik,一家总部位于芝加哥的律师事务所Baker &McKenzie的合伙人表示,理由是基于该公司关于云
静一
2018/03/23
7490
如何实现系统的可扩展性和高可用性
概述 可扩展性,高可用性和性能 可扩展性,高可用性,性能和关键任务这些术语对不同组织或组织内的不同部门来说意味着不同的事情。它们经常被互换,造成混乱,导致管理不善的预期或延迟的实现或不现实的指标。本文为您提供了定义这些术语的工具,以便您的团队能够完全了解性能目标来实现目标关键系统。 可扩展性 可扩展性是系统或应用程序的属性,用于处理大量的工作或更易轻松扩展,用于响应对网络,任务处理,数据库访问或文件系统资源需求的增加 水平可扩展性 当系统通过添加具有相同功能的新节点扩展时,系统可以水平扩展,从而在所
用户1263954
2018/01/30
11.8K0
如何实现系统的可扩展性和高可用性
如果云计算服务提供商停止提供服务,用户该怎么办?
企业在决定采用特定的云计算提供商的服务时,执行尽职调查至关重要,应该评估与提供商合作的风险。此外,IT部门必须确保业务用户参与决策过程,并了解将数据迁移到云端的风险,以及不同供应商之间的风险差异。 在
静一
2018/03/22
1.7K0
如果云计算服务提供商停止提供服务,用户该怎么办?
如何成功规划多云战略
云计算不仅仅是IT迁移。它需要在许多业务流程中进行重要更改,包括供应链管理、IT资产管理、信息安全、IT合同、IT采购等。许多企业未能制定和执行组织变更管理计划,其中包括所需的培训、教育、信息分发和反馈流程。
静一
2018/10/24
6460
如何成功规划多云战略
云计算托管将在2018年成为主流
导语 采用共享托管,组织就可以得到其想要的东西。如果每月的支付金额是每月3美元,那么组织将获得一台拥有数百个网站的服务器,并且具有在其网站上同时使用三个用户的处理能力。共享托管的价格较低,但这是它唯一的优势。 自1991年互联网诞生以来,尽管传统托管模式存在很多弱点,但网络托管却几乎没有变化。调研机构普华永道的Paul Lantsbury概述了掌握决策的方法。 实用主义者表示不需要云计算托管,并引用了“如果没有破坏,就不要修复”这样的格言,但是这个格言并不适用,因为传统的托管模式一直存在问题。 共享托管
静一
2018/03/28
1.6K0
云计算托管将在2018年成为主流
如何确保应用程序在公共云中的可用性
采用云计算的注意事项是一种很好的建议。云计算服务提供商(CSP)都会承诺在其基础设施中提供“高可用性”,其服务水平协议(SLA)通常提供95%至99.99%的正常运行时间,而每月服务费退款率将达到10%到50%不等。但通常没有达到这样的门槛,正如IT的许多方面一样,重要的在于细节。
静一
2018/12/07
7430
如何确保应用程序在公共云中的可用性
相关推荐
你的云计算SLA是否是可协商的?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档