diffusion model (扩散模型)原理

扩散模型diffusion model的原理浅谈 扩散模型的原理主要基于两个核心过程:前向扩散过程(Forward Diffusion Process)和反向扩散过程(Reverse Diffusion Process)。这两个过程相互对应,前向过程用于逐渐给数据添加噪声,而反向过程则用于从噪声中恢复原始数据。 阅读详情

扩散模型分为正向过程和反向过程。
正向过程为一点点在图片上添加噪声的过程,反向过程为去噪声的过程。

图片的生成就是反向过程,给一张高斯噪声图片,逐步去噪生成图片。
在这里插入图片描述

扩散模型和VAE的区别,
VAE是一步到位的(通过encoder-decoder),扩散模型要分成N个step, 是一个自回归过程。

在这里插入图片描述

扩散模型的训练过程

重复1到5行的过程,直到收敛。
每次采样一张图片 x 0 x_{0} x0​,t, 和高斯噪声图像 ϵ \epsilon ϵ。
α t ˉ \bar{\alpha _{t} } αt​ˉ​是事先定义好的数字,你可以定义它随时间线性变小,也可以是cosine分布。在你采样 t 的时候,t 也同时对应了一个 α t ˉ \bar{\alpha _{t} } αt​ˉ​。
ϵ \epsilon ϵ是高斯噪声图片,那么在这里插入图片描述就表示在图片上添加噪声。
ϵ θ \epsilon_{\theta} ϵθ​可以理解为一个noise predictor, 它可以是一个网络, i n p u t input input是加了噪声的图片在这里插入图片描述和 t , 输出是一个噪声图片 ϵ θ ( i n p u t ) \epsilon_{\theta}(input) ϵθ​(input),
根据采样的噪声 ϵ \epsilon ϵ和预测的噪声图片 ϵ θ ( i n p u t ) \epsilon_{\theta}(input) ϵθ​(input)的误差来训练这个noise predictor,
使它能够输出尽可能接进 ϵ \epsilon ϵ的噪声。

在这里插入图片描述

上面的过程也说明了一个问题,
当你采样了 t, 是可以直接计算 t 时刻的加了噪声的图片的,在这里插入图片描述
请添加图片描述

而不是想像中的这个样子:
请添加图片描述

推理过程

前面提到了扩散模型有正向和反向过程,
在正向过程中,图片是 x 0 x_{0} x0​, 逐步加噪声,到T时刻的 x T x_{T} xT​是一个噪声图片。

推理过程是反向过程,根据高斯噪声的 x T x_{T} xT​的得到图片 x 0 x_{0} x0​.

ϵ θ \epsilon_{\theta} ϵθ​是前面训练过程中训练的noise predictor, 它的input为加了噪声的图片 x t x_{t} xt​和 t.
z z z也是一个采样的噪声图片。
请添加图片描述
上面的过程是这样的:
采样N次,直到得到清晰的 x 0 x_{0} x0​

在这里插入图片描述

公式推导部分待更新。

参考资料

扩散模型 Diffusion Models - 原理篇 阅读详情

相关推荐

扩散模型(Diffusion Model)原理及代码实现

扩散模型(Diffusion Model)起源于统计物理学和概率图模型,灵感来自热扩散和布朗运动等物理现象。Sohl-Dickstein等人在2015年首次将扩散过程引入深度生成模型,Ho等人在2020年提出的DDPM框架进一步推动了其发展。扩散模型通过前向过程逐步添加噪声,使数据接近高斯分布,再通过反向过程逐步去噪,生成目标数据。DDPM的核心在于噪声预测器的训练,模型通过最大化似然估计优化反向过程,生成高质量图像。扩散模型在图像生成、语音合成等任务中表现优异,未来发展方向包括更高效的采样策略、多模态融合

2501_91695155的博客 2478

一文讲懂扩散模型

扩散模型作为一种新兴的生成模型,通过模拟数据的扩散和去噪过程来生成新的样本。其基本原理简单明了但背后蕴含着丰富的数学原理和优化技巧。随着研究的不断深入和应用场景的不断拓展,扩散模型有望在更多领域发挥重要作用并推动相关技术的发展进步。

异构算力老群群(在读985计算机博士生)的技术博客 5583

扩散模型:Diffusion Model原理剖析

x0​ϵθ​tϵx0​xt​xt−1​x0​xt​qxt−1​∣xt​x0​)Pxt−1​∣xt​)xt−1​xt​tx0​xt​xt​txt−1​x0​ααββδt​z。

