DCGAN论文翻译/阅读/复现

论文地址
生成动漫头像的例子
我的github,照着例子稍微修改了一些

基于深度卷积对抗生成网络的无监督表示学习

摘要

近年来,卷积网络(CNNs)的监督学习在计算机视觉应用中得到了广泛的应用。相对而言,使用CNNs进行无监督学习的研究较少。在这项工作中,我们希望能够帮助缩小CNNs在监督学习和非监督学习方面的成就的差距。我们介绍了一类称为深度卷积生成对抗网络(DCGANs)的CNNs,它具有一定的架构约束,并证明了它们是无监督学习的有力候选者。通过对各种图像数据集的训练,我们给出了令人信服的证据,证明我们的深卷积对偶在生成器和鉴别器中都学习了从对象部件到场景的表示层次。此外,我们将学习到的特性用于新任务——演示它们在一般图像上的适用性。

1 介绍

从大型未标记数据集中学习可重用的特征表示一直是一个活跃的研究领域。在计算机视觉的背景下,人们可以利用实际上无限数量的未标记图像和视频来学习良好的中间表示,然后可以将其用于各种监督学习任务,如图像分类。我们提出一种构建良好图像表示的方法是训练生成式对抗网络(GANs) (Goodfellow et al., 2014),然后重用生成器和鉴别器网络的部分作为监督任务的特征提取器。GANs为极大似然技术提供了一个有吸引力的替代方案。此外,人们还可以辩称,他们的学习过程和启发式成本函数的缺乏(如逐像素的均方误差)对表示学习具有吸引力。GANs的训练被认为是不稳定的,往往导致生成器产生无意义的输出。在试图理解和可视化GANs所学习的内容以及多层GANs的中间表示方面,已经发表的研究非常有限。
在本文中,我们做了以下贡献:

  • 我们提出了一种卷积GANs的架构,它能在大多数设置下稳定训练。我们把它命名为深度卷积GANs。
  • 我们在图像分类任务上使用了预训练的分类器,来展示和其他无监督算法的竞争性。
  • 我们可视化了GANs学习到的滤波器,并通过经验证明了特定的滤波器已经学会了绘制特定的图像
  • 我们证明了生成器具有有趣的向量算术属性,可以方便地操作生成的示例的许多语义质量。

2 相关工作

2.1 无标签数据的表征学习

无监督表示学习是一般计算机视觉研究中一个很好的研究问题,在图像领域中也是如此。无监督表示学习的一个经典方法是对数据进行聚类(例如使用K-means),并利用聚类来改进分类分数。在图像领域中,可以对图像块 (Coates &Ng, 2012)学习强大的图像表示。另一个流行的方法是训练自动编码器,编码一个图像到一个压缩码,编码和解码使重建图像尽可能准确地。这些方法也被证明可以从图像像素中学习良好的特征表示。深度信念网络(Lee et al., 2009)在学习层次表示方面也表现得很好。

2.2 生成自然图像

