【基础知识】VAE 变分推断公式|变分分布|先验分布|后验分布|KL散度|边缘似然

VAE 变分推断公式

这个绿框中的公式是变分推断(Variational Inference)的核心组成部分,用于在贝叶斯模型中近似复杂的后验分布 p ( z ∣ x ) p(z|x) p(zx)。变分推断通过引入一个简单的分布 q ϕ ( z ∣ x ) q_\phi(z|x) qϕ(zx),来近似真实的后验分布。

具体来说,绿框中的等式:

log ⁡ p θ ( x ( i ) ) = D K L ( q ϕ ( z ∣ x ( i ) ) ∣ ∣ p θ ( z ∣ x ( i ) ) ) + L ( θ , ϕ ; x ( i ) ) \log p_\theta(x^{(i)}) = D_{KL}(q_\phi(z|x^{(i)}) || p_\theta(z|x^{(i)})) + \mathcal{L}(\theta, \phi; x^{(i)}) logpθ(x(i))=DKL(qϕ(zx(i))∣∣pθ(zx(i)))+L(θ,ϕ;x(i))
解释如下:

- log ⁡ p θ ( x ( i ) ) \log p_\theta(x^{(i)}) logpθ(x(i)):这是数据点 x ( i ) x^{(i)} x(i)在模型参数 θ \theta θ下的对数似然。
- D K L ( q ϕ ( z ∣ x ( i ) ) ∣ ∣ p θ ( z ∣ x ( i ) ) ) D_{KL}(q_\phi(z|x^{(i)}) || p_\theta(z|x^{(i)})) DKL(qϕ(zx(i))∣∣pθ(zx(i))):这是Kullback-Leibler散度,它衡量了变分分布 q ϕ ( z ∣ x ( i ) ) q_\phi(z|x^{(i)}) qϕ(zx(i))与真实后验分布 p θ ( z ∣ x ( i ) ) p_\theta(z|x^{(i)}) pθ(zx(i))之间的差异。KL散度是非负的,它衡量了使用 q q q分布来近似 p p p分布时的信息损失。
- L ( θ , ϕ ; x ( i ) ) \mathcal{L}(\theta, \phi; x^{(i)}) L(θ,ϕ;x(i)):这是变分下界(Evidence Lower BOund, 或称ELBO)。变分下界是模型证据的一个下界,通过优化这个下界可以间接地使得变分分布 q ϕ q_\phi qϕ接近真实后验分布 p θ p_\theta pθ

等式表明,数据点的对数似然可以被分解为两部分:KL散度和ELBO。在实践中,我们无法直接最大化对数似然,因为 p ( z ∣ x ) p(z|x) p(zx)是不可知的。相反,我们最大化ELBO,同时保持KL散度尽可能小,从而间接地最大化对数似然。

在变分自编码器(VAE)等模型中,通过优化 ϕ \phi ϕ θ \theta θ来最大化ELBO,可以训练模型来生成数据,并学习数据的隐含结构。在此过程中,我们通常忽略KL散度项,因为它不能被直接计算,而是通过优化ELBO来最小化KL散度。


变分分布

变分分布的一般形式可以写成 q ϕ ( z ∣ x ) q_\phi(z|x) qϕ(zx),其中 z z z是潜在变量, x x x是观测数据,而 ϕ \phi ϕ是参数化这个分布的参数。这个分布可以是任何形式,但在实践中常见的是选择可以容易计算和采样的分布,例如多元正态分布。

对于多元正态分布,变分分布的公式可以具体写为:

q ϕ ( z ∣ x ) = N ( z ; μ ϕ ( x ) , Σ ϕ ( x ) ) q_\phi(z|x) = \mathcal{N}(z; \mu_\phi(x), \Sigma_\phi(x)) qϕ(zx)=N(z;μϕ(x),Σϕ(x))
其中:
- N \mathcal{N} N表示多元正态分布。
- μ ϕ ( x ) \mu_\phi(x) μϕ(x)是一个向量,表示给定数据 x x x时,潜在变量 z z z的均值,由参数 ϕ \phi ϕ定义的函数(如神经网络)计算得出。
- Σ ϕ ( x ) \Sigma_\phi(x) Σϕ(x)是一个协方差矩阵,同样是由 x x x和参数 ϕ \phi ϕ计算得出的。

