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