ML17_变分推断Variational Inference

1. KL散度

KL散度(Kullback-Leibler divergence),也称为相对熵(relative entropy),是由Solomon Kullback和Richard Leibler在1951年引入的一种衡量两个概率分布之间差异的方法。KL散度不是一种距离度量,因为它不满足距离度量的对称性和三角不等式的要求。但是,它仍然被广泛用于量化两个概率分布之间的“接近程度”。

在机器学习和统计学中,KL散度经常用于衡量模型的拟合程度。例如,在变分推断中,KL散度被用来度量近似后验分布与真实后验分布之间的差异;而在信息论中,KL散度被用来比较信源编码的效率。另外,KL散度还在自然语言处理、计算机视觉以及其他需要比较概率分布的领域中有着广泛应用。

2. ELBO

ELBO 是 Evidence Lower BOund 的缩写,中文可以翻译为“证据下界”。在贝叶斯统计和机器学习中,尤其是变分推断(Variational Inference)中,ELBO 被用来近似计算后验分布,并作为对数似然函数的一个下界。

ELBO 的第一项是数据的对数似然的期望值,代表了模型对数据的拟合程度;第二项是变分分布与先验分布之间的 KL 散度,它惩罚了变分分布远离先验分布的程度。

3. 变分推断

变分推断(Variational Inference, VI)是一种用于近似复杂概率分布的技术,在贝叶斯统计和机器学习中非常有用。它通常用于处理那些后验分布难以精确计算的问题。在这些情况下,变分推断通过构造一个可管理的近似分布来代替真正的后验分布,并试图使这个近似分布尽可能接近真实分布。

变分推断的核心思想是将原本的推断问题转化为一个优化问题。具体来说,变分推断会从一个参数化的分布族中选择一个分布来近似真实的后验分布。这个过程涉及到最小化两个分布之间的差异,常用的是Kullback-Leibler散度(KL散度),这是一个衡量两个概率分布之间差异的非对称指标。

变分推断的目标是最小化KL散度:

变分推断在处理大规模数据集时特别有效,因为它避免了如马尔可夫链蒙特卡罗(MCMC)方法那样需要大量计算资源的抽样过程。此外,变分推断也可以与现代深度学习框架结合,使得复杂的模型能够被有效地训练。

4. 公式推导

5. 变分推断的流程

变分推断(Variational Inference, VI)是一种统计推断方法,它主要用于近似复杂的后验概率分布。这种技术常用于贝叶斯统计中的模型参数估计,尤其是在大数据集上,因为直接计算后验分布往往是不可行的。下面是变分推断的一般执行流程:

变分推断方法因其计算效率和灵活性,在机器学习特别是深度学习领域得到了广泛应用,尤其是在处理大规模数据集和高维度问题时。随着研究的发展,出现了许多改进的变分推断方法和技术,例如变分自动编码器(VAEs)、自然梯度方法等。

6. 为什么要用变分推断?

7. 变分推断存在的问题

尽管变分推断(Variational Inference, VI)作为一种强大的近似推理技术,在很多领域取得了成功应用,但它也存在一些潜在的问题和局限性。以下是一些常见的问题:

近似误差

变分推断的核心思想是选择一个合适的近似分布来逼近真实的后验分布。如果选择的变分族(即近似分布的类型)过于简单,或者真实的后验分布具有复杂的结构,那么近似误差可能会很大,从而导致不准确的推断结果。

初始化敏感性

变分推断的结果可能会受到初始值的影响。不好的初始化可能导致算法陷入局部最优解,从而无法找到全局最优的近似分布。

优化难度

虽然变分推断通常被转化为一个优化问题,但这个优化问题本身可能很复杂,特别是在高维空间中。优化过程可能会遇到鞍点、非凸性等问题,导致难以找到全局最优解。

缺乏统一性

对于不同的模型结构,可能需要不同的变分族来近似后验分布,这使得变分推断方法缺乏一定的通用性。不同场景下,需要手动设计适合的变分族,这增加了实施的复杂度。

难以评估近似质量

