【基础知识】DDPM中的解码器部分“L0“解释以及概率密度函数的解释

1. 前言

在这里插入图片描述

看了很多关于DDPM的博客,都对原文中以上公式的 L 0 L_0 L0没有涉及或者直接说将 L t − 1 L_{t-1} Lt1 L 0 L_0 L0合并起来讲,这样使得我对这段很困惑。所以,这篇博客我们主要来讲这个解码器 L 0 L_0 L0部分。
在此,之前我们应该理解什么是概率密度函数,我理解是一种衡量"概率的密度的分布"的函数,注意这里不是“概率的分布”,而是“概率密度”的分布,所以想得到概率就需要对此进行积分。
在解码器部分,从公式来看高斯分布 N ( x ; μ , σ 2 ) N(x;μ,σ^2) N(x;μ,σ2)就是对应的概率密度函数,所以,我们想要得到条件概率,需要对函数在区间上进行积分。

下面我们进行详细的解释。

2. 解码器( L 0 L_0 L0部分)的公式

在这里插入图片描述
在这个段落中,作者描述了用于深度学习模型中的数据解码器的数学公式。这是用于将通过神经网络的逆过程编码的数据转换回其原始形式的一部分。让我们详细解释这个公式:

首先,作者提到图像数据是从 {0, 1, …, 255} 范围的整数线性缩放到 [-1, 1] 范围内的数。这确保了神经网络的逆过程是在一致缩放的输入上操作的。

为了在逆过程中获得离散的对数似然值(即评估概率模型的好坏),作者设定了逆过程的最后一步是一个独立的离散解码器,它是基于高斯分布 N ( x 0 ; μ θ ( x 1 , 1 ) , σ 1 2 ) N(x_0; \mu_\theta(x_1, 1), \sigma_1^2) N(x0;μθ(x1,1),σ12)导出的。

公式 p θ ( x 0 ∣ x 1 ) p_\theta(x_0 | x_1) pθ(x0x1)表示在给定 x 1 x_1 x1的条件下, x 0 x_0 x0的条件概率。这个概率是对数据维度 D D D的每一个独立坐标 i i i进行的乘积,即公式中的 ∏ i = 1 D \prod_{i=1}^{D} i=1D

对于每个坐标 i i i,条件概率 p θ ( x 0 ∣ x 1 ) p_\theta(x_0 | x_1) pθ(x0x1)是通过在函数 δ + ( x 0 i ) \delta_+(x_0^i) δ+(x0i)和高斯分布 N N N之间积分获得的。函数 δ + \delta_+ δ+ δ − \delta_- δ是对 x x x的取值进行限制的函数,它们确保了在 x x x的取值是 1 或者 -1 时,解码器的输出会在合适的范围内。

特别地:

  • x = 1 x = 1 x=1时, δ + ( x ) \delta_+(x) δ+(x)等于从 x + 1 255 x + \frac{1}{255} x+2551到无穷大的积分范围。
  • x < 1 x < 1 x<1时, δ + ( x ) \delta_+(x) δ+(x)等于 x x x x + 1 255 x + \frac{1}{255} x+2551的积分范围。
    - δ − ( x ) \delta_-(x) δ(x)类似,但对 x = − 1 x = -1 x=1 x > − 1 x > -1 x>1的情况进行了定义。

这种设计的目的是为了使得变分界限在离散数据上是无损的,这意味着它能在不添加噪声的情况下直接计算对数似然。通过这种方式,模型能够更精确地评估数据的重建质量,并且使得解码过程更加高效。

3. 什么是概率密度函数?

概率密度函数(Probability Density Function, PDF)是连续随机变量的概念,描述了该随机变量在不同值上取值的相对可能性。对于随机变量 X X X,其概率密度函数 f ( x ) f(x) f(x)满足以下条件:

1. f ( x ) ≥ 0 f(x) \geq 0 f(x)0对所有 x x x都成立,这意味着概率密度不可能是负值。
2. ∫ − ∞ ∞ f ( x ) d x = 1 \int_{-\infty}^{\infty} f(x) \, dx = 1 f(x)dx=1,这意味着随机变量取所有可能值的概率之和为1。

