雷锋网 AI 科技评论按:近日张钹院士和朱军教授团队在 arXiv 上贴出一篇论文《Graphical Generative Adversarial Networks》,论文提出了一种 Graphical-GAN 模型框架,该模型综合了深度隐式模型(Deep Implicit Model)和概率图模型(Probabilistic Graphical Models)的优点,能够利用数据的基本结构来进一步提升生成网络的表现。
一、深度隐式模型和概率图模型
在谈论这个模型之前,雷锋网(公众号:雷锋网)先简单介绍一下深度隐式模型和概率图模型。
研究机器学习的同学应该对生成模型都不陌生,它是指一系列用于随机生成可观测数据的模型。换句话说就是,假设在一个连续的或离散的高维空间 X 中,存在一个变量 X 服从一个未知分布 P_data (X )。我们根据一些可观测 的样本 x(1),x(2),··· ,x(N) 来估计这个未知分布。生成模型就是建立一个分布模 型 P_model (X ) 来近似未知的数据分布 P_data (X ),并可以用这个模型来生成一些 样本,使得「生成」样本和「真实」样本尽可能地相似。但在实际中,观测到的样本往往只是真实样本的一部分变量,叫做可观测变量。除了可观测变量外,还有一些变量是不可观测的,叫做隐藏变量 (Latent Variables),或隐变量。假设隐变量 Z 是另外一个相对低维的空间 Z 中的变 量,完整的生成式模式应该是建模 P_model(X,Z)。根据链式法则 P_model(X,Z) =P_model (Z )P_model (X |Z ),生成式模式可以转换为对两个分布的建模:一个是观测变量 X 的条件分布 P_model (X |Z ),另一个是隐变量的先验分布 P_model (Z )。
生成模型有两种,一种是 prescribed 模型,一种是 Implicit 模型。本文提到的深度隐式模型,即为后者与深度学习的结合,就是利用神经网络的方式来隐式地建模条件分布 p(x | z)。而其中所谓的隐式建模,是指并不对条件分布 p ( x | z ) 本身进行建模,而是建模生成过程,即学习一个映射函数 g : z → x。神经网络的输入为隐变量 z,输出为观测变量 x。本质上来说,GAN 也是深度隐式模型的一种形式,这里就不再详细叙述。
据本篇论文作者表示,目前已知的深度隐式模型能够生成相当真实的图像,但是没有能够很好地利用数据中的基本结构,例如图像的离散语义信息、视频帧之间的连续性等。
另一方面,在概率论和统计学中,概率图模型是指一种用图结构来描述多元随机 变量之间条件独立关系的概率模型。图,是由节点和节点之间的边组成。在概率图模型中,每一个节点都表示 一个随机变量 (或一组随机变量),边表示这些随机变量之间的概率依赖关系。
常见的概率图模型可以分为两类:有向图模型和无向图模型。前者也叫 做贝叶斯网络,为有向非循环图,边的方向代表了因果关系。本篇文章所采用的即贝叶斯网络。无向图模型也叫 做马尔可夫随机场,每条边代表来两个变量之间有概率依赖关系,但是并不表明 任何因果关系。对于一个非全连接的图模型,都可以根据条件独立性将联合概 率分布进行因子分解,表示为一组局部的条件概率分布的乘积。下面为贝叶斯网络的严格定义:
在机器学习中,很多机器学习模型都可以看作是概率模型,也即将学习任务归结于计算输入和输出之间的条件概率分
布。概率图模型显然可以表示数据中结构,但是它的缺点是随着节点数的增加,算法将会变得非常复杂,因此它无法处理图像这类复杂的数据。
二、Graphical-GAN
Graphical-GAN,如上面所说,结合了深度隐式模型和概率图模型两者的优点。具体来说,作者在 Graphical-GAN 中使用贝叶斯网络来表示变量间的结构;另一方面,用深度隐似然函数来为复杂数据建模。
表示成数学形式,隐式模型中的条件分布可写为:
其中X、Z如上所说为可观测变量和隐变量,而G表示关联有向无环图(也即贝叶斯网络)。由于贝叶斯网络的局部结构性质,分布可以进一步分解为:
这里的 Pa_G(x)(x 包含可观测变量和隐变量)即为前面贝叶斯定义中的 x_pi_k,表示了关联图 G 中 x_j 的父节点。当给定依赖性结构的情况下,变量之间的依赖函数就可以参数化为深度神经网络,进而来拟合复杂的数据。这种结合了图的深度隐式模型,作者将之称为图生成对抗网络(Graphical-GAN)。
由于模型本身是高度非线性的,这导致计算后验概率 p(z|*) 难以计算。为了解决这个问题,作者采用一个神经网络来近似计算,这在统计中称做推理网络;换句话说就是,利用一个神经网络来估计 p(z|x; θ) 的近似分布 q(z|x; φ),这里φ是网络参数。这里的细节类似于上面的过程,在此就不再展开。
剩下的工作就是同时学习生成模型和识别模型中的参数,让 p 和 q 尽可能地相似。作者提出两种基于散度最小化的算法,一种为全局算法,一种为局部算法。如图所示:
在全局算法中直接忽略数据中的结构信息,去最小化 p(X , Z) 和 q(X , Z) 之间的散度。最小化问题就变成了:
写成 GAN 的形式就是:
另一方面,局部算法考虑数据中的结构信息,将前面 P_G(X,Z) 简化写为
这里,A 为前面 (x | Pa_G(x)) 或(z | Pa_G(z))的缩写,F_G 是相应的因子集合。于是这里的最小化问题以 GAN 的形式写出即为:
三、两个案例
在实际中,涉及到结构化数据,有两种常见的典型案例,上面的图例中也有提到。一种情况是,数据集由具有离散属性或类的图像组成,例如 MNIST(数字)、SVHN(彩色背景数字)、CIFAR10(自然)、CelebA(人脸)等数据集;一种情况是具有时间依赖性的图像序列组成的数据集,例如 Moving MNIST、3D chairs 等。
作者根据 Graphical-GAN,针对这两类数据集设计了两个模型 GMGAN 和 SSGAN,从而来生成有意义的样本。
1、离散特性的数据集
模型:GMGAN
结果:以 MNIST 数据集为例。GAN-G 和 GMVAE 为对照模型。GMGAN-G 和 GMGAN-L 分别代表全局算法模型和局部算法模型。k 表示固定混合度。
如果通过生成样本不容易看出哪个更优的话,也可以通过下表数据来对比:
可以看出
a. GMGAN 算法生成样本的表现媲美(甚至优于)于其他模型;
b. 局部算法优于全局算法,原因在于它利用了数据中的结构信息。
2、连续特性的数据集
模型:SSGAN
结果:在上面的实验中,由于 MNIST 样本的生成已经相对成熟,各模型的差距或许还不能充分体现出来。下面我们来看在 Moving MNIST(也即数字随着时间运动)数据集和 3D chairs 数据集上的实验结果。
上图显示了当时间 T 设为 16 时,几个模型生成的样本。其他几个模型在这种数据集上的结果是不忍直视的。
同样的表现也体现在 3D Chairs 的生成上,这里设置 T=31。从这些样本的结果可以看出 Graphical-GAN 在利用数据结构后的优异表现。
四、结论和未来研究
雷锋网总结:这篇论文提出了 Graphical-GAN 的模型框架,基于该框架所构建的模型能够利用结构化数据中的结构信息,从而进一步提高生成样本的质量。在文章中,作者针对离散结构和时间结构分别用两个实例验证了这个模型框架的有效性和优越性。作者表示,本文所使用的代码随后将在 Github 上分享。
文章中,作者也提到在未来的研究中可能将对 Graphical-GAN 做以下方面的扩展:1)在模型结构方面,将学习算法和推理算法广义化;2)在模型验证方面,将使用具有更复杂结构的实例(例如树)来做;3)在实用方面,尝试对结构化数据使用半监督学习的方法。
参考资料:
[2] Shakir Mohamed, Balaji Lakshminarayanan, Learning in Implicit Generative Models, arXiv:1610.03483
[3] 邱锡鹏,神经网络与深度学习
[4] Bayesian network, Wikipedia_en
。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/129844.html