从零开始学会GAN 0:第一部分 介绍生成式深度学习

特别是,媒体对生成建模项目的关注度越来越高,例如NVIDIA1的StyleGAN,它能够创建人脸的超逼真图像,以及OpenAI2的GPT-2语言模型,它能够通过简短的介绍段落完成文本的传递。

其实我们常会忽视自己对世界的认知和理解:世界是一个 3D
的环境,对象可以移动,碰撞和交互;行走,对话和思考的人类;放牧、飞翔、奔跑或者咆哮;播放天气,篮球赛或者
1970 年发生的事情的用语言表示的信息的显示器.

  • 例如,通过添加微笑或改变某人头发的颜色。
    第4章探讨了近年来最成功的生成式建模技术之一,生成对抗网络GAN。这种构建生成建模问题的优雅框架是大多数最先进的生成模型背后的基础引擎。我们将看到它经过微调和调整的方式,以不断推动生成建模能够实现的界限。

让我们看看一个具体的例子. 假设我们有某个大量图像的集合,比如说 ImageNet
数据集中 120
万幅图像(但是需要记住这也可以是互联网或者机器人中获得的大量的图像或者视频的集合).
如果我们将每幅图重置为 256 的宽高的图像,我们的数据集就是一个
1200000*256*256*3的像素块. 这里是该数据集的一些样例图像:

 

大多数生成式模型有这个基础的设置,但是细节不同.
这里有三个流行的生成式模型方法的例子可以让你看看差异:

 为了理解为什么生成式模型可以被认为是机器学习的下一个前沿,我们必须首先看看为什么在过去的二十年里,在学术界和工业界,判别模型一直是机器学习方法学最大进步背后的驱动力。

假设我们使用新初始化网络生成 200 幅图,每次从一个不同的随机代码开始.
问题是:我们如何调整网络的参数来鼓励他产生更加可信的新的图像?注意到我们不是在一个简单的监督学习场景下,也没有对产生的
200 幅图像设定任何显式的预计目标;我们仅仅希望他们看起来真实.

澳门新葡亰8455下载app 1

澳门新葡亰8455下载app 2Real
images
澳门新葡亰8455下载app 3Generated
images

澳门新葡亰8455下载app,例如,对于图像分类,2012年取得了重大突破,由多伦多大学的Geoff
Hinton领导的团队凭借深度卷积神经网络赢得了ImageNet大规模视觉识别挑战赛(ILSVRC)。
这个比赛是将图像分类为千种类别中的一种,它被用作比较最新技术的基准。
深度学习模型达到错误率为16% –
对于第二名最佳模型的大幅改进,其仅实现了一个错误率为26.2%。
这引发了深刻的学习热潮,导致比赛的错误率逐年下降。
2015年的获胜者首次实现了超人的表现,错误率为4%,而目前最先进网络的错误率仅为2%。
许多人现在认为比赛挑战是一个已解决的问题。

最后,我们介绍一下第五个项目:Generative Adversarial Imitation
Learning
,其中 Jonathan Ho 和同事们给出了一个新的模仿学习(imitation
learning)的方法. Jonathan Ho 作为暑期实习生加入 OpenAI 的. 他在
Stanford
完成了这个工作的大部分,但是我们这里提出来,是因为内容的相关性和结合 GAN
到 RL 上的创造性.
标准的强化学习场景通常需要我们设计一个奖励函数刻画了预期的 agent 的行为.
但是,实际情况是,有时候这样会引入昂贵的试错过程以正确地获得细节.
相比较而言,模仿学习中,agent
从样本展示中学习(例如机器人的远程控制),消除了对设计奖励函数的依赖.

关键在于,即使我们能够建立一个完美的判别模型来识别梵高的画作,它仍然不知道如何创作一幅看起来像梵高的画作。
它只能输出对现有图像的概率,因为这是它训练要做的事情。
我们需要训练一个生成模型,该模型可以输出很有可能属于原始训练数据集的像素集。

澳门新葡亰8455下载app 4

 

处理这个问题的巧妙的方式是根据生成式对抗网络 Adversarial Network 方法.
这里我们引入第二个判别器网络(通常是一个标准的卷积神经网络).
例如,我们可以将 200 生成出的图像和 200
幅真实图像作为判别器的输入,训练成为一个标准的分类器来区分这两个来源的图像.
除此之外——我们同样可以反向传播通过判别器和生成器来找出如何改变生成器的参数来让判别器对其
200 样本微小地困惑.
这两个网络就产生了一种对抗:判别器试着从伪造图像中区分出真实图像而产生器则尝试创造可以让判别器觉得它们真实的图像.
最后,生成器网络输出让判别器无法区分的图像.

 

