DDPM——理论准备

发布时间:2026/8/25 11:15:05

DDPM——理论准备
U-Net网络与扩散模型u-net网络是绝大多数扩散模型的标准去噪网络骨架对称编解码 跳跃连接非常适配扩散模型。所以我们有必要弄清u-net在扩散模型中的使用想搞懂「U-Net 为适配扩散做了哪些基础改动」DDPM是学术经典入门案例经典案例 - DDPM Denoising Diffusion Probabilistic ModelsDDPM的核心算法上图给出了DDPM的算法流程为了更好地学习和理解我们可以先学习Training和Sampling的核心数学原理。加噪这部分的核心工作是加噪为了过程更加可控凝练DDPM借助了马尔可夫链这样我们只需要提供一个噪声即可直接得出任意时间步的图像。去噪这部分的主要工作是去噪逆扩散采样公式通过去除预测噪声和加入随机噪声既保证了预测的准确性又引入了随机性DDPM算法流程概述Training这是网络的训练1、repeat2、从数据集随机抽取一张真实清晰原图3、随机选一个时间步代表加噪轻重t 越大噪声越多4、手动采样真实标准高斯噪声这是网络要学习拟合的标签5、直接借助公式噪声由UNet预测给出然后梯度下降更新网络参数最小化损失6、循环训练直到预测误差足够小训练结束Sampling训练好 UNet 后不输入任何原图只从纯随机噪声出发一步步逆扩散去噪生成全新的图片称为采样1、初始化生成一张纯高斯噪声图无任何图像信息2、从最大时间步往清晰图迭代一步一步去噪3、if t1还没到最后一步z为随机高斯噪声else 最后一步不再添加随机扰动直接输出干净图所以z04、依据核心公式5、循环结束全部步数去噪完成6、返回最终生成的清晰图像最后了解几个操作1、输入维度描述x[B,C,H,W]Bbatch、C 通道、(H/W) 特征图高宽2、GroupNorm 分组归一在原始的u-net里使用的是batchnorm下面举个具体例子感受一下假设我们有batchnorm会将所有样本的对应通道进行归一化处理比如通道0的处理为x0 ch0 [1,2,3,4]、x1 ch0 [1,1,1,1]合成列表 [1,2,3,4,1,1,1,1], 计算方差和均值即可进行归一化。groupnorm则完全不同这种处理方式是例如取出样本0的ch0和ch2组成[1,2,3,4,9,10,11,12]然后计算方差和均值做归一化。3、残差链接残差链接是为了解决梯度的消失而设计的由于链式求导法则的存在一旦偏导小于1那么梯度一定会越来越小甚至存在消失的风险导致模型无法继续训练。4、额外嵌入量包括 时间步嵌入Timestep Embedding、Token 内容嵌入、空间位置嵌入Positional Embedding (Token 和Positional Embedding构成自注意力机制)时间嵌入正弦基础编码 两层 MLP 可学习投影Swish 激活Token 内容嵌入拉平空间维度转为 token 序列 [B, N, C](NH×W)空间位置嵌入原版 DDPM 使用可学习位置嵌入不是正弦形状[1, N, d_model]直接逐元素加到图像 token 向量上总结DDPM 分为前向加噪与逆扩散去噪两大流程前向通过高斯闭式公式将清晰原图逐步加噪得到任意噪声程度的带噪图同时生成可作为监督标签的真实噪声以此构造训练样本利用 UNet 网络以 MSE 损失学习从带噪图与时间步预测内部隐藏噪声数学上通过贝叶斯推导证明反向转移服从高斯分布借助重参数化技巧写出可微分的迭代采样公式训练完成后从纯随机高斯噪声出发循环调用 UNet 预测噪声并代入逆扩散公式逐步去除噪声最终生成全新清晰图像其中 UNet 是整套模型的核心承担噪声预测任务是连接训练与图像生成的关键。

相关新闻

Hexo+Netlify-CMS+Vercel:打造自动化静态博客工作流

Hexo+Netlify-CMS+Vercel:打造自动化静态博客工作流

2026/8/25 11:15:05

1. 项目概述:为什么选择这套“在线构建”方案? 如果你厌倦了每次更新博客都要在本地敲命令、等构建、再手动上传到服务器,那么这套“Hexo Netlify-CMS Vercel”的组合拳,可能就是为你量身定做的现代化静态博客解决方案。我把它…

从浏览器模拟到API调用:智能体架构的效率革命与实战

从浏览器模拟到API调用:智能体架构的效率革命与实战

2026/8/25 11:15:05

1. 从“浏览器优先”到“API优先”:一个架构理念的转变最近在设计和重构一些自动化流程时,我反复思考一个问题:为什么我们总是下意识地让智能体(Agent)先去模拟浏览器操作?无论是爬虫、RPA还是AI驱动的自动…

大模型安全遗忘框架:为LLM智能体实现精准可控的知识擦除

大模型安全遗忘框架:为LLM智能体实现精准可控的知识擦除

2026/8/25 11:15:05

