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

本文主要是介绍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_0)\sim N(kx_0+mx_t,\sigma^2I) P(xtxt1,x0)N(kx0+mxt,σ2I)

推导
P ( x t − 1 ∣ x t , x 0 ) = P ( x t ∣ x t − 1 , x 0 ) ⋅ P ( x t − 1 ∣ x 0 ) P ( x t ∣ x 0 ) (1) P(x_{t-1}\mid x_t,x_0) = \frac{P(x_t \mid x_{t-1},x_0)\cdot P(x_{t-1}\mid x_0)}{P(x_t\mid x_0)} \tag{1} P(xt1xt,x0)=P(xtx0)P(xtxt1,x0)P(xt1x0)(1)
其中 P ( x t ∣ x t − 1 , x 0 ) P(x_t \mid x_{t-1},x_0) P(xtxt1,x0) 由于不服从马尔可夫性质,不能像DDPM一样化简为 P ( x t ∣ x t − 1 ) P(x_t \mid x_{t-1}) P(xtxt1)

现在假设
P ( x t ∣ x t − 1 , x 0 ) ∼ N ( k x 0 + m x t , σ 2 I ) (2) P(x_t \mid x_{t-1},x_0)\sim N(kx_0+mx_t,\sigma^2I) \tag{2} P(xtxt1,x0)N(kx0+mxt,σ2I)(2)
显示表达为:
x t − 1 = k x 0 + m x t + σ ϵ (3) x_{t-1}=kx_0+mx_t+\sigma\epsilon \tag{3} xt1=kx0+mxt+σϵ(3)
由于DDIM的前向加噪过程和DDPM一样,那么:
x t = α t ‾ x 0 + 1 − α t ‾ ϵ ′ (4) x_t = \sqrt{\overline{\alpha_t}}x_{0}+\sqrt{1-\overline{\alpha_t}}\epsilon^\prime \tag{4} xt=αt x0+1αt ϵ(4)
带入可知:
x t − 1 = k x 0 + m ( α t ‾ x 0 + 1 − α t ‾ ϵ ′ ) + σ ϵ = ( k + m α t ‾ ) x 0 + ( m 1 − α t ‾ ) ϵ ′ + σ ϵ = ( k + m α t ‾ ) x 0 + m 2 ( 1 − α t ‾ ) + σ 2 ϵ ( 重参数化技巧 ) \begin{align} x_{t-1}&=kx_0+m(\sqrt{\overline{\alpha_t}}x_{0}+\sqrt{1-\overline{\alpha_t}}\epsilon^\prime)+\sigma\epsilon \\ &=(k+m\sqrt{\overline{\alpha_t}})x_0+(m\sqrt{1-\overline{\alpha_t}})\epsilon^\prime+\sigma\epsilon \\ &=(k+m\sqrt{\overline{\alpha_t}})x_0+\sqrt{m^2(1-\overline{\alpha_t})+\sigma^2}\epsilon ~~~~~~~~~~~(重参数化技巧) \tag{5} \end{align} xt1=kx0+m(αt x0+1αt ϵ)+σϵ=(k+mαt )x0+(m1αt )ϵ+σϵ=(k+mαt )x0+m2(1αt)+σ2 ϵ           (重参数化技巧)(5)
由于:
x t − 1 = α t − 1 ‾ x 0 + 1 − α t − 1 ‾ ϵ (6) x_{t-1} = \sqrt{\overline{\alpha_{t-1}}}x_{0}+\sqrt{1-\overline{\alpha_{t-1}}}\epsilon \tag{6} xt1=αt1 x0+1αt1 ϵ(6)

