淦 艳,叶 茂,曾凡玉
(电子科技大学计算机科学与工程学院,成都611731)
在人工智能的浪潮下,以生成模型(Generative Model,GM)[1]为代表的机器学习领域受到研究者们的青睐.生成模型被广泛应用于图像生成[2-4]、视频生成[5-7]、安全隐写[8,60]、文本生成[10]和音频合成[11]等任务,并且在这些任务中,生成模型均获得了惊人的效果.另外,关于生成模型的理论研究,研究者也做了许多工作,包括从信息论、概率角度或是基于能量函数角度去分析模型,为其应用研究不断地提供理论依据.因此,从应用和理论层面来讲,系统地研究生成模型具有重要的意义.
生成模型是一个广泛的机器学习领域,它是处理概率分布p(x)的模型,其中x∈Rn.这些模型是在某些潜在的高维空间中的数据点上定义的.通俗的理解,生成模型就是一类通过向真实数据分布学习,以此来确定其参数的模型,使得所学习的模型分布与真实数据分布尽可能地一致.生成模型工作的流程为:首先从一个已知分布(比如高斯分布或是均匀分布)中随机采样样本,然后将该采样的样本输入到生成模型,紧接着生成模型根据真实分布反馈的信息不断更新自己的参数.经过若干次迭代,最后通过训练得到一个能够生成与真实数据尽可能一致的模型.
形式上,大多数生成模型是基于最大似然原理建模.假设所有的训练样本是独立同分布,根据最大似然原理,已知似然函数的前提下,最大似然原理训练模型使模型服从真实数据分布的似然最大.基于最大似然原理,生成模型可分为2 类[1]11 http://www.iangoodfellow.com/slides/2016-12-04-NIPS.pdf.:基于显式密度的生成模型和基于隐式密度的生成模型.
本文首先从生成模型的研究意义进行阐述;然后介绍其定义和分类;紧接着按类别介绍与之对应的、具体的生成模型,并分析各自的优缺点;重点介绍生成对抗网络(Generative Adversarial Networks,GANs)在图像生成方面的研究进展,包括通过噪声生成图像、文本生成图像、图像到图像转换以及交互式操控图像生成,然后从可解释性、可控性、稳定性和如何评价模型4 个方面分析了生成对抗网络的理论研究进展.紧接着,总结了研究生成对抗网络潜在的突破口.
基于显式密度的生成模型定义了一个显式的、易求解计算的密度函数.这类生成模型可以分为近似密度估计和精确密度估计.
2.1.1 近似密度估计
近似密度估计方法可以分为两类:使用确定型近似方法和随机近似方法.
其中,确定型近似方法主要是指变分近似.它利用Jensen不等式推导出证据下界(Evidence Lower Bound):
其中x 表示从真实数据中采样的样本,z 表示隐空间的编码采样.φ1 表示变分参数,θ1 表示生成参数.
变分近似的代表为变分自编码器(Variational Auto-Encoding,VAE)[1].它以证据下界为理论基础.首先,假定所有的数据都是独立同分布,即 x1,x2,...,xN独立同分布.最大化对数似然函数:
由于直接优化式(2)十分困难.所以,Doersch C 等人[1]提出VAE,利用识别模型qφ1(z|xi)去近似真实的后验概率pθ1(z|xi).度量两个分布的相似性,VAE 选择 KL 散度.即:
由公式(3)可得:
因为KL 散度不可能为负,所以有:
成立.由此证明VAE 是将证据下界作为其理论基础.
变分近似的目的是找到一个最大化的L(θ1,φ1;xi)值,确保能够获得与真实数据尽可能一样的似然值.但由于寻找的是一个近似表达,当近似后验分布太弱或者先验分布太弱,即使有优化算法和充足的训练样本,L(θ1,φ1;xi)和真实的似然之间的间隔会导致模型学到与真实数据不同的信息.比如用于图像生成的变分自编码器[1],它所生成的图像往往比较模糊,缺少多样性.为了提高VAE 生成图像的性能,Tolstikhin等人[12]提出了一种新的 Wasserstein Auto-Encoding(WAE),它被认为是建立数据分布的新算法.WAE 最小化了模型分布与目标分布之间的Wasserstein 距离的惩罚形式,它与VAE使用的正则化不同.另外,Irina Higgins 等人[13]修正了 VAE的框架,提出了beta-VAE.
另外一种近似密度估计是马尔科夫链蒙特卡洛(Markov Chain Monte Carlo,MCMC)近似.在所采样的有用样本被快速重复采样且这些样本方差不大的情形下,这种基于采样的近似模型能够表现出很好的性能.基于MCMC 近似的方法可以保证样本最终会收敛到一个来自模型的样本.但是这种收敛的速度慢,比较耗时.另外一个难点是无法知道MCMC 要运行多少步才能达到均衡分布.因为检测马尔科夫链是否达到平衡是不易的.
图1 深度玻尔兹曼机Fig.1 Deep boltzmann machine
MCMC 近似方法的代表模型有玻尔兹曼机(Boltzmann Machine,BM)[14]和深度玻尔兹曼机 (Deep Boltzmann Machine,DBM)[9]等.本文以DBM 为例介绍MCMC 近似方法.DBM 由多个限制玻尔兹曼机堆叠而成.假设 DBM 有一个可见层 v 和2个隐藏层h1、h2,如图1 所示深度玻尔兹曼机.它是一个完全无向的模型,且每一层中每个变量是无连接.
其能量函数为;
联合概率分布为:
其中 θ2={W1,W2},Z(θ2)是配分函数(Partition Function).每个单元的激活概率为:
对于DBM 的训练,可以选择BM 的方式.但这样会消耗大量时间.为此,Ruslan Salakhutdinov 等人[9]提出贪心逐层训练的方法.贪心逐层训练DBM 的权重有两个目的.一是,它将权重初始化为合理的值.二是,它确保有一个快速的方法来执行近似推理.
2.1.2 精确密度估计
精确密度估计常用的模型有两种定义方法,即全可见信念网络(Fully Visible Belief Networks)和变量可变模型(Change of Variables Models).
基于精确密度估计的全可见信念网络使用概率链式法则定义生成模型p(x).它将数据样本x(x∈Rn)分解为一维概率分布的连乘形式:
由公式(11)可知,基于精确密度估计的全可见信念网络依次生成x1,然后x2,最后xn.全可见信念网络是一种串行生成数据的方式.如果每一维的数据需要使用一次神经网络来逼近,且每次使用神经网络逼近的时间复杂度为O(t).那么这类生成模型生成一个样本需要调用n 次神经网络来逼近,因此其时间复杂度是O(nt).由此看出,它相对而言比较耗时.另外,每个维度的生成也不是从隐编码开始的,即生成过程不受到隐编码的控制.
全可见信念网络的代表为 PixelRNN 模型[15].它能在两个空间维度上连续预测图像中的像素,对原始像素值的离散概率建模,并对图像中的完整依赖关系进行编码.其它用于图像生成的模型包括:NADE 模型[16]和 PixelCNN 模型[17],以及用于音频合成的WaveNet 模型[11].
另一种是变量可变模型.这类模型是基于两个不同空间的连续、非线性变化.假设,在隐空间Z 中有一个隐变量z 和一个连续、可微分、可逆的映射变换g,使得g(z)能够生成一个在数据空间X 中的样本x.其过程可以表示为:
和
从公式(12)和公式(13)可知,一方面,在隐空间Z 中的简单分布加上一个变换g 可以用复杂方式来对空间进行变形,可以产生一个数据空间X 中的复杂分布.为了计算 pX(x),需要计算如果二者不易计算,则pX(x)无法计算.另一方面,具体设计一个变量可变模型的难点是寻找一个连续、可微分、可逆的映射变换g.这就意味着隐空间Z 中的隐变量需要与数据空间X 中的样本同一维度.比如 Laurent Dinh 等人提出的 RealNVP 模型[18].该模型利用real-valued non-volume preserving(Real NVP)变换,它是一组强大的,稳定可逆的,可学习的变换.其它的变量可变模型包括非线性独立成分分析(Nonlinear Independent Component Analysis,Nonlinear ICA)[19].
表1 基于显式密度的生成模型的优缺点Table 1 Advantages and disadvantages of explicit density based generative model
通过对基于显式密度的生成模型的分析,总结出这类模型中具有代表性的模型的优缺点.如表1 所示基于显式密度的生成模型的优缺点.
相对于基于显式密度的生成模型而言,有些模型可以不需要显式定义一个密度函数进行训练.这类模型给出了一种间接的和生成模型进行交互的方式,即从采样中实现模型的训练.通过这种方式实现的模型被称为基于隐式密度的生成模型.基于隐式的生成模型有生成随机网络(Generative Stochastic Networks,GSN)和生成对抗网络.
2.2.1 生成随机网络
生成随机网络[20]模型定义了一个马尔科夫链(Markov chain)转移算子,用于对可见样本(或是观察样本)x 的概率分布p(x)进行隐式建模.具体地生成随机网络由两个条件概率分布参数化,指定马尔可夫链的下一步:
其中,θ3 和 θ4 表示条件概率的参数.该 Markov chain 中其状态变量既有可见变量xt,也有隐变量ht.
其中,公式(14)表示在当前隐变量状态和可见变量状态下更新下一个隐变量.公式(15)表示给定下一个隐变量状态下如何产生下一个可见变量.由此易知,Markov chain 的转移分布通常涉及较小的移动,它更容易近似其配分函数(Partition Function),易于学习.但以Markov chain 形式生成样本的模型实质上是一种串行方式,有一种依赖性.因此,常常不能规模化到高维空间中,而且在生成样本时,其计算代价也高.
2.2.2 生成对抗网络
另一种隐式密度的生成模型就是基于直接方式的生成对抗网络[21].它由生成器G 和判别器D 构成,其中生成器负责从噪声分布中采样生成假样本,以欺骗判别器为目的.判别器则鉴别生成样本的真伪(Real 或者 Fake,记为 R 和 F).其处理过程如图2 所示生成对抗网络模型.
图2 生成对抗网络模型Fig.2 Model of generative adversarial networks
在生成对抗网络中,生成器和判别器的角色形成一个二人零和博弈.其值函数V(G,D)为:
其中,ω 和θ 分别为判别器和生成器的参数.判别器的目的是让公式(16)最大,即公式(16)中的第一项和第二项都要最大.第一项最大的意思是Dω(x)->1,真样本为真的概率接近1.而第二项最大的话,需要 Dω(Gθ(z))->0,假样本为真的概率为0.相反,生成器的目的是让公式(16)最小,其第一项和第二项都要小,即 Dω(x)->0,Dω(Gθ(z))->1.这要求真样本为真的概率小,假样本为真的概率接近1.此时,生成的样本就可以以假乱真.
由公式(16)可知,生成对抗网络是从噪声中采样一次就生成一个样本,不是像Markov chain 那样串行方式生成样本.同时不需要一个变分下界,而是直接生成.这使得生成的样本质量比其它的生成模型好.但生成对抗网络也引入了新的挑战:生成过程中的可解释性以及可控性;训练过程中的不稳定性;以及如何客观地评价生成模型.
通过对生成随机网络和生成对抗网络的分析,其优缺点如表2 所示基于隐式密度的生成模型的优缺点.
表2 基于隐式密度的生成模型的优缺点Table 2 Advantages and disadvantages of generative model based on implicit density
根据前面基于最大似然估计方法建立不同生成模型的描述,本文给出他们分类.如图3 所示生成模型分类,本文列出了对应的代表模型.
图3 生成模型分类Fig.3 Generative model classification
接下来本文重点讨论了生成对抗网络在图像生成方面的应用进展和当前的研究热点,以及未来研究的潜在突破口.
生成对抗网络自2014 年提出后,已经成为众多研究者的关注点,它不仅可用于监督、半监督和无监督学习建模,而且还可以应用到姿态估计、行人再验证、语义分割、目标检测、域自适应和图像生成等任务.在这一节中,本文主要讨论生成对抗网络在图像生成中的应用,将其分为4 类:通过随机噪声生成图像、从文本生成图像、图像到图像转换、利用交互式操纵图像生成.然后总结了4 个当前的研究热点,即可解释性、可控性、稳定性和评价生成模型.
生成对抗网络应用于图像生成任务取得了惊人的成果.首先是通过随机噪声生成图像.它先从随机噪声中随机采样,将该采样输入到生成器中生成图像,判别器判断所生成的图像以及真实图像的真伪.根据判别器的输出来修正生成器的参数,以及调整判别器本身的参数.以此反复训练生成器和判别器.
Goodfellow 等人[21]率先将采样的随机噪声通过多层感知机网络来生成手写体数字和人脸图像.随后 Radford 等人[22]将随机噪声通过深度卷积神经网络来生成卧室和人脸图像.紧接着Karras 等人[23]从随机高斯分布中采样随机噪声,通过渐进训练的方式生成高清图像.Wu 等人[24]提出了一种深度压缩感知框架.在此框架下,他们进一步提出了一种基于隐空间编码优化的GANs 训练算法.
对于噪声生成图像的任务,其难点是生成具有高清晰度和多样性的图像.另外就是结合模型的理论进行分析.比如探究模型的稳定性及收敛性,从而设计更好的模型.
其次是从文本生成图像.这类模型先将文本通过编码器编码为一个向量,然后将随机噪声和编码向量拼接在一起作为生成器的输入用于生成图像.其生成过程如图4 所示文本生成图像,其中E 表示编码器,zs表示文本经过编码器编码后的向量.
图4 文本生成图像Fig.4 Text-to-image synthesis
Reed 等人[25]提出将文本编码为一个文本向量,然后连接高斯噪声,通过生成对抗网络来实现文本到图像的生成.Zhang 等人[26]提出将文本通过一个级联的生成对抗网络模型来生成鸟和花的图像.Ma 等人[27]将注意机制融入到生成对抗网络中一起建模,提出DA-GAN 模型用于文本到图像的生成.Li 等人[28]进一步扩展了文本生成图像任务,提出了StoryGAN 模型.他们将多个句子输入到StoryGAN 模型,该模型可以生成与多个句子描述相符的多张图像.
针对文本生成图像的问题,研究难点是生成与文本描述符合的图像,且这些图像是高清的、多样性的.
然后是图像到图像转换任务.它是将一个域的图像转换为另一个域的图像.比如输入苹果的图像转化为橘子的图像.该任务涉及2 个域或是多个域之间的图像转化.因此,这类模型含有多个生成器和判别器,如图5 所示图像到图像的转换.
图5 图像到图像的转换Fig.5 Image-to-image translation
文献[2,29,30]利用对偶学习理论建立生成对抗网络模型,这些模型实现了从一个域的图像转化为另一个域的图像.Gan 等人[31]利用增加辅助域的信息来提高图像转换的质量,提出了AdGANs 模型.Lee 等人[32]针对图像转换任务中缺少对齐的训练对和单个输入图像可能有多个输出的问题,提出了一种基于解纠缠表示的方法,在没有成对训练图像的情况下产生不同的输出.Liu 等人[33]考虑到当前的方法需要在训练时访问源和目标类中的许多图像.这极大地限制了它们的使用.针对该问题,他们提出了少量无监督的图像迁移模型.Mao 等人[34]针对模型坍塌问题,设计了一个距离最大化的正则项约束.将所设计的正则项约束添加到现存的cGANs 模型中,提出了MSGANs 模型.在语义图转化为RGB 彩色图的过程中,以前的方法是直接将语义布局图作为输入提供给深度网络,然后通过堆叠的卷积、归一化和非线性层进行处理.在此过程中,Park 等人[35]指出规范化层倾向于“洗去”语义信息,使得模型不能达到最优.为了解决该问题,他们提出了SPADE 模块.
针对图像到图像的转换任务,其研究难点是跨域学习或者少样本的跨域学习.同样要求所生成的图像具有高清晰度,且生成的图像是多模态、多样性.
最后,通过人机交互式操控图像的生成.即用户可以通过外连设备(比如鼠标)操控图像的生成.比如,Bau 等人[39]设计了一个交互式操控图像生成的系统.用户可以操控树、草、门、天空、云等的生成和删除.
Zhu 等人[36]提出了一种利用生成对抗网络直接从数据中学习自然图像流形的方法来操控图像外观的改变.Wang等人[37]结合语义标签图和条件生成对抗网络来实现可交互的控制图像生成,该模型可以移除、增加目标以及编辑目标的外观.
对于交互式操控图像任务,其研究难点是如何平滑操控时边界区域.换句话说,我们控制图像某一块区域改变时,如何填充该区域周围的像素.以及如何平衡局部改变区域与整张图像的一致性问题.未来,将会通过语音来操控图像的生成.这项研究具有更大的挑战,其应用前景会更广.
对于研究者而言,首先是迫切的想弄清楚生成对抗网络在生成过程中是如何运作.目前而言,大多数研究成果都是将其视为一个黑盒子来使用.为此,研究生成对抗网络的可解释性将有利于应用的发展.
对于可解释性,直观的理解就是要弄清楚输入的哪些维度或是反卷积后的哪些特征图对应到生成图像的哪些区域或是图像中的哪些属性.研究可解释性需要借助可视化方法来判断.以数字手写体图像生成为例,从噪声中采样的z(z ∈Rm)输入到生成器中,哪些采样的维度zi对应到生成数字的笔画粗细、倾斜程度等属性.如图6 所示生成对抗网络的可解释性.
图6 生成对抗网络的可解释性Fig.6 Interpretability of GANs
针对生成对抗网络的可解释性问题,Chen 等人[38]利用信息论中的互信息结合对抗博弈的思想进行建模,提出了 InfoGAN模型.通过实验表明该模型可以解释采样中的某些维度,比如椅子的旋转和宽度等.Bau等人[39]借助可视化方法、分割网络和因果关系推理,探索了生成器中的哪些特征图(或是特征图的某些区域)与生成图像的哪些区域关联.从而进一步理解了生成对抗网络的内部表示.
其次是可控性问题.在理解了可解释性后,一个自然的问题就是如何控制生成过程?这个可控性有2 层含义:一是由于原始GANs 在生成过程中,没有受到任何约束,生成的过程比较自由,为此,引入约束的思想控制生成.比如条件生成对抗网络[40].另外是指通过对生成器网络结构中的某些特征图(或是特征图区域)进行消融激活处理,控制生成图像中某些目标对象的生成.比如文献[39]中提出的模型就可以控制生成图像中是否有树、草、门等目标对象.
对于可控性方面的研究,Reed 等人[41]提出了可以控制图像中目标位置和位姿的GAWWN 模型.该模型也可以视为是以边界框或关键点为条件的生成模型.Deng 等人[42]认为样本的生成是以2 个独立的隐变量为条件,即特定的语义以及其它的变化因素2 个部分,为此提出了结构化的生成对抗网络模型.
然后是涉及到训练过程稳定性的问题.由于原始生成对抗网络难以收敛到Nash 均衡点,所以研究者提出了训练稳定的模型.Arjovsky 等人[43]利用 Earth-Mover 距离来建立模型,提出了 WGAN.在此基础上,Gulrajani 等人[44]指出 WGAN 中权重剪切方式的弊端,进而提出了增加惩罚项的WGAN-GP模型,该惩罚项是关于判别器输入的梯度范数.Miyato 等人[45]提出通过谱正则化的技术来约束判别器,使得训练过程更加稳定.Brock 等人[46]提出应用垂直正则化到生成器中可以使其服从简单的截断技巧,以此来提高训练的稳定性,从而提高样本生成的质量.Chen 等人[47]提出具有自调制的生成器模型.它允许生成器中间的特征图根据输入噪声向量而改变,以此来稳定训练过程.Zhou 等人[48]从最优判别函数梯度的信息性角度研究了GANs 的收敛性.结合Lipschitz 条件,提出了Lipschitz GANs.另外文献[49-51]的工作也是致力于寻找稳定训练过程的方法.
最后一个研究热点就是如何评价所提出的生成模型的性能.目前,大多数评价生成对抗网络模型的方式为[40]:将生成的图像与真实图像分别输入到特征提取器(深度神经网络)中,然后分别得到生成图像和真实图像的特征,接着再根据度量准则度量所提取的特征的差异或是距离.
具体地,对于图像生成任务而言,目前比较流行的评价模型性能的指标有 3 种,即 Amazon Mechanical Turk(AMT)[52],Frechet Inception Distance(FID)[53]和 Inception Score(IS)[54].
第一种是AMT 评价方式,它主要是通过观察者观察生成图像的质量来评价生成模型.这种方式受观察者主观因素的影响比较大,因而需要多个观察者来测试.利用观察者观测结果的平均值来减小主观因素的影响.基于AMT 观测的评价方式实质上是从像素级层次度量生成的图像与真实图像之间的距离.
第二种是FID 评价指标.它是一种距离的度量标准,其值越小,说明所学习的模型分布与真实分布的差异小.反之则说明所学习的模型与真实分布差异大.以此来判断所学习的模型的优劣.用DFID来表示FID 评价指标计算的值,它的计算如下:
其中,下标r和f分别表示真实样本和假样本,(μr,Σr)和(μf,Σf)分别表示来自数据分布和模型分布样本嵌入的均值和协方差.
第三种是IS 评价指标,它用来度量模型得分.它的值越大越好,表明了模型生成图像的质量好.用DIS来表示IS 评价指标的值,其计算形式为:
其中G 表示生成模型,x 表示生成的图像,KL 表示Kullback-Leibler 散度,y 表示标签.基于 FID 和 IS 的评价方式是从特征层面度量生成的图像与真实图像之间的距离.
针对如何评价生成模型这个问题,文献[55-59]给出了比较客观和全面地分析.尽管有如此多的方式来评价生成模型,但评价生成图像的清晰度、图像中目标对象是否完整、多样性等综合性能的方式仍有研究的价值.
生成对抗网络的研究已处于高潮期,出现了各式各样的生成对抗网络模型.同时,它的不足之处也展现出来.未来,研究生成对抗网络的潜在突破口包括以下几个方面:
1)可解释性、可控性
当前,生成对抗网络的可解释性和可控性尚没有完全攻克,只是取得部分的研究进展.在后续的工作中,对可解释性和可控性的研究仍具有重要的研究价值.
2)稳定性
众所周知,在训练生成对抗网络模型的过程中存在稳定性差的问题.从某种角度来说,这会导致模型坍塌.因此,在今后的研究中,如何稳定训练的过程,使得生成对抗网络的性能得到提升,仍然具有挑战.
3)评价模型的方法
虽然现在有各式各样的生成对抗网络模型,但是如何综合客观地评价每个模型,仍然是没有一个定论.因此,在后续的研究中,如何客观地评价生成对抗网络模型仍具有研究价值.
4)与其它理论的融合
对生成对抗网络的研究,是否可以考虑引入其它的理论,使得现有的模型性能得到提升.比如,神经科学、认知科学、信息论等.
5)其它的应用领域
生成对抗网络的核心思想通俗易懂,它比较适合与其它具体的应用结合在一起建模.因此,挖掘新的应用场景也具有研究价值.
总的来说,生成对抗网络在理论和应用方面具有重要的研究意义,是一个具有挑战性的研究问题.当下,对人工智能的研究如火如荼,尤其是结合自然语言将会成为一个重要的应用突破口,比如语音或句子控制图像改变的问题.另外,研究生成对抗网络的可解释性、可控性、稳定性和模型评价方法也有助于将其扩展至更广的应用领域.
本文对生成模型进行了分类讨论,并分析了基于显式密度和隐式密度生成模型的优缺点.其次,重点介绍了生成对抗网络在图像生成方面的应用,包括:通过随机噪声生成图像、从文本生成图像、图像到图像转换、利用交互式操纵图像生成.然后总结了生成对抗网络理论方面的研究热点,即可解释性、可控性、稳定性和评价生成模型.紧接着,对生成对抗网络潜在的研究突破口进行了梳理.最后对本文进行总结.