《Generative Adversarial Nets》笔记

本文介绍生成对抗网络(GAN)的基本原理,包括其组成结构、训练流程及损失函数的设计。此外,还探讨了训练过程中遇到的问题及其解决方案,并分析了GAN的优点与局限。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

生成对抗网络包括两个部分:生成器和判别器。为了让生成器学习到数据的分布,定义一个先验噪声变量Pz,然后通过生成器映射到数据空间Pg,即假的数据。判别器以生成的数据及真实数据作为输入,输出为一个0到1之间的数,看作输入来自真实数据的概率,因此判别器为一个二分类分类器。我们想让判别器通过训练最大化分配真实数据标签1假数据标签为0的概率,同时训练生成器生成的假数据可以迷惑判别器,让判别器最小化假数据标签为0的概率,最终达到平衡。因此损失函数如下:
这里写图片描述
实际上,以上公式在训练早期的时候并不能够为生成器提供足够的梯度。这是因为在训练初期,生成器生成的图像质量较差,判别器会以较大的概率分出假的数据,这时log(1-D(G(z)))变化较为平缓,梯度较小,会导致生成器不更新。因此将log(1-D(G(z)))改为log(D(G(z))可以提供较大的梯度。

这里写图片描述
判别器为蓝线,数据分布为黑线,生成器生成的假数据分布为绿线
最下面那条线为噪声z均匀采样,箭头为生成器,将噪声映射到数据空间。
(a)当快要收敛时,Pg和Pdata很相似
(b)此时训练判别器到最优
(c)几次更新G之后D的梯度使G看更靠近真实数据分布
(d)几次迭代之后,生成分布和数据分布相同,Pg=Pdata,判别器不能区分两个分布。
这里写图片描述

命题1
当生成器固定时,最优的判别器为这里写图片描述
这里写图片描述

定理1
当判别器为最优时,训练生成器相当于最小化生成数据分布与真实数据分布的JS散度,当Pg=Pdata时,判别器损失达到最小值
这里写图片描述

这里写图片描述

优点和缺点
缺点:生成分布的表达不明确,当G训练时,D必须和G相适应
优点:不需要马尔科夫链,只需要梯度来更新参数,在训练时不需要推理,几乎任何函数都可以整合到模型中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值