研究意义
早期的GAN在图像上仅局限MNIST这样的简单数据集中,DCGAN使GAN在图像生成任务上的效果大大提升
DCGAN几乎奠定了GAN的标准架构,之后GAN的研究者们不用再过多关注模型架构和稳定性,可以把更多的精力放在任务本身上,从而促进了GAN在16年的蓬勃发展
开创了GAN在图像编辑上的应用
模型结构
•
所有的pooling层使用strided卷积(判别器)和fractional-strided卷积(生成器)进行替换
•
使用Batch Normalization
•
移除全连接的隐层,让网络可以更深
•
在生成器上,除了输出层使用Tanh外,其它所有层的激活函数都使用ReLU
•
判别器所有层的激活函数都使用LeakyReLU
训练细节
•
训练图像的预处理,只做了到 [-1, 1] 的值域缩放
•
使用mini-batch随机梯度下降来训练网络, batch size大小为128
•
采用均值为0 标准差为0.02的正态分布,来对所有权重进行初始化
•
对于LeakyReLU激活函数,leak的斜率设置为0.2
•
优化器使用Adam,而不是此前GAN网络用的momentum
•
Adam的学习速率使用0.0002,而非原论文建议的0.001
•
Adam的参数momentum term β1,原论文建议的0.9会导致训练震荡和不稳定,将其减少至0.5可以让训练更加稳定
图像生成
LSUN
•
没有使用 Data Augmentation
•
在LSUN上训练一个3072-128-3072的自编码器,用它从图像中提取128维特征,再经过ReLU层激活后作为图像的语义hash值
•
对生成图像和训练集使用上面的编码器,提取128维的语义hash值,进行重复性检测
•
检测到了大约275000左右数量的重复数据(LSUN数据集大小为300多万)
FACES
从DBpedia上获取人名,并保证他们都是当代人
用这些人名在网络上搜索,收集其中包含人脸的图像,得到了来自1万人的300万张图像
使用OpenCV的人脸检测算法,截取筛选出较高分辨率的人脸,最终得到了大约35万张人脸图像
训练时没有使用 Data Augmentation
无监督表征学习
Unsupervised representation learning
CIFAR-10
•
在Imagenet-1k上训练DCGAN
•
使用判别器所有层的卷积特征,分别经过最大池化层,在每一层上得到一个空间尺寸为4*4的特征,再把这些特征做flattened和concatenated,最终得到28672维的向量表示
•
用一个SVM分类器,基于这些特征向量和类别label进行有监督训练
StreetView House Numbers(SVHN)
•
使用与CIFAR-10实验相同的处理流程
•
使用10000个样本来作为验证集,将其用在超参数和模型的选择上
•
随机选择1000个类别均衡的样本,用来训练正则化线性L2-SVM分类器
•
使用相同的生成器结构、相同的数据集,从头训练有监督CNN模型,并使用验证集进行超参数搜索