0%
boxmoe_header_banner_img

加载中

Diffusion Model简介


avatar
mizuki 2026年9月25日 2026年9月28日 6

引言

这篇文章将简述Diffusion Model的基本用途和基本原理

一. 基本用途

Diffusion Model通常运用在影像的生成上,常见的方式有:

  • 文生图:输入一句文字,生成图片,例如 Stable Diffusion 这类模型
  • 图生图:给一张已有图片,按照提示词改变风格、内容或细节
  • 图像修复 / 补全:把缺失区域补出来,也叫 inpainting
  • 超分辨率:把低清图片变得更清晰
  • 图像编辑:比如更换背景、改变服装、修改物体
  • 视频生成:本质上可以看成在时间维度上生成连续图像
  • 3D、音频、语音生成:现在也有很多 diffusion 用在 3D、音乐、语音上。

二. 基本原理

  • 1. 总路径

这里主要介绍生成图的方式

你可以先把它理解成一种“从随机噪声出发,逐步生成符合训练数据分布的图像”的生成模型,主要是依靠Denoise逐渐消除图片中的噪点,最后生成目标图片,如图所示

你可以这样理解,相当于雕刻,从一开始是一个大理石,一步一步的就把它雕刻为一座雕像

  • 2. Denoise如何运作

Denoise也并不是简单的将图片放入就可以消除噪点,放入图片的同时还要输入噪点的时间步编号,图中的 1000 是示例的时间步编号,较大的时间步通常对应更强的加噪,如图所示

不仅如此,Denoise并不是简单的直接消除噪点,模型根据当前带噪图像和时间步预测噪声,再由采样算法计算下一步图像

预测噪点图的模型叫做Noise Predicter

三. 如何训练Noise Predictor

  • 1. 分步拆解

首先我们先了解一次训练是如何形成的

首先输入带噪图像和时间步编号输入Noise Predicter,画图时让“真实噪声”和“预测噪声”一起指向“损失函数”,不要把真实噪声箭头指向模型输入,让它进行学习

  • 2. Forward Process

训练时,先取一张真实图像,随机选一个时间步,再采样一份随机噪声

按照预先设定的噪声日程,把噪声加入图像,得到带噪图像 ,噪声预测模型接收和时间步 ,输出预测噪声

我们将预测噪声与刚才实际加入的噪声比较,利用误差更新模型参数,重复这一过程,模型便逐渐学会处理不同噪声水平的图像

我们也没有必要依次从1到1000进行训练,只用随机挑选一定数量的时间步进行训练就可以了

  • 3. 其他

如果想训练文字生图的模型,你可以在训练Noise Predicter的过程中加入文字

总结

这只是Diffusion Model的作用和使用方式,接下来将讲解关于Diffusion Model背后的数学原理

上一次更新已经跑远了✨ 计算中...
(‾◡◝) 本内容里的一些消息,可能已经跟不上时间啦~


评论(0)

查看评论列表

暂无评论


发表评论

表情 颜文字

插入代码
后退
前进
刷新
复制
粘贴
全选
删除
返回首页
0%
目录
顶部
底部
📖 文章导读