深度学习中的结构化概率模型 - 推断和近似推断篇

devtools/2024/12/22 21:35:32/

序言

深度学习的广阔领域中,结构化概率模型占据了举足轻重的地位。这类模型不仅捕捉了数据间的复杂关联与依赖性,还通过概率图的形式直观地表达了这些关系,为处理复杂数据提供了强大的框架。推断,作为结构化概率模型中的核心任务之一,旨在基于给定的观测数据,计算模型中未观测变量的后验概率分布或某些特定查询的概率值。然而,由于实际问题的复杂性,精确的推断往往计算量巨大甚至不可行,这就催生了对近似推断方法的研究与应用。

推断和近似推断

  • 解决变量之间如何相互关联的问题是我们使用概率模型的一个主要方式。

    • 给定一组医学测试,我们可以询问患者可能患有什么疾病。
    • 在一个潜变量模型中,我们可能需要提取能够描述可观察变量 v \textbf{v} v 的特征 E [ h ∣ v ] \mathbb{E}[\textbf{h} \mid \textbf{v}] E[hv]
    • 有时我们需要解决这些问题来执行其他任务。
    • 我们经常使用最大似然的准则来训练我们的模型。
    • 由于 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)=Ehp(hv)[logp(h,v)logp(hv)] — 公式1 \quad\textbf{---\footnotesize{公式1}} 1
    • 学习过程中,我们经常需要计算 p ( h ∣ v ) p(\textbf{h}\mid\boldsymbol{v}) p(hv)
    • 所有这些都是推断 ( 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(hv) 来逼近真实分布 p ( h ∣ v ) p(\textbf{h} \mid \boldsymbol{v}) p(hv)

总结

近似推断方法作为深度学习中处理结构化概率模型不可或缺的工具,通过一系列高效的算法和技术,如变分推断、蒙特卡洛方法、消息传递算法(如信念传播)等,有效地逼近了难以直接计算的后验分布。这些方法不仅降低了计算复杂度,还保持了足够的精度以支持各种实际应用,如自然语言处理中的语义分析、图像识别中的场景理解以及生物信息学中的基因序列分析等。随着深度学习技术的不断进步,近似推断方法也在持续创新和发展,为构建更加复杂、精准的结构化概率模型提供了坚实的支撑,进一步推动了人工智能领域的繁荣与发展。

往期内容回顾

深度学习中的结构化概率模型 - 引言篇
深度学习中的结构化概率模型 - 结构化建模的优势篇


http://www.ppmy.cn/devtools/122278.html

相关文章

Elasticsearch基础_4.ES搜索功能

文章目录 一、搜索辅助功能1.1、指定返回的字段1.2、结果计数1.3、结果分页 二、搜索匹配功能2.1、查询所有文档2.2、term级别查询2.2.1、term查询2.2.2、terms查询2.2.3、range查询2.2.4、exists查询 2.3、布尔查询2.3.1、must,should,must_not2.3.2、f…

测试管理新增视图与高级搜索功能,测试计划支持一键生成缺陷详情,MeterSphere开源持续测试工具v3.3版本发布

2024年9月29日,MeterSphere开源持续测试工具正式发布v3.3版本。 在这一版本中,接口测试方面,接口导入功能支持导入Postman、JMX、HAR和MeterSphere格式的文件,接口场景的自定义请求步骤支持cURL快捷导入;测试管理方面…

深入理解JavaScript 的原型继承

JavaScript 的原型链继承机制和 Java 的类继承机制有明显的区别,虽然它们都用于实现对象之间的继承,但它们的实现方式、概念以及运行机制都不同。 1. JavaScript 的原型继承 JavaScript 是基于原型链的继承,主要依赖对象的 __proto__ 属性或…

Springboot3 + MyBatis-Plus + MySql + Vue + ProTable + TS 实现后台管理商品分类(最新教程附源码)

Springboot3 MyBatis-Plus MySql Uniapp 商品加入购物车功能实现(针对上一篇sku) 1、效果展示2、数据库设计3、后端源码3.1 application.yml 方便 AliOssUtil.java 读取3.2 model 层3.2.1 BaseEntity3.2.1 GoodsType3.2.3 GoodsTypeSonVo3.3 Controll…

C# 泛型使用案例_C# 泛型使用整理

一、系统自带常用的泛型 1.字典&#xff0c;集合 //字典 Dictionary<string, int> dic new Dictionary<string, int>(); //泛型集合 List<int> list new List<int>(); 2.泛型委托&#xff0c;输入参数&#xff0c;输出参数 //泛型 委托---输出参…

如何快速切换电脑的ip地址

在当今的数字化时代&#xff0c;IP地址作为网络身份的重要标识&#xff0c;其重要性日益凸显。无论是出于保护个人隐私的需要&#xff0c;还是为了访问特定的网络服务等&#xff0c;快速切换电脑的IP地址已成为许多用户的迫切需求。本文将为你介绍几种实用的方法&#xff0c;帮…

安装Rust

Rust 是一种系统级编程语言&#xff0c;旨在提供高性能和内存安全&#xff0c;同时避免常见的编程错误。 由 Mozilla Research 推出&#xff0c;Rust 自推出以来因其独特的设计理念和强大的功能而在开发者社区中迅速获得了广泛的关注和采用。 curl --proto ‘https’ --tlsv1.2…

MQTT--Java整合EMQX

目录 1、简介2、准备3、使用步骤3.1 引入依赖3.2 创建生产者和消费者3.3 测试 总结PS: 1、简介 本文章实现了一个简单的MQTT客户端&#xff0c;使用Eclipse Paho库让Java和EMQX整合&#xff0c;测试客户端初始化时配置Broker地址、客户端ID、用户名和密码。连接成功后&#xf…