对比公式(5)(6)得到:
{ k + m α t ‾ = α t − 1 ‾ m 2 ( 1 − α t ‾ ) + σ 2 = 1 − α t − 1 ‾ (7) \begin{cases} k+m\sqrt{\overline{\alpha_t}}&= \sqrt{\overline{\alpha_{t-1}}} \\ m^2(1-\overline{\alpha_t})+\sigma^2 &= 1-\overline{\alpha_{t-1}} \tag{7} \end{cases} {k+mαt m2(1αt)+σ2=αt1 =1αt1(7)
解方程组得到:
{ m = 1 − α t − 1 ‾ − σ 2 1 − α t ‾ k = α t − 1 ‾ − 1 − α t − 1 ‾ − σ 2 α t ‾ 1 − α t ‾ (8) \begin{cases} m &= \frac{\sqrt{1-\overline{\alpha_{t-1}}-\sigma^2}}{\sqrt{1-\overline{\alpha_t}}} \\ k &= \sqrt{\overline{\alpha_{t-1}}} -\sqrt{1-\overline{\alpha_{t-1}}-\sigma^2} \frac{\sqrt{\overline{\alpha_t}}}{\sqrt{1-\overline{\alpha_t}}} \tag{8} \end{cases} mk=1αt 1αt1σ2 =αt1 1αt1σ2 1αt αt (8)
带入 m , k m,k m,k 得到
x t − 1 = α t − 1 ‾ x 0 + 1 − α t − 1 ‾ − σ 2 x t − α t ‾ x 0 1 − α t ‾ (9) x_{t-1} =\sqrt{\overline{\alpha_{t-1}}}x_0+\sqrt{1-\overline{\alpha_{t-1}}-\sigma^2}\frac{x_t-\sqrt{\overline{\alpha_t}}x_0}{\sqrt{1-\overline{\alpha_t}}} \tag{9} xt1=αt1 x0+1αt1σ2 1αt xtαt x0(9)
利用公式(4),将公式(9)中的 x 0 x_0 x0 x t x_t xt表示,那么可以化简为( ϵ θ ( x t ) \epsilon_\theta(x_t) ϵθ(xt) 为公式4中的 ϵ ′ \epsilon^\prime ϵ)
x t − 1 = α t − 1 ‾ ( x t − 1 − α t ‾ ϵ θ ( x t ) α t ‾ ) + 1 − α t − 1 ‾ − σ 2 ϵ θ ( x t ) + σ ϵ (10) x_{t-1} = \sqrt{\overline{\alpha_{t-1}}}(\frac{x_t-\sqrt{1-\overline{\alpha_t}}\epsilon_\theta(x_t)}{\sqrt{\overline{\alpha_t}}})+\sqrt{1-\overline{\alpha_{t-1}}-\sigma^2}\epsilon_\theta(x_t)+\sigma\epsilon \tag{10} xt1=αt1 (αt xt1αt ϵθ(xt))+1αt1σ2 ϵθ(xt)+σϵ(10)
s s s表示 t − 1 t-1 t1, k k k 表示 t t t得出通用公式:
x s = α s ‾ ( x k − 1 − α k ‾ ϵ θ ( x k ) α k ‾ ) + 1 − α s ‾ − σ 2 ϵ θ ( x k ) + σ ϵ (11) x_{s} = \sqrt{\overline{\alpha_{s}}}(\frac{x_k-\sqrt{1-\overline{\alpha_k}}\epsilon_\theta(x_k)}{\sqrt{\overline{\alpha_k}}})+\sqrt{1-\overline{\alpha_{s}}-\sigma^2}\epsilon_\theta(x_k)+\sigma\epsilon \tag{11} xs=αs (αk xk1αk ϵθ(xk))+1αsσ2 ϵθ(xk)+σϵ(11)
通过公式(11)实现DDIM去马尔可夫化,跨越多步采样。

DDIM完结

参考:

DDPM推导

简短清晰的DDIM视频讲解

比较白话的DDIM视频讲解

文章信息

发表时间:2021,发表地点:ICLR,作者:Jiaming Song,机构:stanford

@inproceedings{
song2021denoising,
title={Denoising Diffusion Implicit Models},
author={Jiaming Song and Chenlin Meng and Stefano Ermon},
booktitle={International Conference on Learning Representations},
year={2021},
url={https://openreview.net/forum?id=St1giarCHLP}
}

这篇关于DENOISING DIFFUSION IMPLICIT MODELS(DDIM 去噪扩散隐式模型公式推导)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

利用Python实现添加或读取Excel公式

《利用Python实现添加或读取Excel公式》Excel公式是数据处理的核心工具,从简单的加减运算到复杂的逻辑判断,掌握基础语法是高效工作的起点,下面我们就来看看如何使用Python进行Excel公... 目录python Excel 库安装Python 在 Excel 中添加公式/函数Python 读取

MySQL的隐式锁(Implicit Lock)原理实现

《MySQL的隐式锁(ImplicitLock)原理实现》MySQL的InnoDB存储引擎中隐式锁是一种自动管理的锁,用于保证事务在行级别操作时的数据一致性和安全性,本文主要介绍了MySQL的隐式锁... 目录1. 背景:什么是隐式锁?2. 隐式锁的工作原理3. 隐式锁的类型4. 隐式锁的实现与源代码分析4

C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)

《C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)》本文主要介绍了C#集成DeepSeek模型实现AI私有化的方法,包括搭建基础环境,如安装Ollama和下载DeepS... 目录前言搭建基础环境1、安装 Ollama2、下载 DeepSeek R1 模型客户端 ChatBo

SpringBoot快速接入OpenAI大模型的方法(JDK8)

《SpringBoot快速接入OpenAI大模型的方法(JDK8)》本文介绍了如何使用AI4J快速接入OpenAI大模型,并展示了如何实现流式与非流式的输出,以及对函数调用的使用,AI4J支持JDK8... 目录使用AI4J快速接入OpenAI大模型介绍AI4J-github快速使用创建SpringBoot

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

Deepseek R1模型本地化部署+API接口调用详细教程(释放AI生产力)

《DeepseekR1模型本地化部署+API接口调用详细教程(释放AI生产力)》本文介绍了本地部署DeepSeekR1模型和通过API调用将其集成到VSCode中的过程,作者详细步骤展示了如何下载和... 目录前言一、deepseek R1模型与chatGPT o1系列模型对比二、本地部署步骤1.安装oll

Spring AI Alibaba接入大模型时的依赖问题小结

《SpringAIAlibaba接入大模型时的依赖问题小结》文章介绍了如何在pom.xml文件中配置SpringAIAlibaba依赖,并提供了一个示例pom.xml文件,同时,建议将Maven仓... 目录(一)pom.XML文件:(二)application.yml配置文件(一)pom.xml文件:首

如何在本地部署 DeepSeek Janus Pro 文生图大模型

《如何在本地部署DeepSeekJanusPro文生图大模型》DeepSeekJanusPro模型在本地成功部署,支持图片理解和文生图功能,通过Gradio界面进行交互,展示了其强大的多模态处... 目录什么是 Janus Pro1. 安装 conda2. 创建 python 虚拟环境3. 克隆 janus