【论文共读】【翻译】【DCGAN】UNSUPERVISED REPRESENTATION LEARNING WITH DEEP CONVOLUTIONAL GENERATIVE ADVERSARIAL

论文地址

翻译
UNSUPERVISED REPRESENTATION LEARNING WITH DEEP CONVOLUTIONAL GENERATIVE ADVERSARIAL NETWORKS

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

0. 摘要

近年来,使用卷积网络 (CNN) 的监督学习在计算机视觉应用中得到了大量采用。相比之下,使用CNN的无监督学习受到的关注较少。在这项工作中,我们希望帮助弥合CNN在监督学习和无监督学习方面的成功之间的差距。我们介绍了一类称为深度卷积生成对抗网络 (DCGAN) 的 CNN,它们具有一定的架构约束,并证明它们是无监督学习的有力候选者。在各种图像数据集上进行训练,我们展示了令人信服的证据,证明我们的深度卷积对抗对在生成器和鉴别器中学习了从对象部分到场景的表示层次结构。此外,我们将学习到的特征用于新任务 - 证明了它们作为一般图像表示的适用性

1. 介绍

从大型未标记数据集中学习可重用的特征表示一直是一个活跃的研究领域。在计算机视觉的背景下,人们可以利用几乎无限数量的未标记图像和视频来学习良好的中间表示,然后可以将其用于各种监督学习任务,例如图像分类。我们建议,构建良好图像表示的一种方法是通过训练生成对抗网络(GAN)(Goodfellow等人,2014),然后重用生成器和判别器网络的一部分作为监督任务的特征提取器。GANs为最大似然法提供了一种有吸引力的替代方案。人们还可以争辩说,他们的学习过程和缺乏启发式成本函数(例如像素级独立均方误差)对表示学习很有吸引力。众所周知,GAN的训练不稳定,通常会导致生成器产生无意义的输出。在试图理解和可视化 GAN 学习的内容以及多层 GAN 的中间表示方面,已发表的研究非常有限。

在本文中,我们做出以下贡献:

  • 我们提出并评估了一组对卷积 GAN 架构拓扑的约束,这些约束使它们在大多数设置下都能稳定地进行训练。我们将这类架构命名为深度卷积 GAN (DCGAN)
  • 我们使用经过训练的判别器进行图像分类任务,显示出与其他无监督算法相比的竞争性能
  • 我们将GANs学习到的滤波器可视化,并实证地表明,特定的滤波器已经学会了绘制特定的对象。
  • 我们表明,生成器具有有趣的向量算术特性,允许轻松操作生成样本的许多语义质量。

2. 相关工作

2.1 从未标记数据中学习表示
无监督表示学习在一般计算机视觉研究以及图像环境中是一个相当深入研究的问题。无监督表示学习的经典方法是对数据进行聚类(例如,使用 K 均值),并利用聚类来提高分类分数。在图像的上下文中,可以对图像斑块进行分层聚类(Coates&Ng,2012)来学习强大的图像表示。另一种流行的方法是训练自动编码器(卷积、堆叠(Vincent et al., 2010)、分离代码的 what 和 where 组件(Zhao et al., 2015)、梯形结构(Rasmus et al., 2015)),将图像编码为紧凑代码,并解码代码以尽可能准确地重建图像。这些方法还被证明可以从图像像素中学习良好的特征表示。深度信念网络(Lee et al., 2009)也被证明在学习层次表征方面效果很好。

2.2 生成自然图像
生成图像模型经过深入研究,分为两类:参数和非参数。

非参数模型通常从现有图像的数据库中进行匹配,通常匹配图像的斑块,并已用于纹理合成(Efros et al., 1999)、超分辨率(Freeman et al., 2002)和绘画(Hays & Efros, 2007)。

用于生成图像的参数模型已经得到了广泛的探索(例如,在MNIST数字上或用于纹理合成(Portilla&Simoncelli,2000))。然而,直到最近,生成现实世界的自然图像才取得多大成功。生成图像的变分抽样方法(Kingma&Welling,2013)已经取得了一些成功,但样本经常受到模糊的影响。另一种方法使用迭代前向扩散过程生成图像(Sohl-Dickstein等人,2015)。生成对抗网络(Goodfellow et al., 2014)生成的图像具有嘈杂和难以理解的特点。这种方法的拉普拉斯金字塔扩展(Denton等人,2015)显示了更高质量的图像,但由于在链接多个模型时引入的噪声,它们仍然受到物体看起来摇晃的影响。递归网络方法(Gregor et al., 2015)和反卷积网络方法(Dosovitskiy et al., 2014)最近在生成自然图像方面也取得了一些成功。但是,他们没有利用生成器执行受监督的任务。

