DCGAN是GAN的直接扩展。不同之处在于,DCGAN会分别在判别器和生成器中使用卷积和转置卷积层。它判别分别由分层的卷积层,BathNom层和ReLU激活层组成。输入是标准正态分布中提取出来的隐向量Z ,输出是3×64×64的RGB。
数据准备与处理过程中,我们首先要将数据集下载到指定目录下并解压。示例代码如下:
处理完数据后,可以进行网络搭建步骤。按照DCGAH论文中描述,所有模型权重均应从mean为0,sigma为0:02的正态分布中随机初始化。
判别器D是一个二分类网络模型,输出判定该图像为真实图的概率。而经过一系列的处理,最后通过sigmoid激活函数得到最终概率。判别器代码实现如下: