GAN生成对抗网络入门

目录

什么是GAN

GAN的原理

训练目标


什么是GAN

GAN:对抗网络

属于生成模型中的一种

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

GAN的原理

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

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

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

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

训练目标

GAN生成对抗网络入门_第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.

你可能感兴趣的:(深度学习,生成对抗网络,机器学习,深度学习)