【经典论文阅读】DDPM(Diffusion)

DDPM(Diffusion)

denoising diffusion probabilistic models

【生成模型】DDPM概率扩散模型(原理+代码)-CSDN博客

【DDPM】一文看懂去噪扩散概率模型,公式讲解、代码实现与最全详解(一)-CSDN博客

【DDPM】一文看懂去噪扩散概率模型,公式讲解、代码实现与最全详解(二)_扩散模型ddpm如何测试-CSDN博客

摘要

高质量图像合成

a novel connection between diffusion probabilistic models (扩散概率模型) and denoising score (去噪分数) matching with Langevin dynamics (朗之万动力学)

渐进的有损解压方案 a progressive lossy decompression scheme ==> 自回归解码的推广(autoregressive decoding)

【1】引言

生成式模型:GANs、autoregressive模型、flow模型、VAEs、

扩散模型是参数化的马尔科夫链,通过变分推断进行训练,在有限时间内生成与数据匹配的样本

我们模型中的无损编码长度,大部分都被用于描述难以察觉的图像细节

扩散模型的采样过程是一种渐进式解码,类似于自回归解码的比特排序,极大地拓宽了自回归模型的通常可能性

X0到XT:前向过程,加噪

XT到X0:逆向过程,减噪

【2】背景

正态分布 Normal Distribution

数学公式:

扩散模型是隐变量模型:

x1,…,xT 是与数据 x0∼q(x0) 具有相同维度的隐变量

reverse process

联合分布

起始:

马尔可夫过程:

forward/diffusion process

根据方差调度 β1,…,βT,逐步向数据添加高斯噪声

马尔可夫过程:

训练 ==> 优化负对数似然的常规变分界限

前向过程的方差βT,由重参数化方法学习(reparameterization),或作为超参数保持常数

反向过程的表现力,部分通过选择高斯条件来保证

前向过程允许在任意时间步 t,以封闭形式进行采样:

训练 ==> 用随机梯度下降法优化 L 的随机项

利用 KL 散度,将与前向过程的后验分布进行比较,重写 L:

KL 散度是一种不对称统计距离度量,用于衡量一个概率分布 P 与另外一个概率分布 Q 的差异程度。

前向过程的后验分布(forward process posteriors)在条件 x_0 下是可处理:

其他内容

对两个概率分布进行卷积操作,实质上是计算这两个分布的所有可能的组合情况,并得到这些组合情况得到概率分布,即:叠加后的概率分布

  • 蓝色曲线:正态分布1的概率密度

  • 黄色曲线:正态分布2对称翻转后的概率密度

  • 红色曲线:两个分布在当前位置的概率密度的乘积

  • 绿色曲线:两个分布叠加后的概率密度

两个正态分布的卷积,是一个新的正态分布:

【3】扩散模型和去噪自动编码器

3.1 forward process L_T

(1) βT,固定为常数

(2) 近似后验q,没有可学习的参数

==>L_T 在训练中是一个常数

前向过程定义的内容

1:后一时刻与前一时刻的关系

2:从原图X0到加噪后任意时间步图像Xt的关系

3.2 reverse process and L_1:T-1

可以看做拉近 2 个分布的距离

第一个分布:高斯分布

第一个分布的均值和方差:

第二个分布:网络期望拟合的目标分布,也是高斯分布

上述两个分布的方差均是常数,和优化无关

优化目标 ==> Min两个分布均值的二范数

训练反向过程的均值函数近似器 μθ来预测

3.3 data scaling, reverse process decoder, and L_0

将反向过程的最后一项设定为一个基于高斯分布的独立离散解码器

  • D 是数据的维度

  • 上标 i 表示提取某一维度的数据

训练 & 测试伪代码

训练过程:

  • for ... in range(iterations)

  • 从数据集里面取出一个x0

  • 从均匀分布(1, T)里面取一个数

  • 从标准高斯分布,采样1个噪声ϵ

  • 梯度下降,最小化二范数损失

  • 训练到收敛