在VAE中,协方差矩阵通常被简化为对角矩阵,这意味着潜在变量的各个维度被假设为条件独立的,即:

Σ ϕ ( x ) = diag ( σ ϕ 2 ( x ) ) \Sigma_\phi(x) = \text{diag}(\sigma^2_\phi(x)) Σϕ(x)=diag(σϕ2(x))

这里 σ ϕ 2 ( x ) \sigma^2_\phi(x) σϕ2(x)是一个向量,包含了各个潜在变量维度的方差,也是由参数 ϕ \phi ϕ定义的函数计算得出。

在实际操作中,为了数值稳定性和更高效的优化,我们通常对 σ ϕ 2 ( x ) \sigma^2_\phi(x) σϕ2(x)的对数进行参数化,即:

log ⁡ σ ϕ 2 ( x ) \log \sigma^2_\phi(x) logσϕ2(x)

这样,变分分布的参数 ϕ \phi ϕ通常由两部分组成:一个用于产生均值的网络部分和一个用于产生对数方差的网络部分。通过调整这些参数,VAE的编码器学习将数据 x x x映射到适当的潜在分布 q ϕ ( z ∣ x ) q_\phi(z|x) qϕ(zx)上。


在变分自编码器(VAE)中,先验分布和后验分布扮演着关键角色。VAE是一种深度学习模型,它通过贝叶斯推断的原理来学习输入数据的潜在表示。下面我将解释如何在VAE中使用先验分布和后验分布。

先验分布 (Prior Distribution)

在VAE中,我们假设存在一个潜在空间(latent space),其中数据的隐形表征(latent representations)是从一个先验分布中抽取的。常见的做法是假设这个先验分布是标准正态分布,即对于潜在变量 z z z,先验分布 p ( z ) p(z) p(z)通常设为 N ( 0 , I ) \mathcal{N}(0, I) N(0,I),其中 I I I是单位矩阵。

先验的作用:

  • 先验分布定义了潜在空间的结构。在VAE中,通过强制潜在变量遵循一个简单的分布(例如标准正态分布),我们可以希望模型学习到一个良好的、通用的潜在空间,其中相似的点生成相似的数据。

后验分布 (Posterior Distribution)

在给定观测数据 x x x的情况下,我们想要知道潜在变量 z z z的分布,这就是后验分布 p ( z ∣ x ) p(z|x) p(zx)。在VAE中,这个分布是通过编码器(Encoder)近似的,编码器是一个神经网络,它将输入数据 x x x映射到潜在空间的分布参数上(例如,均值和方差)。因为直接计算后验分布通常是不可行的,VAE采用变分推断来近似后验分布,通过引入一个变分分布 q ϕ ( z ∣ x ) q_\phi(z|x) qϕ(zx),通常也是一个正态分布,但其参数是由输入数据 x x x通过编码器网络学到的。

后验的作用:

  • 后验分布代表了在观察到数据 x x x后,我们对潜在变量 z z z的最佳猜测。在VAE中,这是通过最小化后验分布和变分分布之间的KL散度来实现的,即使变分分布 q ϕ ( z ∣ x ) q_\phi(z|x) qϕ(zx)尽可能接近真实的后验分布 p ( z ∣ x ) p(z|x) p(zx)

总结

在VAE的上下文中,先验分布提供了对潜在变量应该如何分布的假设,而后验分布则是给定观测数据后,对潜在变量分布的更新。VAE的训练过程涉及到调整编码器和解码器(Decoder)的参数,以最小化重构误差(使解码器输出尽可能接近输入数据)和正则化项(通常是KL散度,使变分后验接近先验)。通过这种方式,VAE能够学习到能够生成数据的有效的潜在表示。


VAE中我们的目标是什么

