A survey on Bayesian deep learning贝叶斯深度学习综述
https://dl.acm.org/doi/pdf/10.1145/3409383
https://arxiv.org/pdf/1604.01662
一个全面的人工智能系统不仅需要用不同的“感官”(例如看到和听到)来感知环境,还需要推断世界的条件(甚至因果)关系和相应的不确定性。过去十年,许多感知任务取得了重大进展,例如使用深度学习模型的视觉对象识别和语音识别。然而,对于更高级别的推理,具有贝叶斯性质的概率图模型仍然更强大和灵活。近年来,贝叶斯深度学习作为统一的概率框架出现,将深度学习和贝叶斯模型紧密结合 1 。在这个通用框架中,使用深度学习对文本或图像的感知可以提高更高级别推理的性能,反过来,推理过程的反馈能够增强对文本或图像的感知。本综述对贝叶斯深度学习进行了全面的介绍,并回顾了其在推荐系统、主题模型、控制等方面的最新应用。此外,我们还讨论了贝叶斯深度学习与其他相关主题(例如神经网络的贝叶斯处理)之间的关系和区别。
CCS概念:• 计算数学 → 概率表示; • 信息系统 → 数据挖掘; • 计算方法学 → 神经网络。
附加关键词和短语:深度学习、贝叶斯网络、概率图模型、生成模型。
1、简介
在过去的十年中,深度学习在许多流行的感知任务中取得了巨大的成功,包括视觉对象识别、文本理解和语音识别。这些任务分别对应人工智能(AI)系统的看、读、听能力,它们对于AI有效感知环境无疑是不可或缺的。然而,要构建一个实用且全面的人工智能系统,仅仅具备感知能力是远远不够的。首先,它应该具备思考的能力。
一个典型的例子是医学诊断,它远远超出了简单的感知:除了看到可见的症状(或CT的医学图像)和听到患者的描述外,医生还必须寻找所有症状之间的关系,并最好推断出相应的病因。只有在此之后,医生才能为患者提供医疗建议。在这个例子中,虽然视觉和听觉的能力可以让医生从病人那里获取信息,但定义医生的是思维部分。具体来说,这里的思维能力可能涉及识别条件依赖、因果推理、逻辑推演以及处理不确定性,这显然超出了传统深度学习方法的能力。
幸运的是,另一种机器学习范式,概率图模型(PGM),擅长概率或因果推理以及处理不确定性。
问题在于,PGM 在感知任务上不如深度学习模型,感知任务通常涉及大规模和高维信号(例如图像和视频)。
因此,为了解决这个问题,将深度学习和 PGM 统一在一个有原则的概率框架内是一个自然的选择,我们在本文中将其称为贝叶斯深度学习(BDL)。
在上面的例子中,感知任务涉及感知患者的症状(例如,通过查看医学图像),而推理任务涉及处理条件依赖性、因果推理、逻辑演绎和不确定性。通过贝叶斯深度学习的原则性整合,感知任务和推理任务被视为一个整体,可以相互受益。
具体来说,能够看到医学图像可以帮助医生进行诊断和推断。另一方面,诊断和推理反过来可以帮助理解医学图像。
假设医生可能不确定医学图像中的黑点是什么,但如果她能够推断出症状和疾病的病因,就可以帮助她更好地确定黑点是否是肿瘤。
以推荐系统( CDL,; DBLP:conf/aaai/LuDLX015,; DBLP:journals/tkde/AdomaviciusK12,; ricci2011introduction,; DBLP:conf/recsys/LiuMLY11,)为例。高度准确的推荐系统需要
(1)透彻理解项目内容(例如文档和电影中的内容)(DBLP:journals/tkde/Park13),
(2)仔细分析用户的个人资料/偏好(DBLP:journals/) tkde/WeiMJ05,; DBLP:journals/tkde/YapTP07,; DBLP:conf/aaai/ZhengCZXY10,),
以及 (3) 正确评估用户之间的相似性 ( DBLP:journals/tkde/CaiLLMTL14,; DBLP:journals/tkde/ TangQZX13,;DBLP:期刊/tkde/HornickT12,;DBLP:期刊/tkde/BartoliniZP11,)。深度学习能够有效处理密集的高维数据(例如电影内容),擅长第一个子任务,而 PGM 专注于对用户、项目和评分之间的条件依赖关系进行建模(参见图 7 作为示例,其中 𝐮 、 𝐯 和 𝐑 分别是用户潜在向量、项目潜在向量和评级)优于其他两个。因此,将它们统一在一个原则性的概率框架中可以让我们两全其美。
这种集成还带来了额外的好处,即可以优雅地处理推荐过程中的不确定性。更重要的是,我们还可以对具体模型进行贝叶斯处理,从而产生更稳健的预测(CDL;ColVAE)。
作为第三个示例,考虑根据从摄像机接收到的实时视频流来控制复杂的动态系统。这个问题可以转化为迭代执行两个任务:原始图像的感知和基于动态模型的控制。
处理原始图像的感知任务可以通过深度学习来处理,而控制任务通常需要更复杂的模型,例如隐马尔可夫模型和卡尔曼滤波器(harrison1999bayesian,; DBLP:conf / uai / MatsubaraGK14,)。然后,控制模型选择的动作可以依次影响接收到的视频流,从而完成反馈循环。
为了实现感知任务和控制任务之间的有效迭代过程,我们需要信息在它们之间来回流动。
感知组件将成为控制组件估计其状态的基础,并且内置动态模型的控制组件将能够预测未来的轨迹(图像)。因此贝叶斯深度学习是解决这个问题的合适选择(watter2015embed)。请注意,与推荐系统的示例类似,原始图像中的噪声和控制过程中的不确定性都可以在这样的概率框架下自然地处理。
上述示例证明了 BDL 作为统一深度学习和 PGM 的原则方式的主要优势:感知任务和推理任务之间的信息交换、高维数据的条件依赖以及不确定性的有效建模。在不确定性方面,值得注意的是,当BDL应用于复杂任务时,需要考虑三种参数不确定性:
通过对隐藏单元、定义神经网络的参数或指定条件依赖性的模型参数施加先验,BDL 可以在某种程度上避免过度拟合,尤其是当我们没有足够的数据时。通常,BDL 模型由两个组件组成,一个是感知组件,它是某种类型神经网络的贝叶斯公式,另一个是特定于任务的组件,它使用 PGM 描述不同隐藏或观察变量之间的关系。正规化对他们来说都至关重要。神经网络通常严重过度参数化,因此需要进行适当的正则化。
权重衰减和 dropout(srivastava2014dropout)等正则化技术被证明可以有效提高神经网络的性能,并且它们都具有贝叶斯解释(gal2015dropout)。就特定于任务的组成部分而言,专家知识或先验信息作为一种正则化,可以通过我们在数据稀缺时施加的先验将其纳入模型中以指导模型。
将 BDL 应用到实际任务中也存在挑战。
(1) 首先,设计一个具有合理时间复杂度的高效贝叶斯神经网络公式并非易事。该工作线由 (mackay1992practical,;hinton1993keeping,;neal1995bayesian,) 首创,但由于缺乏可扩展性,尚未被广泛采用。幸运的是,最近在这个方向上取得了一些进展( DBLP:conf/nips/Graves11,; kingma2013auto,; DBLP:conf/icml/Hernandez-Lobato15b,; DBLP:conf/icml/BlundellCKW15,; balan2015bayesian,; CDL,; NPN,)似乎揭示了 2 贝叶斯神经网络 3 的实际应用。
(2)第二个挑战是确保感知组件和特定任务组件之间高效且有效的信息交换。
理想情况下,一阶和二阶信息(例如平均值和方差)都应该能够在两个分量之间来回流动。
一种自然的方法是将感知组件表示为 PGM,并将其无缝连接到特定于任务的 PGM,如(RSDAE、CDL、DPFA)中所做的那样。
这项调查提供了 BDL 的全面概述以及各种应用的具体模型。调查的其余部分组织如下:在第 2 节中,我们回顾了一些基本的深度学习模型。第 3 节介绍了 PGM 的主要概念和技术。这两部分作为 BDL 的预备部分,下一部分(第 4 部分)演示了统一 BDL 框架的基本原理,并详细介绍了实现其感知组件和特定任务组件的各种选择。第 5 节回顾了应用于推荐系统、主题模型和控制等各个领域的 BDL 模型,分别展示了 BDL 在监督学习、无监督学习和通用表示学习中的工作原理。第六部分讨论了一些未来的研究问题并总结了本文。
2.深度学习
深度学习通常指两层以上的神经网络。为了更好地理解深度学习,这里我们从最简单的神经网络——多层感知器(MLP)开始,作为例子来展示传统深度学习的工作原理。之后,我们将回顾其他几种基于 MLP 的深度学习模型。
2.1.多层感知器
本质上,多层感知器是一系列参数非线性变换。假设我们要训练多层感知器来执行回归任务,将 𝑀 维度的向量映射到 𝐷 维度的向量。我们将输入表示为矩阵 𝐗0 ( 0 表示它是感知器的第 0 层)。 𝐗0 的第 𝑗 行表示为 𝐗0,𝑗∗ ,是表示一个数据点的 𝑀 维向量。目标(我们想要拟合的输出)表示为 𝐘 。类似地, 𝐘𝑗∗ 表示 𝐷 维行向量。学习 𝐿 层多层感知器的问题可以表述为以下优化问题:
其中 𝜎(⋅) 是矩阵的逐元素 sigmoid 函数, 𝜎(𝑥)=11+exp(−𝑥) 。 ∥⋅∥𝐹 表示弗罗贝尼乌斯范数。施加 𝜎(⋅) 的目的是允许非线性变换。通常, tanh(𝑥) 和 max(0,𝑥) 等其他转换可以用作 sigmoid 函数的替代。
这里 𝐗𝑙 ( 𝑙=1,2,…,𝐿−1 ) 是隐藏单元。正如我们所看到的,一旦给出 𝐗0 、 𝐖𝑙 和 𝐛𝑙 ,就可以轻松计算 𝐗𝐿 。由于 𝐗0 作为输入给出,因此这里只需要学习 𝐖𝑙 和 𝐛𝑙 。通常这是使用反向传播和随机梯度下降(SGD)来完成的。关键是计算目标函数相对于 𝐖𝑙 和 𝐛𝑙 的梯度。将目标函数的值表示为 𝐸 ,可以使用链式法则计算梯度:
其中 𝑙=1,…,𝐿 和正则化项被省略。 ∘ 表示逐元素乘积, 𝑚𝑒𝑎𝑛(⋅,1) 是矩阵上的 matlab 运算。在实践中,我们仅使用一小部分数据(例如, 128 数据点)来计算每次更新的梯度。这称为随机梯度下降。
我们可以看到,在传统的深度学习模型中,只有 𝐖𝑙 和 𝐛𝑙 是自由参数,我们将在优化的每次迭代中更新它们。 𝐗𝑙 不是一个自由参数,因为如果给定 𝐖𝑙 和 𝐛𝑙 则可以精确计算它。
自动编码器 (AE) 是一种前馈神经网络,用于将输入编码为更紧凑的表示,并使用学习到的表示重建输入。
在最简单的形式中,自动编码器只不过是中间有瓶颈层(具有少量隐藏单元的层)的多层感知器。自动编码器的想法已经存在了几十年(lecun-87,; bourlard1988auto,;hinton1994autoencoders,; dlbook,)并且已经提出了丰富的自动编码器变体来增强表示学习,包括稀疏AE(poultney2006efficient),对比AE(rifai2011contractive) ,以及去噪 AE (DBLP:journals/jmlr/VincentLLBM10,)。有关更多详细信息,请参阅最近一本关于深度学习的好书(dlbook)。在这里,我们介绍一种多层去噪 AE,称为堆叠去噪自动编码器(SDAE),既作为 AE 变体的示例,又作为其在第 4 节中基于 BDL 的推荐系统的应用背景。
SDAE(DBLP:journals/jmlr/VincentLLBM10)是一种前馈神经网络,用于通过学习预测输出中的干净输入本身来学习输入数据的表示(编码),如图 1(左)所示。中间的隐藏层,即图中的 𝐗2 ,可以被限制为学习紧凑表示的瓶颈。传统 AE 和 SDAE 之间的区别在于输入层 𝐗0 是干净输入数据 𝐗𝑐 的损坏版本。 SDAE 本质上解决了以下优化问题:
其中 𝜆 是正则化参数。这里SDAE可以被视为用于上一节中描述的回归任务的多层感知器。 MLP 的输入 𝐗0 是数据的损坏版本,目标 𝐘 是数据 𝐗𝑐 的干净版本。例如, 𝐗𝑐 可以是原始数据矩阵,我们可以将 𝐗𝑐 中的条目 30% 随机设置为 0 并得到 𝐗0 。简而言之,SDAE 学习一个神经网络,将噪声数据作为输入,并在最后一层恢复干净的数据。这就是名称中“去噪”的含义。通常,中间层的输出,即图1(左)中的 𝐗2 ,将用于紧凑地表示数据。
卷积神经网络 (CNN) 可以被视为 MLP 的另一种变体。与最初设计用于执行降维的 AE 不同,CNN 是受生物学启发的。根据(hubel1968receptive),在猫的视觉皮层中已经鉴定出两种类型的细胞。
一种是对其感受野内的特定模式做出最大反应的简单细胞,另一种是具有较大感受野的复杂细胞,其被认为对模式的位置具有局部不变性。
受这些发现的启发,CNN 中的两个关键概念得到了发展:卷积和最大池化。
卷积:在 CNN 中,特征图是输入和线性滤波器卷积的结果,然后进行一些逐元素非线性变换。这里的输入可以是原始图像或上一层的特征图。具体来说,通过输入 𝐗 、权重 𝐖𝑘 、偏差 𝑏𝑘 ,第 𝑘 特征图 𝐇𝑘 可以可以通过如下方式得到:
请注意,在上面的等式中,我们假设一个输入特征图和多个输出特征图。在实践中,由于 CNN 的深层结构,通常也有多个输入特征图。图 1(右)显示了具有 4 输入特征图和 2 输出特征图的卷积层。
最大池化:传统上,CNN 中的卷积层后面是最大池化层,可以将其视为一种非线性下采样。 max-pooling的操作很简单。例如,如果我们有一个大小为 6×9 的特征图,则使用 3×3 区域进行最大池化的结果将是大小为 2×3 的下采样特征图。下采样特征图中的每个条目是 6×9 特征图中对应 3×3 区域的最大值。最大池层不仅可以通过忽略非最大条目来降低计算成本,而且还可以提供局部平移不变性。
总而言之:通常为了形成一个完整且有效的 CNN,输入会在卷积层和最大池层之间交替,然后再进入 MLP 执行分类或回归等任务。一个经典的例子是 LeNet-5 (lecun1998gradient),它在进入目标任务的全连接 MLP 之前在 2 卷积层和 2 最大池层之间交替。
阅读一篇文章时,人们通常一次读一个单词,并尝试根据前面的单词来理解当前单词。这是一个需要短期记忆的循环过程。不幸的是,如图 2(左)所示的传统前馈神经网络无法做到这一点。例如,假设我们在阅读一篇文章时想要不断预测下一个单词。由于前馈网络仅将输出 𝐨 计算为 𝐕𝑞(𝐖𝐱) ,其中函数 𝑞(⋅) 表示逐元素非线性变换,因此尚不清楚网络如何自然地建模预测下一个单词的单词序列。
为了解决这个问题,我们需要一个循环神经网络(dlbook)而不是前馈神经网络。如图2(中)所示,当前隐藏状态 𝐡𝑡 的计算取决于当前输入 𝐱𝑡 (例如,第 𝑡 个单词)和之前的隐藏状态 𝐡𝑡−1 。这就是RNN中存在循环的原因。正是这个循环实现了 RNN 中的短期记忆。 RNN 中的 𝐡𝑡 表示网络迄今为止在第 𝑡 时间步知道的内容。为了更清楚地看到计算过程,我们可以展开循环并表示 RNN,如图 2(右)所示。如果我们使用双曲正切非线性( tanh ),输出 𝐨𝑡 的计算将如下:
其中 𝐘 、 𝐖 和 𝐕 表示输入到隐藏、隐藏到隐藏和隐藏到输出连接的权重矩阵,分别, 𝐛 和 𝐜 是相应的偏差。如果任务是在每个时间步对输入数据进行分类,我们可以将分类概率计算为 𝐩𝑡=softmax(𝐨𝑡) ,其中
与前馈网络类似,RNN 使用称为随时间反向传播 (BPTT) (dlbook) 的广义反向传播算法进行训练。本质上,梯度是通过展开的网络计算的,如图 2(右)所示,所有时间步骤共享权重和偏差。
2.4.2.门控循环神经网络
上述普通 RNN 的问题在于,在多个时间步上传播的梯度很容易消失或爆炸,使得优化变得非常困难。
此外,通过 RNN 的信号呈指数衰减,因此无法对长序列中的长期依赖性进行建模。想象一下,我们想要预测段落中的最后一个词“我有很多书……我喜欢阅读”。为了得到答案,我们需要“长期记忆”来检索文本开头的信息(“书”这个词)。
为了解决这个问题,长短期记忆模型(LSTM)被设计为一种门控 RNN,用于在相对较长的时间内建模和积累信息。
LSTM 背后的直觉是,当处理由多个子序列组成的序列时,神经网络在继续处理下一个子序列(dlbook)之前总结或忘记旧状态有时很有用。使用 𝑡=1…𝑇𝑗 来索引序列中的单词,LSTM 的公式如下(为了符号简单起见,我们删除项目索引 𝑗 ):
输出取决于输出门 𝐡𝑡𝑜 ,它有自己的权重和偏差 𝐘𝑜 、 𝐖𝑜 和 𝐛𝑜 :
请注意,在 LSTM 中,处理序列的信息包含在单元状态 𝐬𝑡 和输出状态 𝐡𝑡 中,它们都是长度为 𝐾𝑊 .
与( sutskever2014sequence,; DBLP:conf/emnlp/ChoMGBBSB14,)类似,我们可以使用第一个时间步最后一个时间步的输出状态和单元状态( 𝐡𝑇𝑗 和 𝐬𝑇𝑗 ) LSTM 作为第二个 LSTM 的初始输出状态和单元状态。这样,两个 LSTM 可以连接起来形成编码器-解码器架构,如图 3 所示。
请注意,有大量关于深度学习和神经网络的文献。本节的介绍仅作为贝叶斯深度学习的背景。读者可参考(dlbook)进行全面调查和更多详细信息。
3.概率图模型
概率图形模型 (PGM) 使用图形表示来描述随机变量及其之间的关系。
与包含节点(顶点)和链接(边)的图类似,PGM 具有表示随机变量的节点和表示它们之间的概率关系的链接。
3.1.模型
PGM 本质上有两种类型,有向 PGM(也称为贝叶斯网络)和无向 PGM(也称为马尔可夫随机场)(PRML)。在本次调查中,我们主要关注定向 PGM 4 。有关无向 PGM 的详细信息,请读者参考(PRML)。
PGM 的一个经典例子是潜在狄利克雷分配(LDA),它被用作主题模型来分析文档中单词和主题的生成(LDA)。通常 PGM 附带模型的图形表示和生成过程来描述如何逐步生成随机变量的故事。图4展示了LDA的图形模型,相应的生成过程如下:
上面的生成过程提供了如何生成随机变量的故事。在图 4 的图形模型中,阴影节点表示观察到的变量,而其他节点表示潜在变量( 𝜽 和 𝐳 )或参数( 𝛼 和 𝛽 )。一旦定义了模型,就可以应用学习算法来自动学习潜在变量和参数。
由于其贝叶斯特性,PGM(如LDA)易于扩展以包含其他信息或执行其他任务。例如,继LDA之后,提出了不同变体的主题模型。[7,113]被提出来纳入时间信息,[6]通过假设主题之间的相关性来扩展LDA。[44]将LDA从批处理模式扩展到在线设置,使其能够处理大型数据集。在推荐系统方面,协同主题回归(CTR)[112]扩展了LDA以纳入评级信息并进行推荐。然后,该模型进一步扩展以纳入社交信息[89,115,116]。
严格来说,寻找参数(例如图4中的 𝛼 和 𝛽 )的过程称为学习,而寻找潜在变量(例如 𝜽 )的过程称为学习。图4中的b2>和 𝐳 )给出的参数称为推理。然而,如果仅给出观察到的变量(例如图 4 中的 𝐰 ),学习和推理通常是交织在一起的。通常LDA的学习和推理会在潜在变量的更新(对应于推理)和参数的更新(对应于学习)之间交替进行。
一旦LDA的学习和推理完成,就可以得到学习到的参数 𝛼 和 𝛽 。如果出现新文档,现在可以修复学习到的 𝛼 和 𝛽 ,然后单独进行推理以找到新文档的主题比例 𝜃𝑗 。 5
与LDA类似,每个PGM都可以使用各种学习和推理算法。其中,最具成本效益的可能是最大后验概率(MAP),它相当于最大化潜在变量的后验概率。
使用 MAP,学习过程相当于通过正则化最小化(或最大化)目标函数。一个著名的例子是概率矩阵分解(PMF)(PMF),其中图模型的学习相当于用 L2 正则化将一个大矩阵分解为两个低秩矩阵。
MAP 尽管高效,但只为我们提供潜在变量(和参数)的点估计。为了考虑不确定性并充分利用贝叶斯模型的威力,人们必须求助于贝叶斯处理方法,例如变分推理和马尔可夫链蒙特卡罗 (MCMC)。
例如,原始 LDA 使用变分推理通过分解变分分布 (LDA) 来近似真实后验。潜在变量和参数的学习可以归结为最小化变分分布和真实后验分布之间的 KL 散度。除了变分推理之外,贝叶斯处理的另一个选择是 MCMC。
例如,诸如(porteous2008fast)之类的MCMC算法已经被提出来学习LDA的后验分布。
4.贝叶斯深度学习
有了深度学习和 PGM 的基础知识,现在我们准备介绍 BDL 的总体框架和一些具体示例。
具体来说,在本节中,我们将列出一些最新的 BDL 模型及其在推荐系统、主题模型、控制等方面的应用。这些模型的摘要如表 1 所示。
与 BDL 高度相关的一个主题是贝叶斯神经网络 (BNN) 或神经网络的贝叶斯处理。与任何贝叶斯处理类似,BNN 对神经网络的参数施加先验,旨在学习这些参数的后验分布。
在推理阶段,这样的分布被边缘化以产生最终的预测。一般来说,这样的过程称为贝叶斯模型平均(PRML),可以看作是学习无限数量(或分布在)神经网络,然后通过集成聚合结果。
BNN 的研究可以追溯到 20 世纪 90 年代,著名著作来自 (mackay1992practical,;hinton1993keeping,;neal1995bayesian,)。多年来,出现了大量的作品(DBLP:conf/nips/Graves11,; kingma2013auto,; DBLP:conf/icml/Hernandez-Lobato15b,; DBLP:conf/icml/BlundellCKW15,; balan2015bayesian,; MaxNPN,)以实现更好的可扩展性并结合深度神经网络的最新进展。由于 BNN 的悠久历史,“贝叶斯深度学习”一词有时特指“贝叶斯神经网络”(maddox2019simple;BDL-report)。在本次调查中,我们在更广泛的意义上使用“贝叶斯深度学习”来指代包含贝叶斯神经网络的概率框架。要看到这一点,请注意,具有感知组件和空的特定于任务组件的 BDL 模型相当于贝叶斯神经网络(这两个组件的详细信息将在 4.2 节中讨论)。
有趣的是,虽然 BNN 始于 90 年代,但更广泛意义上的 BDL 研究大约开始于 2014 年(RSDAE,;CDL,;DPFM,;BDL-thesis,),稍晚于 2012 年 ImageNet LSVRC 竞赛中深度学习的突破( krizhevsky2012imagenet,)。正如我们将在后面的章节中看到的,BNN 通常用作 BDL 模型中的感知组件。
如今,BDL 越来越受欢迎,在推荐系统和计算机视觉等领域找到了成功的应用,并成为各种会议研讨会的主题(例如 NeurIPS BDL 研讨会 6 )。
4.2.总体框架
正如第 1 节中提到的,BDL 是一个有原则的概率框架,具有两个无缝集成的组件:感知组件和特定于任务的组件。
两个组件:图 5 显示了一个简单 BDL 模型的 PGM 作为示例。左侧红色矩形内的部分代表感知组件,右侧蓝色矩形内的部分是特定于任务的组件。
通常,感知组件是深度学习模型的概率公式,具有多个非线性处理层,在 PGM 中表示为链结构。
虽然感知组件中的节点和边相对简单,但特定任务组件中的节点和边通常描述变量之间更复杂的分布和关系。
具体来说,特定于任务的组件可以采取多种形式。例如可以是LDA等典型的贝叶斯网络(有向PGM)、深度贝叶斯网络(BIN),也可以是随机过程(ross1996stochastic;RPPU),所有这些都可以用PGM的形式来表示。
三组变量:BDL 模型中有三组变量:感知变量、铰链变量和任务变量。在本文中,我们使用 𝛀𝑝 来表示感知变量集(例如,图 5 中的 𝐗0 、 𝐗1 和 𝐖1 ),它们是感知分量中的变量。通常 𝛀𝑝 将包括深度学习模型的概率公式中的权重和神经元。 𝛀ℎ 用于表示铰链变量集(例如图 5 中的 𝐇 )。这些变量直接与特定任务组件的感知组件交互。任务变量集(例如图 5 中的 𝐀 、 𝐁 和 𝐂 ),即任务特定组件中与任务没有直接关系的变量感知组件,表示为 𝛀𝑡 。
监督和无监督学习的生成过程:如果两个组件之间的边指向 𝛀ℎ ,则所有变量的联合分布可以写为:
如果两个分量之间的边源自 𝛀ℎ ,则所有变量的联合分布可以写为:
等式(2)和(3)假设了不同的数据生成过程,并对应于不同的学习任务。 前者通常用于监督学习,其中感知组件充当概率(或贝叶斯)表示学习器,以促进任何下游任务(有关一些示例,请参见第 5.1 节)。后者通常用于无监督学习,其中特定于任务的组件提供结构化约束和领域知识,以帮助感知组件学习更强的表示(有关一些示例,请参见第 5.2 节)。
请注意,除了这两种普通情况之外,BDL 还可能在两个组件之间同时具有一些指向 𝛀ℎ 的边和一些源自 𝛀ℎ 的边,在这种情况下,BDL 的分解联合分配会更加复杂。
独立性要求:铰链变量 𝛀ℎ 和相关条件分布的引入简化了模型(特别是当 𝛀ℎ 的入度或出度为 1 时) ,促进学习,并提供归纳偏差将信息集中在 𝛀ℎ 内。请注意,铰链变量始终位于特定于任务的组件中;为了方便感知组件中的并行计算,铰链变量 𝛀ℎ 和感知组件之间的连接(例如图5中的 𝐗4→𝐇 )通常应该是独立的。例如, 𝐇 中的每一行仅与 𝐗4 中的一个对应行相关。尽管在 BDL 模型中不是强制性的,但满足这一要求将显着提高模型训练中并行计算的效率。
𝛀ℎ 的方差灵活性:如第 1 节所述,BDL 的动机之一是对感知组件和特定任务组件之间交换信息的不确定性进行建模,这归结为对与 𝛀ℎ 。例如,这种不确定性反映在等式(2) 7 中的条件密度 𝑝(𝛀ℎ|𝛀𝑝) 的方差中。根据灵活程度, 𝛀ℎ 有三种类型的方差(为简单起见,我们假设BDL的联合似然为方程(2)、 𝛀𝑝={𝑝} 、 𝛀ℎ={ℎ} 在我们的示例中):
理想情况下,感知组件应该是概率或贝叶斯神经网络,以便与本质上是概率性的特定任务组件兼容。
这是为了确保感知组件具有处理参数及其输出的不确定性的内置能力。
正如4.1节中提到的,贝叶斯神经网络的研究可以追溯到20世纪90年代(mackay1992practical,;hinton1993keeping,;neal1995bayesian,;DBLP:conf/nips/Graves11,)。
然而,当时的开创性工作由于缺乏可扩展性而没有被广泛采用。为了解决这个问题,最近出现了一些发展,例如受限玻尔兹曼机(RBM)(DBN-fast,; RBM,),概率广义堆叠去噪自动编码器(pSDAE)(RSDAE,; CDL,),变分自动编码器(VAE) ( kingma2013auto,), 概率反向传播 (PBP) ( DBLP:conf/icml/Hernandez-Lobato15b,), Backprop 贝叶斯 (BBB) ( DBLP:conf/icml/BlundellCKW15,), 贝叶斯暗知识 (BDK) ( balan2015bayesian ,) 和自然参数网络 (NPN) ( NPN,)。
最近,生成对抗网络(GAN)(GAN)作为训练神经网络的新训练方案盛行,并在生成逼真图像方面显示出前景。后来,GAN 的贝叶斯公式(以及相关的理论结果)也被提出(GAN;ProbGAN)。这些模型也是作为 BDL 框架感知组件的潜在构建块。
在本小节中,我们主要介绍最近的贝叶斯神经网络,例如 RBM、pSDAE、VAE 和 NPN。我们建议读者参考 (dlbook),了解该方向的早期工作。
受限玻尔兹曼机 (RBM) 是一种特殊的 BNN,因为 (1) 它没有经过反向传播 (BP) 训练,并且 (2) 它的隐藏神经元是二元的。具体来说,RBM 定义了以下能量:
其中 𝐯 表示可见(观察到)神经元, 𝐡 表示二元隐藏神经元。 𝐖 、 𝐚 和 𝐛 是可学习的权重。能量函数导致以下条件分布:
RBM 使用“对比散度”(DBN-fast)而不是 BP 进行训练。经过训练,RBM 可以通过边缘化其他神经元来推断 𝐯 或 𝐡 。还可以将RBM层堆叠起来形成深度信念网络(DBN)(DBN-speech),使用深度RBN的多个分支进行多模态学习(MultRBM),或者将DBN与卷积层结合起来形成卷积DBN(ConvDBN) ,)。
在 2.2 节介绍 SDAE 之后,如果我们假设同时观察到干净的输入 𝐗𝑐 和损坏的输入 𝐗0 ,类似于 ( PRML,; mackay1992practical,; DBLP:conf /nips/BengioYAV13,; nmSDAE,),我们可以定义概率SDAE的生成过程如下:
请注意,如果 𝜆𝑠 趋于无穷大,方程 (5) 中的高斯分布将变为以 𝜎(𝐗𝑙−1,𝑗∗𝐖𝑙+𝐛𝑙) 为中心的狄拉克 delta 分布 (strichartz2003guide,),其中 𝜎(⋅) 是 sigmoid 函数,模型将退化为普通 SDAE 的贝叶斯公式。这就是为什么我们称其为“广义”SDAE。
网络的前 𝐿/2 层充当编码器,最后的 𝐿/2 层充当解码器。后验概率的最大化相当于考虑权值衰减的重构误差的最小化。
继 pSDAE 之后,其卷积版本(CKE)和循环版本(CRAE)均已被提出并应用于知识库嵌入和推荐系统。
变分自动编码器 (VAE) ( kingma2013auto) 本质上是尝试学习最大化证据下界 (ELBO) 的参数 𝜙 和 𝜃 :
其中 𝑞𝜙(𝐳|𝐱) 是由 𝜙 参数化的编码器, 𝑝𝜃(𝐱|𝐳) 是由 𝜃 参数化的解码器。第一项的否定类似于普通 AE 中的重构误差,而 KL 散度则充当编码器的正则化项。在训练期间, 𝑞𝜙(𝐳|𝐱) 将输出高斯分布的均值和方差,通过重新参数化技巧从中对 𝐳 进行采样。通常 𝑞𝜙(𝐳|𝐱) 由具有两个分支的 MLP 参数化,一个产生均值,另一个产生方差。
与 pSDAE 的情况类似,已经提出了各种 VAE 变体。例如,重要性加权自动编码器 (IWAE) (IWAE) 通过重要性加权得出更严格的下界,(LSTM-VAE-CNN) 结合 LSTM、VAE 和扩张 CNN 进行文本建模,(VRNN) 提出了一个循环版本VAE 被称为变分 RNN (VRNN)。
与通常采用确定性输入的普通神经网络不同,NPN(NPN)是一种以分布作为输入的概率神经网络。输入分布经过线性和非线性变换层以产生输出分布。在 NPN 中,所有隐藏神经元和权重也是以封闭形式表示的分布。
请注意,这与 VAE 形成对比,其中只有中间层输出 𝐳 是分布。
举一个简单的例子,在普通的线性神经网络中 𝑓𝑤(𝑥)=𝑤𝑥 将标量 𝑥 作为输入,并根据标量参数 𝑤 计算输出;相应的高斯 NPN 会假设 𝑤 是从高斯分布 𝒩(𝑤𝑚,𝑤𝑠) 中得出的,而 𝑥 是从 𝒩(𝑥𝑚,𝑥𝑠) 中得出的 ( 𝑥𝑠 )。将 𝜃=(𝑤𝑚,𝑤𝑠) 作为可学习参数对,NPN 将计算封闭形式的输出高斯分布 𝜇𝜃(𝑥𝑚,𝑥𝑠) 和 𝑠𝜃(𝑥𝑚,𝑥𝑠) 的均值和方差(忽略偏差项)为了清楚起见)为:
因此,该高斯 NPN 的输出是表示高斯分布的元组 (𝜇𝜃(𝑥𝑚,𝑥𝑠),𝑠𝜃(𝑥𝑚,𝑥𝑠)) ,而不是单个值。如果不可用,NPN 的输入方差 𝑥𝑠 可以设置为 0 。请注意,由于 𝑠𝜃(𝑥𝑚,0)=𝑥𝑚2𝑤𝑠 、 𝑤𝑚 和 𝑤𝑠 仍然可以学习,即使 𝑥𝑠=0 对于所有数据点也是如此。上述推导被推广到实践中处理向量和矩阵(NPN)。除了高斯分布之外,NPN 还支持其他指数族分布,例如泊松分布和伽马分布 (NPN)。
继 NPN 之后,提出了轻量级版本(LightNPN)来加速训练和推理过程。另一种变体,MaxNPN(MaxNPN),扩展了 NPN 来处理最大池化和分类层。 ConvNPN(ConvNPN)启用NPN中的卷积层。在模型量化和压缩方面,也提出了BinaryNPN(BinaryNPN)作为NPN的二进制版本,以达到更好的效率。
在本小节中,我们将介绍不同形式的特定于任务的组件。特定于任务组件的目的是将概率先验知识合并到 BDL 模型中。这些知识可以使用 PGM 自然地表示。
具体来说,它可以是典型的(或浅层的)贝叶斯网络(BayesNetBook;PRML)、双向推理网络(BIN)或随机过程(ross1996stochastic)。
贝叶斯网络是特定任务组件最常见的选择。正如第 3 节中提到的,贝叶斯网络可以自然地表示条件依赖性并处理不确定性。除了上面介绍的LDA之外,一个更直接的例子是概率矩阵分解(PMF)(PMF),其中使用贝叶斯网络来描述用户、项目和评分之间的条件依赖关系。具体来说,PMF 假设以下生成过程:
请注意,我们还可以通过完全贝叶斯处理对超参数施加另一层先验。例如,(BPMF)对潜在因子的精度矩阵施加先验,并通过吉布斯采样学习贝叶斯 PMF。
在第 5.1 节中,我们将展示如何将 PMF 用作特定于任务的组件以及定义的感知组件以显着提高推荐系统的性能。
典型的贝叶斯网络假设随机变量之间存在“浅层”条件依赖关系。 在生成过程中,一个随机变量(可以是潜在的或观察到的)通常是从由其父变量的线性组合参数化的条件分布中得出的。例如,在 PMF 中,评级 𝐑𝑖𝑗 是从主要由 𝐮𝑖 和 𝐯𝑗 的线性组合参数化的高斯分布得出的,即 𝐑𝑖𝑗∼𝒩(𝐮𝑖𝑇𝐯𝑗,𝐂𝑖𝑗−1)
这种“浅层”和线性结构可以用非线性甚至深层非线性结构代替,以形成深层贝叶斯网络。例如,双向推理网络 (BIN) (BIN) 是一类深度贝叶斯网络,它能够在每个条件分布中实现深度非线性结构,同时保留将先验知识合并为贝叶斯网络的能力。
例如,图 6(左)显示了一个 BIN,其中每个条件分布均由贝叶斯神经网络参数化。具体来说,此示例假设进行以下因式分解:
普通贝叶斯网络通过简单的线性运算对每个分布进行参数化。例如, 𝑝(𝑣2|𝑋,𝑣1)=𝒩(𝑣2|𝑋𝑤0+𝑣1𝑤1+𝑏,𝜎2) )。相比之下,BIN(作为深度贝叶斯网络)使用 BNN。例如,BIN 有 𝑝(𝑣2|𝑋,𝑣1)=𝒩(𝑣2|𝜇𝜃(𝑋,𝑣1),𝑠𝜃(𝑋,𝑣1)) ,其中 𝜇𝜃(𝑋,𝑣1) 和 𝑠𝜃(𝑋,𝑣1) 是 BNN 的输出均值和方差。这种深度贝叶斯网络的推理和学习是通过在所有 BNN 上执行 BP 来完成的(例如图 6(左)中的 BNN 1、2 和 3)(BIN,)。
与普通(浅)贝叶斯网络相比,BIN 等深层贝叶斯网络可以有效且高效地处理深层和非线性条件依赖关系。
此外,以 BNN 作为构建块,基于深度贝叶斯网络的特定任务组件可以更好地与通常也是 BNN 的感知组件配合使用。图 6(右)显示了一个更复杂的情况,其中包含观察到的(阴影节点)和未观察到的(透明节点)变量。
除了普通贝叶斯网络和深度贝叶斯网络之外,特定于任务的组件还可以采用随机过程的形式(ross1996stochastic)。例如,维纳过程可以自然地描述连续时间布朗运动模型 𝐱𝑡+𝑢|𝐱𝑡∼𝒩(𝐱𝑡,𝜆𝑢𝐈 ),其中 𝐱𝑡+𝑢 和 𝐱𝑡 是时间 𝑡 。在图形模型文献中,这样的过程已被用来对文章随时间的连续时间主题演变进行建模(cDTM)。
另一个例子是在自动语音识别 (ASR) (RPPU) 中使用泊松过程对音素的边界位置进行建模。请注意,这是 ASR 中的一个基本问题,因为语音只不过是一系列音素。具体来说,泊松过程定义了生成过程 Δ𝑡𝑖=𝑡𝑖−𝑡𝑖−1∼𝑔(𝜆(𝑡)) ,其中 𝒯={𝑡1,𝑡2,…,𝑡𝑁} 作为边界位置的集合,而 𝑔(𝜆(𝑡)) 是参数为 𝜆(𝑡) (也称为强度)。
这种随机过程自然地模拟了连续时间内音素边界的出现。参数 𝜆(𝑡) 可以是将原始语音信号作为输入的神经网络的输出(RPPU,;IFL,;NN-SP,)。
有趣的是,随机过程可以被视为一种动态贝叶斯网络。为了看到这一点,我们可以以等效形式重写上面的泊松过程,其中给定 𝑡𝑖−1 , 𝑡𝑖 在时间 𝑡 没有发生的概率,< b3>。显然维纳过程和泊松过程都是马尔可夫过程,可以用动态贝叶斯网络(Murphybook,)来表示。
为了清楚起见,我们在第 5 节中重点讨论使用普通贝叶斯网络作为特定于任务的组件;如有必要,它们可以自然地替换为其他类型的特定于任务的组件,以表示不同的先验知识。
在本节中,我们将讨论 BDL 框架如何促进监督学习、无监督学习和表示学习。具体来说,我们使用推荐系统、主题模型、控制等领域的示例。
尽管深度学习在自然语言处理和计算机视觉方面取得了成功的应用,但在 BDL 出现之前,很少有人尝试开发用于协同过滤(CF)的深度学习模型。 (DBLP:
conf/icml/SalakhutdinovMH07,)使用受限玻尔兹曼机而不是传统的矩阵分解公式来执行CF,并且(DBLP:conf/icml/GeorgievN13,)通过合并用户-用户和项目-项目相关性扩展了这项工作。虽然这些方法都涉及深度学习和CF,但它们实际上属于基于CF的方法,因为它们忽略了用户或项目的内容信息,而这对于准确推荐至关重要。
(DBLP:conf/icassp/SainathKSAR13)在深度网络的最后一个权重层中使用低秩矩阵分解来显着减少模型参数的数量并加快训练速度,但它是用于分类而不是推荐任务。在音乐推荐上,(DBLP:conf/nips/OordDS13;DBLP:conf/mm/WangW14)直接使用传统的CNN或深度信念网络(DBN)来辅助内容信息的表示学习,但其模型的深度学习组件在没有对噪声进行建模的情况下是确定性的,因此它们的鲁棒性较差。这些模型主要通过松散耦合的方法来实现性能提升,而不利用内容信息和评级之间的交互。
此外,CNN 直接与评分矩阵相连,这意味着当评分稀疏时,模型会因严重过拟合而表现不佳。
为了解决上述挑战,(CDL)中引入了一种称为协作深度学习(CDL)的分层贝叶斯模型,作为推荐系统的一种新颖的紧耦合方法。基于 SDAE 的贝叶斯公式,CDL 将内容信息的深度表示学习与评级(反馈)矩阵的协作过滤紧密结合起来,允许两者之间进行双向交互。
从 BDL 的角度来看,作为感知组件的概率 SDAE 与作为特定任务组件的概率图形模型紧密耦合。实验表明,CDL 显着改进了现有技术。
在下文中,我们将首先介绍在介绍 CDL 时使用的符号。接下来我们回顾一下CDL的设计和学习。
符号和问题表述:与(CTR,)中的工作类似,CDL中考虑的推荐任务采用隐式反馈(DBLP:conf/icdm/HuKV08,)作为训练和测试数据。 𝐽 项目(文章或电影)的整个集合由 𝐽 × 𝐵 矩阵 𝐗𝑐 表示,其中行 < b4> 是项目 𝑗 的词袋向量 𝐗𝑐,𝑗∗ ,基于大小为 𝐵 的词汇表。对于 𝐼 用户,我们定义一个 𝐼 × 𝐽 二元评分矩阵 𝐑=[𝐑𝑖𝑗]𝐼×𝐽 。例如,在数据集 citeulike-a ( CTR,; CTRSR,; CDL,) 𝐑𝑖𝑗=1 中,如果用户 𝑖 在他或她的个人图书馆中有文章 𝑗 否则 𝐑𝑖𝑗=0 。给定 𝐑 中的部分评分和内容信息 𝐗𝑐 ,问题是预测 𝐑 中的其他评分。请注意,虽然 CDL 目前的重点是电影推荐(其中电影情节被视为内容信息)和文章推荐(如本节中的(CTR)),但它足以处理其他推荐任务(例如标签推荐) 。
矩阵 𝐗𝑐 充当 SDAE 的干净输入,而噪声损坏的矩阵(也是一个 𝐽 -by- 𝐵 矩阵,由 < 表示) b3>。 SDAE 层 𝑙 的输出由 𝐗𝑙 表示,它是一个 𝐽 × 𝐾𝑙 矩阵。与 𝐗𝑐 类似, 𝐗𝑙 的行 𝑗 由 𝐗𝑙,𝑗∗ 表示。 𝐖𝑙 和 𝐛𝑙 分别是层 𝑙 的权重矩阵和偏置向量, 𝐖𝑙,∗𝑛 表示列 𝑛 的 > , 𝐿 是层数。为了方便起见,我们使用 𝐖+ 来表示所有层权重矩阵和偏差的集合。请注意, 𝐿/2 层SDAE对应于 𝐿 层网络。
协作深度学习:以4.3.2节中的概率SDAE为组件,CDL的生成过程定义如下:
这里 𝜆𝑤 、 𝜆𝑛 、 𝜆𝑢 、 𝜆𝑠 和 𝜆𝑣 是超参数, 𝐂𝑖𝑗 是一个类似于 CTR (CTR,) 的置信度参数(如果 𝐑𝑖𝑗=1 则为 𝐂𝑖𝑗=𝑎 ,否则为 𝐂𝑖𝑗=𝑏 )。请注意,中间层 𝐗𝐿/2 充当评级和内容信息之间的桥梁。这个中间层以及潜在偏移 𝜖𝑗 是使 CDL 能够同时学习有效的特征表示并捕获项目(和用户)之间的相似性和(隐式)关系的关键。与广义 SDAE 类似,我们也可以将 𝜆𝑠 取为无穷大以提高计算效率。
当 𝜆𝑠 接近正无穷大时 CDL 的图形模型如图 7 所示,其中,为了符号简单起见,我们使用 𝐱0 、 𝐱𝐿/2 和 𝐱𝐿 分别代替 𝐗0,𝑗∗𝑇 、 𝐗𝐿2,𝑗∗𝑇 和 𝐗𝐿,𝑗∗𝑇 。
请注意,根据 4.2 节中的定义,这里是感知变量
𝛀𝑝={{𝐖𝑙},{𝐛𝑙},{𝐗𝑙},𝐗𝑐} 、铰链变量 𝛀ℎ={𝐕} 和任务变量 𝛀𝑡={𝐔,𝐑} 。
学习:基于上述CDL模型,所有参数都可以视为随机变量,以便可以应用完全贝叶斯方法,例如马尔可夫链蒙特卡罗(MCMC)或变分推理(DBLP:journals/ml/JordanGJS99)。然而,这种处理通常会产生较高的计算成本。因此,CDL 使用 EM 风格的算法来获取 MAP 估计,如 (CTR,) 中所示。
具体来说,请注意,最大化后验概率相当于最大化 𝐔 、 𝐕 、 {𝐗𝑙} 、 𝐗𝑐 的联合对数似然, {𝐖𝑙} 、 {𝐛𝑙} 和 𝐑 给定 𝜆𝑢 、 𝜆𝑣 、 𝜆𝑤 、 < b10> 和 𝜆𝑛 :
其中编码器函数 𝑓𝑒(⋅,𝐖+) 将项目 𝑗 的损坏的内容向量 𝐗0,𝑗∗ 作为输入并计算其编码,并且函数 𝑓𝑟(⋅,𝐖+) 也将 𝐗0,𝑗∗ 作为输入,计算编码,然后重建项目 𝑗 的内容向量。例如,如果层数为 𝐿=6 ,则 𝑓𝑒(𝐗0,𝑗∗,𝐖+) 是第三层的输出,而 𝑓𝑟(𝐗0,𝑗∗,𝐖+) 是第六层的输出。
从优化的角度来看,目标函数中的第三项,即上面的方程(5.1.1)相当于一个使用潜在项目向量 𝐯𝑗 作为目标的多层感知器,而第四项项相当于 SDAE 最小化重建误差。从神经网络(NN)的角度来看,当 𝜆𝑠 接近正无穷大时,图7(左)中CDL的概率图形模型的训练将退化为同时训练两个神经网络叠加在一起,并用一个共同的神经网络进行训练。输入层(损坏的输入)但输出层不同,如图 8(左)所示。请注意,由于涉及评级矩阵,第二个网络比典型的神经网络复杂得多。
当比率 𝜆𝑛/𝜆𝑣 接近正无穷大时,它将退化为两步模型,其中使用 SDAE 学习的潜在表示直接放入 CTR 中。当 𝜆𝑛/𝜆𝑣 变为零时会发生另一个极端,此时 SDAE 的解码器基本上消失。图 7(右)显示了当 𝜆𝑛/𝜆𝑣 变为零时退化的 CDL 的图形模型。正如实验所证明的,对于两种极端情况(CDL),预测性能都会受到很大影响。
对于 𝐮𝑖 和 𝐯𝑗 ,使用类似于 (CTR,; DBLP:conf/icdm/HuKV08,) 的块坐标下降。给定当前的 𝐖+ ,我们计算 ℒ 相对于 𝐮𝑖 和 𝐯𝑗 的梯度,然后将它们设置为零,从而导致更新规则如下:
回想一下,在 CDL 中,概率 SDAE 和 PMF 充当感知和特定于任务的组件。正如第 4 节中提到的,这两个组件可以采取不同的形式,从而产生不同的具体模型。例如,可以用 VAE 或 NPN 代替概率 SDAE 作为感知组件(ColVAE)。还可以使用贝叶斯 PMF (BPMF) 而不是 PMF (PMF) 作为特定于任务的组件,从而产生更稳健的预测。
在下面的小节中,我们从不同的角度提供了 CDL 的几种扩展。
除了 MAP 估计之外,(CDL,) 中还提出了一种用于 CDL 贝叶斯处理的基于采样的算法。该算法被证明是 BP 的贝叶斯和广义版本。我们列出了关键的条件密度如下:
有趣的是,如果 𝜆𝑠 趋于无穷大并且使用自适应拒绝 Metropolis 采样(涉及使用目标函数的梯度来近似提案分布),则 𝐖+ 的采样结果为是 BP 的贝叶斯广义版本。具体来说,如图8(右)所示,得到损失函数在某一点(左侧红色虚线)的梯度后,下一个样本将绘制在该线下方的区域,相当于概率BP 版本。
如果样本位于损失函数的曲线之上,则会添加一条新的切线(右侧的黑色虚线),以更好地逼近损失函数对应的分布。之后,将从两条线下方的区域抽取样本。 在采样过程中,除了使用梯度(MAP)搜索局部最优外,算法还考虑了方差。这就是为什么它被称为贝叶斯广义反向传播(CDL)。
在 SDAE 中,损坏的输入通过编码器和解码器来恢复干净的输入。通常,不同时期的训练使用不同的损坏版本作为输入。
因此,一般来说,SDAE 需要经过足够多的训练周期才能看到足够多的输入损坏版本。边缘化 SDAE (mSDAE) (mSDAE) 试图通过边缘化损坏的输入并直接获得封闭式解决方案来避免这种情况。从这个意义上说,mSDAE 比 SDAE 的计算效率更高。
正如(li2015deep)中提到的,使用 mSDAE 代替贝叶斯 SDAE 可以带来更高效的学习算法。例如,在(li2015deep)中,使用一层mSDAE时的目标可以写成如下:
其中 𝐗~0,𝑗∗ 是 𝑘 不同损坏版本的 𝐗0,𝑗∗ 的集合(一个 𝑘 -by- 𝐵 矩阵)和 𝐗¯𝑐,𝑗∗ 是 𝐗𝑐,𝑗∗ 的 𝑘 次重复版本(也是 𝑘 -by- 𝐵 矩阵)。 𝐏1 是项目潜在因子的变换矩阵。
𝐖1 的解决方案是 𝐖1=𝐸(𝐒1)𝐸(𝐐1)−1 ,其中 𝐒1=𝐗¯𝑐,𝑗∗𝑇𝐗~0,𝑗∗+𝜆𝑣2𝐏1𝑇𝐕𝐗𝑐 和 𝐐1=𝐗¯𝑐,𝑗∗𝑇𝐗~0,𝑗∗+𝜆𝑣2𝐗𝑐𝑇𝐗𝑐 。 (mSDAE,) 中提供了上述方程中期望的求解器。请注意,这是一种线性单层情况,可以使用与(mSDAE,;nmSDAE,)中相同的技术推广到非线性和多层情况。
边缘化 CDL 的感知变量 𝛀𝑝={𝐗0,𝐗𝑐,𝐖1} 、铰链变量 𝛀ℎ={𝐕} 及其任务变量 𝛀𝑡={𝐏1,𝐑,𝐔} 。
CDL 采用协同过滤设置来直接对评级进行建模。当然,我们可以设计一个类似的模型来更多地关注项目之间的排名而不是精确的评级(yingcollaborative)。相应的生成过程如下:
可以使用类似的算法来学习CDR中的参数。正如(yingcollaborative)中所报道的,使用排名目标可以显着提高推荐性能。按照 4.2 节中的定义,CDR 的感知变量 𝛀𝑝={{𝐖𝑙},{𝐛𝑙},{𝐗𝑙},𝐗𝑐} 、铰链变量 𝛀ℎ={𝐕} 和任务变量 𝛀𝑡={𝐔,𝚫} 。
在 CDL 中,感知组件采用概率 SDAE 的形式。当然,我们也可以用 VAE(在第 4.3.3 节中介绍)替换 CDL 中的概率 SDAE,就像协作变分自动编码器 (CVAE) (ColVAE) 中所做的那样。具体来说,具有表示为 (𝑓𝜇(⋅),𝑓𝑠(⋅)) 的推理网络(编码器)和表示为 𝑔(⋅) 的生成网络(解码器)的 CVAE 假设以下生成过程:
与 CDL 类似, 𝜆𝑛 、 𝜆𝑢 、 𝜆𝑠 和 𝜆𝑣 是超参数, 𝐂𝑖𝑗 是置信度参数(如果 𝐑𝑖𝑗=1 则为 𝐂𝑖𝑗=𝑎 ,否则为 𝐂𝑖𝑗=𝑏 )。按照(ColVAE,),可以导出类似于方程(6)的ELBO,利用该ELBO可以使用BP和重新参数化技巧来训练模型的参数。
从 CDL 到 CVAE 的演变证明了 BDL 框架在其组件特定形式方面的灵活性。还值得注意的是,感知组件可以是概率 SDAE(CRAE)或 VAE(VRNN;ColVAE)的循环版本来处理原始序列数据,而特定于任务的组件可以采取更复杂的形式来容纳更多数据。复杂的推荐场景(例如跨域推荐)。
推荐系统是 BDL 的典型用例,因为它们通常需要对高维信号(例如文本和图像)的透彻理解,以及对用户/项目/评级之间的条件依赖性的原则性推理。
在这方面,CDL 作为 BDL 的实例,是第一个弥合最先进深度学习模型和推荐系统之间差距的分层贝叶斯模型。通过协作执行深度学习,CDL 及其变体可以同时从高维内容中提取有效的深度特征表示,并捕获项目(和用户)之间的相似性和隐含关系。
学习到的表示也可以用于推荐以外的任务。与之前使用分类 (DBLP:journals/acl/KalchbrennerGB14) 和重建 (DBLP:journals/jmlr/VincentLLBM10) 等简单目标的深度学习模型不同,基于 CDL 的模型使用 CF 作为概率框架中更复杂的目标。
正如第 1 节中提到的,两个组件之间的信息交换对于 BDL 的性能至关重要。在上面基于CDL的模型中,交换是通过假设连接铰链变量和感知组件中的变量的高斯分布来实现的(在CDL的生成过程中绘制铰链变量 𝐯𝑗∼𝒩(𝐗𝐿2,𝑗∗𝑇,𝜆𝑣−1𝐈𝐾) ,其中 𝐗𝐿2 是一个感知变量),它简单但计算有效且高效。根据 4.2 节的定义,表 1 中的 8 个基于 CDL 的模型中,其中 6 个为 HV 模型,其余为 LV 模型。由于已证实 HV CDL 的性能显着优于其 ZV 对应产品 (CDL),因此我们可以预期六种 HV 型号的 LV 对应产品会带来额外的性能提升。
除了有效的信息交换之外,模型设计还满足4.2节中讨论的铰链变量分布的独立性要求,因此很容易并行化。在稍后介绍的一些模型中,我们将看到替代设计,以实现 BDL 的两个组件之间高效且独立的信息交换。
请注意,上述基于 BDL 的模型使用典型的静态贝叶斯网络作为其特定于任务的组件。尽管这些通常足以满足大多数用例,但特定于任务的组件可以采用深度贝叶斯网络的形式,例如 BIN (BIN)。这使得模型能够在必要时处理用户和项目之间的高度非线性交互。人们还可以使用随机过程(或一般的动态贝叶斯网络)来显式模拟用户的购买或点击行为。
例如,很自然地将用户购买杂货的行为建模为泊松过程。就感知组件而言,我们还可以将上面的 pSDAE、mSDAE 或 VAE 替换为它们的卷积或循环对应组件(参见第 2.3 节和第 2.4 节),如协作知识库嵌入 (CKE) (CKE) 或协作知识库中所做的那样分别是循环自动编码器(CRAE)(CRAE)。请注意,为了使卷积或循环感知组件与特定任务组件(本质上是概率性的)兼容,理想情况下还需要制定 CNN 或 RNN 的概率版本。读者可参考 (CKE,) 和 (CRAE,) 了解更多详细信息。
总之,本小节以推荐系统为例讨论 BDL 在监督学习方面的应用。下面第 5.2 节将介绍 BDL 在无监督学习方面的应用。
为了演示 BDL 如何应用于无监督学习,我们在本节中回顾一些基于 BDL 的主题模型的示例。
这些模型结合了 PGM(自然地结合了变量之间的概率关系)和 NN(有效学习深度表示)的优点,从而显着提高了性能。在无监督学习的情况下,特定任务组件的“任务”是描述/表征 BDL 模型中的条件依赖关系,从而提高其可解释性和泛化性。 这与监督学习环境不同,监督学习环境中的“任务”只是“匹配目标”。
作为基于 BDL 的主题模型,关系堆叠降噪自动编码器 (RSDAE) 本质上是尝试学习主题层次结构(或潜在因素),同时在无监督学习设置下强制执行关系(图)约束。
问题陈述和符号:假设我们有一组项目(文章或电影) 𝐗𝑐 ,其中 𝐗𝑐,𝑗∗𝑇∈ℝ𝐵 表示项目 𝑗 的内容(属性)。此外,我们使用 𝐈𝐾 表示 𝐾 维单位矩阵,使用 𝐒=[𝐬1,𝐬2,⋯,𝐬𝐽] 表示关系潜在矩阵,使用 𝐬𝑗 表示关系潜在矩阵。项目 𝑗 的属性。
从 SDAE 的角度来看, 𝐽 -by- 𝐵 矩阵 𝐗𝑐 表示 SDAE 的干净输入,相同大小的噪声损坏矩阵为用 𝐗0 表示。此外,我们用 𝐗𝑙 表示 SDAE 层 𝑙 的输出,一个 𝐽 × 𝐾𝑙 矩阵。 𝐗𝑙 的行 𝑗 用 𝐗𝑙,𝑗∗ 表示, 𝐖𝑙 和 𝐛𝑙 是权重矩阵和偏差向量层 𝑙 , 𝐖𝑙,∗𝑛 表示 𝐖𝑙 的列 𝑛 , 𝐿 是层数。作为简写,我们将所有层中权重矩阵和偏差的集合称为 𝐖+ 。请注意, 𝐿/2 层SDAE对应于 𝐿 层网络。
模型公式:在 RSDAE 中,感知组件采用概率 SDAE(在第 4.3.2 节中介绍)的形式作为构建块。在更高的层面上,RSDAE 被表述为一种新颖的概率模型,它无缝地集成了潜在因素的层次结构和可用的相关信息。
这样,模型可以同时从内容信息和项目之间的关系(RSDAE)中学习特征表示。 RSDAE的图形模型如图9所示,生成过程如下:
这里 𝐾=𝐾𝐿2 是每个项目的学习表示向量的维数, 𝐒 表示 𝐾×𝐽 关系潜在矩阵,其中列 𝑗 是项目 𝑗 的关系潜在向量 𝐬𝑗 。请注意,方程 (10) 中的 𝒩𝐾,𝐽(0,𝐈𝐾⊗(𝜆𝑙ℒ𝑎)−1) 是矩阵变量正态分布,定义如下 (gupta2000matrix,):
其中运算符 ⊗ 表示两个矩阵(gupta2000matrix)的克罗内克乘积, tr(⋅) 表示矩阵的迹, ℒ𝑎 是包含以下内容的拉普拉斯矩阵:相关信息。 ℒ𝑎=𝐃−𝐀 ,其中 𝐃 是对角矩阵,其对角元素 𝐃𝑖𝑖=∑𝑗𝐀𝑖𝑗 和 𝐀 是表示关系信息的邻接矩阵,二进制条目表示项目之间的链接(或关系)。 𝐀𝑗𝑗′=1 表示项目 𝑗 与项目 𝑗′ 之间存在链接,否则表示 𝐀𝑗𝑗′=0 之间存在链接。 PoG(𝜎(𝐗𝐿2−1,𝑗∗𝐖𝑙+𝐛𝑙),𝐬𝑗𝑇,𝜆𝑠−1𝐈𝐾,𝜆𝑟−1𝐈𝐾) 表示高斯分布 𝒩(𝜎(𝐗𝐿2−1,𝑗∗𝐖𝑙+𝐛𝑙),𝜆𝑠−1𝐈𝐾) 和高斯分布 𝒩(𝐬𝑗𝑇,𝜆𝑟−1𝐈𝐾) 的乘积,它也是高斯分布。
其中 𝐗𝑙,𝑗∗=𝜎(𝐗𝑙−1,𝑗∗𝐖𝑙+𝐛𝑙) 。请注意,第一项 −𝜆𝑙2tr(𝐒ℒ𝑎𝐒𝑇) 对应于等式(12)中矩阵变量分布中的 log𝑝(𝐒) 。此外,通过简单的操作,我们有 tr(𝐒ℒ𝑎𝐒𝑇)=∑𝑘=1𝐾𝐒𝑘∗𝑇ℒ𝑎𝐒𝑘∗ ,其中 𝐒𝑘∗ 表示 𝐒 的第 𝑘 行。正如我们所看到的,如果项目 𝑗 和项目 𝑗′ 更接近 𝐬𝑗′ > 链接(即 𝐀𝑗𝑗′=1 )( CTRSR,)。
在 RSDAE 中,感知变量 𝛀𝑝={{𝐗𝑙},𝐗𝑐,{𝐖𝑙},{𝐛𝑙}} 、铰链变量 𝛀ℎ={𝐒} 和任务变量 𝛀𝑡={𝐀} 。
学习和推理:(RSDAE)提供了一种用于 MAP 估计的 EM 风格算法。下面我们回顾一下一些关键步骤。
对于 E 步骤,挑战在于关系潜在矩阵 𝐒 的推断。我们首先修复 𝐒 中除 𝑘 行 𝐒𝑘∗ 之外的所有行,然后更新 𝐒𝑘∗ 。具体来说,我们取 ℒ 相对于 𝐒𝑘∗ 的梯度,将其设置为 0,并得到以下线性系统:
正如 (DBLP:conf/ijcai/LiY09,) 中所讨论的,最速下降法极大地降低了从 𝑂(𝐽3) 到 𝑂(𝐽) 每次迭代的计算成本。
M 步骤涉及使用给定 𝐒 的反向传播算法学习每一层的 𝐖𝑙 和 𝐛𝑙 。通过交替更新 𝐒 、 𝐖𝑙 和 𝐛𝑙 ,可以找到 ℒ 的局部最优值。此外,诸如动量项之类的技术可能有助于避免陷入局部最优。
支持非负整数的泊松分布被称为计数建模的自然选择。因此,最好将其用作主题模型的构建块,主题模型通常对字数统计(LDA)感兴趣。出于这个动机,(PFA)提出了一种模型,称为泊松因子分析(PFA),通过泊松分布进行潜在非负矩阵分解。
泊松因子分析:PFA 假设一个离散的 𝑃 × 𝑁 矩阵 𝐗 包含 𝑁 文档的字数,词汇量大小为 𝑃 (PFA,;DPFA,)。简而言之,PFA 可以使用方程 𝐗∼Pois(𝚽(𝚯∘𝐇)) 进行描述,其中 𝚽 (大小为 𝑃 -by- 𝐾 其中 𝐾 为主题数)表示因子分析中的因子负载矩阵,其中 𝑘 第列 𝜙𝑘 编码主题中每个单词的重要性 𝑘 逐 𝑁 矩阵 𝚯 是具有 𝑛 第 𝜽𝑛 列的因子得分矩阵包含文档 𝑛 的主题比例。 𝐾 -by- 𝑁 矩阵 𝐇 是一个潜在的二元矩阵,其第 𝑛 列为 𝐡𝑛 定义一组与文档 𝑛 关联的主题。
不同的先验对应不同的模型。例如,带有全一矩阵 𝐇 的 𝜙𝑘 和 𝜽𝑛 上的狄利克雷先验将恢复 LDA (LDA,),而 𝐡𝑛 引出了(DBLP:journals/pami/ZhouC15,)中的NB-FTM模型。在(DPFA,)中,基于 sigmoid信念网络(SBN)(neal1992,)(具有二进制隐藏单元的MLP变体)的深层结构先验被强加在 𝐡𝑛 上,以形成主题的深层PFA模型造型。
深度泊松因子分析:在深度PFA模型(DPFA)中,生成过程可以概括如下:
其中 𝐿 是SBN的层数,对应于式(15)。 𝑥𝑝𝑛𝑘 是文档 𝑛 中来自主题 𝑘 的单词 𝑝 的计数。
在此模型中,感知变量 𝛀𝑝={{𝐇(𝑙)},{𝐖𝑙},{𝐛𝑙}} 、铰链变量 𝛀ℎ={𝐗} 和任务变量 𝛀𝑡={{𝜙𝑘},{𝑟𝑘},𝚯,𝛾0} 。 𝐖𝑙 是包含 𝐰𝑘𝑙(𝑙) 列的权重矩阵, 𝐛𝑙 是包含等式(15)中 𝑏𝑘𝑙(𝑙) 条目的偏差向量。
使用贝叶斯条件密度过滤进行学习:深度 PFA 的贝叶斯处理需要高效的学习算法。 ( DPFA,) 提出使用称为贝叶斯条件密度过滤 (BCDF) 的 MCMC 在线版本来学习全局参数 𝚿𝑔=({𝜙𝑘},{𝑟𝑘},𝛾0,{𝐖𝑙},{𝐛𝑙}) 和局部变量 𝚿𝑙=(𝚯,{𝐇(𝑙)}) 。用于吉布斯更新的关键条件密度如下:
使用随机梯度恒温器学习:学习深度 PFA 的另一种方法是通过随机梯度 Nóse-Hoover 恒温器 (SGNHT),它更准确且可扩展。 SGNHT 是随机梯度朗之万动力学 (SGLD) (SGLD) 和随机梯度哈密顿蒙特卡罗 (SGHMC) (SGHMC) 的推广。与前两者相比,SGNHT将动量变量引入系统,帮助系统跳出局部最优。具体来说,可以使用以下随机微分方程(SDE):
其中 𝑓~(𝚿𝑔)=−∇𝚿𝑔𝑈~(𝚿𝑔) 和 𝑈~(𝚿𝑔) 是模型的负对数后验。 𝑡 索引时间, 𝒲 表示标准维纳过程。 𝜉 是恒温器变量,用于确保系统具有恒定的温度。 𝐷 是注入的方差,它是一个常数。为了加速收敛,SDE 被推广为:
其中 𝐈 是单位矩阵, 𝚵=diag(𝜉1,…,𝜉𝑀) 、 𝐪=diag(𝑣12,…,𝑣𝑀2) 和 𝑀 是参数的维数。
SGNHT、SGLD 和 SGHMC 都属于称为混合蒙特卡罗 (HMC) (PRML) 的更大类别的采样算法。这个想法是利用与物理系统的类比来指导系统状态的转换。与 Metropolis 算法相比,HMC 可以对系统状态进行更大的改变,同时保持较小的拒绝概率。有关更多详细信息,我们建议读者参考(PRML;neal2011mcmc)。
上面的深度 PFA 模型使用 SBN 作为感知组件。类似地,可以用 RBM (RBM) 替换 SBN(第 4.3.1 节中讨论)以获得可比较的性能。以 RBM 作为感知分量,方程(15)变成类似于方程(4)的条件分布,具有以下能量(RBM,):
可以使用与带有 SBN 的深度 PFA 类似的学习算法。具体来说,采样过程将在 {{𝜙𝑘},{𝛾𝑘},𝛾0} 和 {{𝐖(𝑙)},{𝐜(𝑙)}} 之间交替。前者涉及与基于 SBN 的 DPFA 类似的条件密度。后者是RBM的参数,可以使用对比散度算法进行更新。
这里我们选择主题模型作为示例应用程序来演示如何将 BDL 应用在无监督学习环境中。 在基于 BDL 的主题模型中,感知组件负责从文档推断主题层次结构,而任务特定组件负责对单词生成、主题生成、单词主题关系或文档间关系进行建模。 这两个组件之间的协同作用来自于它们之间的双向相互作用。一方面,主题层次结构的知识有助于对单词和主题进行准确建模,为学习文档间关系提供有价值的信息。 另一方面,准确地建模单词、主题和文档间关系可以帮助发现主题层次结构并学习文档的紧凑潜在因素。
值得注意的是,一些基于BDL的主题模型中的信息交换机制与5.1节中的不同。例如,在基于SBN的DPFA模型中,交换是自然的,因为SBN的底层是 𝐇(1) ,并且 𝐇(1) 和 𝛀ℎ={𝐗} 之间的关系是两者本质上都是概率性的,如方程(15)所示,这意味着不需要对分布进行额外的假设。基于SBN的DPFA模型相当于假设PFA中的 𝐇 是由以SBN底层为中心的狄拉克δ分布(方差为零的高斯分布)生成的, 𝐇(1) .因此,根据 4.2 节的定义,表 1 中的两个 DPFA 模型都是 ZV 模型。值得注意的是,RSDAE是一个HV模型(见方程(11),其中 𝐒 是铰链变量,其他是感知变量),并且天真地将这个模型修改为它的ZV模型会违反i.i.d.第 4.2 节中的要求。
与 5.1 节类似,上面基于 BDL 的主题模型使用典型的静态贝叶斯网络作为特定于任务的组件。当然,人们可以选择使用其他形式的特定于任务的组件。例如,可以直接用随机过程(例如(cDTM)中的维纳过程)替换第 5.2.1 节中的 RDAE 关系先验,以对主题层次结构随时间的演变进行建模。
在第 5.1 节和第 5.2 节中,我们分别介绍了如何在监督和无监督学习环境中应用 BDL。在本节中,我们将使用控制作为示例应用程序来讨论 BDL 如何帮助一般的表示学习。
正如第 1 节中提到的,贝叶斯深度学习还可以应用于从原始图像控制非线性动力系统。考虑根据从摄像机接收到的实时视频流来控制复杂的动态系统。
解决此控制问题的一种方法是通过两个任务之间的迭代、原始图像的感知和基于动态模型的控制。
感知任务可以使用多层简单的非线性变换(深度学习)来处理,而控制任务通常需要更复杂的模型,如隐马尔可夫模型和卡尔曼滤波器(harrison1999bayesian,; DBLP:conf / uai / MatsubaraGK14,)。为了实现感知任务和控制任务之间的有效迭代过程,我们需要它们之间的双向信息交换。
感知组件将是控制组件估计其状态的基础,另一方面,内置动态模型的控制组件将能够通过反转感知过程来预测未来的轨迹(图像)(watter2015embed) 。
作为这个方向的开创性工作之一,(watter2015embed)将此任务提出为表示学习问题,并提出了一个名为 Embed to Control 的模型,以在表示学习期间考虑上述反馈循环。本质上,目标是学习以下表示:(1)从原始图像/视频中捕获语义信息;(2)保留状态空间中的局部线性以方便控制。
如果没有 BDL 框架,这是不可能的,因为感知组件保证第一个子目标,而任务特定组件保证第二个子目标。
下面我们从随机最优控制的一些预备知识开始,然后介绍基于 BDL 的表示学习模型。
接下来(watter2015embed,),我们考虑未知动力系统的随机最优控制如下:
其中 𝑡 索引时间步长, 𝐳𝑡∈ℝ𝑛𝑧 是潜在状态。 𝐮𝑡∈ℝ𝑛𝑢 是在时间 𝑡 时应用的控制, 𝝃 表示系统噪声。等价地,上面的等式可以写为 𝑃(𝐳𝑡+1|𝐳𝑡,𝐮𝑡)=𝒩(𝐳𝑡+1|𝑓(𝐳𝑡,𝐮𝑡),𝚺𝜉) 。因此,我们需要一个映射函数将相应的原始图像 𝐱𝑡 (观察到的输入)映射到潜在空间:
其中 𝑐𝑇(𝐳𝑇,𝐮𝑇) 是终端成本, 𝑐(𝐳𝑡,𝐮𝑡) 是瞬时成本。 𝐳1:𝑇={𝐳1,…,𝐳𝑇} 和 𝐮1:𝑇={𝐮1,…,𝐮𝑇} 分别是状态序列和动作序列。为简单起见,我们可以令 𝑐𝑇(𝐳𝑇,𝐮𝑇)=𝑐(𝐳𝑇,𝐮𝑇) 并使用以下二次成本 𝑐(𝐳𝑡,𝐮𝑡)=(𝐳𝑡−𝐳𝑔𝑜𝑎𝑙)𝑇𝐑𝑧(𝐳𝑡−𝐳𝑔𝑜𝑎𝑙)+𝐮𝑡𝑇𝐑𝑢𝐮𝑡, ,其中 𝐑𝑧∈ℝ𝑛𝑧×𝑛𝑧 和 𝐑𝑢∈ℝ𝑛𝑢×𝑛𝑢 是权重矩阵。 𝐳𝑔𝑜𝑎𝑙 是应该从原始图像(观察到的输入)推断出的目标潜在状态。给定函数 𝑓 、 𝐳¯1:𝑇 (最佳轨迹的当前估计)和 𝐮¯1:𝑇 (相应的控制),动力系统可以线性化为:
为了最小化等式(17)中的函数,我们需要三个关键组件:一个将 𝐱𝑡 编码为 𝐳𝑡 的编码模型,一个用于推断给定 𝐳𝑡+1 的转换模型 (𝐳𝑡,𝐮𝑡) ,以及根据推断的 𝐳𝑡+1 重建 𝐱𝑡+1 的重建模型。
编码模型:编码模型 𝑄𝜙(𝑍|𝑋)=𝒩(𝝁𝑡,diag(𝝈𝑡2)) ,其中均值 𝝁𝑡∈ℝ𝑛𝑧 和对角协方差 𝚺𝑡=diag(𝝈𝑡2)∈ℝ𝑛𝑧×𝑛𝑧 将原始图像 𝐱𝑡 编码为潜在状态 𝐳𝑡 。这里,
其中 ℎ𝜙(𝐱𝑡)enc 是编码网络的输出,以 𝐱𝑡 作为输入。
转换模型:像方程(18)这样的转换模型从 (𝐳𝑡,𝐮𝑡) 推断出 𝐳𝑡+1 。如果我们用 𝑄~𝜓(𝑍~|𝑍,𝐮) 表示近似后验分布来生成 𝐳𝑡+1 ,则完整模型的生成过程为:
其中最后一个方程是稍后讨论的重建模型 𝐂𝑡=𝐀𝑡𝚺𝑡𝐀𝑡𝑇+𝐇𝑡 , 𝐇𝑡 是估计系统噪声的协方差矩阵( 𝝎𝑡∼𝒩(𝟎,𝐇𝑡) )。这里的关键是学习 𝐀𝑡 、 𝐁𝑡 和 𝐨𝑡 ,它们的参数化如下:
其中 ℎ𝜓trans(𝐳𝑡) 是转换网络的输出。
重建模型:如等式(20)的最后部分所述,后验分布 𝑃𝜃(𝑋|𝑍) 从潜在状态 𝐳𝑡 重建原始图像 𝐱𝑡 。伯努利分布的参数 𝐩𝑡=𝐖𝑝ℎ𝜃dec(𝐳𝑡)+𝐛𝑝 ,其中 ℎ𝜃dec(𝐳𝑡) 是第三个网络的输出,称为解码网络或重建网络。将它们放在一起,方程(20)显示了完整模型的生成过程。
以 𝒟={(𝐱1,𝐮1,𝐱2),…,(𝐱𝑇−1,𝐮𝑇−1,𝐱𝑇)} 为训练集,损失函数如下:
ℒ=∑(𝐱𝑡,𝐮𝑡,𝐱𝑡+1)∈𝒟ℒbound(𝐱𝑡,𝐮𝑡,𝐱𝑡+1)+𝜆KL(𝑄~𝜓(𝑍~|𝝁𝑡,𝐮𝑡)∥𝑄𝜙(𝑍|𝐱𝑡+1)), |
---|
其中第一项是每个数据点的边缘化对数似然的变分界:
其中 𝑃(𝑍) 是 𝑍 的先验分布。通过上面的方程,可以使用随机梯度变分贝叶斯来学习参数。
根据式(20)的生成过程和4.2节的定义,感知变量 𝛀𝑝={ℎ𝜙enc(⋅),𝐖𝑝+,𝐱𝑡,𝝁𝑡,𝝈𝑡,𝐩𝑡,ℎ𝜃dec(⋅)} ,其中 𝐖𝑝+ 是 {𝐖𝜇,𝐛𝜇,𝐖𝜎,𝐛𝜎,𝐖𝑝,𝐛𝑝} 的简写。铰链变量 𝛀ℎ={𝐳𝑡,𝐳𝑡+1} 和任务变量 𝛀𝑡={𝐀𝑡,𝐁𝑡,𝐨𝑡,𝐮𝑡,𝐂𝑡,𝝎𝑡,𝐖𝑡+,ℎ𝜓trans(⋅)} ,其中 𝐖𝑡+ 是 {𝐖𝐴,𝐛𝐴,𝐖𝐵,𝐛𝐵,𝐖𝑜,𝐛𝑜} 的简写。
上面的示例模型展示了 BDL 学习满足特定领域要求的表示的能力。在控制的情况下,我们感兴趣的是学习能够从原始输入中捕获语义信息并保持系统状态空间中的局部线性的表示。
为了实现这一目标,基于 BDL 的模型由两个组件组成:一个用于观看实时视频的感知组件,一个用于推断动态系统状态的控制(特定于任务)组件。系统的推理基于感知组件映射的状态和映射的置信度,反过来,控制组件发送的控制信号会影响感知组件接收到的实时视频。
只有当两个组件在统一的概率框架内交互工作时,模型才能充分发挥潜力并实现最佳控制性能。
请注意,上面讨论的基于 BDL 的控制模型使用了与 5.1 节和 5.2 节中不同的信息交换机制:它遵循 VAE 机制,并使用神经网络分别参数化铰链变量的均值和协方差(例如,在编码中)模型中,铰链变量 𝐳𝑡∼𝒩(𝝁𝑡,diag(𝝈𝑡2)) ,其中 𝝁𝑡 和 𝝈𝑡 是参数化的感知变量,如方程(19)),更加灵活(有更多的自由参数)比第 5.1 节中的 CDL 和 CDR 等模型还要使用具有固定方差的高斯分布。请注意,这个基于 BDL 的控制模型是一个 LV 模型,如表 1 所示,并且由于假设协方差是对角的,因此该模型仍然满足 4.2 节中的独立性要求。
BDL 已在监督学习、无监督学习和表示学习中得到了广泛的应用,例如推荐系统、主题模型和控制。在本节中,我们将简要讨论一些可以从 BDL 中受益的应用程序。
链接预测长期以来一直是网络分析中的核心问题,并且最近随着 BDL 和深度神经网络带来的新进展引起了越来越多的兴趣。 (RDL) 提出了第一个基于 BDL 的模型,称为关系深度学习 (RDL),用于链接预测。 Graphite(石墨)使用基于图卷积网络(GCN)的感知组件扩展了 RDL(GCN)。 (SBGNN) 结合了经典的随机块模型 (SBM)(作为特定于任务的组件)和基于 GCN 的感知组件,共同对图中的潜在社区结构和链接生成进行建模,并报告了最先进的性能链接预测。
除了 5.2 节中讨论的主题建模之外,BDL 通常对于自然语言处理也很有用。例如,(S2BS)和(QuaSE)建立在 BDL 原则之上来定义语言修订过程。这些模型通常涉及基于 RNN 的感知组件和连接输入和输出序列的相对简单的特定于任务的组件。
BDL 对于无监督学习环境中的计算机视觉特别强大。这是因为在BDL框架中,我们可以清楚地定义场景中的对象如何根据计数、位置和内容(AIR)等各种因素生成的生成过程。感知组件通常采用概率神经网络的形式,可以专注于对原始图像的视觉特征进行建模,而特定于任务的组件则处理图像中对象的各种属性之间的条件依赖关系。
这个方向的一项值得注意的工作是参加、推断、重复 (AIR) (AIR),其中特定于任务的组件涉及每个对象的位置、比例、外观和存在(与对象计数相关)的潜在变量。继AIR之后,快速AIR(FastAIR)和顺序AIR(SQAIR)等变体被提出来提高其计算效率和性能。除了无监督学习之外,BDL 还可用于监督学习任务,例如视频中的动作识别(ATF),其中使用特定于任务的组件对不同动作之间的条件依赖关系进行建模。
在语音识别和合成领域,研究人员也一直在采用 BDL 框架来提高准确性和可解释性。例如,因子化分层 VAE(FHVAE;SFHVAE)将 VAE 与因子化潜在变量模型(表示为 PGM)组合在一起,以在无监督设置下学习语音数据中的不同潜在因子。类似地,高斯混合VAE(GMVAE)使用高斯混合模型作为特定于任务的组件来实现从文本的可控语音合成。在语音识别方面,循环泊松过程单元(RPPU)改为采用不同形式的任务特定组件;他们使用随机过程(即泊松过程)作为特定于任务的组件来对音素之间的边界进行建模,并成功实现了语音识别的显着降低的单词错误率(WER)。
类似地,深度图随机过程(DGP)(DGP)作为另一种随机过程对图进行操作,对话语之间的关系结构进行建模,进一步提高语音识别的性能。
时间序列预测是经济学、统计学和机器学习领域长期存在的核心问题(harvey1990forecasting)。它在多个领域都有广泛的应用。例如,准确预测区域能源消耗可以为优化能源生产和分配提供有价值的指导。在电子商务中,零售商依靠需求预测来决定何时何地补充供应,从而避免商品缺货并保证为客户提供最快的交货。在像 COVID-19 这样的大流行期间,对医院工作量和医疗供应需求进行合理的预测至关重要,以便在全国范围内最好地分配资源。不用说,理想的预测模型既需要对高维数据进行有效处理,又需要对不同随机变量(观察到的或潜在的)进行复杂的建模。基于 BDL 的预测模型(DeepAR、SQF-RNN、DeepState、DeepFactor)通过基于 RNN 的感知组件和处理不同变量之间的条件依赖关系的特定任务组件来实现这些目标,与之前的非预测模型相比,显示出显着的改进。 BDL 预测模型。
在与医疗保健相关的应用程序中(ravi2016deep),通常需要将人类知识纳入模型中,以提高性能或更重要的是提高可解释性。当模型用于代表性不足的数据时,确保模型的稳健性也至关重要。因此,BDL 提供了一个统一的框架来满足所有这些要求:(1)凭借其贝叶斯性质,它可以施加适当的先验并执行贝叶斯模型平均以提高鲁棒性; (2) 如果需要,其特定任务组件可以自然地代表和融合人类知识; (3) 模型的联合训练为其两个组件提供了可解释性。例如,DPFM(DPFM)提出了一种深度泊松因子模型,本质上是多层泊松因子模型的堆叠,用于分析电子健康记录。 ( BBFDR,) 建立了一个具有特定实验先验(知识)的 BDL 模型,以控制研究分析过程中的错误发现率,并将其应用于癌症药物筛选。 DeepMarkov 开发了深度非线性状态空间模型,并证明了其在处理电子健康记录和执行反事实推理方面的有效性。BDL 模型中的特定任务组件均采用典型贝叶斯网络的形式(如第 4.4.1 节所述)。相比之下,(BIN)提出使用双向推理网络(本质上是一类深度贝叶斯网络)作为特定于任务的组件(如第 4.4.2 节所述)。这使得贝叶斯网络的每个条件分布都具有深度非线性结构,并提高了健康分析等应用的性能。
BDL 致力于将 PGM 和 NN 的优点有机地整合到一个原则性的概率框架中。在这项调查中,我们确定了当前的趋势并回顾了最近的工作。
BDL模型由感知组件和特定任务组件组成;因此,我们分别调查了过去几年开发的两个组件的不同实例,并详细讨论了不同的变体。
为了学习 BDL 中的参数,已经提出了几种类型的算法,从块坐标下降、贝叶斯条件密度过滤、随机梯度恒温器到随机梯度变分贝叶斯。
BDL 从 PGM 的成功和深度学习最近有希望的进展中汲取灵感并广受欢迎。 由于许多现实世界的任务都涉及对高维信号(例如图像和视频)的有效感知和对随机变量的概率推理,因此 BDL 成为利用 NN 感知能力和(条件和因果)推理的自然选择PGM 的能力。
在过去的几年里,BDL在推荐系统、主题模型、随机最优控制、计算机视觉、自然语言处理、医疗保健等各个领域都有了成功的应用。未来,我们可以期待两者更加深入对现有应用程序的研究和对更复杂任务的探索。
此外,高效BNN(作为BDL的感知组件)的最新进展也为进一步提高BDL的可扩展性奠定了基础。