采样过程:

  • 从标准高斯分布,采样1个噪声xT

  • 从时间步T正向扩散到时间步1

  • 如果时间步大于1,则从标准高斯分布,采样1个噪声z;否则z = 0

  • 根据高斯分布,计算每个时间步t的噪声图

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

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

相关文章

重拾Java:穿越最具多功能性的编程语言之旅

你知道Java是世界上最广泛使用的编程语言之一吗?无论是用于Web应用、企业系统,还是Android开发,Java始终是各级开发者的可靠选择。 在完成SESI SENAI的系统开发技术培训后,我决定重新学习这门语言。现在,我将其与我正…

MySQL--用户权限

1.使用root用户登录MySQL客户端,创建一个名为userl的用户,初始密码为123456;创建一个名为user2的用户,无初始密码。然后,分别使用uesr1、user2登录MySQL 客户端。 创建两个用户 使用user1登录 使用user2登录 2.使用root用户登录&a…

LabVIEW断路器检测系统

随着电网技术的快速发展,对电力系统的可靠性和安全性要求不断提高,塑壳断路器作为关键的保护设备,其出厂前的检测非常重要。开发了一种基于LabVIEW软件平台开发的塑壳断路器智能脱扣器检测系统,该系统能够有效提高检测的自动化水平…

Python实现Excel中数据条显示

Python中要实现百分比数据条的显示,可以使用pandas库,pandas图表样式的设置与Excel中的条件格式设置比较类似,比如Excel里常用的数据条的用法,在pandas中使用代码进行高亮显示,用来突出重点数据,下面一起来…

使用Vue3+Echarts实现加载中国地图,点击省份地图下钻(完整教程)

一. 前言 在众多 ECharts 图表类型中,开发者始终绕不开的有各种各样的地图开发,关于地图开发,可能比其他图表相对繁琐一些,其实说简单也简单,说复杂也复杂,其中不乏有层级地图、3D 地图等,感觉…

【机器学习】——windows下安装anaconda并在vscode上进行配置

一、安装anaconda 1.进入清华的镜像网站,下载自己电脑对应的anaconda版本。网站:https://repo.anaconda.com/archive/ 这里我下载的版本是anaconda3-2024.10-1-Windows-x86-64 2.下载完毕后开始安装anaconda 3.配置anaconda环境变量 在设置中找到编…

总结FastDFS的面试题

目录 一:FastDFS的基础知识 1:定义 2:FastDFS的优点 3:tracker server 4:storage server 二:FastDFS的存储原理 1:小文件存储的问题 2:小文件合并存储 3:文件上…

Leetcode打卡:骑士在棋盘上的概率

