【深度学习】GANs与DCGAN

GANs

GANs(Generative Adversarial Networks),生成对抗网络,由Ian Goodfellow 提出。
Yann Lecun评价“the most insteresting idea in the last 10 years in ML”

下面以图片识别来简单解释一下GANs的博弈过程。
GANs同时训练两个网络。第一个网络记作判别器(Discriminator),对输入的图片进行判定,输出一个scala,值在(0,1)之间。趋近1表示判定为自然采集(real)的图片的可能性更大;趋近0表示第二个网络,也就是生成器(Generator),生成(fake)的可能性更大。Disciminator的目标是准确判别出哪些是real的图片,哪些是fake的图片。第二个网络,Generator,输入是一个简单的概率分布的向量(例如:100维的高斯分布的向量),输出是一张图片。Generator的目标是让Discriminator判定其为real。
上述的流程可以用下面的公式来定义:
这里写图片描述
换句话说,Discriminator目标是最大化上式。对于Discriminator来说:

1.对于real图片,使其输出的scala尽量趋近于1(第一项)
2.对于fake图片,使其输出的scala尽量趋近于0(第二项)

而对于Generator来说,目标是最小化上式:

完善自身生成的图片,试图欺骗Discriminator,使Discriminator对其生成的图片判别趋近1

整个过程就是Discriminator和Generator通过和对方博弈同时完善自身的网络结构的欺骗与反欺骗动态过程,最重要的是在这个过程中双方都能通过博弈进步。

DCGAN

DCGAN,Deep Convolutional GAN,顾名思义,使用卷积网络(此处卷积网络包括卷积和反卷积【反卷积介绍见这篇博文】两种操作)作为Generator和Discriminator的网络结构,主要用途生成图片和图片分类等。

Generator,主要操作是反卷积,用来生成图片示意图如下:
这里写图片描述

Discriminator,主要操作卷积,用来判定图片示意图如下:
这里写图片描述

DCGAN的来源的网络结构设计来自这篇论文Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks,下一篇博文会详细记录论文中网络结构,超参数设置,参数更新方式等细节,同时会重现论文的模型更新在github上。
欢迎交流~

猜你喜欢

转载自blog.csdn.net/qq_29340857/article/details/73065289
今日推荐