干货分享:为什么stable diffusion训练用ddpm, 采样用ddim呢?

前言

回忆一下DDPM,实质上它的推导过程应是如下的:

其中, 是单纯的高斯分布的推导,相当于一个序列过程的归纳法推导。 在DDPM中采用的是[贝叶斯公式]。

而过程则是用对进行一个估测,也就是用前向过程反过来对进行一个估测。

最后的训练和推理过程如下

这是根据生成模型的变分下限推导出来的,变分下限的第一项是diffusion正向过程自带完成的,第二项和第三项都可以用训练中对噪声的MSE来最小化从而实现生成模型对原真实数据分布的逼近。

的马尔可夫性这一强假设。只是中间推导的时候用到了这个东西,也就是在 和的过程中用到了和马尔可夫性。那么我们想,是不是可以跳过这个模型和马尔可夫性的假设,也推导出。答案是可以。

只要

  1. 跳过 p(z_t|x)的推导,直接假设出p(z_t|x)$。

  2. ,不采用贝叶斯估计,也就没有的使用,而是用另一种方法去得到的描述即可。

那么为什么我们要这样做呢?这不是吃饱了撑着吗?原本的DDPM有什么问题呢?事实上就是,训练过程从0到T(一般T=1000),再从T去噪到0,其实我们可以忍受这么长的时间,毕竟是训练。但是对于推理,要从T 到0,如果采样数据(比如图片如果是高分辨率的)大一点,那么时间就会很长,在一些任务中,我们没有这么长的时间给模型去推理。所以如果能把马尔可夫性这个假设去掉,我们就可以在采样的时候进行跳步,比如T→T−20→T−40→⋯→20→0。这样相当于把时间缩短了20倍。因此,是十分有意义的工作。

回到前面,对于第一点,跳过 的推导,直接假设出 这个很简单,我们直接假设是一个高斯分布,即

好的,以下是您提供的内容,使用带有美元符号的 Markdown 格式表示其中的公式:

注意,这里的 和 DDPM 里面的没有任何关系,是一个新的独立符号,只是便于对照,写成一样的。它也不是 的累乘,而只是一个单纯的符号,因为这里我们没有对 进行任何的假设,也没有建模。

这个第一点是解决了,但是第二点就有点头疼了,一般看到这样的东西就是想用贝叶斯,把它从后验估计转化为先验估计来算。但是现在不行了,因为没有了 ,相当于假设给的更少了,约束少了,很自然我们知道,后续得到的这个结论“自由度”也会更高,更不确定(因为没有了马尔可夫性的约束)。

那么对于第二点,我们看看我们手上的工具,我们有了 , ,要得到 转化为 和 的形式,从而求出来。

结论是当然可以,可以写成联合分布积分求边际分布的形式

现在这个式子就写出来了,可以我们知道 和 ,又有一个这样的等式(虽然是个积分),可以把 给“逼”出来,约束出来,好像都不是很严谨的说法,就是算出来。

但是,如果单纯的这样算,这个 的形式可以是千奇百怪,我们必须给它一点约束假设,那就与 DDPM 一样,我们认为 也是一个高斯分布,即

其中 是系数,为什么要这样假设,因为根据 DDPM, 也只有期望是与 有关的,这样才能用神经网络去拟合逼近,这是生成模型的一个特性。我们希望去学的也就是这个“重构”或者说生成的分布的期望。

对于 ,用高斯重采样可以看成

对于 和 可以看成

则 的重采样可以看成

我们知道 ,,且两者独立,所以它们是独立同分布的,因此有

所以有,对比上式与 的重采样,,因为有

所以我们可以得到

我们发现系数变量有三个 ,而约束等式只有两个,因此一定有一个自由变量。这也说明了,我们去掉了马尔可夫性这个约束后,得到的 一定有一个自由变量,即这个模型中的参数并不都是确定的。

我们将 作为那个自由变量,可以解得:因此我们就得到了我们想要的

对比一下DDPM的

当我们把 带入 DDIM 得到的式子中,我们会发现 DDIM 的 和 DDPM 的 是一样的。

补充:这里我们可以定义一下, 。

这里说明了 DDPM 中的 和马尔可夫性给 带来的约束条件就是但是反过来,我们令 DDIM 中的 并不能得到

这样的结论。因为我们前面的推导中根本没有定义 这样的东西,而且这个 和 DDPM 里面的根本不是同一个东西。

我们现在有了 ,那么还是和 DDPM 一样,我们希望的是 ,我们用 的反向来估计一下 x,从而得到 。

则有

代入

中,则得到

那么我们希望优化的目标是

其中我们定义神经网络拟合的 为

根据公式:

则有这就是DDIM训练的时候用的损失函数。

