一文详解去噪扩散概率模型(DDPM)

news2024/9/20 23:18:59

节前,我们星球组织了一场算法岗技术&面试讨论会,邀请了一些互联网大厂朋友、参加社招和校招面试的同学。

针对算法岗技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何准备、面试常考点分享等热门话题进行了深入的讨论。

合集:

《AIGC 面试宝典》已圈粉无数!


去噪扩散概率模型(DDPM)是一种新颖的高质量图像生成方法。现在事实证明,扩散模型可以轻松超越标准生成对抗网络(GAN)。

我们有一个正向过程和一个反向过程。前向过程向图像添加高斯噪声。这将导致均值和单位方差为零的高斯分布。在相反的过程中,我们尝试从高斯噪声分布​​中重新创建图像。

正向和反向过程是参数化的随机马尔可夫链,我们在其中重复应用转换内核。转变以逐步的方式发生。每一步仅依赖于上一步。

在这里插入图片描述

DDPM的前向和后向过程

转发过程

我们可以将扩散过程定义为随机微分方程。它包含确定性部分和随机部分。论文中,这与朗之万动力学有关。

前向过程定义如下。

我们可以通过以下方式重新参数化和离散化上述方程。

假设 t=T 是最后一个时间步。我们可以通过以下方式简化时间步 T 的分布。

现在,我们可以考虑收敛标准来推导出以下结果。

这意味着重复使用上述重新参数化最终会导致零均值单位方差高斯分布。

我们不使用固定方差 β,而是使用方差表 βₜ。我们随时间改变方差。

方差项定义了从一个样本到另一个样本的跳跃。在相反的过程中,在最初的步骤中,我们可以快速改变(我们有非常嘈杂的图像)。因此,我们使用更大的方差。然而,在最后的步骤中,我们必须小心地改变图像。因此,我们使用较小的方差。

然而,这是一个递归过程。如果我们想要计算 t=1000 时的分布,我们必须递归执行上述方程 1000 次。我们可以简化算法,直接计算任意时间步的分布。

我们可以使用上面的等式来避免递归。

在这里插入图片描述

逆向过程

我们想要从随机高斯噪声生成图像。这也是具有高斯转移的随机马尔可夫链。我们可以用下面的方式来写。

这是一个极其困难的问题。计算均值和方差涉及处理整个图像。因此,我们使用变分推理。由于后验分布的复杂性,我们将其描述为优化问题。现在,均值和方差是可学习的参数。

我们正在尝试近似反向分布。这类似于变分自动编码器中使用的方法。

变分自动编码器(VAE)

我们没有尝试优化对数概率,而是尝试最小化下限。

变分自编码器和 DDPM 有许多相似之处。然而,DDPM 以逐步的方式执行正向和反向过程。因此,我们可以用稍微不同的方式重新计算DDPM的优化过程。

现在我们可以使用马尔可夫链属性来进一步简化这一点。

所有项看起来都像 KL 散度,我们希望将它们最小化。最后一项包含解释相反过程的类似术语。第一项和第二项是常数。我们使用第三项来计算损失。

将上式乘以-1,我们可以推导出下式。

现在我们将通过以下方式进一步简化散度项。

所得分布也是高斯分布。我们可以重写,

我们可以用类似的方式编写反向步骤的参数化版本。我们使用与上面相同的方差。

在本文中,我们计算了我们的模型对噪声的近似程度。因此,损失略有不同。

现在,我们可以忽略常数项,并将损失定义为噪声之间的差异。

现在我们可以定义我们的训练算法。

我们向神经网络输入带有高斯噪声的图像。所得噪声必须接近真实噪声。

对于图像生成,我们执行相反的过程。这个过程类似于朗之万动力学。

在这里插入图片描述

CelebA-HQ 256 × 256 生成的样本

参考

Ho, J.、Jain, A. 和 Abbeel, P. (2020)。去噪扩散概率模型。

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

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

相关文章

AI 克隆声音,只需 3 分钟(附最全教程)

作者:寒斜 继生成式文本大模型 Chatgpt,生成式图片 Stablediffusion 之后生成式语音 Text To Speech 在开源社区也出现了一匹黑马,就是 GPT-Sovits [ 1] 。 之所以说他是黑马,让人觉得惊艳,是因为在语音效果克隆上做…

Deformable-DETR

DETR表现出来的问题 训练周期很长,相比标准的one-stage/two-stage detection在COCO上 12 epochs就能出好的结果,DETR标配200 epochs.对小目标不友好 作者指出,DETR中Transformer的问题是,在初始化的时候,网络几乎是把…

浸没式液冷服务器的换热效率及节能潜力分析

服务器浸没式液冷的换热效率及节能潜力 摘要:我们针对服务器浸没式液冷实验台进行了深入测试,探究了不同室外温度和服务器发热功率对系统制冷PUE的影响。实验数据显示,该系统的制冷PUE值介于1.05至1.28之间,高效节能特点显著。 在…

在哪可以查到全网的司法诉讼信息?

司法涉诉信息指的是再司法活动中形成的各种记录和资料,涵盖了诉讼案件的立案,审判,执行等各个环节的记录和文件。比如基本案件信息,开庭信息,审判信息,执行信息等。有时候还会涉及到被执行人,司…

