Denoising diffusion implicit models 阅读笔记

news/2024/5/19 17:37:02/文章来源:https://blog.csdn.net/icylling/article/details/133087334

Denoising diffusion probabilistic models (DDPMs)从马尔科夫链中采样生成样本,需要迭代多次,速度较慢。Denoising diffusion implicit models (DDIMs)的提出是为了加速采样过程,减少迭代的次数,并且要求DDIM可以复用DDPM训练的网络。
加速采样的基本思路是,DDPM的生成过程需要从 [ T , ⋯ , 1 ] [T,\cdots,1] [T,,1]的序列逐步采样,DDIM则可以从 [ T , ⋯ , 1 ] [T,\cdots,1] [T,,1]的子序列采样来生成,通过跳步的方式减少采样的步数。

非马尔科夫的前向过程

DDPM中推理分布(inference distribution) q ( x 1 : T ∣ x 0 ) q(\mathbf x_{1:T}|\mathbf x_0) q(x1:Tx0)是固定的马尔科夫链。DDIM的作者考虑构造新的推理分布,该推理过程和DDPM优化相同的目标,但能产生新的生成过程。
在这里插入图片描述
考虑一个推理分布族Q,由实向量 σ ∈ R ≥ 0 T \sigma \in \mathbb{R}^T_{\ge 0} σR0T索引:
在这里插入图片描述
根据上面的定义有 q σ ( x t ∣ x 0 ) = N ( α t x 0 , ( 1 − α t ) I ) q_{\sigma}(\mathbf x_t | \mathbf x_0) = \mathcal{N}(\sqrt{\alpha_t}\mathbf x_0, (1-\alpha_t)I) qσ(xtx0)=N(αt x0,(1αt)I)
对应的前向过程也是高斯分布:
在这里插入图片描述
通过上面定义的推理过程,前向过程变成了非马尔科夫的,因为每一步都依赖 x 0 \mathbf x_0 x0
参数 σ \sigma σ控制前向过程的随机性,如果 σ → 0 \sigma \rightarrow 0 σ0,那么在已知 x 0 \mathbf x_0 x0和其中任一个 x t \mathbf x_t xt的情况下, x t − 1 \mathbf x_{t-1} xt1是固定的。

根据上面的推理过程,定义需要学习的生成过程为:
在这里插入图片描述
其中
在这里插入图片描述

根据上面的定义的推理过程和生成过程,优化的目标是
在这里插入图片描述
可以证明该优化目标和特定情况下DDPM的优化目标相同。

逆向生成过程的采样方法如下:
在这里插入图片描述
选择不同的 σ \sigma σ值会导致不同的生成过程,但它们使用相同的 ϵ θ \epsilon_{\theta} ϵθ模型。
如果 σ t = ( 1 − α t − 1 ) / ( 1 − α t ) ( 1 − α t ) / ( 1 − α t − 1 ) \sigma_t=\sqrt{(1-\alpha_{t-1})/(1-\alpha_{t})}\sqrt{(1-\alpha_{t})/(1-\alpha_{t-1})} σt=(1αt1)/(1αt) (1αt)/(1αt1) ,那么前向过程又变成了马尔科夫的,生成过程和DDPM一样。
如果 σ t = 0 \sigma_t=0 σt=0,那么随机噪声前的系数是0, x 0 \mathbf x_0 x0 x T \mathbf x_T xT之间的关系是固定的,这属于隐概率模型(implicit probabilistic model)。因此,作者把这种情况称为denoising diffusion implicit model (DDIM)。

加速