讨论一下 的选取。
前面讨论过,如果 则就与 DDPM 的损失函数和形式一样了。而如果我们令 这就有意思了,此时 就是一个确定性的过程,这时候这个模型就称为 DDIM(前面说的这些都是一个一般形式的模型,当 时,模型就是 DDIM;当 时,模型就是 DDPM)。

讨论一下加速采样过程
此时得到的

不是依赖马尔可夫性,所以可以跳步向前采样,

则此时采样变成了

这里的 和 之间可以间隔很多步,比如 20、50 等。

最后作者经过实验发现,减小采样步数可以加速生成,使图片更加平滑,但会损失多样性;而减小 能增加多样性。因此,在减少采样步数的同时,应适当减小 的值,以保证图片生成质量。反过来想,如果在采样步数少的情况下还增大 ,增加了噪声的影响,那么生成的质量可能也会不尽人意。

这一点有些反直觉,减小 反而能增加多样性,但确实如此。采样步数的设计和 的选取是 DDIM 设计中非常重要的超参数,需要仔细设计。

这个DDIM的推导主要是建立一种更一般的框架,通过选择合适的,得到了DDPM和DDIM模型,同时还把推理采样的速度提升了,是diffusion model中非常重要的一步。

这里分享给大家一份Adobe大神整理的《AIGC全家桶学习笔记》,相信大家会对AIGC有着更深入、更系统的理解。

有需要的朋友,可以点击下方免费领取!

在这里插入图片描述

AIGC所有方向的学习路线思维导图

这里为大家提供了总的路线图。它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。如果下面这个学习路线能帮助大家将AI利用到自身工作上去,那么我的使命也就完成了:
在这里插入图片描述

AIGC工具库

AIGC工具库是一个利用人工智能技术来生成应用程序的代码和内容的工具集合,通过使用AIGC工具库,能更加快速,准确的辅助我们学习AIGC
在这里插入图片描述

有需要的朋友,可以点击下方卡片免费领取!

在这里插入图片描述

精品AIGC学习书籍手册

书籍阅读永不过时,阅读AIGC经典书籍可以帮助读者提高技术水平,开拓视野,掌握核心技术,提高解决问题的能力,同时也可以借鉴他人的经验,结合自身案例融会贯通。

在这里插入图片描述

AI绘画视频合集

我们在学习的时候,往往书籍源码难以理解,阅读困难,这时候视频教程教程是就很适合了,生动形象加上案例实战,科学有趣才能更方便的学习下去。

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

sql语法学习:关键点和详细解释

