2.2 贝叶斯深度学习
传统贝叶斯方法往往使用比较简单的局部条件概率分布,如高斯分布、多项分布等,因此属于参数量较少的“浅层”模型,很难拟合自然图像等高维数据。相较而言,深度学习使用神经网络模型,逐层提取数据的抽象特征,对数据进行更加准确有效的表达,最近被广泛应用于人工智能的诸多领域。但是,深度学习本身忽略了数据中的不确定性,难以处理实际数据中的特征缺失、噪声和扰动等问题;同时,深度学习是一个黑盒,很难在里面引入先验知识,提取可解释的表示。这些缺陷制约了深度学习的进一步发展和应用。贝叶斯深度学习结合了深度学习和贝叶斯学习框架两家之长,既可以高效地从高维数据提取特征,又可以处理数据中的不确定性,提高模型的可解释性,是非常活跃的前沿研究领域。
贝叶斯学习和深度学习的交叉融合主要有两种方式。第一种方式的主要思想是利用神经网络强大的拟合能力,在概率建模中刻画随机变量之间的复杂关系,得到表达能力更强的概率模型。这种方式的一个典型例子是深度生成模型,如图2-8所示。深度生成模型可以自然地继承贝叶斯网络中的图结构关系,从高维数据中提取到可解释的特征,在人工智能及其他科学领域已经得到了广泛应用。
图2-8 深度生成模型原理:在贝叶斯建模中加入神经网络
第二种方式的主要思想是通过贝叶斯推断刻画深度学习中的模型不确定性。这种方式的一个典型例子是贝叶斯神经网络,如图2-9所示。贝叶斯神经网络把神经网络中每个连接的权重从一个确定值(比如0.5)变成一个概率分布(比如均值为0.5、方差为0.1的高斯分布),用贝叶斯定理推断参数的后验分布,可以有效地提高模型鲁棒性,提供预测不确定性估计,在一定程度上为使用者指出了相关算法的适用边界。
图2-9 贝叶斯神经网络原理:刻画神经网络中的不确定性[61]
2.2.1 深度生成模型
虽然引入神经网络提高了深度生成模型的建模能力,让其表达能力增强了,但是给推断和学习带来了更多的挑战。2013年以来,研究人员提出了若干端到端训练深度生成模型的新方法,从低维度的噪声出发合成真实图像,典型进展包括Durk Kingma和Max Welling提出的变分自编码器(Variational Auto-Encoder,VAE)[62],以及Ian Goodfellow和Yoshua Bengio等人提出的生成式对抗网络(Generative Adversarial Net,GAN)[63]。从原理上看,VAE完全继承了传统的贝叶斯方法,基于变分推断方法近似式(2-7)中的最大似然估计进行参数学习。VAE的变分分布族也是一个神经网络,因此又称为推断网络(Inference Network)。网络的输入是数据,输出是隐变量,恰好和生成的过程相反。与之不同的是,GAN通过一个确定性映射建模数据的采样过程而不是密度函数。GAN的训练过程被建模成一个生成网络和鉴别网络的对抗博弈过程。具体而言,生成网络的训练目标是将一个隐变量映射到数据分布中,并尝试欺骗鉴别网络,而鉴别网络的目标就是区分数据的真假。在原理上,GAN的训练目标是在近似琴生-香侬散度。因此,在模型收敛的情况下,生成器会生成逼真的图像。
VAE和GAN都用神经网络拟合数据的生成过程,因此可解释性不足。从贝叶斯网络的角度看,二者都是一个双变量的模型,一个隐变量表示噪声,一个可观测变量表示图像,一条边从隐变量指向可观测变量。一个自然的想法是引入更多的结构,把数据中可解释的、人能理解的部分通过贝叶斯网络表达出来,让神经网络拟合剩下的部分。这种思想的一个典型例子是概率图生成式对抗网络(GraphicalGenerative AdversarialNet,Graphical-GAN)[64]。下面围绕表示、推断和学习三个方面具体介绍Graphical-GAN。
1.表示
Graphical-GAN将贝叶斯网络和生成式对抗网络结合,可以灵活地表达随机变量之间的依赖结构,其概率模型定义见式(2-1),同时允许变量之间有非常复杂的依赖关系。如图2-10所示,本章考虑了Graphical-GAN的两个实例。第一个实例是高斯混合模型,通过引入层次化结构来抽取数据中的离散特征,可以在没有标注的情况下对图像进行聚类。第二个实例是状态空间模型,该模型假设由随时间改变的特征和不变的特征共同生成了时序的数据,每个时间戳的数据都是通过一个“V-形”结构得到的;同时,该模型假设随时间改变的特征形成了一个马尔可夫链。
图2-10 Graphical-GAN表示的结构化生成模型
2.推断
为了解决推断问题,Graphical-GAN引入一个结构化推断网络作为近似后验分布,其输入为数据,输出是结构化的特征。该推断网络的结构也可以表示为一个有向无环图,其结构是根据生成模型的贝叶斯网络的结构反转得到的。图2-11展示了上述两个例子所对应的结构化推断网络。
图2-11 Graphical-GAN用于隐变量推断的结构化网络
3.学习
Graphical-GAN的学习目标是同时优化生成网络和推断网络的参数,最小化二者之间的琴生-香侬散度。类似于GAN的方法,Graphical-GAN也引入了参数化的鉴别网络来判断数据和隐变量来自哪一个网络。但是,为了保证训练的稳定性,Graphical-GAN的参数学习中明确地利用了数据的结构。具体地,Graphical-GAN提出了一个基于消息传递的局部算法,把判断两个大的结构化网络是否相同的问题转化为判断两个网络中所有对应的局部因子是否相同的问题。在两个模型对应的每个局部因子中,Graphical-GAN引入一个小的局部的鉴别网络,其优化目标是所有的局部因子目标函数的平均:
式中,θ、φ和ψ分别表示生成网络、推断网络和鉴别网络中的参数;F G是生成模型对应的有向无环图G中所有的局部因子;D A表示对应于因子A的鉴别网络。
通过优化式(2-10)中的目标,Graphical-GAN可以无监督地从视觉数据中提取可解释的特征。利用如图2-10(a)所示的层次化结构,Graphical-GAN在两个真实图像数据上学习到的结果。如图2-12所示,每列的图像共享同一个离散语义,该特征是可解释的。在没有标注的情况下,Graphical-GAN可以自动推断出数据中的具备明确语义的离散属性(如图2-10(a)中k所示),比如数字的类别、人脸是否戴眼镜和性别,等等。
图2-12 具有层次化结构的Graphical-GAN的生成结果
利用如图2-10(b)所示的V-形结构,Graphical-GAN可以自动解耦合视频数据中随着时间变化的特征(如图2-10(b)中v所示)和不随时间变化的特征(如图2-10(b)中h所示)。图2-13展示了Graphical-GAN在椅子旋转视频上学习到的结果,其中,奇数行是输入数据,偶数行是自动模仿上一行输入数据的变化特征合成的新视频。例如,第一行和第三行是两个输入的视频,Graphical-GAN从中提取v,即椅子的角度,并结合一个固定的h,即椅子的样子,生成第二行和第四行的视频数据。从图中可以看到,新样本可以跟踪相应输入的动作,同时两个生成视频共享同样的不变特征,这表明Graphical-GAN可以无监督地解耦变化特征和不变特征。此外,上述模型还具有很强的迁移能力,虽然训练数据长为31帧,但是利用如图2-10(b)所示的链式结构,Graphical-GAN可以持续地采样,从而生成长为200帧的视频,其中的16帧如图2-14所示,每行从左到右分别为第47~50帧,第97~100帧,第147~150帧和第197~200帧。
图2-13 Graphical-GAN在椅子旋转视频上学习到的结果
图2-14 Graphical-GAN的长视频迁移结果
上述三个结果表明,基于贝叶斯网络的框架,Graphical-GAN在模型设计中灵活地嵌入领域知识和变量之间的结构化假设等。如果数据分布满足这些知识和假设,则Graphical-GAN可以在没有语义标注的情况下,自动地学到可解释的、易于理解的特征,同时使用神经网络拟合人类不能理解的、复杂的变量关系,合成逼真的数据。
2.2.2 贝叶斯神经网络
贝叶斯神经网络(Bayesian Neural Network)旨在用完全贝叶斯方法刻画深度学习中的模型不确定性,其困难主要在于如何在参数维度极高的情况下高效、准确地推断后验概率。Radford M.Neal完成了这个领域早期的工作,其中一个著名且漂亮的结论[65]是:无穷宽的贝叶斯神经网络等价于高斯过程(Gaussian Process)。这种视角启发了一系列的推断方法。
近期,一些工作把深度学习中常用的带有随机性的训练技术,如随机失活(Dropout)[66]等,理解为深度学习上的近似贝叶斯推断。Dropout方法在训练过程中按照一定的概率把神经网络中每层的一些特征随机丢掉进行训练,避免网络参数过拟合(Overif itting),测试的时候用整个网络做预测。蒙特卡洛随机失活(Monte Carlo Dropout,MCDropout)方法[67]的训练过程和随机失活(Dropout)方法完全一致,但是在预测时,它仍然通过Dropout的方式采样若干次,得到不同的模型和平均预测。和2.1.3节中的一般的完全贝叶斯方法相对应,MCDropout把同一个网络的不同随机版本当作后验分布的采样。这些采样的模型既可以用来估计平均预测,也可以用来估计预测的不确定性。MCDropout方法的最大优势在于其训练和一般的神经网络完全一样,不需要额外的开销,在预测时按照需要把数据“喂”给网络若干次即可。由于篇幅所限,这里不再展开介绍其他的贝叶斯神经网络推断方法。
基于贝叶斯神经网络,除给出平均预测外,一个重要的好处就是估计预测的不确定性。图2-15展示了在一个一维回归任务上的结果,图中横轴表示输入数据,纵轴表示对应的预测结果,黑点表示训练数据,黑线表示真实的回归曲线,蓝线表示模型的回归曲线,蓝色的阴影范围表示不确定性。可以观察到,贝叶斯神经网络不仅在数据密集的中间部分给出了精确的预测,并且在因数据稀少而无法精确预测的两侧给出了非常高的不确定性。基于这种不确定性估计,贝叶斯神经网络在面对输入是异常的、少见的或者噪声大的数据时,能及时地反馈给使用者,避免错误的预测造成损失。