GAN生成对抗网络入门

目录

什么是GAN

GAN的原理

训练目标


什么是GAN

GAN:对抗网络

属于生成模型中的一种

生成模型:
给定训练集,模型可以产生与训练集同分布的新样本
(即训练集样本的分布和新样本的分布是一致的)
生成模型的分类:
显示的密度估计:显示的定义并求解分布Pdata
隐式的密度估计:学习一个模型Pmodel,而无需显示的定义它

GAN的原理

简单的理解为两个玩家的博弈战

生成网络的目的:产生尽量真实的图片,进而骗过判别器

判别网络的目的:准确的区分真假图片

模型的训练过程:生成网络接受一维的噪声输入,通过网络的各种变换,输出1*28*28的图片输出;判断器对生成图片进行打分(0-1),打的分数越低说明生成网络的效果越差,进而计算梯度进行生成网络的优化迭代;而判别器同时获得一个真样本和假样本,看它能否判别效果如何。训练过程中,两者互相博弈,达到平衡。

训练目标

 参数解释:

G表示生成网络,D表示判断器(输出是0-1),z为噪声输入,x为样本数据

  •  先看max函数(此时训练参数是θd)

       要想整个式子最大,只能使得D(x)=1,即判断器对真实图片的输入打1分,D(G_\theta(z)) =0即对生成的1*28*28的图片打0分。这个过程就是对判别器进行训练,训练他辨别假样本的能力。

  • 再看min函数(此时训练参数是θg)

        前半个式子中没有涉及到θg,则只要让后面的式子最小即可,那么最好是让D(G_\theta(z))越大越好,就是要让生成网络生成的图片越真越好,使得判别器对他的打分越接近于1.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
生成对抗网络GAN)是深度学习领域的一项重要技术,利用GAN可以有效地生成复杂的样本数据,例如图像、音频等。在本文中将介绍如何用pytorch搭建GAN,并对其进行详细的解释。 GAN网络由生成器和判别器两部分组成。生成器接受随机噪声作为输入,通过反向传递训练来生成逼真的样本,而判别器则负责对输入样本进行判断,判断其是否是真实样本。两部分交替训练,并不断优化生成器和判别器的参数,最终可以得到生成器生成逼真样本的能力。 搭建GAN需要先定义生成器和判别器的网络结构,其中生成器可以使用反卷积,而判别器可以使用卷积神经网络。此外,在搭建过程中还需要定义一些超参数,如学习率、训练轮数等。 在开始训练GAN之前,需要先准备好数据集,并对其进行预处理,例如归一化、降噪等。然后对生成器和判别器设置优化器,并开始训练。在训练过程中需要注意调整超参数以达到更好的效果。 最后,在训练结束后需要对GAN进行评估,可以通过计算生成样本与真实样本之间的差别来确定生成器的性能并对其进行改进。 总之,利用pytorch搭建入门GAN需要先定义网络结构和超参数,并使用适当的优化器进行训练,最终可以生成逼真的样本。同时,需要注意调整超参数以达到更好的效果,并对GAN进行评估和改进。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值