GAN及DCGAN的tensorflow实践

本文介绍了生成式对抗网络(GAN)的基本原理,详细阐述了GAN的目标函数及其优化过程,并重点讲解了深度卷积生成对抗网络(DCGAN)的实践,包括训练过程和在TensorFlow中的代码实现。
摘要由CSDN通过智能技术生成

 原理:

       生成式对抗网络(generative adversarial network, GAN)是生成模型中的一种,可以自动学习原始图像的数据分布,而不需要提前假设原始数据属于哪种分布,只是不知道参数。GAN基于博弈论场景,由生成器网络和判别器网络构成,生成器网络用来从随机噪声数据中生成近似真实数据分布的样本,供判别器网络使用;判别器网络对真实数据和由生成器网络得到的假数据进行判别;生成器网络希望自己得到的数据可以以假乱真,使得判别器网络可以判定为真,而判别器网络希望可以准确分出真实数据,使得生成器网络得到的数据判定为假,两者博弈,不断改进自己的网络,直到判别器分不出是真实数据还是假的数据为止。结构如下图所示。 

目标函数:

      生成器G的目的是将随机噪声z生成一个和真实数据分布^{P_{data}}^{}\left ( x \right )差不多的真实分布^{P_{G}}^{}\left ( x:\theta \right ),参数\theta为网络的参数,我们希望找的\theta使得^{P_{G}}^{}\left ( x:\theta \right )^{P_{data}}^{}\left ( x \right )类似。我们从真实数据分布中采样m个点: x^{1},x^{2},...,x^{m},计算概率^{P_{G}}^{}\left ( x^{^{i}}:\theta \right ),则m个样本的似然函数为:

则我们的目标是找到\theta ^{*}最大化似然函数。

多减去一个常数项对结果没有影响,因此可得:

^{P_{G}}^{}\left ( x:\theta \right )计算如下:

生成器G是给定先验

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值