学习SQL语法是掌握数据库操作的基础。以下是SQL语法的一些关键点和详细解释: 1. SQL基础 SQL(Structured Query Language)是一种用于管理和操作关系型数据库的标准语言。它主要包括以下几个部分: 数据定义语言(DDL&…

探索Mem0:AI的智能记忆层

文章目录 探索Mem0:AI的智能记忆层背景介绍Mem0是什么?如何安装Mem0?简单使用方法应用场景常见问题及解决方案总结 ![ 探索Mem0:AI的智能记忆层 背景介绍 在人工智能的世界里,记忆是个性化体验的关键。想象一下&…

结构设计模式 -装饰器设计模式 - JAVA

装饰器设计模式 前言 这是我在这个网站整理的笔记,有错误的地方请指出,关注我,接下来还会持续更新。 作者:神的孩子都在歌唱 一. 介绍 百度百科:装饰模式指的是在不必改变原类文件和使用继承的情况下,动态地扩展一个对…

只需5分钟!掌握学术写作的核心逻辑!

人工智能的广泛应用中,ChatGPT 已被证明是一种极具潜力的语言模型,其功能涵盖多个领域,显示出强大的适应性。在 GPT-4 架构的推动下,ChatGPT 正在彻底改变我们与文本驱动的人工智能的交互模式。 在学术界,学术写作至关…

【测试】——Selenium API (万字详解)

📖 前言:本文详细介绍了如何利用Selenium进行Web自动化测试,包括定位元素(如cssSelector和xpath)、常用操作函数(如点击、输入等)、窗口管理、键盘鼠标事件和浏览器导航,以及处理弹窗…

实用小工具——多标签页插件Office Tab介绍

Office Tab引入选项卡式用户界面,增强了Microsoft Office使用体验。软件界面,可以设置你喜欢的标签类型。 安装后office界面会新增一个办公标签栏,立面有各功能说明。 最常用的是这个标签切换功能。 安装也很简单,选择对应位数安装…

知识产权实缴出资是否合法

知识产权实缴出资是否合法 近年来,随着知识产权在企业价值中的重要性日益凸显,知识产权实缴出资作为一种新兴的出资方式,逐渐受到社会各界的关注。然而,关于知识产权实缴出资是否合法的问题,一直是企业和投资者关注的焦…

vulnhub(13):LordOfTheRoot(sql时间盲注、mysql udf提权)

端口 nmap主机发现 nmap -sn 192.168.72.0/24 ​ Nmap scan report for 192.168.72.170 Host is up (0.00020s latency). ​ 170是新出现的机器,他就是靶机 nmap端口扫描 nmap -Pn 192.168.72.170 -p- --min-rate 10000 -oA nmap/scan 扫描开放端口保存到 nmap/sca…

Sony IMX334LQR-C 1/1.8寸 8.42 M像素

索尼IMX334LQR宽动态超星光级交通监测CMOS 封装:LGA 对⾓线:8.86 mm(类型1/1.8) 索尼IMX334LQR宽动态超星光级交通监测CMOS的参数及规格书资料: IMX334LQR-C是⼀个对⾓线8.86 mm(类型1/1.8)的…

帕金森病:这五大幕后推手,你了解多少?

在快节奏的现代生活中,健康问题日益受到公众的关注,而帕金森病作为一种常见的神经系统退行性疾病,更是牵动着无数家庭的心弦。今天,就让我们一起揭开帕金森病的神秘面纱,探讨其背后的五大主要原因,让更多人…

离散化c++

应用于数字取值范围很大,但数字个数很少的情况,原理是将要用到的数字放到一个连续的数组中,通过一个函数find得到数字和存放在数组中的下标的映射关系。 其中find函数的实现可以通过二分查找来实现; 练习题: 题意&…

Python 类型提示全解析:从入门到精通的必备技巧(如何让Python代码更清晰、错误更少)

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 文章内容 📒📝 什么是类型提示?📝 类型提示的基本用法📝 高级用法📝 类型提示的工具和技巧📝 注意事项和最佳实践⚓️ 相关链接 ⚓️📖 介绍 📖 在编程的世界里,代码的清晰和可维护性是成功的关键。尤其是在 …

C++——关联式容器(5):哈希表

7.哈希表 7.1 哈希表引入 哈希表的出现依旧是为了查找方便而设计的。在顺序结构中,查询一个值需要一一比较,复杂度为O(N);在平衡树中,查询变为了二分查找,复杂度为O(logN);而对于哈希表,我们可…

SpringBoot简易商品管理系统

> 这是一个基于SpringBootThymeleaf实现的简易商品管理系统。 > 包含基本的登录/注册与商品管理功能。 > 界面简洁美观,代码结构清晰,适用于JAVA初学者在此基础上进行二次开发。 一、项目演示 二、技术框架 框架描述Spring Boot容器管理 S…

毫米波雷达预警功能 —— 开门预警(DOW)

文档声明: 以下资料均属于本人在学习过程中产出的学习笔记,如果错误或者遗漏之处,请多多指正。并且该文档在后期会随着学习的深入不断补充完善。感谢各位的参考查看。 笔记资料仅供学习交流使用,转载请标明出处,谢谢配…

16代现场实拍图

64*32 全彩 LED 点阵显示屏 无线通信868M,跳频通信 通信速率200K/50K 覆盖20-30米以上的通信半径 尺寸:192*96mm 供电方式:24V外置电源 储存温度:-40℃~80℃ 工作温度:-20℃~50℃ 自定义双向通信协议&#xff…

工业无线路由器组网方案:简单方便的工业组网方案

​一、项目背景 随着工业互联网的发展,越来越多的企业开始寻求高效、稳定的网络解决方案,以支持其生产和管理的数字化转型。工业无线路由器在这一过程中扮演着重要的角色。本文将详细介绍基于星创易联SR500工业无线路由器的组网方案,适用于制…

解锁2024年翻译在线Top4,让每一次交流都精准无误

现在世界就像个大家庭,交流多了,语言不通就成了问题。有道翻译在线就像桥梁,帮我们和全世界的朋友沟通。对企业来说,翻译准确太重要了,一句话翻错可能损失巨大。有道翻译在线技术强,各种语言都能搞定&#…

亲测好用,ChatGPT 3.5/4.0新手使用手册,最好论文指令手册~

本以为遥遥领先的GPT早就普及了,但小伙伴寻找使用的热度一直高居不下,其实现在很简单了! 国产大模型快200家了,还有很多成熟的国内AI产品,跟官网一样使用,还更加好用~ ① 3.5 大多数场景是够用的&#xff…

【贪心算法】贪心算法二

贪心算法二 1.最长递增子序列2.递增的三元子序列3.最长连续递增序列 点赞👍👍收藏🌟🌟关注💖💖 你的支持是对我最大的鼓励,我们一起努力吧!😃😃 1.最长递增子序列 题目链…