在变分自编码器(VAE)中,目标是学习一个概率模型,以便能够生成与训练数据统计特性相似的新数据。这个目标通过以下几个关键步骤实现:

  1. 学习数据的潜在表示:VAE旨在发现数据的潜在(latent)空间,这个空间捕捉了数据的内在结构。通过将高维数据映射到较低维的潜在空间,VAE试图以更简洁和抽象的方式表示数据,使得这种表示能够捕获数据的核心特征和变异来源。

  2. 生成新的数据:通过学习潜在空间的结构,VAE能够从这个空间中采样新的潜在点,并将这些点通过解码器(decoder)映射回原始数据空间,从而生成新的数据。理想情况下,这些新数据应该在统计上与训练数据类似,但却是新颖的,即它们不是训练集中的复制品。

  3. 最大化证据下界(ELBO):具体到优化目标,VAE通过最大化证据下界(Evidence Lower BOund, ELBO)来训练。ELBO是数据的对数似然的一个下界,它由两部分组成:一部分是重构误差,它衡量了生成的数据与真实数据之间的相似度;另一部分是KL散度,它衡量了潜在表示的分布与先验分布之间的差异。通过最大化ELBO,VAE试图在保持生成数据质量的同时,使潜在表示的分布尽可能接近先验分布。

  4. 正则化潜在空间:VAE的训练过程还隐含地鼓励潜在空间的规整化,使得潜在空间中相近的点能够解码成相似的数据。这个特性使得VAE生成的数据具有连续性和多样性,同时使潜在空间具有良好的可解释性。

总之,VAE的目标是通过学习数据的潜在表示并在这个表示的基础上生成新数据,同时确保潜在空间的连续性和规整性,以及生成数据的质量和多样性。通过这种方式,VAE为复杂数据分布提供了一个强大且灵活的生成模型框架。


KL 散度

KL散度,也称为Kullback-Leibler散度,是衡量两个概率分布 P P P Q Q Q相似度的一种方法,它是非对称的,其公式为:

D K L ( P ∣ ∣ Q ) = ∑ x P ( x ) log ⁡ P ( x ) Q ( x ) D_{KL}(P || Q) = \sum_{x} P(x) \log \frac{P(x)}{Q(x)} DKL(P∣∣Q)=xP(x)logQ(x)P(x)
对于连续变量,公式变为积分形式:

D K L ( P ∣ ∣ Q ) = ∫ − ∞ + ∞ p ( x ) log ⁡ p ( x ) q ( x ) d x D_{KL}(P || Q) = \int_{-\infty}^{+\infty} p(x) \log \frac{p(x)}{q(x)} dx DKL(P∣∣Q)=+p(x)logq(x)p(x)dx
在这些公式中:

- P P P Q Q Q是两个概率分布。
- P ( x ) P(x) P(x)是分布 P P P x x x处的概率密度或概率质量。
- Q ( x ) Q(x) Q(x)是分布 Q Q Q x x x处的概率密度或概率质量。
- log ⁡ \log log通常指自然对数,基于 e e e

物理含义:

KL散度衡量了两个概率分布之间的“信息损失”,即当你用概率分布 Q Q Q来近似真实分布 P P P时,损失了多少信息。它来源于信息论,其中“信息”通常被定义为减少不确定性的东西。如果两个分布完全相同,那么KL散度为0,因为没有信息损失。如果两个分布有所不同,KL散度会量化这种差异。

边缘似然

边缘似然

边缘似然,有时也称为模型证据,是指给定观测数据后,模型参数的整体可能性。在贝叶斯统计中,边缘似然是指积分掉(或者说边缘化)所有可能的参数后,数据的概率。如果你有一个模型 M M M和数据 D D D,边缘似然可以表示为:

p ( D ∣ M ) = ∫ p ( D ∣ θ , M ) p ( θ ∣ M ) d θ p(D | M) = \int p(D | \theta, M) p(\theta | M) d\theta p(DM)=p(Dθ,M)p(θM)dθ
这里:

