本报告总结了 NIPS 上 Ian Goodfellow 的 生成式对抗网络课程。其内容有:(1)为何生成式建模是值得学习的话题;(2)生成式模型如何工作,GAN 与其他生成式模型的比较;(3)GAN 工作原理;(4)GAN 的研究前沿;(5)将 GAN 和其他方法组合的当前最优的图像模型。最后给出帮助读者学习的三个练习和相应的解答。
引言
本报告总结了 NIPS2016 上的生成对抗网络的课程。回答了很多之前的听众提出来的大多数问题,并尽可能地确保它对大家有用。当然,它不能算是 GAN 这个领域的完整的回顾;很多优秀的论文并没有得到展示,因为这些论文并不是针对大家提出来的这些问题的,而本课程是作为一个两个小时的演讲,所以也没有足够的时间来涉及所有话题。
本报告给出了:(1)为何生成式建模是一个值得研究的领域;(2)生成式模型如何工作,GAN 与其他的生成模型的对比(3)GAN 工作的细节(4)GAN 研究前沿和(5)组合 GAN 和其他方法得到了当前最优的图像模型。最后这个报告会包含三个练习及其解答。
而本课程的相关演示文档也可以获得,有 pdf 和 keynote 两种格式:http://www.iangoodfellow.com/slides/2016-12-04-NIPS.pdf 和 http://www.iangoodfellow.com/slides/2016-12-04-NIPS.key
课程视频是由 NIPS 录制的,过段时间应该能够看到。
生成式对抗网络是生成式模型的一种。“生成式模型”这个词有很多用法。本课程中,它表示任何一种可以接受训练集(从一个分布 pdata 采样的样本)学会表示该分布的估计的模型。其结果是一个概率分布 pmodel。有些时候,模型会显式地估计 pmodel,比如说图1所示。还有些时候,模型只能从 pmodel 中生成样本,比如说图2。有些模型能够同时这两件事情。虽说 GANs 经过设计可以做到这两点,我们这里把精力放在 GANs 样本生成上。
1 为何学习生成式建模?
大家有理由会想知道为何生成式模型值得学习,特别是那些只能够生成数据而不是能对密度函数进行估计的生成式模型。总而言之,当我们把它用在图像上是,这样的模型仅仅能够给出更多的图像,我们其实并不缺少图像啊。
下面给出几个学习和研究生成式模型的理由:
- 训练生成式模型和从生成式模型进行采样是我们表示和操纵高维概率分布的能力的特别好的检验。高维概率分布在很多的应用数学和工程领域都是举足轻重的研究对象。
- 生成式模型可以被以多种方式用在强化学习中。强化学习算法常常会被分类成两类:基于模型和免模型的,而基于模型的算法就是包含生成式模型的。时间序列数据的生成式模型可以被用来模型可能的未来。这样的模型可以被用来进行规划和多种方式的强化学习任务。用于规划的生成式模型可以学到在给定世界当前的状态和假设智能体会采取的行动作为输入时,关于世界的未来状态的条件分布。而智能体可以用不同的潜在行动来查询这个模型,选择模型预测为最可能从此行动得到想要的状态的行动。最近出来的这种模型例子是,Finn 等人的研究工作,而对把这个模型用于规划的例子就是 Finn 和 Levine 的研究工作。另一种生成式模型可以被用在强化学习上的方式是在一个想象的环境中进行学习,其中错误的行动不会给智能体带来真实的损失。生成式模型还可以通过追踪不同状态被访问的频率或者不同的行动被尝试的频率来指导探索,特别是 GANs,可以用在逆强化学习中,在第 5.6 节我们会讲其与强化学习的关联。
- 生成式模型可以用 missing 数据进行训练,并能够给出输入数据的 missing 部分。而 missing 数据的特别有趣的例子就是半监督学习(semi-supervised learning),其中很多(或者几乎所有)训练样本的标签都是丢失的。现代深度学习算法一般是要求有特别多的带标签样本才能够泛化得很好。半监督学习是降低样本标签的策略。这个学习算法可以通过研究大量无标签样本提升自己的泛化性能,而这些无标签样本是很容易获得的。生成式模型尤其是 GANs,能够很好地执行半监督学习算法。这个会在第 5.4 节介绍。
- 生成式模型尤其是 GANs,让机器学习能够更好地利用多模态输出。对很多任务,单个输入可能会对应不同的正确答案,这些答案中的每一个都是可以接受的。某些传统训练机器学习模型的方式,如最小化目标输出和模型预测输出的均方误差,并不能够训练出可以产生多个不同的正确答案的模型。这种场景的一个例子就是预测视频的下一帧,参见图 3。
- 最后,很多任务本质上都是需要某个分布中的采样的样本的。
我们在下面列举一些此类任务的例子:
- 单个图片超分辨率:这个任务的目标是以低分辨率图像为输入,合成高分辨率的相同内容的图片。生成式建模的作用就是让模型能够为图像加入原本就该属于输入的信息。有很多对应于低分辨图像的超分辨图像。这个模型应该选择一副采样自可能的图像的概率分布的图像。选择一幅是所有可能图像的平均图像可能会得到一个太过模糊的结果。参见图 4。
- 一些创作艺术的任务。两个近期项目表明生成式模型,尤其是 GANs,可以用于创建交互式程序来帮助用户创作对应于他们想象的粗线条场景的更加真实的图像。参见图 5 和图 6.
- 图像到图像的转换应用可以转换航摄照片成地图或者将线条转换为图像。有很多困难但是很有用的创造性的应用。参见图 7。
所有上面提到以及其他的生成式模型的应用都说明花时间和资源来提升生成式模型的性能是值得的。