PDF的一个关键特性是它不直接给出随机变量在特定点的概率,因为在连续分布中,任何单点的概率都是0。取而代之的是,PDF提供了随机变量在给定区间内取值的概率,这通过对PDF在该区间上积分来计算:

P ( a ≤ X ≤ b ) = ∫ a b f ( x ) d x P(a \leq X \leq b) = \int_{a}^{b} f(x) \, dx P(aXb)=abf(x)dx

这里 P ( a ≤ X ≤ b ) P(a \leq X \leq b) P(aXb)是随机变量 X X X取值在区间 [ a , b ] [a, b] [a,b]内的概率。

在实际应用中,PDF帮助我们理解随机变量的分布特征,比如它的中心趋势(均值),变异度(方差),以及随机变量取值倾向的形状。举例来说,正态分布(高斯分布)的概率密度函数呈现钟形曲线,其中心位置由均值决定,宽度由标准差决定。

4. 解码器的公式中的哪部分是概率密度函数?哪部分是概率?

在论文里解码器的公式中,提到的高斯分布 N ( x ; μ , σ 2 ) N(x; \mu, \sigma^2) N(x;μ,σ2)是概率密度函数(PDF)。它描述了连续随机变量在不同取值上的概率密度,这里的 x x x是变量, μ \mu μ是均值, σ 2 \sigma^2 σ2是方差。

p θ ( x 0 ∣ x 1 ) p_\theta(x_0 | x_1) pθ(x0x1)是一个概率,表示在给定 x 1 x_1 x1的条件下, x 0 x_0 x0的取值概率。这个概率是通过积分 x 0 x_0 x0对应的概率密度函数 N N N在某个区间(由函数 δ \delta δ定义的区间)内得到的。由于原始图像数据是离散的,所以这里使用了积分来获得离散值的概率。换句话说, p θ p_\theta pθ是通过积分高斯PDF在一个很小区间(例如 [ x 0 − 1 255 , x 0 + 1 255 ] [x_0 - \frac{1}{255}, x_0 + \frac{1}{255}] [x02551,x0+2551])来近似离散数据点 x 0 x_0 x0的概率。

这样的处理方式在将连续概率密度函数用于离散数据时是很常见的,因为连续随机变量在任何具体值上的概率都是0,只有通过积分连续密度函数在某个区间内,我们才能得到随机变量落在这个区间内的概率。

5. 为什么概率密度函数是通过积分计算的?

概率密度函数(PDF)通过积分计算得到的概率,这是因为PDF本身并不直接给出概率,而是其积分在特定区间上给出了落在该区间内的概率。PDF在任意一个点上的值并不是概率,而是概率密度,即单位长度上的概率。要从概率密度得到概率,需要对感兴趣的区间进行积分。

在连续概率分布中,特定值的概率总是0,因为有无限多个可能的值。相反,对于连续随机变量的任何区间 [ a , b ] [a, b] [a,b],概率是通过计算该区间上PDF的积分来得到的:

P ( a ≤ X ≤ b ) = ∫ a b f ( x ) d x P(a \leq X \leq b) = \int_{a}^{b} f(x) \, dx P(aXb)=abf(x)dx

这里 f ( x ) f(x) f(x)是PDF,而 P ( a ≤ X ≤ b ) P(a \leq X \leq b) P(aXb)表示随机变量 X X X的值落在区间 [ a , b ] [a, b] [a,b]内的概率。

在你提供的段落中,因为原始图像数据是离散的整数值,所以用连续的高斯分布来建模重建图像会有一点误差。为了计算某个离散整数值的概率,作者定义了一个小的区间(比如 x x x x + 1 255 x + \frac{1}{255} x+2551),并在这个区间内对连续的高斯分布进行积分,来近似离散整数值的概率。