2.3 可视化CNN的内部结构
对使用神经网络的一个不断的批评是,它们是黑盒方法,对网络以简单的人类可消费算法的形式所做的事情知之甚少。在 CNN 的背景下,Zeiler 等人。(Zeiler & Fergus, 2014)表明,通过使用反卷积和过滤最大激活,人们可以找到网络中每个卷积滤波器的大致目的。同样,在输入上使用梯度下降可以让我们检查激活滤波器某些子集的理想图像(Mordvintsev 等人)。

3 方法和模型架构
使用 CNN 对图像建模来扩大 GAN 的历史尝试一直没有成功。这促使LAPGAN的作者(Denton等人,2015)开发了一种替代方法,可以迭代地放大低分辨率生成的图像,这些图像可以更可靠地建模。我们还在尝试使用监督文献中常用的 CNN 架构来扩展 GAN 时遇到了困难。然而,经过广泛的模型探索,我们确定了一系列这些结构导致了在一系列数据集上的稳定训练,并允许训练更高分辨率和更深入的生成模型。

我们方法的核心是采用和修改最近对CNN架构展示的三项更改。

第一种是全卷积网络(Springenberg et al., 2014),它用跨步卷积取代了确定性空间池化函数(如maxpooling),使网络能够学习自己的空间下采样。我们在生成器中使用这种方法,让它能够学习自己的空间上采样和判别器。

其次是消除卷积特征之上的全连接层的趋势。最有力的例子是全球平均池化,它已被用于最先进的图像分类模型(Mordvintsev 等人)。我们发现全局平均池化提高了模型的稳定性,但损害了收敛速度。将最高卷积特征分别直接连接到生成器和鉴别器的输入和输出的中间地带效果很好。GAN的第一层以均匀的噪声分布Z为输入,可以称为全连接,因为它只是一个矩阵乘法,但结果被重塑为4维张量,并用作卷积堆栈的起点。对于鉴别器,最后一个卷积层被展平,然后馈入单个 sigmoid 输出。参见图 1,了解示例模型架构的可视化效果。

第三是批量归一化(Ioffe&Szegedy,2015),它通过将每个单元的输入归一化为零的均值和单位方差来稳定学习。这有助于处理由于初始化不当而出现的训练问题,并有助于在更深层次的模型中实现梯度流动。事实证明,这对于让深度生成器开始学习至关重要,可以防止生成器将所有样本折叠到一个点,这是在GAN中观察到的常见故障模式。然而,直接将 batchnorm 应用于所有层,会导致样品振荡和模型不稳定。通过不将 batchnorm 应用于生成器输出层和鉴别器输入层,可以避免这种情况。

ReLU激活(Nair&Hinton,2010)在生成器中使用,但使用Tanh函数的输出层除外。我们观察到,使用有界激活可以使模型更快地学习,使训练分布的颜色空间饱和并覆盖。在判别器中,我们发现泄漏整流激活(Maas et al., 2013) (Xu et al., 2015) 效果很好,特别是对于更高分辨率的建模。这与使用maxout激活的原始GAN论文形成鲜明对比(Goodfellow等人,2013)。

稳定深度卷积 GAN 的架构指南:

  • 用跨步卷积(判别器)和分数跨步卷积(生成器)替换任何池化层。
  • 在生成器和鉴别器中都使用 batchnorm。
  • 移除完全连接的隐藏层,实现更深层次的架构。
  • 在生成器中对所有层使用 ReLU 激活,但使用 Tanh 的输出除外。
  • 在鉴别器中对所有层使用 LeakyReLU 激活。

4. 对抗训练的细节

我们在三个数据集上训练了 DCGANs,大规模场景理解(LSUN)(Yu等人,2015),Imagenet-1k和新组装的Faces数据集。下面详细介绍了这些数据集中每个数据集的使用情况。

除了缩放到 tanh 激活函数的范围外,没有对训练图像进行预处理 [-1, 1]。所有模型均使用小批量随机梯度下降 (SGD) 进行训练,小批量大小为 128。所有权重均从标准差为 0.02 的零中心正态分布初始化。在 LeakyReLU 中,所有模型的斜率都设置为 0.2。虽然以前的GAN工作使用动量来加速训练,但我们使用了Adam优化器(Kingma&Ba,2014)和调优的超参数。我们发现建议的学习率 0.001 太高了,改用 0.0002。此外,我们发现将动量项 β1 留在建议值 0.9 会导致训练振荡和不稳定,而将其降低到 0.5 有助于稳定训练。