- p ( D ∣ θ , M ) p(D | \theta, M) p(Dθ,M)是在给定参数 θ \theta θ和模型 M M M下数据 D D D的似然。
- p ( θ ∣ M ) p(\theta | M) p(θM)是参数 θ \theta θ的先验分布。

  • 积分是对所有可能的参数 θ \theta θ进行的。

边缘似然是衡量模型拟合数据的好坏的一个指标。在模型选择中,边缘似然可以用来进行贝叶斯模型比较,优选能够更好地解释观测数据的模型。高的边缘似然意味着模型和数据更匹配。

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

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

相关文章

Swing程序设计(11)动作事件监听器,焦点事件监听器

文章目录 前言一、事件监听器是什么?二、详细展开 1.动作事件监听器2.焦点事件监听器总结 前言 如果你是坚持从Swing程序第一篇看到了这里,恭喜你,Swing程序设计简单地落下了帷幕,关于Swing程序更深的了解,可以自行学习…

MySQL性能优化-范式设计和反范式设计

范式化设计 范式化设计背景 范式是数据表设计的基本原则,又很容易被忽略。很多时候,当数据库运行了一段时间之后,我们才发现数据表设计得有问题。重新调整数据表的结构,就需要做数据迁移,还有可能影响程序的业务逻辑…

【Axure高保真原型】输入宽高控制图片尺寸

今天和大家分享输入图片宽高控制图片尺寸的原型模板,在输入框里输入图片的宽和高,图片会自动设置成对应数值的尺寸,包括了按比例或者自由设置两种方式,具体效果可以观看下方视频或者打开预览地址体验。 【原型效果】 【Axure高保…

一个printf多个字符串的连续输出

先看程序,再看解析 int main() { char arr[10] "qwer"; printf("asdf " "%s" "zxcv\n",arr); return 0; } 此程序会输出连续三段字符串asdf qwer zxcv 原因:字符串的输出…

数据库SQLite

1.简单创建一个数据库和删除一个数据库 <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_parent"android:orientation"vertical">&l…

wordpress外贸独立站

WordPress外贸电商主题 简洁实用的wordpress外贸电商主题&#xff0c;适合做外贸跨境的电商公司官网使用。 https://www.jianzhanpress.com/?p5025 华强北面3C数码WordPress外贸模板 电脑周边、3C数码产品行业的官方网站使用&#xff0c;用WordPress外贸模板快速搭建外贸网…

Windows Media Player (Win10)

Windows Media Player &#xff08;Win10&#xff09;服务器运行失败 先关闭掉【Windows Media Player】组件&#xff0c;但是要重启计算机 重启计算机后&#xff0c;再开启【Windows Media Player】组件√起来 可以使用了&#xff01;&#xff01;&#xff01;

视频编码标准H.264/AVC,H.265/HEVC,VP8/VP9,AV1的基本原理、优缺点以及适用场景

视频编码标准是用于压缩数字视频数据的技术规范&#xff0c;以减少存储和传输所需的带宽。以下是关于H.264/AVC、H.265/HEVC、VP8/VP9和AV1这些标准的基本原理、优缺点以及适用场景的简要描述&#xff1a; H.264/AVC (Advanced Video Coding) 基本原理&#xff1a; H.264是一…

前缀和和差分以及练习题目

蓝桥杯备赛系列 倒计时50天&#xff01; 前缀和和差分 知识点 前缀和数组&#xff1a; 假设原数组用a[i]表示&#xff0c;前缀和数组用sum[i]表示&#xff0c;那么sum[i]表示的是原数组前i项之和&#xff0c;注意一般用前缀和数组时&#xff0c;原数组a[i]的有效下标是从1开…

最强照片AI无损放大工具

使用人工智能的能力来放大图像&#xff0c;同时为惊人的结果添加自然的细节。 使用深度学习技术&#xff0c;A.I.GigaPixEL可以放大图像并填满其他调整大小的产品所遗漏的细节。 下载地址&#xff1a;最强照片AI无损放大工具.zip

北斗导航 | 同步双星故障的BDS/GPS接收机自主完好性监测算法

