序言
在深度学习的广阔领域中,结构化概率模型占据了举足轻重的地位。这类模型不仅捕捉了数据间的复杂关联与依赖性,还通过概率图的形式直观地表达了这些关系,为处理复杂数据提供了强大的框架。推断,作为结构化概率模型中的核心任务之一,旨在基于给定的观测数据,计算模型中未观测变量的后验概率分布或某些特定查询的概率值。然而,由于实际问题的复杂性,精确的推断往往计算量巨大甚至不可行,这就催生了对近似推断方法的研究与应用。
推断和近似推断
-
解决变量之间如何相互关联的问题是我们使用概率模型的一个主要方式。
- 给定一组医学测试,我们可以询问患者可能患有什么疾病。
- 在一个潜变量模型中,我们可能需要提取能够描述可观察变量 v \textbf{v} v 的特征 E [ h ∣ v ] \mathbb{E}[\textbf{h} \mid \textbf{v}] E[h∣v]。
- 有时我们需要解决这些问题来执行其他任务。
- 我们经常使用最大似然的准则来训练我们的模型。
- 由于 log p ( v ) = E h ∼ p ( h ∣ v ) [ log p ( h , v ) − log p ( h ∣ v ) ] \log p(\boldsymbol{v})=\mathbb{E}_{\textbf{h}\sim p(\textbf{h}\mid \boldsymbol{v})}[\log p(\boldsymbol{h},\boldsymbol{v})-\log p(\boldsymbol{h}\mid\boldsymbol{v})] logp(v)=Eh∼p(h∣v)[logp(h,v)−logp(h∣v)] — 公式1 \quad\textbf{---\footnotesize{公式1}} —公式1
- 学习过程中,我们经常需要计算 p ( h ∣ v ) p(\textbf{h}\mid\boldsymbol{v}) p(h∣v)。
- 所有这些都是推断 ( inference \text{inference} inference) 问题的例子,其中我们必须预测给定其他变量的情况下一些变量的值,或者在给定其他变量值的情况下预测一些变量的概率分布。
-
不幸的是,对于大多数有趣的深度模型来说,这些推断问题都是难以处理的,即使我们使用结构化图模型来简化它们。图结构允许我们用合理数量的参数来表示复杂的高维分布,但是用于深度学习的图并不满足这样的条件,从而难以实现高效地推断。
-
可以直接看出,计算一般图模型的边缘概率是 # P-hard \# \text{P-hard} #P-hard 的。
- 复杂性类别 # P \# \text{P} #P是复杂性类别 NP \text{NP} NP 的泛化。
- NP \text{NP} NP 中的问题仅仅需要确定问题是否有解决方案,并找到一个解决方案(如果存在)。
- # P \# \text{P} #P 中的问题需要计算解决方案的数量。
- 要构建最坏情况的图模型,想象一下我们在 3-SAT \text{3-SAT} 3-SAT 问题中定义了二进制变量的图模型。
- 我们可以对这些变量施加均匀分布。
- 然后我们可以为每个子句添加一个二进制潜变量,来表示每个子句是否成立。
- 然后,我们可以添加另一个潜变量,来表示所有子句是否成立。
- 这可以通过构造一个潜变量的缩减树来完成,树中的每个结点表示其他两个变量是否成立,从而不需要构造一个大的团。
- 该树的叶是每个子句的变量。
- 树的根表示整个问题是否成立。
- 由于子句的均匀分布,缩减树跟结点的边缘分布表示子句有多少比例是成立的。
- 虽然这是一个设计的最坏情况的例子, NP-hard \text{NP-hard} NP-hard 图确实是频繁地出现在现实世界的场景中。
-
这促使我们使用近似推断。在深度学习中,这通常涉及变分推断,其中通过寻求尽可能接近真实分布的近似分布 q ( h ∣ v ) q(\textbf{h} \mid \textbf{v}) q(h∣v) 来逼近真实分布 p ( h ∣ v ) p(\textbf{h} \mid \boldsymbol{v}) p(h∣v)。
总结
近似推断方法作为深度学习中处理结构化概率模型不可或缺的工具,通过一系列高效的算法和技术,如变分推断、蒙特卡洛方法、消息传递算法(如信念传播)等,有效地逼近了难以直接计算的后验分布。这些方法不仅降低了计算复杂度,还保持了足够的精度以支持各种实际应用,如自然语言处理中的语义分析、图像识别中的场景理解以及生物信息学中的基因序列分析等。随着深度学习技术的不断进步,近似推断方法也在持续创新和发展,为构建更加复杂、精准的结构化概率模型提供了坚实的支撑,进一步推动了人工智能领域的繁荣与发展。