生成对抗网络(GAN)详解

目录

前言

一、对抗过程

二、理论证明

参考文献

前言

           生成对抗网络(Generative Adversarial Network, GAN)是由IanGoodfellow于2014年在《Generative Adversarial Nets》中提出的模型。


        GAN的基本思想是通过让两个神经网络相互对抗,从而学习到数据的分布。其中一个网络被称为生成器(Generator),它的目标是生成与真实数据相似的假数据;另一个网络被称为判别器(Discriminator),它的目标是区分真实数据和假数据。两个网络相互对抗,不断调整参数,从而最终生成具有高质量和多样性的假数据(最终目的是得到效果好的G,D)。

       具体来说,给定数据分布P_{data},希望设计生成器G,使得生成器所产生的数据分布P_{g}

尽可能接近P_{data},以此来“欺瞒”判别器D,同时判别器D也通过P_{data},P_{g},不断提高辨别能力。

一、对抗过程

        判别器D的训练目标是最大化分类的准确率,而生成器G的训练目标则是最小化判别器D的准确率。二者的估值函数是完全相反的,因而形成了零和对抗。在博弈中,D和G两名玩家按照极小化极大估值函数V(G,D) 进行博弈的过程: 

二、理论证明

两个问题:
        1. 生成对抗网络中的极小化极大值博弈问题中,存在全局最优解: P_{g} = P_{data}
        2. 通过 Algorithm 1 能够收敛到此全局最优解。
证明:
1. 存在全局最优解
给定 G ,判别器 D 的优化目标是最大化估值函数 V(G,D),即最大化:

(注意因为噪声z和生成的g为双射,所以第二项可以转化为对z的积分)

只需要使得积分号内部最大化,考虑函数:

 求该函数的极大值:

故判别器的最优解在:

取得 ,将其代入 V(G,D)得到:

 接下来求解生成器估值函数的最小值:

P_{g}=P_{data} C(G)取得最小值:-log4 

 2.能够收敛到最优解:

         我们证明在上述算法中,如果 G,D 的容量够大,且在判别器每个更新 步骤都能达到最优的情况下, P_{g} 能够收敛到  P_{data}.

        考虑:V(G,D)=U(P_{g},D),这是一个关于P_{g}的泛函,对于每个 P_{g} U(P_{g},D) 是凸的,而凸泛函的上确界(仍然是凸函数)的次导数包含了函数取得最大值点的导数,所以在判别器最优的时候优化价值函数相当于优化 G, 且是凸函数,肯定能收敛。

(注意:上述关于收敛性的证明并不够完备,在真实情况下我们更新的是 G 的参数,而不是 P_{g}

参考文献

[1] Goodfellow I, Pouget-Abadie J, Mirza M, et al. Generative adversarial n ets[J]. Advances in           neural information processing systems, 2014, 27.
[2] 生成对抗网络(GAN)简介,https://zhuanlan.zhihu.com/p/612565146 
生成对抗网络GAN)是深度学习领域的一项重要技术,利用GAN可以有效地生成复杂的样本数据,例如图像、音频等。在本文中将介绍如何用pytorch搭建GAN,并对其进行详细的解释。 GAN网络由生成器和判别器两部分组成。生成器接受随机噪声作为输入,通过反向传递训练来生成逼真的样本,而判别器则负责对输入样本进行判断,判断其是否是真实样本。两部分交替训练,并不断优化生成器和判别器的参数,最终可以得到生成器生成逼真样本的能力。 搭建GAN需要先定义生成器和判别器的网络结构,其中生成器可以使用反卷积,而判别器可以使用卷积神经网络。此外,在搭建过程中还需要定义一些超参数,如学习率、训练轮数等。 在开始训练GAN之前,需要先准备好数据集,并对其进行预处理,例如归一化、降噪等。然后对生成器和判别器设置优化器,并开始训练。在训练过程中需要注意调整超参数以达到更好的效果。 最后,在训练结束后需要对GAN进行评估,可以通过计算生成样本与真实样本之间的差别来确定生成器的性能并对其进行改进。 总之,利用pytorch搭建入门GAN需要先定义网络结构和超参数,并使用适当的优化器进行训练,最终可以生成逼真的样本。同时,需要注意调整超参数以达到更好的效果,并对GAN进行评估和改进。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值