执行结果:通过 题目:骑士在棋盘上的概率 在一个 n x n 的国际象棋棋盘上,一个骑士从单元格 (row, column) 开始,并尝试进行 k 次移动。行和列是 从 0 开始 的,所以左上单元格是 (0,0) ,右下单元格是 (n - …

Oceanbase离线集群部署

准备工作 两台服务器 服务器的配置参照官网要求来 服务器名配置服务器IPoceanbase116g8h192.168.10.239oceanbase216g8h192.168.10.239 这里选oceanbase1作为 obd机器 oceanbase安装包 选择社区版本的时候自己系统的安装包 ntp时间同步rpm包 联网机器下载所需的软件包 …

漫画之家Spring Boot:漫画资源的跨设备访问

摘 要 随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,各行各业相继进入信息管理时代&a…

重生之我在21世纪学C++—循环语句

一、while 循环 1、while 语法形式 while ( 表达式 ) { 语句 } while默认只能跟一条语句,如果有多条语句,需要用{ }将语句括起来。 2、执行流程 首先上来先执行判断表达式,如果表达式的值为 0 ,就不进入循环;如…

微信小程序购物车全选反选功能以及合计

微信小程序基于Vant Weapp的购物车功能实现 1、单选 使用微信小程序原生表单组件checkbox和checkbox-group 注意&#xff1a;checkbox原生不支持bind:change事件&#xff0c;checkbox-group支持 <checkbox-group bindchange"handleCheck"><checkbox val…

DAY35|动态规划Part03|LeetCode:01背包问题 二维、01背包问题 一维、416. 分割等和子集

目录 01背包理论基础&#xff08;一&#xff09; 基本思路 C代码 01背包理论基础&#xff08;二&#xff09; 基本思路 C代码 LeetCode:416. 分割等和子集 基本思路 C代码 01背包理论基础&#xff08;一&#xff09; 题目链接&#xff1a;卡码网46. 携带研究材料 文字…

elasticsearch-如何给文档新增/更新的字段

文章目录 前言elasticsearch-如何给文档新增/更新的字段1. 如何给某些文档新增/更新的字段2. 给所有文档添加/更新一个新的字段3. 测试 前言 如果您觉得有用的话&#xff0c;记得给博主点个赞&#xff0c;评论&#xff0c;收藏一键三连啊&#xff0c;写作不易啊^ _ ^。   而且…

World Labs发布最新3D世界生成模型 | 李飞飞引领AI创新

随着人工智能技术的飞速发展&#xff0c;3D生成模型作为一个新兴领域&#xff0c;正逐步改变我们与虚拟世界的互动方式。2023年12月3日&#xff0c;李飞飞教授领导的AI初创公司World Labs发布了他们的最新成果——一款能够将单张图片转化为完整3D世界的生成模型。这个模型不仅突…

分布式cap

P&#xff08;分区安全&#xff09;都能保证&#xff0c;就是在C&#xff08;强一致&#xff09;和A&#xff08;性能&#xff09;之间做取舍。 &#xff08;即立马做主从同步&#xff0c;还是先返回写入结果等会再做主从同步。类似的还有&#xff0c;缓存和db之间的同步。&am…

cocos creator接入字节跳动抖音小游戏JSAPI敏感词检测(进行文字输入,但输入敏感词后没有替换为*号)

今天更新了某个抖音小游戏的版本&#xff0c;增加了部分剧情&#xff0c;半天过后一条短信审核未通过&#xff0c;emmm…抖音总是能给开发者惊喜…打开电脑看看这次又整什么幺蛾子… 首先是一脸懵逼&#xff0c;后端早已接入了官方的内容安全检测能力了&#xff08;https://de…

软件无线电安全之GNU Radio基础(下)

往期回顾 软件无线电安全之GUN Radio基础(上) 背景 在上一小节中&#xff0c;我们简单介绍和使用了GNU Radio软件的基础功能和模块&#xff0c;同时通过GNU Radio Companion&#xff08;GRC&#xff09;创建了简单的流程图&#xff0c;展示了信号生成、处理和输出的流程。最后…

Gitee配置SSH公钥

采用SSH协议同步Git仓库代码的好处就是高效。在配置好SSH公钥后&#xff0c;不需要每次操作都要输入用户名和密码&#xff08;主要针对命令行来说&#xff09;。 以我个人项目为例。 生成 SSH 公钥 1. 通过命令 ssh-keygen 生成 SSH Key&#xff1a; ssh-keygen -t ed25519…

2024年认证杯SPSSPRO杯数学建模D题(第一阶段)AI绘画带来的挑战解题全过程文档及程序

2024年认证杯SPSSPRO杯数学建模 D题 AI绘画带来的挑战 原题再现&#xff1a; 2023 年开年&#xff0c;ChatGPT 作为一款聊天型AI工具&#xff0c;成为了超越疫情的热门词条&#xff1b;而在AI的另一个分支——绘图领域&#xff0c;一款名为Midjourney&#xff08;MJ&#xff…