深度学习中的结构化概率模型 - 从图模型中采样篇

序言

在深度学习的广阔领域里,结构化概率模型占据了举足轻重的地位,它们为处理复杂数据结构和高维数据空间提供了强大的工具。这些模型不仅能够捕捉数据之间的依赖关系,还能生成符合数据分布的新样本,为机器学习应用注入了无限的创意与可能。其中,从图模型中采样是理解和利用结构化概率模型的核心技术之一。图模型,如贝叶斯网络、马尔可夫随机场等,通过节点表示变量,边表示变量间的依赖关系,构建了一个直观且强大的框架来描述复杂数据的统计特性。从图模型中采样,意味着我们能够基于这个框架生成符合其定义的概率分布的随机样本,这些样本在训练数据不足或需要进行创造性扩展时尤为宝贵。

从图模型中采样

  • 图模型同样简化了从模型中采样的过程。
  • 有向图模型的一个优点是,可以通过一个简单高效的被称作是原始采样 ( Ancestral Sampling \text{Ancestral Sampling} Ancestral Sampling) 的过程从由模型表示的联合分布中抽取样本。
  • 其基本思想是将图中的变量 x i \text{x}_i xi 使用拓扑排序,使得对于所有 i i i 和 j j j,如果 x i \text{x}_i xi是 x j \text{x}_j xj 的一个父亲结点,则 j j j 大于 i i i。
    • 然后可以按此顺序对变量进行采样。
    • 换句话说,我们可以首先采 x 1 ∼ P ( x 1 ) \text{x}_1 \sim P(\text{x}_1) x1∼P(x1),然后采 x 2 ∼ P ( x 2 ∣ P a G ( x 2 ) ) \text{x}_2 \sim P(\text{x}2 \mid P{a\mathcal{G}}(\text{x}_2)) x2∼P(x2∣PaG(x2)),以此类推,直到最后我们从 P ( x n ∣ P a G ( x n ) ) P(\text{x}n \mid P{a\mathcal{G}}(\text{x}_n)) P(xn∣PaG(xn)) 中采样。
    • 只要从每个条件分布 x i ∼ P ( x i ∣ P a G ( x i ) ) x_i \sim P(\text{x}i \mid P{a\mathcal{G}}(\text{x}_i)) xi∼P(xi∣PaG(xi)) 中采样都是很容易的,那么很容易从整个模型中抽样。
    • 拓扑排序操作保证我们可以按照深度学习中的结构化概率模型 - 使用图来描述模型结构篇 - 公式1中条件分布的顺序依次采样。
    • 如果没有拓扑排序,我们可能会尝试在其父节点可用之前对该变量进行抽样。
  • 对于一些图,可能有多个拓扑排序。原始采样可以使用这些拓扑排序中的任何一个。
  • ++原始采样++ 通常非常快(假设从每个条件分布中采样都是很容易的)并且方便。
    • 原始采样的一个缺点是其仅适用于有向图模型。
    • 另一个缺点是它并不是每次采样都是条件采样操作。
    • 当我们希望从有向图模型中变量的子集中抽样时,给定一些其他变量,我们经常要求所有给定的条件变量在图中比要抽样的变量的顺序要早。
    • 在这种情况下,我们可以从模型分布指定的局部条件概率分布进行抽样。
    • 否则,我们需要采样的条件分布是给定观测变量的后验分布。
    • 这些后验分布在模型中通常没有明确指定和参数化。
    • 推断这些后验分布的代价可能是昂贵的。在这种情况下的模型中,原始采样不再有效。
  • 不幸的是,原始采样仅适用于有向模型。
    • 我们可以通过将无向模型转换为有向模型来实现从无向模型中抽样,但是这通常需要解决棘手的推断问题(以确定新有向图的根节点上的边缘分布),或者需要引入许多边从而会使得到的有向模型变得难以处理。
    • 从无向模型抽样,而不首先将其转换为有向模型的做法似乎需要解决循环依赖的问题。
    • 每个变量与每个其他变量相互作用,因此对于抽样过程没有明确的起点。
    • 不幸的是,从无向模型中抽取样本是一个昂贵的多次迭代的过程。
    • 理论上最简单的方法是Gibbs采样 ( Gibbs Sampling \text{Gibbs Sampling} Gibbs Sampling)。
    • 假设我们在一个 n n n 维向量的随机变量 x \textbf{x} x 上有一个图模型。
    • 我们迭代地访问每个变量 x i x_i xi,在给定其他变量的条件下从 p ( x i ∣ x − i ) p(\text{x}i \mid \text{x}{−i}) p(xi∣x−i)中抽样。
    • 由于图模型的分离性质,抽取 x i x_i xi 的时候我们可以等价地仅对 x i \text{x}_i xi 的邻居条件化。
    • 不幸的是,在我们遍历图模型一次并采样所有 n n n 个变量之后,我们仍然无法得到一个来自 p ( x ) p(\textbf{x}) p(x) 的客观样本。
    • 相反,我们必须重复该过程并使用它们邻居的更新值对所有 n n n 个变量重新取样。
    • 在多次重复之后,该过程渐近地收敛到正确的目标分布。
    • 很难确定样本何时达到所期望分布的足够精确的近似。

总结

在图模型中进行采样,是深度学习及结构化概率模型研究中的一个关键步骤,它不仅深化了我们对数据内在结构和生成机制的理解,还为数据增强、模拟仿真、艺术创作等领域开辟了新途径。通过精心设计的采样算法,如 Gibbs \text{Gibbs} Gibbs(吉布斯采样)、 MCMC \text{MCMC} MCMC(马尔可夫链蒙特卡洛)等,我们能够高效地探索图模型定义的复杂概率空间,生成既多样又逼真的样本。随着计算能力的提升和算法的不断优化,从图模型中采样将变得更加高效和精确,进一步推动深度学习及相关领域的发展,为我们解决复杂现实问题提供更加有力的支持。

往期内容回顾

深度学习中的结构化概率模型 - 使用图来描述模型结构篇

相关推荐
chenziang123 分钟前
leetcode hot100 环形链表2
算法·leetcode·链表
车载诊断技术1 小时前
电子电气架构 --- 什么是EPS?
网络·人工智能·安全·架构·汽车·需求分析
KevinRay_1 小时前
Python超能力:高级技巧让你的代码飞起来
网络·人工智能·python·lambda表达式·列表推导式·python高级技巧
跃跃欲试-迪之1 小时前
animatediff 模型网盘分享
人工智能·stable diffusion
Captain823Jack2 小时前
nlp新词发现——浅析 TF·IDF
人工智能·python·深度学习·神经网络·算法·自然语言处理
被制作时长两年半的个人练习生2 小时前
【AscendC】ReduceSum中指定workLocal大小时如何计算
人工智能·算子开发·ascendc
Captain823Jack2 小时前
w04_nlp大模型训练·中文分词
人工智能·python·深度学习·神经网络·算法·自然语言处理·中文分词
Black_mario3 小时前
链原生 Web3 AI 网络 Chainbase 推出 AVS 主网, 拓展 EigenLayer AVS 应用场景
网络·人工智能·web3
Aileen_0v03 小时前
【AI驱动的数据结构:包装类的艺术与科学】
linux·数据结构·人工智能·笔记·网络协议·tcp/ip·whisper
数信云 DCloud3 小时前
实力认可 | 通付盾入选《ISC.AI 2024创新能力全景图谱》五项领域
人工智能