为了加速采样,作者考虑下面的推理过程:
在这里插入图片描述
其中 τ \tau τ是长度为S的 [ 1 , ⋯ , T ] [1,\cdots,T] [1,,T]的子序列, τ S = T \tau_S=T τS=T τ ‾ : = { 1 , … , T } \ τ \overline{\tau}:=\{1,\ldots,T \} \backslash \tau τ:={1,,T}\τ是除去子序列剩下的序号。
定义
在这里插入图片描述该推理分布对应的生成过程如下:
在这里插入图片描述
定义需要学习的概率为:
在这里插入图片描述
根据上面的定义的推理过程和生成过程,优化的目标是
在这里插入图片描述
可以证明该优化目标和特定情况下DDPM的优化目标相同。
因此,可以利用DDPM训练的网络,但是从子序列采样生成图像。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_175066.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【AI视野·今日CV 计算机视觉论文速览 第252期】Fri, 22 Sep 2023

AI视野今日CS.CV 计算机视觉论文速览 Fri, 22 Sep 2023 Totally 90 papers 👉上期速览✈更多精彩请移步主页 Interesting: 📚SVGCustomization, 基于文本的矢量图生成定制(from 香港城市大学)。 website:https://intchous.github.io/SVGCustomization/ …

基于SpringBoot的社区医院信息平台

目录 前言 一、技术栈 二、系统功能介绍 患者信息管理 护士信息管理 医生信息管理 药品管理员管理 患者添加 安排检查 完成注射列表 三、核心代码 1、登录模块 2、文件上传模块 3、代码封装 前言 随着信息技术在管理上越来越深入而广泛的应用,管理信息系…

【一、虚拟机vmware安装】

安装虚拟机 下载 官方下载地址:https://www.vmware.com/cn.html 大概流程就是,最重要的事最后一步

问题:conda删除虚拟环境,报错no package names supplied

用conda 用 conda remove -n ScratchDet_20200114 删除虚拟 环境ScratchDet_20200114时报错 conda remove -n ScratchDet_20200114CondaValueError: no package names supplied,try "conda remove -h" for more details 解决方法,用下面的命令 conda env…

什么是CORS(跨源资源共享)?如何解决前端中的CORS问题?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ CORS(跨源资源共享)⭐ 解决前端中的CORS问题的方法⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 欢迎来到前端入门之旅!感兴趣的可以订阅本专栏哦!这个专栏是为…

LeetCode【174. 地下城游戏】

一片丹心图报国,两行清泪为忠家。——于谦 恶魔们抓住了公主并将她关在了地下城 dungeon 的 右下角 。地下城是由 m x n 个房间组成的二维网格。我们英勇的骑士最初被安置在 左上角 的房间里,他必须穿过地下城并通过对抗恶魔来拯救公主。 骑士的初始健康…

Python进阶学习----一闭三器

