DC-GAN:Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks

Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks(2015)
简述:
目前CNN已经在有监督学习中取得成功,本文提出的DCGANs希望能够帮助弥补CNNs在监督学习的成功和非监督学习方面之间的差距。

问题or相关工作:
本文使用训练有素的鉴别器进行图像分类任务,显示出与其他无监督算法的竞争性性能。本文将GANs学习到的滤光片视觉化,并通过实验证明特定的滤光片学会了画特定的物体。还证明了生成器具有有趣的向量运算属性,这使得对生成的样本的许多语义性质的操作变得容易。核心方法是采用和修改三个CNN结构的细节,1是将池化加入步长概念,2是消除全连接层,3是加入BN层

模型:
DCGAN基于目前的一些方法的缺点进行了以下改进:
1.D判别完了之后我们把输出的结果要送入一个输出单元为一个的全连接网络,
D的所有层上使用LeakyReLU激活函数。
G的所有层上使用RelU激活函数,除了输出层使用Tanh激活函数。

2.所有模型均采用小批量随机梯度下降法(SGD)进行训练,mini-batch大小为128。
3.所有的权值都是从一个以0为中心的正态分布初始化,其标准差为0.02。
4.使用亚当优化器(Adam optimizer)调优超参数
下图中的DCGAN generator用于LSUN场景建模。将100维均匀分布的Z映射到小空间范围的卷积表示法中,得到多个feature map,先reshape成3维再经过4个CONV,最后经过反卷积操作将这个high level表示转换成一个64×64×3 的RGB图像,这个框架中,没有池化层和全连接层。
在这里插入图片描述

实验:
1.WALKING IN THE LATENT SPACE
我们做的第一个实验是了解latent space。在已知的manifold上Walking,通常可以告诉我们一些记忆的符号(如果有明显的转变),以及空间分层坍塌的方式。如果在latent space中Walking会导致图像生成的语义变化(例如添加和删除对象),我们可以推断出模型已经学习了相关的和有趣的表示。
下图中最上面几行:Z中9个随机点之间的插值显示,学习到的空间有平滑的过渡,空间中的每个图像看起来都像是卧室。在第六排,你看到一个没有窗户的房间慢慢地变成了一个有巨大窗户的房间。在第10排,你可以看到一个看起来像电视的东西慢慢地变成了一扇窗户。
在这里插入图片描述
2.VISUALIZING THE DISCRIMINATOR FEATURES(可视化鉴别器特征)
利用反向传播思想,DCGAN可以和CNN一样对进行对特征的提取,下图展示了由discriminator获得在卧室的典型部分的特征,如床和窗户上。为了比较,在同一图中,我们为随机初始化的特性提供了一个baseline,这些特性没有在语义上被激活。
下图中,LSUN的卧室数据集中的中心对象是床,左图是一个随机过滤基线,只有少数几个特征对床有响应。右图就对中心特征以及细节特征有了很好的表现。
在这里插入图片描述
3.FORGETTING TO DRAW CERTAIN OBJECTS
前两个实验都是对discriminator能力的测试,除了discriminator学习的表象外,还有一个问题,即产生器学习的表象是什么。样本的质量表明,generator学习了主要场景组件(如床、窗、灯、门和其他家具)的特定对象表示。为了探索这些表现形式,我们进行了一个实验,试图从generator中完全删除窗口(如下图中删除了“窗户”这一窗口)。
顶行:模型中未修改的样本。底行:删除“窗口”过滤器生成的相同样本。一些窗户被移除,另一些则被转换成类似视觉外观的物体,如门和镜子。虽然视觉质量下降了,但整体场景构成保持不变,这表明生成器在将场景表示与对象表示分离方面做得很好。可以进行扩展实验,从图像中删除其他对象并修改生成器绘制的对象。
在这里插入图片描述
4.VECTOR ARITHMETIC ON FACE SAMPLES
条件生成模型可以学习令人信服地建模对象属性,如比例、旋转和位置。并且已经证明了简单的算术运算在表示空间中呈现出丰富的线性结构。所以本文引入了视觉概念的向量运算。
下图中,对于每一列,取样本Z向量的平均值。然后对均值向量进行运算,生成一个新的向量Y。右侧的中心样本通过输入Y作为生成器的输入产生。为了演示该发生器的插值能力,我们在Y中加入了用scale ±0.25采样的均匀噪声来产生另外8个样本。在输入空间中应用算法(下面两个例子)会导致由于未对齐而产生的噪声重叠。
在这里插入图片描述
一个“转向”向量是由四个面向左和向右的平均样本创建的。通过沿着这个轴向随机采样添加插值,我们能够可靠地转换它们的姿态。
在这里插入图片描述
成果:
下图是 one epoch后生成的卧室通过数据集。理论上,该模型可以学习记忆训练实例,但这在实验上是不太可能的,因为我们使用小的学习速率和小批量SGD进行训练并没有先前的实验证明可以用来训练记忆实例。
在这里插入图片描述
下图是经过5 epochs的训练后,产生了卧室。证据表明了 通过重复的噪音纹理在多个样本的视觉拟合不足,如一些床的底板。
在这里插入图片描述
DCGAN网络的性能评估
1.评价无监督表示法学习算法质量的一种常用技术是将其作为特征提取器应用于监督数据集,并对基于这些特征的线性模型的性能进行评价。下表可以看出DCGAN的准确率高于K均临算法,而且discriminator拥有更少的feature map。
在这里插入图片描述
2.使用GANS作为特征提取器对SVHN数字进行分类
在这里插入图片描述

发布了57 篇原创文章 · 获赞 8 · 访问量 3259

猜你喜欢

转载自blog.csdn.net/qq_41967539/article/details/102840525