4.1 LSUN
随着生成图像模型样本视觉质量的提高,对训练样本过度拟合和记忆的担忧有所增加。为了展示我们的模型如何随着更多数据和更高分辨率的生成而扩展,我们在包含300多万个训练样本的LSUN卧室数据集上训练了一个模型。最近的分析表明,模型的学习速度与其泛化性能之间存在直接联系(Hardt et al., 2015)。除了收敛后的样本(图3)外,我们还展示了一个训练时期的样本(图2),模仿在线学习,以此为契机,证明我们的模型不能通过简单地过拟合/记忆训练样本来产生高质量的样本。未对图像应用数据增强。

4.1.1 重复数据删除
为了进一步降低生成器记忆输入示例的可能性(图 2),我们执行了一个简单的图像重复数据删除过程。我们在 32x32 下采样的训练样本上拟合了 3072-128-3072 去噪辍学正则化 RELU 自动编码器。然后,通过阈值化 ReLU 激活对生成的代码层激活进行二值化,这已被证明是一种有效的信息保留技术(Srivastava 等人,2014 年),并提供了一种方便的语义哈希形式,允许线性时间重复数据删除。对哈希冲突的目视检查显示精度很高,估计误报率小于 1/100。此外,该技术检测并删除了大约 275,000 个近似重复项,这表明召回率很高。

4.2 面孔
我们从随机的民名网络图像查询中抓取了包含人脸的图像。这些人的名字是从 dbpedia 获得的,其标准是他们出生于现代。该数据集有来自 10K 人的 3M 图像。我们对这些图像运行OpenCV人脸检测器,保持足够高的分辨率检测,这为我们提供了大约350,000个人脸盒。我们使用这些面盒进行培训。未对图像应用数据增强。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
4.3 图像网-1K
我们使用 Imagenet-1k(邓等人,2009)作为无监督训练的自然图像源。我们在 32 × 32 分钟调整大小的中心作物上进行训练。未对图像应用数据增强。

5 DCGANS能力的实证验证
5.1 使用 GAN 作为特征提取器对 CIFAR-10 进行分类
评估无监督表示学习算法质量的一种常用技术是将它们作为特征提取器应用于监督数据集,并评估拟合在这些特征之上的线性模型的性能。

在 CIFAR-10 数据集上,使用 K-means 作为特征学习算法的经过良好调整的单层特征提取管道已经证明了非常强大的基线性能。当使用非常大量的特征图(4800)时,该技术的准确率达到80.6%。基础算法的无监督多层扩展达到82.0%的准确率(Coates&Ng,2011)。为了评估 DCGAN 为监督任务学习的表示的质量,我们在 Imagenet-1k 上进行训练,然后使用来自所有层的判别器的卷积特征,将每一层表示最大池化以产生 4 × 4 的空间网格。然后将这些特征展平并连接起来形成一个 28672 维向量,并在它们之上训练一个正则化的线性 L2-SVM 分类器。这实现了 82.8% 的准确率,优于所有基于 K 均值的方法。值得注意的是,与基于 K 均值的技术相比,判别器的特征图要少得多(最高层为 512 个),但由于存在 4 × 4 个空间位置的许多层,因此确实导致了更大的总特征向量大小。DCGANs的性能仍然低于Exemplar CNNs(Dosovitskiy et al., 2015),这是一种以无监督方式训练正常判别性CNNs的技术,以区分来自源数据集的特定选择的、积极增强的样本。可以通过微调判别器的表示来进一步改进,但我们将其留待未来的工作。此外,由于我们的DCGAN从未在CIFAR-10上进行过训练,因此该实验还证明了学习特征的域鲁棒性。

在这里插入图片描述
5.2 使用 GAN 作为特征提取器对 SVHN 数字进行分类
在StreetView House Numbers数据集(SVHN)(Netzer et al., 2011)上,当标记数据稀缺时,我们使用 DCGAN 判别器的特征进行监督目的。遵循与 CIFAR-10 实验中类似的数据集准备规则,我们从非额外集合中分离出 10,000 个样本的验证集,并将其用于所有超参数和模型选择。随机选择1000个均匀分类的分布式训练样本,用于在用于CIFAR-10的相同特征提取管道之上训练正则化线性L2-SVM分类器。这在22.48%的测试误差下达到了最先进的水平(使用1000个标签进行分类),改进了旨在利用未标记数据的CNN的另一种修改(Zhao等人,2015)。此外,我们验证了DCGAN中使用的CNN架构不是模型性能的关键因素,通过在相同的数据上训练具有相同架构的纯监督CNN,并通过在64个超参数试验中随机搜索来优化该模型(Bergstra&Bengio,2012)。它实现了 28.87% 的验证误差。