u013308709的博客 1157

【深度学习模型】扩散模型(Diffusion Model)基本原理及代码讲解

生成式建模的扩散思想实际上已经在2015年(Sohl-Dickstein等人)提出,然而,直到2019年斯坦福大学(Song等人)、2020年Google Brain(Ho等人)才改进了这个方法,从此引发了生成式模型的新潮流。目前,包括OpenAI的GLIDE和DALL-E 2,海德堡大学的Latent Diffusion和Google Brain的ImageGen,都基于diffusion模型,并可以得到高质量的生成效果。本文以下讲解主要基于DDPM,并适当地增加一些目前有效的改进内容。

tobefans的博客 9万+

音视频开发之旅(96) - 文生图背后的扩散模型(Diffusion Model)原理及源码解析

生成模型(Generative Model)是机器学习领域的一个重要分支,用于从训练数据中学习数据的概率分布,从而生成新的、与训练数据相似的数据。它的目标是通过学习训练数据的分布 ( p(x) ),来生成逼真的样本。在生成任务中,我们见证了多种模型的崛起与发展,从早期的变分自编码器(VAE)到风靡一时的生成对抗网络(GAN),再到近年来表现突出的扩散模型(Diffusion Model),这些模型对比如下图所示。

yabin的专栏 1650

扩散模型(Diffusion Model)——生成模型

扩散模型(Diffusion Model)是一种生成模型,最近在图像生成、视频生成、语音合成等领域取得了显著的进展。与传统的生成对抗网络(GAN)和变分自编码器(VAE)不同,扩散模型通过逐步将噪声添加到数据并反转这一过程来生成新样本。

m0_75253143的博客 7750

扩散模型(Diffusion Model)原理讲解 数学公式推导 简洁易懂版

扩散模型数学公式全流程推导,从可以理解的概率分布的角度出发,包括对前向过程,逆向过程,模型训练,模型原理的理解。

m0_63933060的博客 4534

扩散模型Diffusion Model原理与代码实例讲解

扩散模型Diffusion Model原理与代码实例讲解 1.背景介绍 扩散模型(Diffusion Model)是近年来在生成模型领域中崭露头角的一种新型方法。它通过模拟数据的逐步演化过程,生成高质量的样本。与传统的生成对抗网络(GAN)和变分自编码器(VAE)相比

AI天才研究院 2025

Diffusion Model扩散模型原理

本文并非原创,只是个人的学习的笔记,作者只对一些步骤进行了简单的推导。具体内容请参考:https://lilianweng.github.io/posts/2021-07-11-diffusion-models/https://www.bilibili.com/video/BV1b541197HX?share_source=copy_web若希望从高斯分布N(μ,σ2)N(μ,σ^2)N(μ,σ2)中采样,可以先从标准分布N(0,1)N(0,1)N(0,1)采样出zzz,再得到σ∗z+μσ*z+μσ∗z+μ

🅽🅸🅲🅺🅴🆁🅽🅴🅻 ⓃⒾⒸⓀⒺⓇⓃⒺⓁ 2820

不只是抓取:用五指灵巧手(ROH-A001/RH56)玩转ROS2下的力控与混合控制

本文深入探讨了在ROS2环境下使用五指灵巧手(ROH-A001/RH56)实现力控与混合控制的实战技巧。从硬件通信协议解析到ROS2节点开发,详细介绍了力感知架构、实时数据处理和混合控制策略,帮助开发者在Ubuntu系统中高效实现精密操作。通过鸡蛋抓取等实例,展示了力控技术在机器人灵巧操作中的关键作用。

weixin_28221501的博客 285

【渗透工具】内网多级代理工具Venom详细使用教程

Venom是一款为渗透测试人员设计的使用Go开发的多级代理工具。Venom可将多个节点进行连接,然后以节点为跳板,构建多级代理。渗透测试人员可以使用Venom轻松地将网络流量代理到多层内网,并轻松地管理代理节点。

TT小子的博客 3756

音视频开发之旅(98) -潜扩散模型(Latent Diffusion Model)原理及源码解析

1.背景2. 潜扩散模型(Latent Diffusion Model)原理3. 应用场景4. 推理源码解析5. 资料。

yabin的专栏 1722

实战指南:UOS专业版命令行高效下载离线安装包及依赖