===================================================== github:https://github.com/MichaelBeechan CSDN:https://blog.csdn.net/u011344545 ===================================================== 同步双星故障的BDS/GPS接收机自主完好性监测算法 1 引言2 同步双星故障…

代码随想录算法训练营第五十一天丨309. 买卖股票的最佳时机含冷冻期、714. 买卖股票的最佳时机含手续费

309. 买卖股票的最佳时机含冷冻期 这题是中等&#xff1f;&#xff1f;&#xff1f; 最终自己写完再看代码随想录的解释感觉很好理解&#xff0c;但是从0到1想出来就很困难。 class Solution:def maxProfit(self, prices: List[int]) -> int:n len(prices)if n 1:retur…

太阳能供电井盖-物联网智能井盖监测系统-旭华智能

在这个日新月异的科技时代&#xff0c;城市的每一个角落都在悄然发生变化。而在这场城市升级的浪潮中&#xff0c;智能井盖以其前瞻性的科技应用和卓越的安全性能&#xff0c;正悄然崭露头角&#xff0c;变身马路上的智能“眼睛”&#xff0c;守护城市安全。 传统的井盖监测系统…

展示模型展台的高度一般为多少---模大狮模型网

展示模型展台的高度一般取决于多个因素&#xff0c;包括展示物品的大小、展台的设计风格、展览场地的限制等。一般来说&#xff0c;展示模型展台的高度可以根据以下几点考虑&#xff1a; 展示物品的大小&#xff1a;如果展示物品比较大或需要竖立展示&#xff0c;展台的高度可能…

MWC 2024 | 紫光展锐“芯联世界”,携手产业伙伴共创“智慧未来”

西班牙巴塞罗那&#xff0c;当地时间2月26日&#xff0c;2024年世界移动通信大会&#xff08;MWC 2024&#xff09;盛大开幕。MWC由全球移动通信系统协会&#xff08;GSMA&#xff09;主导举办&#xff0c;是全球通信领域最具权威的展会之一。紫光展锐以“芯联世界 智慧未来”为…

前端开发中HTTP状态码的含义和用途,及常见错误码产生的原因和解决方法

文章目录 一、HTTP状态码含义二、HTTP状态码分类1、第一类状态码&#xff08;1XX&#xff09;是信息响应2、第二类状态码&#xff08;2XX&#xff09;是成功响应3、第三类状态码&#xff08;3XX&#xff09;是重定向响应4、第四类状态码&#xff08;4XX&#xff09;是客户端错误…

【学位论文】上海交通大学 研究生学位论文 本地保存

上海交大研究生学位论文网&#xff1a;http://thesis.lib.sjtu.edu.cn/ &#xff08;只能校内访问或SJTU VPN访问&#xff09; 如果希望下载论文&#xff0c;需要参考&#xff1a;https://github.com/olixu/SJTU_Thesis_Crawler 安装过程 安装过程的几个坑&#xff1a; &a…

go-zero官网

go-zero 是一个集成了各种工程实践的 web 和 rpc 框架。通过弹性设计保障了大并发服务端的稳定性&#xff0c;经受了充分的实战检验。 go-zero官网&#xff1a;go-zero 缩短从需求到上线的距离

【Redis】RedisTemplate和StringRedisTemplate的区别

两者的关系是 StringRedisTemplate 继承 RedisTemplate 。 两者的数据是不共通的&#xff1a;也就是说 StringRedisTemplate 只能管理 StringRedisTemplate 里面的数据&#xff0c;RedisTemplate 只能管理 RedisTemplate 中的数据。 RedisTemplate 看这个类的名字后缀是 Temp…

Cesium实战三:飞行航线动画

飞行航线追踪 可视化从旧金山到哥本哈根的真实航班。 1、获取点位数据&#xff1a;构建飞行跟踪器 – Cesium (cesium.com) 2、在地图上添加飞行点位&#xff1a;循环遍历点位数据&#xff0c;利用Entity直接添加点至地图上。 //添加飞行点位 const addFlightPoint () >…