6 调查和可视化网络的内部结构
我们以各种方式调查训练有素的生成器和鉴别器。我们不会在训练集上执行任何类型的最近邻搜索。像素或特征空间中的最近邻是被小图像变换轻而易举地愚弄了(Theis et al., 2015)。我们也不使用对数似然指标来定量评估模型,因为它是一个较差的(Theis et al., 2015)指标。

6.1 行走在隐藏的空间中
我们做的第一个实验是了解潜在空间的景观。走在所学的流形上通常可以告诉我们记忆的迹象(如果有急剧的过渡)以及空间在层次结构上崩溃的方式。如果在这个潜在空间中行走导致图像生成的语义变化(例如添加和删除对象),我们可以推断模型已经学习了相关且有趣的表示。结果如图 4 所示。

6.2 可视化鉴别器特征
先前的研究表明,在大型图像数据集上对 CNN 进行监督训练会产生非常强大的学习特征(Zeiler & Fergus,2014)。此外,在场景分类方面接受过训练的受监督CNN会学习对象检测器(Oquab等人,2014)。我们证明,在大型图像数据集上训练的无监督 DCGAN 也可以学习有趣的特征层次结构。使用(Springenberg et al., 2014)提出的引导反向传播,我们在图 5 中显示,鉴别器学习的特征在卧室的典型部分(如床和窗户)上激活。为了进行比较,在同一图中,我们给出了随机初始化特征的基线,这些特征不会在任何语义相关或有趣的事物上被激活。

6.3 操作生成器表示
6.3.1 忘记绘制某些对象
除了判别器学习的表示之外,还有一个问题,即生成器学习哪些表示。样本的质量表明,生成器学习了主要场景组件(如床、窗、灯、门和杂项家具)的特定对象表示。为了探索这些表示形式,我们进行了一个实验,试图从生成器中完全移除窗口。

在 150 个样本上,手动绘制了 52 个窗口边界框。在第二高的卷积层特征上,逻辑回归被用来预测特征激活是否在窗口上(或不在窗口上),通过使用以下标准:绘制的边界框内的激活是正的,来自相同图像的随机样本是负的。使用这个简单的模型,从所有空间位置中删除所有权重大于零(总共 200 个)的特征图。然后,在去除特征图和不删除特征图的情况下生成随机新样本。

图 6 显示了有和没有窗户丢失时生成的图像,有趣的是,网络大多忘记在卧室绘制窗户,用其他对象替换它们。

6.3.2 人脸样本的向量算术
在评估单词的学习表示的背景下(Mikolov et al., 2013)证明,简单的算术运算揭示了表示空间中丰富的线性结构。一个规范示例表明,向量(“King”) - 向量(“Man”) + 向量(“Woman”)导致一个向量,其最近邻是 Queen 的向量。我们研究了我们的发电机的 Z 表示中是否出现类似的结构。我们对视觉概念的样本集的 Z 向量进行了类似的算术运算。每个概念仅对单个样本进行的实验是不稳定的,但对三个样本的 Z 向量求平均值显示,在语义上服从算术的世代一致且稳定。除了(图 7)所示的对象操作外,我们还演示了面部姿势在 Z 空间中也是线性建模的(图 8)。

这些演示表明,可以使用我们的模型学习的 Z 表示来开发有趣的应用程序。之前已经证明,条件生成模型可以学习令人信服地建模对象属性,如比例、旋转和位置(Dosovitskiy et al., 2014)。据我们所知,这是在完全无人监督的模型情况下发生的第一次演示。进一步探索和发展上述向量算法可以大大减少复杂图像分布的条件生成建模所需的数据量。在这里插入图片描述
7 结论和今后的工作
我们提出了一套更稳定的架构来训练生成对抗网络,并且我们给出的证据证明,对抗网络可以学习图像的良好表示,用于监督学习和生成建模。仍然存在一些形式的模型不稳定性 - 我们注意到,随着模型训练时间的延长,它们有时会将滤波器子集坍缩为单一振荡模式。对于其他领域,如视频(用于帧预测)和音频(用于语音合成的预训练特性)应该非常有趣。对学习潜空间性质的进一步研究也将很有趣。

致谢
我们很幸运,也感谢我们在这项工作中得到的所有建议和指导,尤其是 Ian Goodfellow、Tobias Springenberg、Arthur Szlam 和 Durk Kingma 的建议和指导。此外,我们要感谢 indico 的所有人提供支持、资源和对话,尤其是 indico 研究团队的另外两名成员 Dan Kuster 和 Nathan Lintz。最后,我们要感谢 Nvidia 捐赠了用于这项工作的 Titan-X GPU。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值