知识库

记录点点滴滴

GAN (1):构造预先判别网络模型

GAN的目的

简而言之,在GAN中同时存在生成网络和判别网络两个神经网络,生成网络用于生成可以以假乱真新的数据,而判别网络用于判断所给的数据是否是真的数据。

而在GAN中,生成网络的目的是让判别网络认为其生成的数据是真实的,而判别网络则相当于警察,目的是尽最大可能鉴别出生成网络生成的数据来。

以此两个网络相互“打架”,最终两方的实力在斗争中都得到了显著的提升

斗争到最后,生成网络已经是一个老司机了,生成的数据足以骗过一下简单的判别网络,让人信以为真。

GAN的出世,可以说是给深度学习领域带来了新的生命力,赋予了创造数据的能力

预先的训练

在一开始如果采用随机的值作为判别网络D的参数,会使得生成网络G随意生成的一个数据(哪怕是很差的一个数据)逃过判别网络D的法眼

故为了使得条件更加苛刻,最终生成出来的效果好一点,则要把判别网络D做的更加强悍一些.

网络都有w b初始权重,因此为了实现该目的,我们可以对判别网络进行预先的训练

即让判别网络D先进行判断,让他知道哪些数据是0,哪些数据是1

定义一个model

构造模型

构造预先判别网络模型

placeholder构造骨架,到用的时候再赋值进去即可

网络初始化

权值初始化

优化器求解

用了梯度下降,去最小化loss。并返回最后的求解器

总结

整个步骤可以总结如下

  1. 完成预先判别网络D_pre的构架
  2. 判别网络预测值与真实值求差,求解loss
  3. 定义优化器进行求解
  4. 优化完成后得到wb,去初始化真正的判别网络D
点赞

发表评论

邮箱地址不会被公开。 必填项已用*标注