我们在下面的图中展示了一些 32*32 的图像样本. 前一幅是来自 DRAW
模型的早期样本(初级 VAE 样本看起来更差和模糊). DRAW
模型是一年前发表的,这里也可以感受到训练生成式模型的进展迅猛.

生成建模的兴起

生成式模型有很多短期(short-term)应用.
但是从长远角度来看,他们有着自动学习数据集的自然特征的潜力,包含类型、维度或者其他特征.

  • 鉴于卫星图像,政府国防官员只会关心它包含敌方单位的概率,而不是这个特定图像应该出现的概率。

  • 客户关系经理只会想知道收到的电子邮件的观点是积极的还是消极的,并且在生成模型中没有多少用处,因为生成模型可能会输出尚不存在的客户电子邮件的示例。

  • 医生希望知道给定视网膜图像含有青光眼的可能性,而不是能够获得可以生成新颖的眼睛后部图像的模型。

InfoGAN . Peter Chen 和同时给出了 InfoGAN —— 一个对 GAN
的扩展,学习图像的去纠缠的和可解释的表示. 正常的 GAN
通过用模型重新产生数据分布达到这个目的,但是代码空间的 layout 和组织是
underspecified —— 存在很多可能的解可以将单位 Gaussian
映射到图像上,最终获得的可能是非常复杂和高度纠缠的. InfoGAN
对该空间引入了额外的结构通过增加一个新的包含最大化表示向量和观测值的小的子集的互信息目标函数.
这个方法给出相当出色的结果. 例如,在 3D
人脸图像中,我们变动代码的一个连续的维度,保持其他维度不变. 很明显从 5
个提供的例子中,代码的结果维度刻画了可解释的维度,并且模型在没有告诉这些重要特征存在的情形下可能已经理解到是存在摄像头角度、面部变化等等:

每个观测包括许多特征 –
对于图像生成问题,这些特征通常是各个像素值。
我们的目标是构建一个可以生成新特征集合的模型,这些特征集合看起来好像是使用与原始数据相同的规则创建的。从概念上讲,图像生成来说是一项非常困难的任务,考虑到对单个像素值进行放置有大量不同的方式,相对微小的这种放置构成了我们试图模拟的实体图像。

澳门新葡亰8455下载app 5

本书的前四章旨在介绍开始构建生成式深度学习模型所需的核心技术。
在第1章中,我们将首先对生成式建模领域进行广泛的研究,并从概率的角度考虑我们试图解决的问题类型。然后,我们将探讨我们的基本概率生成模型的第一个例子,并分析为什么随着生成式任务复杂性的增长,可能需要部署深度学习技术(才能解决问题)。
第2章提供了开始构建更复杂的生成模型所需的深度学习工具和技术的指南。这旨在成为深度学习的实用指南,而不是对该领域的理论分析。特别是,我将介绍Keras,一个构建神经网络的框架,可用于构建和训练已在文献中发表的一些最先进的深度神经网络架构。
在第3章中,我们将看看我们的第一个生成式深度学习模型,即变分自动编码器。这种强大的技术不仅可以生成逼真的面部,还可以改变现有的图像

数学上看,我们考虑数据集 x_1,…,x_n 是从一个真实数据分布 p.
在下面的图像,蓝色区域展示了一部分图像空间,以高概率包含真实图像,而黑色点表示我们的数据点(每个是数据集中图像).
现在我们的模型同样刻画了一个分布 hat{p}_theta,由一个单位 Gaussian
分布获得的点,将他们通过一个神经网络映射进行定义——得到了生成式模型.

 

澳门新葡亰8455下载app 6gail-humanoid.gif澳门新葡亰8455下载app 7gail-ant.gif

换句话说,判别建模试图估计观测x属于类别y的概率。
生成建模不关心标签。 相反,它试图估计了解观测的概率。

这些海量信息就在我们的身边,某种程度上触手可及 ——
或者是在原子物理世界中,或者是比特的数字世界里.
而最为棘手的部分就是发展出可以分析和理解数据中潜藏的珍宝的模型和算法.

 考虑到这一点,让我们开始进入令人兴奋的生成建模世界。
