【GAN优化】GAN训练的几个问题

详解生成对抗网络(GAN) 详解生成对抗网络(GAN) 本篇博文从以下几个结构介绍GAN模型 概述 模型优化训练 GAN的一些经典变种 1 概述 GAN是由Ian Goodfellow于2014年首次提出,学习GAN的初衷,即生成不存在于真实世界的数据。类似于AI具有创造力和想象力。 GAN有两大护法G和D: G是generator,生成器: 负责凭空捏造数据出来 D是discriminator,判别器: 负责判断数据是不是真数据 这样可以简单看作是两个网络的博弈过程。在原始的GAN论文里面,G和D都是两个多层感知机 阅读详情

从今天开始,我们将关注训练GAN时产生的问题,作为第一篇文章,首先从几个方面来分析一下实际训练的GAN和理论模型上的GAN不同之处以及实践中出现的问题。第一个部分将介绍最优判别器引发的梯度消失问题,第二部分使用一个例子介绍距离计算时的问题,接着第三部分将介绍优化问题的困惑以及给出模式崩溃一个简单解释,最后一部分简单谈一下参数空间的问题。

作者&编辑 | 小米粥

GAN模型在理论上非常优美,它训练完成后的愿景是:生成器的隐式概率分布完全等于数据集的真实概率分布,判别器也无法对任意一个样本点做出区分,而只能给出概率0.5。但是,实际上,这样的结果是不太可能达到的。

1 梯度消失问题

在早期的GAN中,有一条经验:不要把判别器训练得太好,以避免后期梯度消失导致无法训练生成器。在第三期中,我们曾谈论过类似的问题,只不过是从f-divergence的角度来探讨的,简而言之,判别器的任务是辅助学习数据集的本质概率分布和生成器定义的隐式概率分布之间的某种距离,生成器的任务是使该距离达到最小甚至为0。但是当两个概率分布没有重合或者重合部分可忽略时,其f散度值为常数;当两者完全重合时,f散度值突变成0。可以发现f散度距离无法为生成器提供可以减少损失函数的梯度信息,生成器无法获得优化方向。

这次我们从GAN的训练过程的角度再一次来谈论这个问题。通过理论和大量的实践,我们几乎可以认为数据集的本质概率分布和生成器定义的隐式概率分布均是高维数据空间中的低维流形,几乎不存在重叠部分(重叠部分的测度为0),可以证明此时必然存在一个最优判别器D*可以将两个分布完全分开,它在数据集的分布上置1而在生成分布上置0,即:

640?wx_fmt=jpeg

而且在x的邻域内,其导数为0,即

640?wx_fmt=jpeg

遗憾的是,此时我们无法使用反向传播算法来使生成器进行学习,因为我们可以证明出:

640?wx_fmt=jpeg

即不断训练判别器D(x)使其逼近最优判别器的代价是:梯度消失!梯度一旦消失,生成器无法获得任何信息来进行更新,两个分布之间的距离并没有被缩小,判别器无法更新,之后的迭代过程变成无用的循环过程。

2. 采样计算距离问题

WGAN是解决上述梯度消失问题的一个好办法, 现在我们来看在实际训练GAN时候的第二个问题:

首先来看一个小例子,我们定义一个标准的正态分布:

640?wx_fmt=jpeg

然后,从该分布中采样出m个(有限个)样本组成一个均匀分布:

640?wx_fmt=jpeg

那么有一个结论:

640?wx_fmt=jpeg

也就是说,在有限个采样个数的情况下(实际中样本数m足够大是不可能成立的),由样本构成的“采样分布”并不能简单地等同于源分布,两者还有一定的“距离”。更进一步地讲,对于两个正态分布,很可能“采样分布”之间距离并不等于两个分布之间的真实距离。

实际的结论确实如此:对于两个标准正态分布 μ 和 υ 以及两个分别从中采样得到的样本构成的均匀分布,有非常大的概率认为:

640?wx_fmt=jpeg

在GAN中,我们也是通过采样来近似计算分布之间的距离的,最理想下状态,两个概率分布之间的距离等于两个“采样”分布的距离,或者相差很小:

640?wx_fmt=jpeg

但考虑到上述简单的正态分布的例子中尚且存在这样的问题,有理由认为在GAN中,依靠采样来估计的分布之间的距离并不等于两个分布的真实的距离。如果指导生成器进行学习的距离信息是有偏差的,则很可能无法将生成器定义的隐式概率分布逼近到数据集的本质概率分布。

3. minmax问题