创建进程的常用方式

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 在Python中有多个模块可以创建进程,比较常用的有os.fork()函数、multiprocessing模块和Pool进程池。由于os.fork()函数只适用于Unix/Linu…

常见的创建型设计模式( 一 )

设计模式( 一 ) 常见的创建型设计模式 1.单例模式 : 确保一个类只有一个实例 , 为整个程序提供一个全局的访问接口。getInstance 实现方式 饿汉式,在调用getInstance 创建实例的时候 ,实例已经存在了 ,不需要我们再次去 new创建。 优点&a…

Pytorch编写Transformer

本文参考自https://github.com/datawhalechina/learn-nlp-with-transformers/blob/main/docs/ 在学习了图解Transformer以后,需要用Pytorch编写Transformer,下面是写代码的过程中的总结,结构根据图解Transformer进行说明。 import numpy as …

stable diffusion 局部重绘 reference-only api 接口调试

webUI api payload 插件生成的接口参数不准确,reference-only 的image不是对象,就是不同字符串字段,直接传,不是套image。 综上,那个插件参数不确定,应直接看插件的源码,看它接受什么参数 错误…

校园车辆管理系统的设计与实现

第1章 绪论 1.1 研究背景与意义 随着高等教育的普及和扩张,大学校园已成为一个综合性的小型社会。教学楼、实验室、宿舍、体育设施等构成了庞大且复杂的校园基础设施。在这样的环境下,教师、学生、家长及访客的车辆数量也随之增多,这不仅带来…

UI设计师是不是青春饭?你摆烂,啥工作都是青春饭!

一、UI设计师的岗位职责包括: 用户研究和需求分析:了解用户需求、行为和偏好,进行用户调研和用户体验测试,以便设计出符合用户期望的界面。制定设计方案:根据用户需求和产品定位,制定UI设计方案&#xff0c…

[手机Linux PostmarketOS]一,1加6T真正的手机Linux系统

前面用Linux deploy软件安装了Linux系统在手机,实则不是真正的手机刷成了linux系统,而是通过Linux deploy软件在容器里安装了Linux系统,在使用方面会有诸多限制,并不能发挥Linux的真实强大之处,于是我又百度又谷歌(真不…

标准化的力量:如何通过PDM提升企业研发效率

在当今竞争激烈的市场环境中,企业必须不断优化其产品开发流程以保持竞争力。PDM产品数据管理系统与企业标准化的结合,为企业提供了一种有效的方法来管理和优化其研发流程。本文将探讨PDM与企业标准化的概念,它们在企业中的相互作用&#xff0…

上市公司-社会责任报告、ESG报告文本(2006-2023年)

上市公司社会责任报告是企业对外公布的一份关于其社会责任实践和成果的详细文件,涵盖环境保护、社会贡献和公司治理等方面的表现。通常包含公司在减少环境影响、提升社会福祉、维护员工权益、促进社区发展以及确保透明和道德的管理实践等方面的信息和数据。有助于了…

基于Pytorch框架的深度学习Swin-Transformer神经网络食物分类系统源码

第一步:准备数据 5种鸟类数据:self.class_indict ["苹果派", "猪小排", "果仁蜜饼", "生牛肉薄片", "鞑靼牛肉"] ,总共有5000张图片,每个文件夹单独放一种数据 第二步&…

PS系统教程23

减淡加深海绵工具 减淡工具 作用:提炼物体颜色 加深工具 作用:变暗物体颜色,加深物体深度 海绵工具 作用:修正物体饱和度,加大纯度 减淡工具 老套路,找一个图片 复制新建粘贴Ctrl键J复制图层选择减…

WinRAR应用文件图标是白色怎么解决

1.打开程序-选项-设置 2.找到集成-选择全部切换,保存即可。

找不到concrt140.dll无法继续执行代码的几种解决方法

在数字时代,电脑用户经常会遇到各种技术问题,其中DLL文件缺失是最常见的问题之一。今天,我们将重点介绍CONCRT140.DLL文件的重要性,以及当它丢失时对电脑的影响。同时,我们提供了五种解决方法和预防措施,帮…

浅谈RC4

一、什么叫RC4?优点和缺点 RC4是对称密码(加密解密使用同一个密钥)算法中的流密码(一个字节一个字节的进行加密)加密算法。 优点:简单、灵活、作用范围广,速度快 缺点:安全性能较差&…

24.bytebuf创建

1.byteBuf创建方法 2.自动动态扩容的 package com.xkj.bound;import io.netty.buffer.ByteBuf; import io.netty.buffer.ByteBufAllocator; import lombok.extern.slf4j.Slf4j;@Slf4j public class TestByteBuf {public static void main(String[] args) {//bytebuf可以不指定…

【计算机网络体系结构】计算机网络体系结构实验-配置WinPcap

清清存货UAU ------------------------------------------------------------------------- 一、在CodeBlocks中配置WinPcap 1. 运行WinPcap安装包 2. 官网下载codeblocks 安装 安装成功 3. 测试 新建一个工程,选择Console application 创建成功 4. 配置 在寻找…