近日张钹院士和朱军教授团队在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上分享。
Github地址:
https://github/zhenxuan00/graphical-gan
文章中,作者也提到在未来的研究中可能将对Graphical-GAN做以下方面的扩展:(1)在模型结构方面,将学习算法和推理算法广义化;(2)在模型验证方面,将使用具有更复杂结构的实例(例如树)来做;(3)在实用方面,尝试对结构化数据使用半监督学习的方法。
参考资料:
[1] Chongxuan Li, Max Welling, Jun Zhu, Bo Zhang, Graphical Generative Adversarial Networks, arXiv:1804.03429
[2] Shakir Mohamed, Balaji Lakshminarayanan, Learning in Implicit Generative Models, arXiv:1610.03483
[3] 邱锡鹏,神经网络与深度学习
[4] Bayesian network, Wikipedia_en
扫描二维码,即刻报名参与IV2018
📚往期文章推荐
🔗一篇优秀的博士论文是如何产生的?专访“费孝通勤学奖”获得者赵静
德先生公众号 | 往期精选
在公众号会话位置回复以下关键词,查看德先生往期文章!
人工智能|机器崛起|区块链|名人堂
虚拟现实|无人驾驶|智能制造|无人机
科研创新|网络安全|数据时代|人机大战
……
更多精彩文章正在赶来,敬请期待!
点击“阅读原文”,移步求知书店,可查阅选购德先生推荐书籍。