GAN的训练模式是这样的:固定生成器G,迭代k次训练判别器D;然后固定判别器D,训练生成器G,两者依次交替使用梯度下降法进行更新。但是这里会造成一种困惑,我们到底是在解决一个minmax问题还是maxmin问题?因为这两个问题通常情况下并不一样:

640?wx_fmt=jpeg

在maxmin的角度来看,GAN的训练过程会产生模式崩溃(mode collapse)问题,就是指生成器生成的样本有大量的重复,多样性非常差(这是一个在实践中经常出现的问题,在之后的文章中,我们将花许多精力来介绍mode collapse问题的解决方案)。

现在,我们通过一个粗略的例子,来简单介绍一下模式崩溃问题的产生原因。真实数据集的本质概率密度函数通常是多峰函数,也就是具有很多模式(mode),假设真实数据集的本质概率密度函数有3个峰。首先,对于固定的判别器D,生成器面临min问题,会努力将概率集值中放置到一个或几个高概率的点(mode)上,例如x=5.0,希望以这种“偷懒”的方式来欺骗判别器D。

640?wx_fmt=jpeg

接着,固定生成器,判别器面对是一个max问题,对其进行更新,根据最优判别器的表达式:

640?wx_fmt=jpeg

更新后D(x)为:

640?wx_fmt=jpeg

可以看出,训练后的D会对x=5.0及其周围点的“极其不信任”。接下来再更新生成器时,为了取得最小值,生成器只得“偷懒”而将概率放置到其他的高概率的、判别器信任的模式上,例如x=0,即:

640?wx_fmt=jpeg

再次更新判别器D(x),其函数图像为:

640?wx_fmt=jpeg

这时判别器识别降低了x=0的信任程度,但是同时又恢复了对x=5.0的信任程度,那么接下来再更新生成器时,生成器其又会将高概率点放置在x=-5.0或者x=5.0的点周围,如此往复······

在实践中,我们发现生成器往往不能涵盖所有的模式,通常只包含部分模式。在训练过程中,生成器的概率放置不断地从一个模式转换到另一个模式中,不断往复,这样训练结束后,生成器产生的样本必定有大量的重复。

3. 参数空间与函数空间问题

理论上,GAN确实可以收敛,但是该优化过程是在函数空间中完成的。实践操作中,我们的优化操作是在神经网络的权值构成的参数空间中进行的,理论上的保证在现实中并不成立。另外,有证明表示当参数的个数有限时,GAN的平衡状态很可能是不存在的。

[1] Arora, Sanjeev , et al. "Generalization and Equilibrium in Generative Adversarial Nets (GANs)." (2017).

[2] Arjovsky, Martin , and Bottou, Léon. "Towards Principled Methods for Training Generative Adversarial Networks." Stat(2017).

总结

这篇文章简单介绍了实际训练GAN的一些基本问题,下一期将利用微分方程从动力学的角度讨论一下训练收敛性的问题,将给出一个比较直观的展示。

下期预告:从动力学视角看GAN的训练


小通知:高温假来袭,停更一期

GAN群

640?wx_fmt=jpeg

有三AI建立了一个GAN群,便于有志者相互交流。感兴趣的同学也可以微信搜索xiaozhouguo94,备注"加入有三-GAN群"。

知识星球推荐

640?wx_fmt=jpeg

有三AI知识星球由言有三维护,内设AI知识汇总,AI书籍,网络结构,看图猜技术,数据集,项目开发,Github推荐,AI1000问八大学习板块。


【知识星球】超3万字的网络结构解读,学习必备

【知识星球】数据集板块重磅发布,海量数据集介绍与下载

转载文章请后台联系

侵权必究

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

往期精选

GAN训练中的挑战和常见问题有哪些,如模式崩溃和模式坍塌等? 生成对抗网络(GAN)是一种强大的深度学习模型,用于生成逼真的数据样本。然而,GAN的训练过程中面临一些挑战和常见问题,其中包括模式崩溃和模式坍塌。本文将介绍这些问题以及可能的解决方法。GAN训练中的挑战和常见问题有哪些? 阅读详情

相关推荐

GAN生成对抗网络入门篇

笔记整理:王小草 时间:2019年1月 一、GAN简介 1 背景 全称:generative adversarial network 生成式对抗网络(不一定是深度学习) 论文:https://arxiv.org/abs/1406.2661 提出者:Ian Goodfellow(也是深度学习花园书的作者) 2 Gan能做什么? 2.1 生成图片 下图,第一张图是真实图片,第二张是使用MSE为损失的监...

【人工智能】王小草的博客 1万+

GAN模型存在的问题分析(梯度消失、模式崩溃)

