【深度学习】--DCGAN从入门到实例应用
2019-08-30

一、前述

DCGAN就是Deep Concolutions应用到GAN上,但是和传统的卷积应用还有一些区别,最大的区别就是没有池化层。本文将详细分析卷积在GAN上的应用。

二、具体

1、DCGAN和传统GAN区别

    1.将pooling层convolutions替代(对于判别模型:容许网络学习自己的空间下采样 ,因为没有池化层,所以让判别网络自习学习。对于生成模型:容许它学习自己的空间上采样,即改变原先卷积策略,通过图片提取特征,而生成模型通过特征生成图片。)    2.在generator和discriminator上都使用batchnorm:

      解决初始化差的问题      帮助梯度传播到每一层      防止generator把所有的样本都收敛到同一个点。

   3.在CNN中移除全连接层

   4.在generator的除了输出层外的所有层使用ReLU,输出层采用tanh。

   5.在discriminator的所有层上使用LeakyReLU

2、生成网络生成图像过程

 

 

3、判别网络过程

 4、代码

 代码部分详见git地址:https://github.com/LhWorld/DCGAN