评估变分近似的真实质量通常是困难的,特别是在无法获得真实后验分布的情况下。虽然有一些方法可以用来评估近似质量,如重要性采样或其他诊断工具,但这些方法本身也有局限性。
计算资源需求:

虽然变分推断相较于MCMC等方法在计算效率上有优势,但在处理非常大的数据集或高维度参数空间时,仍然可能需要大量的计算资源。

偏差-方差权衡

选择不同的变分族会导致不同的偏差-方差权衡。过于简单的近似可能导致较大的偏差(即模型欠拟合),而过于复杂的近似则可能导致过拟合。

依赖于良好的先验知识

在选择变分族和进行优化时,可能需要对问题有一定的先验知识才能做出合理的选择,否则可能难以确定如何设计变分族或如何调整超参数。


这些问题的存在并不意味着变分推断不是一个有用的工具,而是提醒我们在应用变分推断时需要考虑这些问题,并采取适当措施来减轻它们的影响。随着研究的进步,新的技术和方法不断出现,旨在解决或缓解上述部分问题。例如,近年来发展的一些技术,如自然梯度方法、变分自动编码器(VAEs)等,都在一定程度上改善了变分推断的表现。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1523870.html

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

相关文章

硬件工程师笔试面试知识器件篇——电容

目录 电容 2.1、基础 电容原理图 电容实物图 2.1.1、定义 2.1.2、原理 2.1.3、电容的类型 分类1: 分类2: 2.1.4、电容的应用 2.2、相关问题 2.2.1、电容器的电容值如何测量 2.2.2、不同类型的电容器在实际应用中有那些具体差异 2.2.3、如何选择合适的电容器来满…

模型从 HuggingFace 转存到 ModelScope

由于 HuggingFace 网络访问比较慢,国内通常会使用魔搭下载模型,如果魔搭上还没有,需要从 HuggingFace 准存一下,本文将通过 Colab AliyunPan 的方式下载模型并进行转存。 登录Colab 并运行一下命令 安装依赖包,Hugg…

SpringBoot-读取配置文件方式

目录 前言 一. 使用 ConfigurationProperties 注解读取 二. 使用 Value 注解读取配置文件 三. 使用 Environment 类获取配置属性 前言 Spring Boot提供了多种灵活的方式来读取配置文件,以适应不同的开发和部署需求,SpringBoot启动的时候,…

Datawhale X 李宏毅苹果书 AI夏令营(深度学习进阶)task3

批量归一化 其实归一化简单一点理解就类似于我们学过的数学中的每个数值减去平均值除以标准差。 神经网络中的批量归一化(Batch Normalization,BN)就是其中一个“把山铲平”的想法。不要小看优化这个问题,有时候就算误差表面是凸…

[深度学习][LLM]:浮点数怎么表示,什么是混合精度训练?

