扩散模型 diffusion model

模型原理

基于扩散模型实现 AI 绘画包括两个过程------加噪过程和去噪过程。

e.墨水->热水

每一步的加噪结果仅依赖于上一步的加噪结果和一个加噪过程,而这个加噪过程依赖于当前时间步 t,因此整个加噪过程可以看成参数化的马尔科夫链。

马尔可夫链:数学模型,用于描述随机事件的序列,其中每个事件的概率仅取决于上一个事件的状态,而与过去的事件无关。

扩散模型 vs GAN

训练与推理

加噪-训练环节

对于一张干净的图像,可以仅通过一次计算得到任意 t 步加噪声的结果。

训练:假定我们已经收集了一个用于训练扩散模型的训练集,整个训练过程便是不断重复下面这六个步骤。

  1. 每次从数据集中随机抽取一张图片。

  2. 随机从 1 至 1000 中选择一个时间步 t。

  3. 随机生成一个高斯噪声。

  4. 根据上述加噪环节的公式,一次计算直接得到第 t 步加噪的结果图像。

  5. 将时间步 t 和加噪图像作为 UNet 的输入去预测一个噪声值。

  6. 使用第五步预测的噪声值和第三步随机生成的噪声值,计算数值误差,并回传梯度。

去噪-推理环节

如何根据当前时间步的噪声图预测上一步加入的噪声?

希望得到这样一个模型,输入第 t 步加噪结果和时间步 t,预测从第 t-1 步到第 t 步噪声值。主流的方法是训练一个 UNet 模型来预测噪声图。因为噪声值和输入图的分辨率是一致的,而 UNet 模型常用于图像分割任务,输入输出的分辨率相同,使用 UNet 来完成这个任务再合适不过了。

如何在当前时间步的噪声图上去除这些噪声?

采样器,根据加噪结果和噪声值,准确地去除噪声。

推理:

  1. 我们随机生成一个高斯噪声,作为第 1000 步加噪之后的结果。

  2. 将这个噪声和时间步 1000 作为已经训练好的 UNet 的输入,预测第 999 步引入的噪声。

  3. 使用采样器在步骤 1 的高斯噪声中去除步骤 2 预测的噪声,得到一张干净一点的图像。

相关推荐
不会用AI的老炮5 分钟前
【AI coding 智能体设计系列-07】规约驱动:让交付可复现的Spec工作流
人工智能·ai·ai编程
产品人卫朋18 分钟前
「产品、IPD、战略、流程」知识图谱速查清单.v7.0
人工智能·知识图谱·产品经理·需求分析·创业·ipd流程·华为ipd
用户51914958484519 分钟前
深入剖析CVE-2025-41115:Grafana企业版SCIM特权升级漏洞利用实践
人工智能·aigc
苏子铭21 分钟前
个人笔记,关于数学工具箱功能规划与架构设计
人工智能·机器学习
盈创力和200722 分钟前
从“感知”到“认知”:基于边缘AI的以太网多参量环境传感器如何重构工业物联终端?
人工智能·以太网多合一传感器·以太网温湿度气体多参量传感器
rit843249933 分钟前
基于高斯混合模型(GMM)的语音识别系统:MATLAB实现与核心原理
人工智能·matlab·语音识别
容智信息36 分钟前
Hyper Agent:企业级Agentic架构怎么实现?
人工智能·信息可视化·自然语言处理·架构·自动驾驶·智慧城市
Julyers38 分钟前
【Paper】FRST(快速径向对称变换)算法
图像处理·人工智能·计算机视觉·圆检测
Bony-44 分钟前
驾驶员行为检测:基于卷积神经网络(CNN)的识别方法
人工智能·神经网络·cnn
fie88891 小时前
基于蚁群算法求解带时间窗的车辆路径问题
数据库·人工智能·算法