原始的GAN并不成熟,存在着诸多问题,其中梯度消失和模式崩溃(collapse mode)问题严重限制GAN的发展。只有了解问题发生的本质,才能做出相应的改进,本章主要对GAN在训练中存在梯度消失和模式崩溃的原因进行分析。梯度消失即是利用误差反向传播(back propagation,BP)算法对深度神经网络进行训练时,梯度后向传播到浅层网络时基本不能引起数值的扰动,最终导致神经网络收敛很慢甚至不能收敛。GAN存在梯度消失的问题,并且在判别器训练得越好的时候,生成器梯度消失得越严重。最优判别器如下式: DG

coderge's 优快云 Blog. 1万+

生成对抗网络(GAN)应用于图像分类

近年来,深度学习技术被广泛应用于各类数据处理任务中,比如图像、语音和文本。而生成对抗网络(GAN)和强化学习(RL)已经成为了深度学习框架中的两颗“明珠”。强化学习主要用于决策问题,主要的应用就是游戏,比如deepmind团队的AlphaGo。因为我的研究方向是高光谱图像的有监督分类问题,故本文主要讲解生成对抗网络及其在分类问题方面的应用。生成对抗网络框架  生成对抗网络(Generative ad

为之则易,不为则难 5万+

生成对抗网络(三)----------WGAN

一、GAN存在的问题 在这之前,我们实现了GAN以及DCGAN。从训练效果看。都能生成相应的数据,但是GAN的训练过程中会出现很多问题。主要是训练的不稳定。在理论上,我们是先把判别器训练好,再去训练生成器。但是当判别器训练的越好。生成器反而越难优化。接下来,我们先分析一下GAN的问题。 真实数据的分布通常是一个低维度流形。流形是指数据虽然在高纬度空间里,但实际上并不具备高纬度特性,而是存在于一...

励志的小胡子 1608

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

生成对抗网络(GAN)是一种基于模拟深度学习模型的机器学习方法,它使用两个具有不同特征的网络来训练生成图像。生成图像可以通过以下步骤实现: 生成原始图像。 将生成的图像与真实图像进行对比,以检测差异并调整参数以提高质量。 训练一个新图像生成器,用于生成新的图像。

不迁怒,不贰过。小知识,大智慧。 3330

GAN!生成对抗网络GAN全维度介绍与实战

本文为生成对抗网络GAN的研究者和实践者提供全面、深入和实用的指导。通过本文的理论解释和实际操作指南,读者能够掌握GAN的核心概念,理解其工作原理,学会设计和训练自己的GAN模型,并能够对结果进行有效的分析和评估。

2401_85325519的博客 3397

对于GAN中min maxV(D,G)的理解

原来看过一遍,还是忘了,今天在这里做个笔记,给自己提个醒。 这个公式是最大化D和最小化G,xPdata(x)是样本中采样的真实图片,D(x)是真实图片的概率;zPz(z)指生成一份随机噪声z;G(z)是噪声z通过生成器生成的图片,D(G(z))是这个生成图片是真实图片的概率。期望E是因为每次训练的时候一批一批地输入。 对于D而言,我们希望判定真实图片的概率高,假图片的判别低,但是D(x)和D(...

方悔读书迟 4770

原始GAN(生成对抗网络)详细解析

伟大的GAN(生成对抗网络)前言:以下所有内容是学习过程中产生的,不一定具有Ture可信度,仅供初学者学习参考,如果有不对的地方,敬请指正再批评;所有参考资料均来源于互联网和论文,文末贴出链接。摘要:主要从警察与造假币者的通俗例子讲解生成对抗网络的基本原理,生成器与判别器的概念,怎么样叫对抗过程?引出在图像生成中所用的生成对抗网络是怎么样的?论文中的原始GAN Loss函数的详细解释,它为什么就写...

hello_next_day的博客 6925

生成对抗网络(GAN)

​ 某个模式(mode)出现大量重复样本,例如: ​ 上图左侧的蓝色五角星表示真实样本空间,黄色的是生成的。生成样本缺乏多样性,存在大量重复。比如上图右侧中,红框里面人物反复出现。​ 自回归模型通过对图像数据的概率分布$p_{data}(x)$进行显式建模,并利用极大似然估计优化模型。

sikh_0529的博客 3万+

GAN(Generative Adversarial Network)—生成对抗网络

生成对抗网络 (GAN) 是一类功能强大的神经网络,用于无监督学习。GAN 由两个神经网络组成,一个判别器和一个生成器。他们使用对抗性训练来生成与实际数据相同的人工数据。生成器试图通过生成随机噪声样本来欺骗判别器,判别器的任务是准确区分生成的数据和真实数据。这种竞争互动产生了逼真的高质量样本,这推动了两个网络的发展。GAN 被证明是用途广泛的人工智能工具,它们在图像合成、样式迁移和文本到图像合成中的广泛使用证明了这一点。他们还彻底改变了生成建模。

jianqimingtian的博客 2936

【毕业论文参考】Python与生成对抗网络(GAN)的快速实现

生成器(Generator):从随机噪声生成逼真的数据。判别器(Discriminator):判别输入数据是真实数据还是生成数据。两者通过博弈论思想相互优化,生成器的目标是“欺骗”判别器,而判别器的目标是尽可能分辨真伪。生成器的任务是将随机噪声(通常为正态分布或均匀分布)映射为目标数据。nn.ReLU(),nn.ReLU(),nn.Tanh() # 将输出归一化到[-1, 1]判别器的任务是判别输入数据是真实数据还是生成数据。nn.Sigmoid() # 输出概率值。

二进制的梦想 2767

GAN 的训练、调参实践

自从 GAN 提出后,它变得越来越火热,吸引了众多的爱好者前来学习实践。 但是只要你自己去从无到有写出一个 GAN 模型并运行,除非你运气太好,大多数情况下你都会发现自己的GAN并不能很好地 work 。 下面首先对 GAN 进行简要的介绍,然后整理了我自己在 GAN 的设计网络结构、调整参数等方面的经验。 1 什么是GAN? GAN 是一种生成模型,由知名的学者 Ian Goodfellow 首...

四个菜 1万+

生成对抗网络(GAN)入门

判别器的任务是尝试区分接收到的数据是真实数据还是由生成网络生成的数据。生成器的任务是从随机噪声中生成与真实数据相似的合成样本,而判别器则负责辨别给定的样本是真实数据还是生成器产生的人工样本。在生成对抗网络(GANs)中,生成器(G)是一个关键组件,其任务是利用随机噪声(通常表示为z)作为输入,并通过不断的学习和拟合过程生成一个与真实样本在尺寸和分布上相似的伪造样本G(z)。GAN的原理在于通过这种对抗性训练,生成器学习生成逼真的数据,而判别器学习更好地区分真实和生成的数据。

qq_60245590的博客 2963

生成对抗网络(GAN)简单梳理

网上已经贴满了关于GAN的博客,写这篇帖子只是梳理下思路,以便以后查阅。 关于生成对抗网络的第一篇论文是Generative Adversarial Networks 0 前言GAN(Generative Adversarial Nets)是用对抗方法来生成数据的一种模型。和其他机器学习模型相比,GAN引人注目的地方在于给机器学习引入了对抗这一理念。回溯地球生物的进化路线就会发现,万物都是在不

时光杂货店 6万+

GAN生成对抗网络介绍

GAN生成对抗网络、判别模型、生成模型、判别器、生成器

qq_52048052的博客 2688

GAN的训练问题与解决方案

好的,我会遵循您提供的要求和约束条件,以逻辑清晰、结构紧凑、简单易懂的专业技术语言,写一篇有深度、有思考、有见解的专业IT领域技术博客文章。以下是我的文章: GAN的训练问题与解决方案 1. 背景介绍 生成对抗网络(Generative Adversarial Networks,

AI天才研究院 957

生成对抗网络GAN详细推导

生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络最最直接的应用是数据的生成,而数据质量的好坏则是评判GAN成功与否的关键。本文介绍了GAN最初被提出时的基本思想,模型和公式推导,以及训练。

ch18328071580的博客 3438

OpenClaw小白使用全攻略

OpenClaw全能技能解锁指南:从基础到进阶 摘要: 本文提供OpenClaw AI智能体的完整使用教程,帮助用户从安装后"不知道如何用"到熟练掌握核心功能。教程包含:1)控制台5大区域详解和3个必做初始化设置;2)文件管理、浏览器自动化、文档生成等5大基础功能实操,每个功能配有详细操作步骤、指令模板和效果演示;3)10+高频场景解决方案,如整理文件、搜集资料、写总结等;4)进阶技巧和常见问题解答。通过清晰的图文指引,即使电脑小白也能快速上手,实现办公自动化、提升工作效率。

通俗易懂学IT 3061
上一篇: AI修行三十篇文章到不惑,已经掌握了什么,接下来还要说什么
下一篇: 【图像分割应用】设备自动化(一)——自动驾驶
言有三
言有三 领域专家: 人工智能技术领域 领域专家: 人工智能技术领域
博客等级 码龄15年 3635粉丝 976原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

言有三

三人行必有AI

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值