混合精度训练 混合精度训练1. 浮点表示法:[IEEE](https://zh.wikipedia.org/wiki/电气电子工程师协会)二进制浮点数算术标准(IEEE 754)1.1 浮点数剖析1.2 举例说明例子 1:例子 2: 1.3 浮点数比较1.4 浮点数的舍入 2. 混合精度训练2.1 为什么需…

【数据结果-二维前缀和】力扣221. 最大正方形

在一个由 ‘0’ 和 ‘1’ 组成的二维矩阵内,找到只包含 ‘1’ 的最大正方形,并返回其面积。 示例 1: 输入:matrix [[“1”,“0”,“1”,“0”,“0”],[“1”,“0”,“1”,“1”,“1”],[“1”,“1”,“1”,“1”,“1”],[“1”…

Java 入门指南:Java 并发编程 —— 并发容器 TransferQueue、LinkedTransferQueue、SynchronousQueue

BlockingQueue BlockingQueue 是Java并发包(java.util.concurrent)中提供的一个阻塞队列接口,它继承自 Queue 接口。 BlockingQueue 中的元素采用 FIFO 的原则,支持多线程环境并发访问,提供了阻塞读取和写入的操作&a…

机器学习的入门笔记(第十六周)

本周观看了B站up主霹雳吧啦Wz的图像处理的课程, 课程链接:霹雳吧啦Wz的个人空间-霹雳吧啦Wz个人主页-哔哩哔哩视频 下面是本周的所看的课程总结。 MobileNet V2的代码实现 1、定义ConvBNReLU类,将卷积操作,批量归一化操作&…

有三层交换机就不用路由器了?真的假的

号主:老杨丨11年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部 晚上好,我的网工朋友。 在现代企业网络环境中,三层交换机因其高效的数据包处理能力和较低的延迟而受到广泛欢迎。 然而&…

【TheMisto.AI】Flux最强线稿模型实际效果测评(附安装方法)

原文链接:【TheMisto.AI】Flux最强线稿模型实际效果测评(附安装方法) (chinaz.com) 不知道有没有小伙伴去测试一下哈,上一篇文章用的都是官方提供的参考图,经常关注Flux的小伙伴也知道那些ControlNet买家秀和卖家秀基…

TDesign 微信小程序组件库配置

文章目录 1.安装 npm 包2. 构建 npm3. 构建完成后即可使用 npm 包。4.修改 app.json5.修改 tsconfig.json6.使用组件 1.安装 npm 包 在小程序 package.json 所在的目录中执行命令安装 npm 包: npm install结果报错 PS C:\WeChatProjects\miniprogram-1> npm i…

ARM32开发——(二十三)存储器介绍

1. 存储器分类 存储器按其存储介质特性主要分为“易失性存储器”和“非易失性存储器”两大类。 “易失/非易失”是指存储器断电后, 它存储的数据内容是否会丢失的特性。 在计算机中易失性存储器最典型的代表是内存,非易失性存储器的代表则是硬盘。 2.…

2024年最新版Ajax+Axios 学习【包含原理、Promise、报文、接口等...】

基础知识 AJAX概念 AJAX概念:是浏览器与服务器进行数据通信的技术。 认识URL 定义:统一资源定位符,简称网址,用于访问网络上的资源。 组成: http协议:超文本传输协议,规定浏览器和服务器之…

程序设计—基于JavaWeb的流浪动物救助网站(案例分析)

摘 要 21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们所认识,科学化的管理,使信息…

OpenAI API in node gives basic Await error. How do I fix?

题意:OpenAI API 在 Node 中出现基本的 Await 错误。我该如何修复? 问题背景: I literally copied the code from the openAI example and it gives me a remedial Await JS error but I am unsure what it expects me to do. I just want t…

【开源风云】从若依系列脚手架汲取编程之道(三)

📕开源风云系列 🍊本系列将从开源名将若依出发,探究优质开源项目脚手架汲取编程之道。 🍉从不分离版本开写到前后端分离版,再到微服务版本,乃至其中好玩的一系列增强Plus操作。 🍈希望你具备如下…

基于zigbee的蔬菜大棚温湿度监测系统(论文+源码)

1 系统的功能及方案设计 本次基于zigbee的蔬菜大棚温湿度监测系统主要包括传感器节点、协调器节点和监控中心三个功能模块。 其中协调器节点:由cc2530作为主控芯片,负责接收终端一和终端二发送过来的温湿度数据,并将其通过ch340串行转USB输…

【王树森】RNN模型与NLP应用(8/9):Attention(个人向笔记)

前言 基于RNN的Seq2Seq模型无法记住长序列Attentnion机制可以大幅度提升Seq2Seq模型 Seq2Seq Model with Attention Attention可以让句子在逐步变长的时候不忘记前面的输入信息Attention还可以告诉Decoder应该关注哪一个状态优点:Attention可以大幅度提高准确率缺…

【Java】实体类Javabean

文章目录 前言一、实体类Javabean是什么?二、代码总结 前言 记录实体类的基本语法 一、实体类Javabean是什么? 其实就是一种特殊形式的类,这种类特殊点在于: 1、这个类中的成员变量都要私有,并且要对外提供相应的ge…

Dubbo ZooKeeper Spring Boot整合

依赖配置 1. Dubbo 起步依赖 Dubbo 是一款高性能的 Java RPC 框架&#xff0c;用于快速开发高性能的服务。 <dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo-spring-boot-starter</artifactId><version>${dubbo.ver…