LSGAN:最小二乘生成对抗网络

作者&投稿:文法 (若有异议请与网页底部的电邮联系)
~

解决问题: 解决传统 GAN 生成图片质量不高,训练不稳定的问题。

做法: 将传统 GAN 的 交叉熵损失函数 换成 最小二乘损失函数

本篇主要通过GAN对比来学习LSGAN

通过例子介绍:

使用 位于决策边界正确侧 但仍然 远离真实数据的假样本 更新生成器时,交叉熵损失函数将导致梯度消失的问题。
如图 (b)所示,当我们使用 假样本 (品红色)通过使鉴别器相信它们来自真实数据来更新生成器时,它 几乎不会引起错误 ,因为它们在正确的一侧,既决策边界的真实数据面。
然而,这些样本 仍然离真实数据很远 ,我们想把它们拉得接近真实数据。

问题总结:在交叉熵损失函数情况下,判别器判定真实面的假数据距离真实数据较远,效果不足。

基于这一观察,我们提出了最小二乘生成对抗网络,它采用 最小二乘损失函数作为鉴别器
最小二乘损失函数能够 将伪样本移向决策边界
因为最小二乘损失函数会 惩罚位于决策边界正确一侧很远的样本
如图 (c)所示,最小二乘损失函数将惩罚假样本(品红色),并 将它们拉向决策边界 ,使它们被正确分类。

基于这一特性,最小二乘能够生成更接近真实数据的样本

总结概括
最小二乘: 最小二乘损失与交叉熵损失相比,优势在于生成样本在欺骗判别器的前提下同时让生成器把 距离决策边界比较远 的生成图片拉向 决策边界 ,这样保证了生成高质量的样本。

交叉熵: 以交叉熵作为损失,会使得生成器 不会再优化那些被判别器识别为真实图片的生成图片 ,即使这些生成图片距离判别器的决策边界仍然很远,也就是距离真实数据比较远,因为此时的交叉熵损失已经很小,生成器完成了为它设计的目标。

LSGAN的缺陷: 在于它并 没有解决当判别器足够优秀时生成器发生梯度弥散的问题

梯度弥散: 使用反向传播算法传播梯度的时候,随着传播深度的增加, 梯度的幅度会急剧减小,会导致浅层神经元的权重更新非常缓慢 ,不能有效学习。
这样一来,深层模型也就变成了前几层相对固定,只能改变最后几层的浅层模型。

GANs 的损失函数:

LSGANs的损失函数:
最小二乘

公式注释:
鉴别器 D
生成器 G
G 的目标是学习数据 x 上的分布 pg。
G 服从均匀或高斯分布 pz(z)对输入变量 z 进行采样开始,然后将输入变量 z 映射到数据空间 G(z; θg)。
D 是分类器 D(x; θd),其目的是识别图像是来自训练数据还是来自g。
z 为噪音,它可以服从归一化或者高斯分布,为真实数据 x 服从的概率分布,为 z 服从的概率分布。为期望值,同为期望值。

假设我们对鉴别器使用 a-b 编码方案 ,其中a 和b 分别是假数据和真实数据的标签。

c 表示 G 预测的D 相信的假数据的值。

最小二乘法的具体优点:
1.决策边界固定(鉴别器参数固定),生成样本靠近决策边界,更接近真实数据。
2.惩罚远离决策边界的样本时,可以在更新生成器时生成更多的梯度,这反过来缓解了梯度消失的问题(梯度消失:前面隐藏层的学习速率低于后面隐藏层的学习速率,即随着隐藏层数目的增加,分类准确率反而下降)

GAN中:最小化等式 1 产生最小化詹森-香农散度:

LSGAN:探讨LSGAN与f散度的关系

公式解释:(下文关于a-b编码证明a,b,c条件)

加入到

并不会改变最佳值,因为并没有引入含有G的参数

从而我们可以推出G固定情况下的最佳鉴别器:

使用 pd 来表示 pdata,来重新表示4式

此处不详细证明
化简为:

如果: b-c = 1, b-a = 2,则

是皮尔逊散度,总之可证,当 a,b,c满足b-c = 1 和 b-a = 2的条件,则最小化等式 4 会使 pd + pg 和 2pg 之间的皮尔逊 χ2 散度最小化。

采用 a-b编码方案:

由上述证明可设a = 1, b = 1, c = 0

采用 0-1二进制编码方案

两式接近,但此处,论文作者采用a-b编码方式,来实现实验:

带上其中一个实验:

参考论文:Mao X D, Li Q, Xie H R, et al. Least squares generative
adversarial networks[C]//Proceedings of the 2017 IEEE
International Conference on Computer Vision, Venice, Oct
22- 29, 2017. Washington: IEEE Computer Society, 2017:
2813-2821.




昌都地区15996588004: 生成式对抗网络GAN有哪些最新的发展,可以实际应用到哪些场景中 -
赞拜德瑞: 生成对抗网络是一种生成模型(Generative Model),其背后最基本的思想就是从训练库里获取很多的训练样本(Training Examples),从而学习这些训练案例生成的概率分布. 一些生成模型可以给出概率分布函数定义的估测,而另一些生成模型可以给你全新的样本,这些新样本来自于原有生成训练库的概率分布.

昌都地区15996588004: 生成式对抗网络GAN在NLP领域最近有哪些应用 -
赞拜德瑞: 1. GAN最开始是设计用于生成连续数据,但是自然语言处理中我们要用来生成离散tokens的序列.因为生成器(Generator,简称G)需要利用从判别器(Discriminator,简称D)得到的梯度进行训练,而G和D都需要完全可微,碰到有离散变量...

昌都地区15996588004: Python培训需要学习哪些内容
赞拜德瑞: 学习Python编程需要学习:第一阶段:Python语言及应用 课程内容:Python语言基础,面向对象设计,多线程编程,数据库交互技术,前端特效,Web框架,爬虫框架,网络编程 掌握技能:(1)掌握Python语言语法及面向对象设计;(2)掌...

昌都地区15996588004: 生成对抗网络相比传统训练方法有什么优势 -
赞拜德瑞: 个人感觉,gan之所以比其他生成模型更优秀,是因为gan在本质上相当于最优化js距离而不是kl距离.虽然后者会得到一个更general的分布,但是从生成角度来讲,一个special的分布更能使人感到生成的数据更佳“真实”.

昌都地区15996588004: matlab 神经网络 怎么做dropout -
赞拜德瑞: 这个特例称为对抗的网络.这里,仅用反向传播和 Dropout 来训练模型,生成模型通过前向传播来生成样本.不需要近似推理和 Markov 链.

昌都地区15996588004: 以下哪些场景属于生成对抗网络GAN的应用场景(). - 上学吧
赞拜德瑞: 人工智能主要由三个板块组成,分别为算法、算力与数据. 算法层面,目前主流的算法为深度学习,常见的算法包括卷积神经网络、循环神经网络以及生成对抗网络; 算力层面,主要包含AI计算架构以及各种AI芯片; 数据层面,包含数据采集、数据清洗、数据标注等. 以上这些内容构成AI行业的基础.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网