首先,我们将看一下最简单的生成模型示例和一些有助于我们完成本书后面将要遇到的更复杂架构的想法。

除了生成更好的图像外,我们引入了一种半监督学习的方法包括判别器产生额外输出来表示输入的标记.
这个方法可以让我们在 MNIST SVHN 和 CIFAR-10
上获得当前最佳结果,而不需要过多的标记样本. 在 MNIST
中,我们仅仅对每个类有 10 个标记样本并使用了一个全连接的神经网络就达到了
99.14% 的准确率——这个结果接近已知最优的使用了 6
万幅标记样本的监督学习方法的结果.
由于标记样本在应用中很难轻易获取,所以上述方法是很有前景的.

让我们看一些数学符号来描述生成和判别建模之间的区别。

我们同样注意到良好的,去纠缠的表示之前已经有了这样的研究(如 Kulkarni
等人的DC-IGN),但这些方法依赖于额外的监督信息,而现在的这个方法则是完全非监督的.

 一个关键的区别是,当执行判别建模时,训练数据中的每个观测都有一个标签。
对于二元分类问题,例如我们的艺术家鉴别器,梵高绘画标签为1,非梵高绘画标签为0.我们的模型然后学习如何区分这两组,并输出新观测标签为1(也就是说,它是由梵高绘制的)的概率。

“What I cannot create, I do not understand.”

通过在很大程度上自动化的生产,验证和监视过程,这些过程几乎是所有判别建模任务所共有的。

网络由标准的卷积神经网络如去卷积层,全连接层 等:

机器学习的进展

我们对 OpenAI
做出的生成式模型非常兴奋,刚刚发布了四个对近期工作项目改进工作.
对每个贡献,我们同样发布了技术报告和源代码.

有了这个,我们将构建我们的第一个生成概率模型(朴素贝叶斯)的例子。 我们将看到,这允许我们生成在训练数据集之外的新颖样本,但也应该探索这种类型的模型可能失败的原因,随着可能创建的空间的大小和复杂性增加。

我们CIFAR-10 的样本看起来也是非常清晰的——Amazon Mechanical Turk
workers可以从真实数据中以错误率 21.3% 区分这些样本(50%
的错误率代表随机猜测):

 

[图片上传失败…(image-1d06d0-1532486507673)] learning to generate
images
]()

首先,我们需要一个数据集,其中包含我们尝试生成的实体的许多示例。
这被称为训练数据,并且一个这样的数据点被称为观测。

**我们 OpenAI
的核心志向是开发出算法和技术可以赋予计算机理解世界的能力. **

换句话说,我们可以想象有一些未知的概率分布解释了为什么某些图像可能在训练数据集中找到而其他图像不是。
我们的工作是建立一个尽可能接近地模拟这种分布的模型,然后从中进行采样以生成新的,独特的观测结果,看起来好像它们可能已包含在原始训练集中。

[图片上传失败…(image-e735ab-1532486507673)] learning to generate
images (linear
time)]()

由于企业所需的大多数解决方案都属于判别建模领域,因此机器学习即服务(MLaaS)工具的数量不断增加,这些工具旨在将工业中的判别建模商品化,

生成式对抗网络是相对新的模型我们期望在未来出现更多的提升训练时模型的稳定性的研究成果出现.

生成性与判别性建模
为了真正理解生成建模的目的是什么以及为什么这很重要,将它与其对应物进行比较是有用的-判别模型。如果你学过机器学习,那么你将面临的大多数问题都很可能是判别性的。为了理解这些差异,让我们看一个例子。

所有这些方法有各自的优缺点.
例如,变分自编码器可以执行学习和在复杂的包含隐含变量的概率图模型上进行高效地贝叶斯推断(如
DRAW 或者 Attend Infer Repeat 近期相对复杂的模型).
但是,他们生成的样本会有些模糊不清. GANs
目前生成了清楚的图像,但是因为不稳定的训练动态性很难优化. PixelRNNs
有一个非常简单和稳定的训练过程(softmax
loss)并且当前给出了最优的对数似然(即,产生出数据的可信程度).
然而,他们在采样时相对低效而且没有给图像以简单的低维代码.
所有这些模型是研究的活跃的领域,我们迫切想要知道他们未来的发展!

网站地图xml地图