目录 ​编辑 前言 一.三器 1. 迭代器(Iterator) 1.1 什么是可迭代对象 1.2什么是迭代器 1.3案例演示: 以下是一个简单的迭代器示例,遍历一个列表并打印每个元素: 1.4迭代器总结 2. 生成器(Generat…

前端uniapp如何转base64使用uniapp插件市场

插件市场 网址 使用 可以下载,也可以引用,我是下载下来的引用 代码 正常使用 pathToBase64(img).then(path > {img pathresolve(path)}).catch(error > {console.error(error)reject(error)})使用出现[object Promise]错误 解决方法 let img …

算法通关村第16关【青铜】| 滑动窗口思想

1. 滑动窗口的基本思想 一句话概括就是两个快慢指针维护的一个会移动的区间 固定大小窗口:求哪个窗口元素最大、最小、平均值、和最大、和最小 可变大小窗口:求一个序列里最大、最小窗口是什么 2. 两个入门题 (1)子数组最大平…

Docker部署Nginx+FastDFS插件

文章目录 一、部署FastDFS二、部署Nginx(带FastDFS插件)三、FastDFS上传文件Nginx访问验证 一、部署FastDFS 1、准备工作 docker pull qinziteng/fastdfs:5.05 Pwd"/data/software/fastdfs" mkdir ${Pwd}/{storage,tracker} -p2、创建TEST容器,将fastdf…

RK3568平台开发系列讲解(工具命令篇)ADB的安装

🚀返回专栏总目录 文章目录 一、ADB介绍二、Windows 下安装 adb 工具沉淀、分享、成长,让自己和他人都能有所收获!😄 一、ADB介绍 adb 全称 Android Debug Bridge,直译过来就是 Android 调试桥,它是一个通用的命令行工具。adb 做为 Android 设备与 PC 端连接的一个桥梁…

linux c++调用c

参考 【Linux下gcc编译的四个过程】_Deacde_ZY的博客-CSDN博客 C与C如何互相调用_c文件引用c头文件_卍一十二画卍的博客-CSDN博客 Linux动态链接库的创建与使用_linux创建动态库_满天星羽的博客-CSDN博客 c调用c 1.1 例子1&#xff1a; test1.c #include <stdio.h>…

Python|OpenCV-访问并修改图片像素值,鉴别彩色和灰色图像(6)

前言 本文是该专栏的第6篇,后面将持续分享OpenCV计算机视觉的干货知识,记得关注。 在使用OpenCV对图像进行操作的时候,通常需要熟练掌握一些Numpy知识点。因为有的时候需要用到Numpy和OpenCV结合去实现图像的操作,所以说想要写出较好的OpenCV代码的最好方法,就需要有Nump…

【线性代数】为什么 AA* = |A|E

A A ∗ 矩阵相乘&#xff0c;刚好是行列式展开的定义 AA*矩阵相乘&#xff0c;刚好是行列式展开的定义 AA∗矩阵相乘&#xff0c;刚好是行列式展开的定义 矩阵提取一个因子 ∣ A ∣ &#xff0c;所有元素需要除 ∣ A ∣ 矩阵提取一个因子 |A|&#xff0c;所有元素需要除 |A| 矩…

idea集成tomcat(Smart Tomcate插件安装)

当我们在 tomcat 上部署好一个 webapp 后&#xff0c;如果我们要修改代码&#xff0c;就需要重新进行打包和部署&#xff0c;但往往在工作中是需要频繁修改代码&#xff0c;然后再查看成果的&#xff0c;就需要反复的进行打包和部署的过程&#xff0c;这是很麻烦的 通过 Smart …

腾讯云16核服务器配置大全_CVM和轻量服务器汇总

腾讯云16核CPU服务器有哪些配置可以选择&#xff1f;可以选择标准型S6、标准型SA3、计算型C6或标准型S5等&#xff0c;目前标准型S5云服务器有优惠活动&#xff0c;性价比高&#xff0c;计算型C6云服务器16核性能更高&#xff0c;轻量16核32G28M带宽优惠价3468元15个月&#xf…

基于微信小程序的图书借阅管理系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言用户微信小程序端的主要功能有&#xff1a;管理员的主要功能有&#xff1a;具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09;有保障的售后福利 代码参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌…

浏览器基本原理

1、浏览器内部组成 我们看到浏览器主要包括&#xff1a; 1个浏览器主进程&#xff1a; 主要负责界面显示&#xff0c;用户交互&#xff0c;子进程管理多个渲染进程&#xff1a;一般浏览器会为每个Tab标签窗口创建一个渲染进程&#xff0c;主要负责将html&#xff0c;css&#…

Rust vs C++ 深度比较

Rust由于其强大的安全性受到大量关注&#xff0c;被认为C在系统编程领域最强大的挑战者。本文从语言、框架等方面比较了两者的优缺点。原文: Rust vs C: An in-depth language comparison Rust和C的比较是开发人员最近的热门话题&#xff0c;两者之间有许多相似之处&#xff0c…

Fedora Linux 39 Beta 预估 10 月底发布正式版

Fedora 39 Beta 镜像于今天发布&#xff0c;用户可以根据自己的使用偏好&#xff0c;下载 KDE Plasma&#xff0c;Xfce 和 Cinnamon 等不同桌面环境版本&#xff0c;正式版预估将于 10 月底发布 Fedora 39 Beta 版本主要更新了 DNF 软件包管理器&#xff0c;并优化了 Anaconda …