跟Honglei一起学深度生成模型— (一) 简介

大家好, 我是Honglei,欢迎从今天我们一起开始学习斯坦福大学的深度生成模型课程,CS236 - Deep Generative Models。

生成模型简介

复杂、非结构化数据的挑战 (Challenge)

尽管目前人类通过深度学习技术,使机器已经在很多任务上都拥有了非常优异的表现,比如图像分类[1],语音识别[2]等等。 但在理解复杂的(complex)、非结构化(unstructured)的数据方面,机器学习仍然有很长一段路要走,比如理解音频,视频,文本内容,以及它们各自是如何产生的,人类运动的控制等等。

复杂、非结构化数据的挑战

因此,理解这些复杂、非结构化数据产生的过程和内容便成了让机器拥有智能的关键。引用伟大的物理学家费曼的一句话:”凡是我不能亲自创造出来的,我就不是真正理解。“。生成模型背后的思想也是来源于此,”凡是我理解的东西,我就一定能够制造或者生成它“。

费曼:”凡是我不能亲自创造出来的,我就不是真正理解。“

计算机图形学

按照上述逻辑,以图像为例,我们来看看计算机是如何来生成他们的。利用3D Max建模软件,我们可以设计出非常逼真的3D场景,比如下图的客厅设计,计算机通过对物体的形状、纹理,灯光、材质等进行渲染来达到逼真的效果。

3D建模软件生的客厅设计

再比如《权力的游戏中》中的视觉特效,而这些要归功于计算机图形学(Computer Graphics)方面的技术。

《权力的游戏中》视觉特效

计算机通过图形函数接口(API)来创造并渲染出基本的形状,并设定具体的属性值,比如:一个边长10厘米蓝色的正方形等。复杂的形状通过组合和更复杂的指定方式达到,比如贝塞尔曲线等。

除了生成图形外,计算机也可以反向这个过程,通过图像识别来理解一张图像中的物体,而这部分则是机器学习在机器视觉领域的应用[1]。

计算机图形学生成图形的过程

如刚才所说,利用计算机图形学生成图像的能力来很大程度上依赖于我们的先验知识(Prior Knowledge),比如物理引擎对物理规律的依赖,对材质表示的方法等等。

但是对于图像生成任务而言,我们不想对每一张图像的生成都人为的指定每一个属性,那样太累人了。相反,我们希望让计算机从大量的图像数据中学习到其相似的特点,比如卧室,都有床的结构等等。这样我们就能减少对认为指定先验知识的依赖。

统计生成模型

因此,在下图中,我们从对数据依赖性中可以看出,利用计算机图形学生成图像需要很强的先验知识和指定,而统计生成模型则不需要很强的先验

统计生成模型

而本质上,一个统计生成模型就是一个概率分布(probability distribution)。而学习图像生成的过程就是学习出数据的分布p(x)的过程。这样,如果想要生成相似的卧室图像,我们只需从学习出的分布p(x)中,抽取一个样本就可以了。而为了更好的学习出数据的分布,我们可能需要在模型学习过程中加入先验知识,比如分布的形式是高斯分布还是泊松分布,训练的损失函数是最大似然,还是最大后验概率等。

统计生成模型的本质即概率分布

判别模型和生成模型的关系

判别模型(Discriminative models),通常被用于监督学习的分类任务。其学习的目标是给定输入数据,尽可能正确的对其进行分类。

比如输入一张图像,判断其是否是一张卧室照片。即 P(Y = 卧室 | X = 图像)。

用统计的语言来表示即:通过学习条件分布,得到一个鲁棒的决策边界。常见的判别模型有:逻辑斯蒂回归(Logistic regression),卷积神经网络(Convolutional network)等。

而生成模型的目标则是:生成与特定类别数据尽可能相似的数据,比如猫咪的照片。

所以,我们要学习出P(Y = 猫咪, X )的联合分布,以便于从分布中进行采样。在判别模型中,我们既给出了Y = 猫咪,又给出了X = 猫咪图像。而在生成模型中,我们只给出了Y=猫咪,而并未给出X,这就需要从训练数据中学习出所有可能X值对应的概率密度。

判别模型vs生成模型

通过贝叶斯公式,生成模型和判别模型可以联系起来。只是判别模型无需对P(X)进行学习,因为X总是通过输入数据给出。这也是为什么判别模型不能很好的学习带有部分缺失值的数据,即使是深度学习模型。

判别模型vs生成模型

另外,通过贝叶斯公式,我们也可以得到条件生成模型(Conditional Generative Model),例如规定更具体的类别:生成”一个带有黑色桌子和6张椅子“的图片。

因此,通过贝叶斯公式,我们可以看出判别模型只是一种非常简单的条件生成模型。其条件输入为包含大量信息的图片,条件输出则为简单的类别标签。

条件生成模型

生成模型应用

生成模型产生了很多非常令人惊艳的应用。

人脸生成(Face Generation)

NVIDIA公司在ICLR 2018年发表的Style-Based GAN(基于风格的生成式对抗网络)[3]可以生成难辨真假的人脸,图片中所有都是模型生成的假脸。

