2020-09-08

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

近年来。深度神经网络在图像识别、语音处理以及自然语言处理方面有新的飞跃。生成对抗网络(GAN)已经成已经成为近10年以来,机器学习领域最为重要的思想。GAN是生成模型的一种,主要用于通过分布生成样本。


一、GAN的组成

GAN包含两个网络,用于输入随机噪声的生成器(G(z))和判别真假数据的判别器(D(x))。
在这里插入图片描述

二、GAN的实现

选择简单的二层神经网络以及MN I ST 数据集并且使用Tensor Flow 来实现。MN I ST 数据集由28 像素× 28 像素的手写字母灰度图组成。


生成器generator ( z )从随机分布中(本例采用统一分布)接收一个100 维向量为输 入,并产生一个符合MN I ST 规范( 28 × 28 )的786 维向量。这里的z 是G(z)的先验。通过 这种方式可以学习到先验空间和Pdata (真实数据分布)空间之间的映射:
#为生成器生成随机噪声

Z = tf . placeholder(tf.fl 。at32, shape=[None, 100], name=’ z I):
#生成器参数设置
G Wl = tf.Variable(xavier init([lOO, 128]), name =’ G Wl ’ )
G bl= tf. Va riable(tf.zeros(shape=[128]), name=’ G bl ’)
G W2 = tf.Variable(xavier init([128, 784]) , name =’ G W2 ’)
G_b2 = tf.Variable(tf.zeros(shape=[7 84 ]), name=’ G_b2 ’)
theta G = [G Wl, G W2 , G bl, G b2]
#生成器网络
def generator(z):
G hl = tf.nn . relu(tf.matmul(z , G Wl) + G bl)
G_log_ prob = tf.matmul(G_hl, G_W2 ) + G b2
G prob= tf.nn . s 工gmo 工d (G log prob)
return G prob

判别器discrirninator ( x ) 以MN I ST 图像作为输入并返回一个代表真实图像概率的标量。
#为判别器准备的MNIST图像输入设置
X = tf.placeholder(tf.float32 , shape=[None , 784], name= ’ x ’)
#判别器参数设置
D Wl = tf.Variable(xavier init([784 , 128)) , name = ’ D Wl I )
D_bl = tf.Variable(tf . zeros(shape= [12 8) ), name=’ D_bl I )
D W2 = tf.Variable(xavier 工nit ([1 28 , 1) ), name=’ D W2 ’)
D b2 = tf.Var i able(tf.zeros(shape=[l]) , name= ’ D b2 ’ )
theta D = [D Wl , D W2 , D bl , D b2)
#判别器网络
def discriminator (x) :
D_hl = tf.nn.relu(tf. matmul(x , D_Wl) + D_bl)
D_logit = tf .matmul(D_hl, D_W2 ) + D_b2
D__prob = tf . nn.sigmoid(D_l ogit)
return D prob, D logit

以随机的噪声开始进行训练, G (Z )不断向Pdata 趋近。可以通过观察G (Z )生成的样本和原始MN I ST 图像的区别来证明这件事。


总结

GAN 在多个领域都产生了许多让人振奋的结果。GAN ,由Ian Goodfellow 于2014 年在arXiv: 1406.2661 中提出,它是一种两个神经网络相互竞争的特殊对抗过程。第一个网络生成数据,第二个网络试图区分真实数据与第一个网络创造出来的假数据。第二个网络会生成一个在[0 ,1 ] 范围内的标量,代表数据是真实数据的概率。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值