【扩散模型连载 · 第 2 期】逆向扩散建模与神经网络的角色

上期回顾

我们在第 1 期中介绍了 正向扩散过程(Forward Process),并用 CIFAR-10 图像演示了加噪过程:

正向过程是固定的,无需训练,但我们感兴趣的是:如何从纯噪声一步步"还原"出真实图像?

这就引出了今天的重点:

一、逆向扩散过程(Reverse Process)

正向扩散会将图像逐步变为噪声:

我们想做的是逆过程:

这个逆向过程也被建模成一个马尔可夫链

目标:用神经网络 θ学习出这个高斯分布的参数.

二、逆向过程的难点

相比于前向过程,逆过程存在两个挑战:

  1. 真实的 p(x_t−1∣xt)无法直接获得

    因为我们没有真实的 x_t−1​ 分布,只知道正向过程中加了噪声。

  2. 训练目标不好设计

    我们不能直接监督学习目标分布,只能间接构造损失。

三、DDPM 的关键设计:噪声预测损失

作者提出了一个巧妙的思路:

既然我们知道在正向过程中,x_t 是通过在 x_0上添加噪声得到的:

那么我们可以训练神经网络 ϵ_θ(x_t,t) 去预测加进去的噪声 ϵ

四、训练损失函数

使用 L2 loss 去预测噪声:

含义:

  • 随机采样一个时间步 t

  • 加噪得到 x_t

  • 训练网络 ϵ_θ​ 尽可能预测正确的噪声

📌 神奇之处:这个损失等价于对变分下界的优化(DDPM 论文中严格推导)

相关推荐
用户139511881124几秒前
AI日报 - 2025年07月26日
人工智能
大模型真好玩几秒前
深入浅出LangChain AI Agent智能体开发教程(四)—LangChain记忆存储与多轮对话机器人搭建
前端·人工智能·python
双向331 分钟前
多智能体系统设计:协作、竞争与涌现行为
人工智能
Q同学2 分钟前
SciMaster:无需微调,在人类最后考试上刷新 SOTA
人工智能·llm·agent
qiyue772 分钟前
AI编程专栏(七)-什么是上下文工程,与提示工程区别
人工智能·ai编程·cursor
love530love2 分钟前
命令行创建 UV 环境及本地化实战演示—— 基于《Python 多版本与开发环境治理架构设计》的最佳实践
开发语言·人工智能·windows·python·conda·uv
wayne2144 分钟前
不写一行代码,也能做出 App?一文看懂「Vibe Coding」
人工智能·ai编程
洞见新研社6 分钟前
谁将统治AI游戏时代?腾讯、网易、米哈游技术暗战
人工智能
速易达网络26 分钟前
[特殊字符]️ 风暴之眼:AI时代IT从业者的重构与重生
人工智能·重构
Sui_Network36 分钟前
探索 Sui 上 BTCfi 的各类资产
大数据·人工智能·科技·游戏·区块链