Style-Based GAN生成的人脸

而且还可以指定特定的风格(例如第一行图片中的性别,年龄,发长,姿势等),来基于第二行最左边的输入,产生第二行右边四张转换风格(Style Transfer)之后的脸。

指定特定的风格的人脸生成

完整介绍视频如下:
A Style-Based Generator Architecture for Generative Adversarial Networks - YouTube

语音和音乐合成(Speech & Music Synthesis)

生成模型还可以用于合成一段文字对应的自然的语音(TTS, Text to Speech),或者学习大量古典音乐而合成新的古典音乐[4]。例如Google DeepMind提出的WaveNet,效果令人惊叹!

视频如下:
WaveNet by Google DeepMind | Two Minute Papers #93 - YouTube

将渣画质的图片变成高清(Image Super Resolution)

例如将最左列的渣画质转化成右列的超分辨率图片生成,不同列为不同模型[5]。其本质是学习P(高分辨率图片|低分辨率图片)的条件概率。

Image Super Resolution

提升音频清晰度(Audio Super Resolution)

除了应用于提升图片清晰度,生成模型还可以显著提升音频的清晰度[6],尤其是有噪音和被压缩的音频,效果也非常棒!

Audio Super Resolution

机器翻译(Machine Translation)

另外,传统的机器翻译任务,也可以看成是条件生成模型。比如将中文翻译成英语可以看成是P(English text| Chinese text)的条件生成模型。

机器翻译可以看成条件生成模型

文本生成

另外,生成模型还可以产生基于给定文本提示的完整段落或文章

文本生成

DeepFake(换脸、换表情)

前一段时间利用生成模型恶搞政要的DeepFake更是着实的火了一把。其逼真程度引发了社会关于GAN的伦理道德讨论。

DeepFake实时换脸

视频实时渲染转换

生成模型还能实时的将视频中特定的物体,转换成另一种风格[7],比如下图中你看到的利用CycleGAN,作者将一匹马转换成了一匹斑马,而且效果足以以假乱真。

视频实时渲染转换

增强学习

本质上很多增强学习的任务,例如自动驾驶等,也可以看成条件生成模型的任务。例如:用P(行为决策| 历史观察)表示的自动驾驶任务。

条件生成模型用于自动驾驶

生成模型的学习路线和关键挑战

为了表示和训练的生成模型,我们有以下三方面的问题需要研究和解决:

  1. 首先是模型表示的问题:即如何表示大量随机变量的联合分布。例如如果将一张720x720像素的黑白图像,表示成二值随机变量的话,则联合分布的参数空间是 2^(720x720) = 2^518400 参数。这么庞大的参数,即使太阳系的每一个原子都表示一个参数都不够。因此,我们需要更紧致的模型参数表示

  2. 第二个问题是:如何根据训练数据来学习出数据所隐含的分布?。一个更基础的问题是,怎样比较来自数据的分布Pdata和不同模型表示的分布Pmodel,哪个Pmodel更好。

  3. 第三个问题涉及到理解生成过程,我们怎么才能反转生成的过程,例如学习到模型生成过程中所采用的高层特征,以便我们做特征提取等。

生成模型的学习路线和关键挑战

课程安排(Syllabus)

CS236的课程安排如下,欢迎大家关注本系列后续更新:

CS236课程安排

参考文献

[1]. Krizhevsky, A., Sutskever, I., & Hinton, G. E. (2012). Imagenet classification with deep convolutional neural networks. In /Advances in neural information processing systems/ (pp. 1097-1105).

[2]. Hinton, G., Deng, L., Yu, D., Dahl, G. E., Mohamed, A. R., Jaitly, N., … & Kingsbury, B. (2012). Deep neural networks for acoustic modeling in speech recognition: The shared views of four research groups. /IEEE Signal processing magazine/, /29/(6), 82-97.

[3]. Karras, T., Aila, T., Laine, S., & Lehtinen, J. (2017). Progressive growing of gans for improved quality, stability, and variation. /arXiv preprint arXiv:1710.10196/.

[4]. Oord, A. V. D., Dieleman, S., Zen, H., Simonyan, K., Vinyals, O., Graves, A., … & Kavukcuoglu, K. (2016). Wavenet: A generative model for raw audio. /arXiv preprint arXiv:1609.03499/.

[5]. Ledig, C., Theis, L., Huszár, F., Caballero, J., Cunningham, A., Acosta, A., … & Shi, W. (2017). Photo-realistic single image super-resolution using a generative adversarial network. In /Proceedings of the IEEE conference on computer vision and pattern recognition/ (pp. 4681-4690).

[6]. Kuleshov, V., Enam, S. Z., & Ermon, S. (2017). Audio super resolution using neural networks. /arXiv preprint arXiv:1708.00853/.

[7]. Zhu, J. Y., Park, T., Isola, P., & Efros, A. A. (2017). Unpaired image-to-image translation using cycle-consistent adversarial networks. In /Proceedings of the IEEE international conference on computer vision/ (pp. 2223-2232).

你可能感兴趣的:(跟Honglei一起学深度生成模型— (一) 简介)