本文提供了一份UOS专业版离线安装包的实战下载指南。针对无外网环境下的软件部署难题,详细介绍了如何通过命令行精准获取软件包名,并利用`apt download`命令高效下载主程序及其所有依赖。文章重点解析了使用`apt install --dry-run`模拟安装来完整获取依赖包的方法,并给出了离线安装、问题排查及自动化脚本编写等高级技巧,帮助管理员和运维人员实现可靠的批量离线部署。

honey的博客 1108

一文读懂扩散模型DDIM(Denoising Diffusion Implicit Model)原理,小白也可以看懂!

本文篇幅简短,旨在为提供小白快速入门的精华文章,文章总体一千字即可理解DDIM!

m0_65706222的博客 1507

实战ByteTrack:用C++手把手教你实现多目标跟踪(附完整代码解析)

本文通过C++实战教程,手把手教你实现ByteTrack多目标跟踪算法。文章详细解析了算法核心,包括利用卡尔曼滤波进行状态预测、匈牙利算法完成数据关联,以及ByteTrack独特的三次匹配策略来有效处理低置信度检测框,并提供了完整的项目架构、代码实现与性能优化指南。

yolo5detector的博客 299

echarts的坐标轴处理算法

参考原文:https://www.cnblogs.com/vicky-li/p/11653415.html。2、可用于双轴的情况,指定splitNumber,保证左右两边的线没有交叉显示的情况。1、设置echarts显示的最大最小值,让数据显示比较有起伏。处理echarts的一些问题。

HYeeee的博客 800

扩散模型(Diffusion Model)原理概述

扩散模型(Diffusion Model)是一种生成模型,受热力学中扩散过程的启发,通过模拟数据从噪声中逐步去噪的过程来生成样本。其核心思想是渐进式地添加噪声(正向过程)和逐步去噪(反向过程)。在正向过程中,逐步向数据中添加高斯噪声,最终将数据转化为纯噪声;在反向过程中,学习如何从噪声中逐步去噪,恢复出原始数据分布。

归去来兮的博客 1487

VCS 2018 环境下,手把手教你用 UVMC 搞定 SystemC 和 SystemVerilog 混合仿真(附完整代码)

本文详细介绍了在VCS 2018环境下使用UVMC实现SystemC和SystemVerilog混合仿真的完整指南。从环境配置、工具链设置到UVMC通信机制解析,提供了实战案例和高级调试技巧,帮助开发者高效搭建复杂验证环境。特别适合需要处理跨语言仿真的芯片验证工程师。

weixin_30952535的博客 285

扩散模型(Diffusion Model)详解:原理、发展与应用

近年来,扩散模型在生成式AI领域(如Stable Diffusion、DALL·E 2)表现突出,逐步取代了传统的。:相比GAN,扩散模型推理需多次迭代(但Consistency Models等新方法在改进)。αˉt=∏s=1t(1−βs)αˉt​=∏s=1t​(1−βs​) 是累积噪声因子。:扩散模型+LLM(如Stable Diffusion 3结合语言模型)。过程,逐步对输入数据(如图像)添加高斯噪声,最终使其变成完全随机的噪声。:ControlNet(基于扩散模型的条件控制)。

AngelCryToo的专栏 4057

Linux V4L2驱动开发实战:手把手教你用I2C摄像头Sensor注册一个v4l2_subdev

本文详细解析了Linux V4L2驱动开发中I2C摄像头Sensor注册v4l2_subdev的全流程,包括初始化、操作集填充、异步匹配等关键环节。通过实战案例和代码示例,帮助开发者掌握V4L2子系统下的摄像头驱动开发技巧,提升嵌入式Linux系统开发能力。

weixin_30328063的博客 418

在 SAP BTP 中为 SAP AI Core 创建 Service Instance 和 Service Key 的完整实战指南

摘要:本文详细介绍了在SAP BTP上创建AI Core服务实例和密钥的关键步骤,这是实现ABAP系统与Gen AI大语言模型集成的核心技术环节。文章通过一个制造业财务问答场景的案例,系统梳理了从前提条件准备、架构理解到具体操作的全过程,重点解析了service instance创建、X.509证书配置等关键节点。特别强调了Extended计划选择、证书格式等易错点,为ABAP开发人员实现Gen AI场景提供了实用指南。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 270
上一篇: KL divergence(KL 散度)详解
下一篇: 简单的例子说明 F.cross_entropy用法
蓝羽飞鸟
博客等级 码龄8年 1万+粉丝 727原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蓝羽飞鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值