1. 项目概述:当AI需要“遗忘”时最近在跟几个做AI应用落地的朋友聊天,大家不约而同地提到了一个共同的“心病”:模型学得太好、记得太多,有时候反而是个麻烦。尤其是在处理涉及用户隐私、敏感数据或者合规要求严格的场景时&#x…

JavaScript常见的内存泄露问题 - JavaScript学习系列文章

JavaScript常见的内存泄露问题 - JavaScript学习系列文章

2026/8/25 11:55:06

多前端同学可能觉得这是浏览器或引擎该操心的事, 但理解内存管理能帮你写出更高效的代码, 还能避免各种内存泄漏的坑. 一、常见的内存泄露场景 1) 意外的全局变量: function leaky() { leak 这是一个全局变量; // 本意是 let leak ... this.anotherLeak 这也是全局的; …

JavaScript对象与元编程 - JavaScript学习系列文章

JavaScript对象与元编程 - JavaScript学习系列文章

2026/8/25 11:55:06

一、属性描述符 当你写 obj.name张三 时, 你真的了解这个 name 属性吗? 其实每个属性背后都藏着一组"属性描述符"(Property Descriptor), 就像一个人的身份证信息一样记录着这个属性的详细特征. const obj { name: 张三 };const descriptor Object.getOwnPropert…

JavaScript异步编程的演进 - JavaScript学习系列文章

JavaScript异步编程的演进 - JavaScript学习系列文章

2026/8/25 11:55:06

一、 为什么需要异步编程? 先说说为什么要有异步这回事. JavaScript是单线程的, 也就是说它一次只能做一件事. 如果所有操作都同步执行, 遇到网络请求或者文件读取这种耗时的操作, 页面就会卡住不动, 用户体验直接爆炸. // 同步代码的灾难现场const data fetchDat…

JavaScript 中的原型与继承 - JavaScript学习系列文章

JavaScript 中的原型与继承 - JavaScript学习系列文章

2026/8/25 11:55:06

一、从对象说起, 一切皆对象 在 JS 中, 几乎所有的东西都是对象, 或者说最终都会指向某个对象. 比如: let arr [1, 2, 3];console.log(typeof arr); //"object"function foo() {}console.log(typeof foo); //"function" (但本质上也是对象) 简单的对象创建…

开源考试系统本地部署实战:从环境配置到联调排坑全指南

开源考试系统本地部署实战:从环境配置到联调排坑全指南

2026/8/25 11:55:06

1. 项目缘起:为什么要在本地折腾一个开源考试系统?如果你是一名开发者、教育技术从业者,或者是一个小团队的负责人,想搭建一个在线考试平台,大概率会先想到去网上找现成的开源项目。这个想法很对,毕竟从头造…

Python标准库:开箱即用的生产级工具箱与工程实践指南

Python标准库:开箱即用的生产级工具箱与工程实践指南

2026/8/25 11:45:06

1. 什么是Python标准库:不是“第三方”,而是你装完Python就自带的“出厂配置” 很多人第一次听说“Python标准库”,下意识会把它和pip install安装的requests、numpy、pandas混为一谈——这其实是个根本性误解。Python标准库(Pyt…

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

2026/8/24 19:53:32

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

2026/8/24 19:56:07

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

2026/8/24 21:16:09

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

三步把QQ空间历史说说导出到本地:GetQzonehistory 极简指南

三步把QQ空间历史说说导出到本地:GetQzonehistory 极简指南

2026/8/25 0:04:34

三步把QQ空间历史说说导出到本地:GetQzonehistory 极简指南 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory Meta Description:GetQzonehistory 是一个QQ空间历史说…

洛谷 P7912:[CSP-J 2021 T4] 小熊的果篮 ← 双向链表

洛谷 P7912:[CSP-J 2021 T4] 小熊的果篮 ← 双向链表

2026/8/25 0:04:35

【题目来源】 https://www.luogu.com.cn/problem/P7912 【题目描述】 小熊的水果店里摆放着一排 n 个水果。每个水果只可能是苹果或桔子,从左到右依次用正整数 1,2,…,n 编号。连续排在一起的同一种水果称为一个“块”。小熊要把这一排水果挑到若干个果篮里&#x…

Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG

Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG

2026/8/25 0:04:35

Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG 【免费下载链接】transformers.js State-of-the-art Machine Learning for the web. Run 🤗 Transformers directly in your browser, with no need for a server! 项目地址: https:/…

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

2026/8/22 2:02:26

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…

导师推荐!2026最新AI论文工具测评与实用推荐

导师推荐!2026最新AI论文工具测评与实用推荐

2026/8/22 4:13:47

2026年真正好用的AI论文工具,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

告别游戏崩溃:XCOM 2模组管理器的智能革命

告别游戏崩溃:XCOM 2模组管理器的智能革命

2026/8/22 1:32:34

告别游戏崩溃:XCOM 2模组管理器的智能革命 【免费下载链接】xcom2-launcher The Alternative Mod Launcher (AML) is a replacement for the default game launchers from XCOM 2 and XCOM Chimera Squad. 项目地址: https://gitcode.com/gh_mirrors/xc/xcom2-lau…