例如,如果我们想要计算解码后的像素值为0(在缩放后的 [-1, 1] 范围内)的概率,我们需要在高斯分布上积分从 -1/255 到 1/255 的区间。这个积分的结果给出了像素值在这个小区间内的概率,从而近似了像素值为0的概率。这个方法对所有可能的像素值重复,从而获得整个图像的概率。

6.对可能存在歧义部分的补充

在论文的这个部分,作者提到了图像数据,它从 {0, 1, …, 255} 的整数集被线性缩放到 [-1, 1]。在逆过程中,他们使用基于高斯PDF的解码器来处理这些连续缩放的值。 p θ ( x 0 ∣ x 1 ) p_\theta(x_0 | x_1) pθ(x0x1)是从高斯PDF中通过积分得出的,在给定 x 1 x_1 x1的条件下 x 0 x_0 x0的概率近似值。积分过程涉及将 δ \delta δ函数应用于高斯PDF,来计算 x 0 x_0 x0在每个小区间内的概率密度,并通过这个方法近似每个离散整数像素值的概率。

这里到底 δ \delta δ函数是个什么东西?怎么得到最终图像的像素值?

这里的 δ \delta δ函数被用来定义一个在特定像素值附近的小区间。在连续概率分布(如高斯分布)中,我们不能直接计算离散点的概率,因为在连续分布中任意一个点的概率都是0。因此,为了估计一个离散随机变量在某一特定值上的概率,我们可以在该值周围定义一个小区间,并计算连续分布在这个区间上的积分。

在这种情况下, δ + \delta_+ δ+ δ − \delta_- δ函数定义了像素值为整数时的积分区间。例如,对于一个特定的像素值 x 0 i x_0^i x0i,如果它是缩放后的图像数据中的一个正整数,我们可以使用 δ + ( x 0 i ) \delta_+(x_0^i) δ+(x0i)来得到 x 0 i x_0^i x0i附近的小区间。对于每一个维度 i i i,我们计算高斯PDF在这个小区间内的积分,这个积分给出了在 x 0 i x_0^i x0i值附近 x 0 x_0 x0的概率质量。

这个积分是如何计算的呢?对于高斯分布 N ( x ; μ , σ 2 ) N(x; \mu, \sigma^2) N(x;μ,σ2)

  • x 0 i x_0^i x0i是最大值(在这个缩放中是1), δ + \delta_+ δ+函数定义的区间是 [ x 0 i , x 0 i + 1 255 ] [x_0^i, x_0^i + \frac{1}{255}] [x0i,x0i+2551]。实际上,因为1是可能的最大值,这个区间将会是 [ 1 , ∞ ) [1, \infty) [1,),代表所有大于或等于1的值。
  • x 0 i x_0^i x0i小于最大值时, δ + \delta_+ δ+函数定义的区间是 [ x 0 i , x 0 i + 1 255 ] [x_0^i, x_0^i + \frac{1}{255}] [x0i,x0i+2551],这个区间将涵盖 x 0 i x_0^i x0i的邻近值。

D D D个独立的维度上进行连乘操作是因为这是一种高效的方法来计算多维随机变量的联合概率。在这种情况下,由于图像的每个像素点是相互独立的,所以我们可以将每个像素点的概率相乘来得到整个图像的概率。

最终,这个过程可以用来计算在给定 x 1 x_1 x1的条件下,重构出 x 0 x_0 x0的图像数据的概率。通过这种方法,我们可以评估解码器输出的图像与原始图像数据的匹配程度。概率越高,表示解码器的性能越好,重构的图像质量越接近原始图像。

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

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

相关文章

Python 报错 Syntax Error: Non-UTF-8 code starting with b‘\xc4‘

运行代码: import osprint(hello) print(r你好)解决办法: # -*- coding:utf-8 -*-import osprint(hello) print(r你好)参考&#xff1a; https://www.cnblogs.com/jopny/p/15592689.html

443.压缩字符串

题目&#xff1a;给你一个字符数组 chars &#xff0c;请使用下述算法压缩&#xff1a; 从一个空字符串 s 开始。对于 chars 中的每组 连续重复字符 &#xff1a; 如果这一组长度为 1 &#xff0c;则将字符追加到 s 中。否则&#xff0c;需要向 s 追加字符&#xff0c;后跟这…

