Abstract
背景:
希望能缩小CNN在监督学习和无监督学习之间成功应用的差距。
贡献:
引入了一类称为深度卷积生成对抗网络(DCGAN)的CNN。
结果:
DCGAN 在生成器和判别器中都能从对象到场景学习表示层次结构。
1. Introduction
贡献:
- 提出DCGAN
- 用于图像分类任务,展示其性能
- 对滤波器进行了可视化,证明特定滤波器已经学会了绘制特定对象
- 生成器具有向量算术特性,允许轻松操作生成样本的许多语义特征
2. Related Work
2.1 Representation Learning From Unlabeled Data——基于未标记数据的表示学习
- 聚类
- 自动编码器
2.2 Generating Natural Images——生成自然图像
生成图像模型分为两类:参数和非参数。
2.3 Visualizing The Internals Of CNNs——CNN内部可视化
使用输入上的梯度下降,可以检查激活某些滤波器子集的理想图像。
3. Approach And Model Architecture
DCGAN的架构:
- 用带步长的卷积(判别器)和分数步长卷积(生成器)替换任何池化层。
- 在生成器和判别器中都使用批量归一化。
- 对于更深的架构,移除全连接隐藏层。
- 在生成器中,除了使用Tanh的输出层外,对所有层使用ReLU激活函数。
- 在判别器中,对所有层使用LeakyReLU激活函数。
4. Details of Adversarial Training
三个数据集:Large-scale Scene Understanding (LSUN),Imagenet-1k,Faces dataset。
预处理:将训练图像缩放到tanh激活函数范围[-1, 1]
使用小批量随机梯度下降(SGD)进行训练,小批量大小为128。所有权重均从均值为0、标准差为0.02的正态分布中初始化。在LeakyReLU中,所有模型的泄漏斜率均设置为0.2。使用了具有调整后的超参数的Adam优化器,学习率使用了0.0002。将动量项β1降低到0.5。
4.1 LSUN
训练一个周期的样本:
收敛后的样本:
4.1.1 Deduplication——去重
在训练样本的32x32下采样中心裁剪上训练了一个3072-128-3072的去噪dropout正则化ReLU自编码器。
通过阈值化ReLU激活,将得到的编码层激活进行二值化,并提供了一种方便的语义哈希形式,允许进行线性时间去重。
对哈希碰撞的视觉检查显示出高精确度,估计假正率小于1/100。
该技术检测并移除了大约275,000个近似重复项,表明具有高召回率。
4.2 Faces
4.3 Imagenet-1k
5. Empirical Validation of DCGANs Capabilities
5.1 Classifying CIFAR-10 Using GANs as a Feature Extractor——使用GANs作为特征提取器对CIFAR-10进行分类
评估无监督表示学习算法质量的一种常用技术是将其作为有监督数据集的特征提取器,并评估拟合在这些特征之上的线性模型的性能。
使用Imagenet-1k上预先训练的模型的CIFAR-10分类结果:
5.2 Classifying SVHN Digits Using GANs as a Feature Extractor——使用GANs作为特征提取器对SVHN数字进行分类
带有1000个标签的SVHN分类:
6. Investigating and Visualizing the Internals of the Networks
6.1 Walking in the Latent Space——在潜在空间中漫步
在学习的流形上漫步通常可以告诉我们是否有记忆化的迹象(如果有急剧的过渡),以及空间是如何层次性地折叠的。
如果在这个潜在空间中漫步导致图像生成的语义变化(如添加或删除对象),我们可以推断出模型已经学习了相关且有趣的表示。
6.2 Visualizing the Discriminator Features——可视化判别器特征
在无监督情况下,在大图像数据集上训练的DCGAN也可以学习到有趣的特征层次结构。
使用引导反向传播,在图5中展示了判别器学习的特征在卧室的典型部分(如床和窗户)上被激活。
为了比较,在同一图中,给出了随机初始化特征的基线,这些特征在任何语义相关或有趣的事物上都没有被激活。
6.3 Manipulating the Generator Representation——操纵生成器表示
6.3.1 Forgetting to Draw Certain Objects——忘记描绘某些对象
展示了带有和不带有窗口丢弃的生成图像:
6.3.2 Vector Arithmetic on Face Samples——人脸样本上的向量算术
简单的算术运算揭示了表示空间中的丰富线性结构。一个典型的例子表明,向量(”King”) - 向量(”Man”) + 向量(”Woman”) 的结果向量其最近邻是”Queen”的向量。
视觉概念的向量算法:
在Z空间中,一个“转向”向量是从四个平均的左看和右看的脸样本创建的:
7. Conclusion and Future Work
结论:
提出了一组更稳定的架构来训练生成对抗网络,并提供了证据表明对抗网络学习了图像的良好表示,这些表示可用于监督学习和生成建模。
问题:
模型仍存在一些不稳定的形式——随着模型训练时间的增加,它们有时会将滤波器的一个子集崩溃到单个振荡模式。
未来工作:
将此框架扩展到其他领域,如视频(用于帧预测)和音频(用于语音合成的预训练特征)。
对学习的潜在空间特性的进一步研究。