DDPM和DDIM

2024-03-21 16:10
文章标签 ddpm ddim

本文主要是介绍DDPM和DDIM,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

b站讲解

diffusion和gan在工厂刚亨落地中的优缺点
Diffusion Probabilistic Models (DDPM)和Diffusion Implicit Models (DDIM)。

  • DDIM是对DDPM的加速工作,实际上DDPM也可以通过训练的时候T step,预测的时候采样N step生成,但是没有DDIM相同step生成的质量更高。

  • DDIM通过对DDPM的损失函数观察, x t 0 x_t0 xt0可以直接推倒到 x t x_t xt
    在这里插入图片描述

  • 损失函数只和 x t x_t xt有关系:实际上不止优化了第t步,前边所有得到 x t x_t xt的过程,包括加入的噪声,都被隐式的优化了;优化非马尔可夫过程的模型(非链式传导)

  • 拿到预训练的DDPM之后可以选择其中一部分的时间节点进行反向过程,中间的(t-1)步实际上都被优化好了;因此训练的时候可以选<t 的子集中的时间步进行优化;
    • DDIM模型自己定义了一个前向过程,推理过程中不是DDPM 的noise predict(预测t时刻的噪声),而是data predict(直接预测 x 0 x_0 x0),然后和 x t x_t xt一起得到 x t − 1 x_{t-1} xt1

在这里插入图片描述

采样过程的区别:

  • DDIM不是马尔可夫链,把所有时间步方差=0,高斯噪声的随机性被移除了,变成了确定性的结果,
  • DDPM是马尔可夫链,方差每次是随机的,
    DDIM在连续时间维度,可以看成一个常微分方程。类比song yang博士提出了基于随机微分方程的加噪、去噪框架。反向的随机微分方程有一个对应的常微分方程,它们之间共享同一个边缘分布,因此可以通过解ODE方程来解决问题,而DDIM对应于这个过程。

这篇关于DDPM和DDIM的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/833148

相关文章

ddpm和ddim小记

前面分析了DDPM和DDIM,但是仍然感觉对其理解不是和透彻,最近又学习了下,简单记录一下进一步的理解。为了方便理解,这里直接以两个像素的灰度图像为例。前面讲过无论是DDPM还是DDIM,他们的训练过程都是一样的,都遵循下面的这个公式: x t = α t ˉ x 0 + 1 − α t ˉ ϵ x_t = \sqrt{\bar{\alpha_t}}x_0+\sqrt{1-\bar{\alp

结合代码详细讲解DDPM的训练和采样过程

本篇文章结合代码讲解Denoising Diffusion Probabilistic Models(DDPM),首先我们先不关注推导过程,而是结合代码来看一下训练和推理过程是如何实现的,推导过程会在别的文章中讲解;首先我们来看一下论文中的算法描述。DDPM分为扩散过程和反向扩散过程,也就是训练过程和采样过程; 代码来自https://github.com/zoubohao/DenoisingDi

diffusion model(扩散模型)DDPM解析

DDPM 前向阶段 重复 2-5 步骤 x 0 ∼ q ( x 0 ) \mathbf{x}_0\sim q(\mathbf{x}_0) x0​∼q(x0​)从数据集中采样一张图片 t ∼ U n i f o r m ( { 1 , … , T } ) t\sim\mathrm{Uniform}(\{1,\ldots,T\}) t∼Uniform({1,…,T}),从 1~T 中随机挑选一

DENOISING DIFFUSION IMPLICIT MODELS(DDIM 去噪扩散隐式模型公式推导)

DENOISING DIFFUSION IMPLICIT MODELS(DDIM 去噪扩散隐式模型公式推导) DDIM思想,去掉DDPM去噪过程的马尔可夫性质,达到跳步去噪的目的。DDIM思想实现方法:假设一个不服从马尔可夫的逆向去噪转移分布 P ( x t ∣ x t − 1 , x 0 ) ∼ N ( k x 0 + m x t , σ 2 I ) P(x_t \mid x_{t-1},x_

Polyp-DDPM: Diffusion-Based Semantic Polyp Synthesis for Enhanced Segmentation

Polyp- ddpm:基于扩散的语义Polyp合成增强分割 摘要: 本研究介绍了一种基于扩散的方法Polyp-DDPM,该方法用于生成假面条件下息肉的逼真图像,旨在增强胃肠道息肉的分割。我们的方法解决了与医学图像相关的数据限制、高注释成本和隐私问题的挑战。通过对分割掩模(代表异常区域的二进制掩模)的扩散模型进行调节,poly - ddpm在图像质量(实现fr起始距离(FID)得分为78.47

DDPM公式推导(五)

3 Diffusion models and denoising autoencoders 扩散模型可能看起来是一类受限制的潜在变量模型,但它们在实现中允许很大的自由度。必须选择正向过程的方差 β t \beta_t βt​以及逆向过程的模型架构和高斯分布参数化。为了指导我们的选择,我们在扩散模型和去噪分数匹配之间建立了一个新的显式连接(第 3.2 节),从而为扩散模型提供了一个简化的加权变分边

DDPM公式推导(四)

3 Diffusion models and denoising autoencoders 扩散模型可能看起来是一类受限制的潜在变量模型,但它们在实现中允许很大的自由度。必须选择正向过程的方差 β t \beta_t βt​以及逆向过程的模型架构和高斯分布参数化。为了指导我们的选择,我们在扩散模型和去噪分数匹配之间建立了一个新的显式连接(第 3.2 节),从而为扩散模型提供了一个简化的加权变分边

DDPM公式推导(二)

2 Background 扩散模型【53】是一种以 p θ ( x 0 ) : = ∫ p θ ( x 0 : T ) d x 1 : T p_\theta\left(\mathbf{x}_0\right):=\int p_\theta\left(\mathbf{x}_{0: T}\right) d \mathbf{x}_{1: T} pθ​(x0​):=∫pθ​(x0:T​)dx1:T​ 形

Feature Manipulation for DDPM based Change Detection

基于去噪扩散模型的特征操作变化检测 文章提出了一种基于去噪扩散概率模型(DDPM)的特征操作变化检测方法。变化检测是计算机视觉中的经典任务,涉及分析不同时间捕获的图像对,以识别场景中的重要变化。现有基于扩散模型的方法主要关注提取特征图,而本文的方法专注于操作扩散模型提取的特征图,使其在语义上更有用。文章提出了两种方法:特征注意力(Feature Attention)和流对齐融合(Flow Dua

Pytorch实现扩散模型【DDPM代码解读篇1】

本篇内容属于对DDPM 原理-代码 项目的解读。 具体内容参考一篇推文,里面对DDPM讲解相对细致: 扩散模型的原理及实现(Pytorch) 下面主要是对其中源码的细致注解,帮助有需要的朋友更好理解代码。 目录 ConvNext块  正弦时间戳嵌入 时间多层感知器 注意力 整合 ConvNext块 class ConvNextBlock(nn.Module):def