组态软件与西门子S7系列PLC及三菱PLC间的无线通信测试

组态软件与西门子S7系列PLC及三菱PLC间的无线通信测试需要用到以下设备&#xff1a; l 西门子PLC型号&#xff1a;S7-200Smart 2台 l 三菱PLC型号&#xff1a;FX5U 2台 l 上位机&#xff1a;力控V7.1 1台 l 无线通讯终端&#xff08;网口版&#xff09;——DTD418MB 3块…

1688商品详情数据采集(商品属性,规格,价格,详情图等)

京东商品详情数据采集是一个复杂但重要的过程&#xff0c;它涉及获取商品的详细信息&#xff0c;包括商品属性、规格、价格以及详情图等。以下是关于如何进行京东商品详情数据采集的基本步骤&#xff1a; 确定采集目标&#xff1a;首先&#xff0c;你需要明确需要采集的商品信…

Python使用openpyxl库或pandas库创建.xlsx格式的Excel文件,并向文件不同的sheet按行或按列写入内容

import openpyxl# 创建-一个Workbook对象 wb openpyxl.Workbook()# 创建多个工作表 sheet1 wb.active sheet1.title "s1"sheet2 wb.create_sheet("s2")# 在不同的工作表中写入数据 sheet1["A1"] Data for Sheet1 sheet1["A2"] D…

一键美化ppt的ai工具有哪些?推荐5款自动生成PPT的ai软件!

伴随着 ai 人工智能技术的发展&#xff0c;作为普通个体的我们&#xff0c;也有机会享受到技术发展带来的红利&#xff0c;比如用 ai 来润色文章&#xff0c;用 ai 来美化 ppt 演示文稿&#xff0c;用 ai 辅助进行数据分析等等&#xff0c;ai 的应用场景多种多样&#xff0c;使…

福利来啦!运维必备神器 90天超长试用!

如何提升客户服务体验&#xff0c;提高企业核心竞争力&#xff1f;福利来啦&#xff01; LinkSLA智能运维管家提供90天超长试用&#xff0c;体验全方位服务管理能力与SaaS服务模式&#xff0c;低成本、易部署、灵活开发的智能运维管理平台&#xff0c;智能工单系统、可视化报表…

运行springboot项目提示:java: 错误: 不支持发行版本 18、java: 错误: 无效的源发行版:18

java: 错误: 不支持发行版本 18 解决方法&#xff1a;修改字节码版本&#xff0c;可以多试几次。 java: 错误: 无效的源发行版&#xff1a;18 解决方法&#xff1a; 出现这些错误原因&#xff1a; spring版本与jdk版本不对应 我的spring boot版本是3.2.2&#xff0c;对应的j…

移除元素

文章目录 移除元素删除有序数组中的重复项移动零比较含退格的字符串有序数组的平方 移除元素 双指针 删除指定项且不改变顺序 def removeElement(nums: list[int], val: int) -> int:fast slow 0while fast < len(nums):if nums[fast] ! val:nums[slow] nums[fast]sl…

云桌面是什么?

近年来互联网技术的发展速度越来越快&#xff0c;很多先进的计算机技术和信息技术随之涌现出来。使计算机的应用水平得到显著提高。一般而言&#xff0c;人们会根据自身的最大需求选择物理主机&#xff0c;因此很多原本不需要购买的物理设备在实际应用中存在被忽视的情况&#…

Linux - 安装 nacos(详细教程)

目录 一、简介二、安装前准备三、下载与安装四、基本配置五、单机模式 一、简介 官网&#xff1a;https://nacos.io/ GitHub&#xff1a;https://github.com/alibaba/nacos Nacos 是阿里巴巴推出的一个新开源项目&#xff0c;它主要是一个更易于构建云原生应用的动态服务发现…

c#简易学生管理系统

https://pan.baidu.com/s/1kCPvWg8P5hvlf26nGf2vxg?pwdya45 ya45