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

news2024/10/7 17:25:02

序言

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

推断和近似推断

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

    • 给定一组医学测试,我们可以询问患者可能患有什么疾病。
    • 在一个潜变量模型中,我们可能需要提取能够描述可观察变量 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.coloradmin.cn/o/2194591.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

自动驾驶系列—智能驾驶中的“换挡革命”:线控换挡技术详解

🌟🌟 欢迎来到我的技术小筑,一个专为技术探索者打造的交流空间。在这里,我们不仅分享代码的智慧,还探讨技术的深度与广度。无论您是资深开发者还是技术新手,这里都有一片属于您的天空。让我们在知识的海洋中…

Java垃圾回收简述

什么是Java的垃圾回收? 自动管理内存的机制,负责自动释放不再被程序引用的对象所占用的内存。 怎么触发垃圾回收? 内存不足时:JVM检测到堆内存不足时,无法为新的对象分配内存时,会自动触发垃圾回收。手动…

UDP协议【网络】

文章目录 UDP协议格式 UDP协议格式 16位源端口号:表示数据从哪里来。16位目的端口号:表示数据要到哪里去。16位UDP长度:表示整个数据报(UDP首部UDP数据)的长度。16位UDP检验和:如果UDP报文的检验和出错&…

【电路】1.2 电流和电压的参考方向

1.2 电流和电压的参考方向 参考方向就是一个假设的方向(类似中学物理的正方形),选参考方向的原因是电路结构略显复杂, 无法直接看出支路电压、电流的实际方向,参考方向可以任意选择,任意支路电压、电流只有…

【韩顺平Java笔记】第8章:面向对象编程(中级部分)【272-284】

272. 包基本介绍 272.1 看一个应用场景 272.2 包的三大作用 272.3 包的基本语法 273. 包原理 274. 包快速入门 在不同的包下面创建不同的Dog类 275. 包命名 276. 常用的包 一个包下,包含很多的类,java 中常用的包有: java.lang.* //lang 包是基本包,默认引入&…

【英语】5. 考研英语语法体系

文章目录 前言句字的成分一、常规句型简单句(5 种)1. 定义:句子中只包含 *一套主谓结构* 的句子。(一个句子只能有一个谓语动词)2. 分类 并列句(由关联词组成)(3 种)基本…

Unity Shader Graph基础包200+节点及术语解释

目录 Master Stack: Vertex block: Fragment block​编辑 Alpha Clip Threshold Dither transparency Graph Inspector Texture 2d Array/Texture 3d Virtual Texture Sampler State Keywords Boolean keyword 右键显示所有节点 简化测试系列节点&#x…

[SpringBoot] 苍穹外卖--面试题总结--上

前言 1--苍穹外卖-SpringBoot项目介绍及环境搭建 详解-CSDN博客 2--苍穹外卖-SpringBoot项目中员工管理 详解(一)-CSDN博客 3--苍穹外卖-SpringBoot项目中员工管理 详解(二)-CSDN博客 4--苍穹外码-SpringBoot项目中分类管理 详…

ThreeJS入门(091):THREE.PositionalAudio 知识详解,示例代码

作者: 还是大剑师兰特 ,曾为美国某知名大学计算机专业研究生,现为国内GIS领域高级前端工程师,CSDN知名博主,深耕openlayers、leaflet、mapbox、cesium,webgl,ThreeJS,canvas&#xf…

二叉树—相关结构

1.相关的结构问题(分治递归) 1.1节点个数 1.2叶子结点个数 叶子结点:没有孩子的节点 1.3树的高度(深度) 1.4二叉树第k层的节点个数 1.5二叉树查找值为x的节点 2.二叉树的创建和销毁 2.1二叉树的构建 二叉树遍历_牛客…

mysql语句执行过程

具体流程如下: 1】当客户端的SOL发送到MySQL时,首先是到达服务器层的连接器,连接器会对你此次发起的连接进行权限校验,以此来获取你这个账号拥有的权限。当你的账号或密码不正确时,会报用户错误。连接成功如果后续没有任何操作&am…

xlwings直接读取使用区域的数据

这里的读取方法,不用最大行号最大列号,直接使用used_range对应的方法 代码如下: import xlwings as xwfile_path r...\AAA.xlsx# 实例化app,打开文件 app_e xw.App(VisibleFalse,add_bookFalse) work_book appe.books.open(f…

New Phytologist | 中国科学院地理所:菌根共生途径塑造树木根经济空间

本文首发于“生态学者”微信公众号! 根经济空间是环境驱动下一系列根属性复杂互作的结果,本质上反映了植物地下碳(“货币”)投资与养分(“商品”)收益的多维策略权衡关系(图1)。然而…

【java】数据类型与变量以及操作符

各位看官:如果您觉得这篇文章对您有帮助的话 欢迎您分享给更多人哦 感谢大家的点赞收藏评论,感谢您的支持!!! 目录 一.字面变量: 二:数据类型 1.1:int类型:&#xff0…

高速机器人的点动与直线运动

工业机器人中的点动和直线运动非常之重要,接下来说一下他们的实现过程。 点动: 点动包括两个部分,第一个点动是每一个关节电机的点动,第二个是机器末端向xyz的三个方向进行点动处理。 第一个点动是非常简单的,即把对…

IO系列-3 NIO基本概念:Buffer和Channel和Selector

1.缓冲区 1.1 Buffer类介绍 java在BIO中通常使用字节数组byte[]和字符数组char[]实现数据传输,在NIO中,引入了缓冲区Buffer进行数据传输,相对数组提供了更多的属性和API.Buffer在java.nio包中引入,Buffer对于常见的类型有对应的…

【C++指南】类和对象(二):类的默认成员函数——全面剖析 :构造函数

💓 博客主页:倔强的石头的CSDN主页 📝Gitee主页:倔强的石头的gitee主页 ⏩ 文章专栏:《C指南》 期待您的关注 ​ 阅读本篇文章之前,你需要具备的前置知识:类和对象的基础 点击下方链接 【C指南…

Stable Diffusion的核心插件—ControlNet!万字长文解读!

前言 一、介绍 论文地址:[https://arxiv.org/abs/2302.05543](https://arxiv.org/abs/2302.05543 "https://arxiv.org/abs/2302.05543")代码地址:[GitHub - lllyasviel/ControlNet: Let us control diffusion models!](https://github.com/ll…

Python和C++胶体粒子三维残差算法模型和细化亚像素算法

🎯要点 使用信噪比、对比度噪声比和点扩展函数量化实验数据,增强共聚焦显微镜成像。参考粒子跟踪算法:使用二维和三维径向模型细化亚像素。胶体粒子三维图形分割学习模型模拟检测球形胶体。使用网格搜索优化模型和归一化处理以避免光漂白。 …

idear 控制台乱码、查询结果、参数、控制台乱码

一、 -Dfile.encodingUTF-8 二、 三、 四、 五、