DDIM(Denoising Diffusion Implicit Models)是对DDPM(Denoising Diffusion Probabilistic Models)的改进,核心在于将DDPM的随机扩散过程转化为一个确定性过程,避免了马尔科夫链的随机性,从而加速了生成过程。DDIM保留了DDPM的优点,同时改进了生成速度。 与DDPM的前向扩散过程是类似的,逐步添加噪声将数据逐渐转换为高斯噪声,区...
因为现在stable diffusion的代码都使用DDPM进行训练,DDIM进行采样,DDPM就是之前介绍过的扩散模型,这一部分补充介绍一下DDIM。 DDIM来自论文《Denosing diffusion implicit models》,是为了解决扩散模型推理速度慢引入进来的。DDPM的推理过程是什么样呢,每次我们需要从第t步推到第t-1步:这样如果总共步数是1000步的话,这表...
从DDPM到DDIM(二) 这篇文章讲过,在 βt 很小的前提下,pθ(xt−1|xt) 也服从高斯分布。因为 pθ(xt−1|xt) 的训练目标是匹配 q(xt−1|xt,x0),我们也写成高斯分布的形式,并与 q(xt−1|xt,x0) 的形式做对比。q(xt−1|xt,x0)=N(xt−1;μ~t(xt,x0),Σ~(t))=12πσ(t)...
从DDPM到DDIM(四) 预测噪声与后处理 前情回顾 下图展示了DDPM的双向马尔可夫模型。 训练目标。最大化证据下界等价于最小化以下损失函数: \[\boldsymbol{\theta}^*=\underset{\boldsymbol{\theta}}{\operatorname{argmin}
从DDPM到DDIM(三) DDPM的训练与推理 - 从DDPM到DDIM(三) DDPM的训练与推理前情回顾首先还是回顾一下之前讨论的成果。扩散模型的结构和各个概率模型的意义。下图展示了DDPM的双向马尔可夫模型。其中\(\mathbf{x}_T\)代表纯高斯噪声,\(\mathbf{x}_t,...
DDIM 模型在 Diffusion 任务中提供了一种加速生成过程的方法。与 DDPM 相比,DDIM 不再依赖于马尔科夫链,允许使用更少的采样步数实现高效生成,同时保持良好的生成质量。通过选择不同的采样步数,可以显著加速生成过程。公式简述 DDIM 通过定义分布和扩散过程,简化了生成过程中的随机性,使其在迭代过程中...
本文对 Stable Diffusion 主要使用的如 DDPM、DDIM、PLMS 等算法进行分析,详解其代码实现。 源码地址:Stable Diffusion DDPM 对原理进行朴素回顾 DDPM (Denoising Diffusion Probabilistic Models)算法之前在 扩散模型 (Diffusion Model) 简要介绍与源码分析 介绍过,推导有些复杂,这里就用朴素的大白话描述一下我觉得最重要...
本文对 Stable Diffusion 主要使用的如 DDPM、DDIM、PLMS 等算法进行分析,详解其代码实现。 源码地址:Stable Diffusion DDPM 对原理进行朴素回顾 DDPM (Denoising Diffusion Probabilistic Models)算法之前在扩散模型 (Diffusion Model) 简要介绍与源码分析介绍过,推导有些复杂,这里就用朴素的大白话描述一下我觉得最重要的...
从DDPM到DDIM(三) DDPM的训练与推理 - 从DDPM到DDIM(三) DDPM的训练与推理前情回顾首先还是回顾一下之前讨论的成果。扩散模型的结构和各个概率模型的意义。下图展示了DDPM的双向马尔可夫模型。其中\(\mathbf{x}_T\)代表纯高斯噪声,\(\mathbf{x}_t,...
DDIM加速生成过程 DDIM(Denoising Diffusion Implicit Models)模型是另外一种Diffusion模型,DDIM和DDPM有相同的训练目标(均是预测噪声)。由于DDPM的扩散过程不再规定为马尔科夫链,在采样的过程中,DDIM可以使用更小的采样步数,但仍能达到较好的效果,显著加速生成过程。此外,DDIM中确定了随机噪音,则生成样本就能确定了,在迭...