GAN&cGAN&DCGAN

GAN

ea  Fake

GAN主要包括判别器(Discriminator)和生成器(Generator)。

判别器用来区分真实样本和虚假样本。输入图片,输出图片是真实图片的概率。接收生成器的虚假样本G(z)和真实样本x。

生成器通过随机噪声z生成虚假样本,欺骗判别器,使判别器D尽可能给出高的评分1。

此时模型就变成了生成器和判别器的博弈,模式如下:

生成器生成图片->判别器判断真伪->生成器根据判别结果改进自己,生成新图片…

GAN的目标函数如下:

QQ截图20200912144043

训练过程

1.随机初始化生成器和判别器。

2.交替训练判别器D和生成器G,直到收敛。

(1)固定生成器,训练判别器D区分真实图像与合成图像

(2)固定判别器 ,训练生成器G欺骗判别器D

KL散度:衡量两个概率分布匹配程度的指标

ΚΕ(ΡιΙΙΡ2) -  ΚΙ.(ΡιΙΙΡ2) = f,  KL(PlllP2) =

极大似然估计=最小化KL

极大似然估计等价于最小化生成数据分布和真实分布的KL散度

658345656658546348768

cGAN(条件生成对抗网络)

cGAN在GAN的基础上引入了条件变量,实现条件生成模型。条件可以是类别标签或是其他辅助信息,对生成器的数据生成起指导作用。

其实现只需在GAN的生成器的判别器中,加入额外的条件信息即可。

image-20200912145952684

在上图中改变的仅是输入数据的维数.

DCGAN

判别器:滑动卷积,步长大于1,以此来取消pooling。

使用Leaky ReLu

除了最后一层不使用全连接层

image-20200912145246213

生成器:滑动反卷积

使用ReLu

最后一层使用tanh

image-20200912145259880

批归一化BN

加速神经网络收敛

减小神经网络参数对初始化的依赖

原文地址:https://www.cnblogs.com/Arsene-W/p/13657117.html