生成图像模型得到了广泛的研究,分为参数化和非参数化两大类。非参数模型通常从现有图像的数据库中进行匹配,通常匹配像素,并已被证明被用于纹理合成(Efros et al., 1999),超分辨率(Freeman et al., 2002)和绘画(Hays &埃,2007)。用于生成图像的参数模型已经得到了广泛的研究(例如手写数字或纹理合成)Simoncelli, 2000))。然而,直到最近,生成真实世界的自然图像才取得了很大的成功。一种用于生成图像的变分采样方法(Kingma &韦林(Welling, 2013)取得了一些成功,但样本往往模糊不清。另一种方法使用迭代正向扩散过程生成图像(Sohl-Dickstein et al., 2015)。生成式的敌对网络(Goodfellow et al., 2014)生成的图像饱受嘈杂和难以理解之苦。这种方法的拉普拉斯金字塔扩展(Denton et al., 2015)显示了更高质量的图像,但由于链接多个模型时引入了噪声,物体看起来不稳定。循环网络方法(Gregor et al., 2015)和反卷积网络方法(Dosovitskiy et al., 2014)最近也在生成自然图像方面取得了一些成功。然而,他们没有利用生成器来完成监督任务。

2.3 可视化CNNs的内部结构

对使用神经网络的一个不断的批判是,它们是黑盒方法,几乎不了解网络以简单的人类可理解的算法的形式做了什么。在CNNs的背景下,Zeiler等人(Zeiler &Fergus, 2014)的研究表明,通过反卷积和最大池化,可以找到网络中每个卷积滤波器的近似目的。类似地,对输入使用梯度下降让我们检查激活某些过滤器子集的理想图像(Mordvintsev等)。

3 方法和模型结构

历史上曾尝试用CNNs来扩展GANs模型来模拟图像,但都没有成功。这促使LAPGAN (Denton et al., 2015)的作者们开发了一种替代方法来迭代地生成高分辨率的低分辨率图像,从而可以更可靠地建模。我们也遇到了困难,试图扩展GANs使用CNN架构在监督文献。然而,在广泛的模型探索之后,我们确定了一系列档案结构,这些结构能够在一系列数据集上提供稳定的训练,并能够训练更高分辨率和更深层次的生成模型。
我们的方法的核心是采用和修改最近演示的对CNN架构的三个更改。第一个是全卷积网络(Springenberg et al., 2014),它用步长卷积替换了确定性的空间池函数(如maxpooling),允许网络学习自己的空间下采样。我们在生成器中使用这种方法,允许它学习自己的空间上采样和鉴别器。
其次是在卷积特征之上消除完全连接层的趋势。这方面最有力的例子是全局平均池,它已被用于最先进的图像分类模型(Mordvintsev等)。我们发现,全局平均池化提高了模型的稳定性,但不利于收敛速度。将最高卷积特性直接连接到生成器和鉴别器的输入和输出的中间地带工作得很好。GAN的第一层以均匀的噪声分布Z作为输入,由于只是矩阵乘法,可以称为全连通,但结果被重新构造为一个四维张量,并作为卷积堆栈的起点。对于鉴别器,最后一个卷积层被平坦化,然后输入一个单一的sigmoid输出。有关示例模型体系结构的可视化,请参见图1。
第三是批归一化(Ioffe & Szegedy, 2015),通过将每个单元的输入归一化为零均值和单位方差来稳定学习。这有助于处理由于初始化不良而出现的训练问题,并有助于在更深层次的模型中实现梯度流。这对于让深层生成器开始学习非常关键,可以防止生成器将所有样本压缩到一个点,这是在GANs中观察到的常见故障模式。然而,直接将BatchNorm应用于所有层,会导致样品振荡和模型不稳定。通过不对生成器输出层和鉴别器输入层应用BatchNorm,避免了这种情况。
除输出层使用Tanh函数外,生成器使用ReLU激活(Nair & Hinton, 2010)。我们观察到,使用有界激活可以使模型更快地学习饱和和覆盖训练分布的颜色空间。在鉴别器中,我们发现LeakyReLU激活(Maas et al., 2013) (Xu et al., 2015)效果很好,特别是对于高分辨率的建模。这与最初使用maxout激活的GAN论文形成了对比(Goodfellow et al., 2013)。

稳定的DCGAN结构指南
  • 用卷积和反卷积代替所有池化层
  • 使用批归一化
  • 为了更深的网络,移除了全连接隐层。
  • 在生成器中使用ReLU激活函数,除了在输出的时候用了Tanh激活函数。
  • 在判别器中使用了LeakyReLU激活函数

对抗训练的细节

我们对DCGANs进行了三个数据集的训练,分别是大规模场景理解(LSUN) (Yu et al., 2015),
Imagenet-1k和整理的人脸数据集。下面给出了每个数据集的使用细节。
除了缩放到tanh激活函数的范围[-1,1]外,训练图像没有进行其他预处理。所有模型均采用mini-batch SGD进行训练,batch为128。所有的权值都是从0为中心的正态分布初始化的,标准差为0.02。在LeakyReLU中,所有模型的泄漏斜率都设置为0.2。以前的GAN工作使用动量来加速培训,而我们使用Adam优化器(Kingma & Ba, 2014)调优超参数。我们发现建议的学习率为0.001,用0.0002代替,太高了。此外,我们发现离开动量项β1的建议值为0.9时导致培训振荡和不稳定,同时减少到0.5帮助稳定训练。
DCGAN论文翻译/阅读/复现_第1张图片
论文中生成器的结构,判别器与生成器对应,就是卷积和反卷积的对应

你可能感兴趣的:(论文阅读)