生成扩散模型漫谈:DDIM = 高观点DDPM

cc62ceab45bdf1ac72299f6ccdb1f3f6.gif

©PaperWeekly 原创 · 作者 | 苏剑林

单位 | 追一科技

研究方向 | NLP、神经网络

相信很多读者都听说过甚至读过克莱因的《高观点下的初等数学》[1] 这套书,顾名思义,这是在学到了更深入、更完备的数学知识后,从更高的视角重新审视过往学过的初等数学,以得到更全面的认知,甚至达到温故而知新的效果。类似的书籍还有很多,比如《重温微积分》[2]、《复分析:可视化方法》[3] 等。 

回到扩散模型,目前我们已经通过三篇文章从不同视角去解读了DDPM,那么它是否也存在一个更高的理解视角,让我们能从中得到新的收获呢?当然有,《Denoising Diffusion Implicit Models》[4] 介绍的 DDIM 模型就是经典的案例,本文一起来欣赏它。

971c698137136ee671dd812e508618bd.png

思路分析

在《生成扩散模型漫谈:DDPM = 贝叶斯 + 去噪》中,我们提到过该文章所介绍的推导跟 DDIM 紧密相关。具体来说,文章的推导路线可以简单归纳如下:

dfd2e847a008a1013fe0fdd2deb4ce88.png

这个过程是一步步递进的。然而,我们发现最终结果有着两个特点:

1. 损失函数只依赖于 ;

2. 采样过程只依赖于 。

也就是说,尽管整个过程是以 为出发点一步步往前推的,但是从结果上来看,压根儿就没 的事。那么,我们大胆地“异想天开”一下:

高观点1:既然结果跟 无关,可不可以干脆“过河拆桥”,将 从整个推导过程中去掉?

DDIM 正是这个“异想天开”的产物!

3f40c97186daeac8a3283d5816f390d5.png

待定系数

可能有读者会想,根据上一篇文章所用的贝叶斯定理:

e9c30868a2f319b8e873962137729634.png

没有给定 怎么能得到 ?这其实是思维过于定式了,理论上在没有给定 的情况下, 的解空间更大,某种意义上来说是更加容易推导,此时它只需要满足边际分布条件:

4cadc08670f260721f71a743453cb60d.png

我们用待定系数法来求解这个方程。在上一篇文章中,所解出的 是一个正态分布,所以这一次我们可以更一般地设:

dd971a814c4481c48d52a23886cda678.png

其中 都是待定系数,而为了不重新训练模型,我们不改变 和 ,于是我们可以列出:

a198450052c7b164b673775c0a002226.png

其中,并且由正态分布的叠加性我们知道 。对比 的两个采样形式,我们发现要想(1)成立,只需要满足两个方程:

15c8957f8408f12d050b3f86778a9112.png

可以看到有三个未知数,但只有两个方程,这就是为什么说没有给定 时解空间反而更大了。将 视为可变参数,可以解出:

cb7f9850288ee16568729c65518f63f3.png

或者写成:

14bd862e257041b737040d90b3157de0.jpeg

方便起见,我们约定 。特别地,这个结果并不需要限定 ,不过为了简化参数设置,同时也为了跟以往的结果对齐,这里还是约定 。

0f99ad7297d7a151901b7171278baede.png

一如既往

现在我们在只给定 、 的情况下,通过待定系数法求解了 的一簇解,它带有一个自由参数 。用《生成扩散模型漫谈:DDPM = 拆楼 + 建楼》中的“拆楼-建楼”类比来说,就是我们知道楼会被拆成什么样【、】,但是不知道每一步怎么拆【】,然后希望能够从中学会每一步怎么建【】。当然,如果我们想看看每一步怎么拆的话,也可以反过来用贝叶斯公式:

fa5035ca5f9131bf6555696b70f43f4d.png

接下来的事情,就跟上一篇文章一模一样了:我们最终想要 而不是 ,所以我们希望用:

3414f8683917a645237b69a900fe88c9.png

来估计 ,由于没有改动 ,所以训练所用的目标函数依然是 (除去权重系数),也就是说训练过程没有改变,我们可以用回 DDPM 训练好的模型。而用 替换掉式(7)中的 后,得到:

680361900efb869b944a099182a26ba3.png

这就求出了生成过程所需要的 ,其中。它的特点是训练过程没有变化(也就是说最终保存下来的模型没有变化),但生成过程却有一个可变动的参数 ,就是这个参数给 DDPM 带来了新鲜的结果。

590f5b76c1b090c151566a3eb5c71dff.png

几个例子

原则上来说,我们对 没有过多的约束,但是不同 的采样过程会呈现出不同的特点,我们举几个例子进行分析。

第一个简单例子就是取 ,其中 ,相应地有:

2dcbad82168172d51a7e7390e25aed2a.png

这就是上一篇文章所推导的 DDPM。特别是,DDIM 论文中还对 做了对比实验,其中 。

第二个例子就是取 ,这也是前两篇文章所指出的 的两个选择之一,在此选择下式(10)未能做进一步的化简,但 DDIM 的实验结果显示此选择在 DDPM 的标准参数设置下表现还是很好的。

最特殊的一个例子是取 ,此时从 到 是一个确定性变换:

5b63313c5933452ce1b3f20c68ac9ffa.png

这也是 DDIM 论文中特别关心的一个例子,准确来说,原论文的 DDIM 就是特指 的情形,其中“I”的含义就是“Implicit”,意思这是一个隐式的概率模型,因为跟其他选择所不同的是,此时从给定的 出发,得到的生成结果 是不带随机性的。后面我们将会看到,这在理论上和实用上都带来了一些好处。

a11fc391fcdff66c9b289651a4a5a893.png

加速生成

值得指出的是,在这篇文章中我们没有以 为出发点,所以前面的所有结果实际上全都是以 相关记号给出的,而 则是通过 和 派生出来的记号。从损失函数 可以看出,给定了各个 ,训练过程也就确定了。

从这个过程中,DDIM 进一步留意到了如下事实:

高观点2:DDPM 的训练结果实质上包含了它的任意子序列参数的训练结果。 具体来说,设 是 的任意子序列,那么我们以 为参数训练一个扩散步数为 步的 DDPM,其目标函数实际上是原来以 的 T 步 DDPM 的目标函数的一个子集!所以在模型拟合能力足够好的情况下,它其实包含了任意子序列参数的训练结果。

那么反过来想,如果有一个训练好的 T 步 DDPM 模型,我们也可以将它当成是以 为参数训练出来的 步模型,而既然是 步的模型,生成过程也就只需要 步了,根据式(10)有:

f6193157316c539873fc51050ce410e7.png

这就是加速采样的生成过程了,从原来的 T 步扩散生成变成了 步。要注意不能直接将式(10)的 换成 ,因为我们说过 是派生记号而已,它实际上等于 ,因此 要换成 才对。同理, 也不是直接取 ,而是在将其定义全部转化为 符号后,将 t 替换为 、 替换为 ,比如式(11)对应的 为:

5a9d7cf3a672ca4defa52921599be6fb.png

可能读者又想问,我们为什么干脆不直接训练一个 步的扩散模型,而是要先训练 步然后去做子序列采样?笔者认为可能有两方面的考虑:一方面从 步生成来说,训练更多步数的模型也许能增强泛化能力;另一方面,通过子序列 进行加速只是其中一种加速手段,训练更充分的 T 步允许我们尝试更多的其他加速手段,但并不会显著增加训练成本。

a0fa4a31a1203a92f59a4c50ab76ff85.png

实验结果

原论文对不同的噪声强度和扩散步数 做了组合对比,大致上的结果是“噪声越小,加速后的生成效果越好”,如下图:

e77001689ba94cf613b8839a886a14ea.jpeg

▲ DDIM 的实验结果,显示噪声越小,加速后的生成效果越好

笔者的参考实现如下:

https://github.com/bojone/Keras-DDPM/blob/main/ddim.py

个人的实验结论是:

1. 可能跟直觉相反,生成过程中的 越小,最终生成图像的噪声和多样性反而相对来说越大;

2. 扩散步数 越少,生成的图片更加平滑,多样性也会有所降低;

3. 结合 1、2 两点得知,在扩散步数 减少时,可以适当缩小 $\sigma_t,以保持生成图片质量大致不变,这跟 DDIM 原论文的实验结论是一致的;

4. 在 较小时,相比可训练的 Embedding 层,用固定的 Sinusoidal 编码来表示 t 所生成图片的噪声要更小;

5. 在 较小时,原论文的 U-Net 架构(Github 中的 ddpm2.py [5])要比笔者自行构思的 U-Net 架构(Github 中的 ddpm.py [6])所生成图片的噪声要更小;

6. 但个人感觉,总体来说不带噪声的生成过程的生成效果不如带噪声的生成过程,不带噪声时生成效果受模型架构影响较大。

此外,对于 时的 DDIM,它就是将任意正态噪声向量变换为图片的一个确定性变换,这已经跟 GAN 几乎一致了,所以跟 GAN 类似,我们可以对噪声向量进行插值,然后观察对应的生成效果。但要注意的是,DDPM 或 DDIM 对噪声分布都比较敏感,所以我们不能用线性插值而要用球面插值,因为由正态分布的叠加性,如果 , 一般就不服从 ,要改为:

4fe7f353e13bf19d39d44954a9c30b6d.png

插值效果演示(笔者自己训练的模型):

ee389e3ad9fabb40631702ff5f5d0789.jpeg

▲ DDIM随机向量的插值生成效果

7b2a9d1666f6f9beaf4b2b7f309fd9fd.png

微分方程

最后,我们来重点分析一下 的情形。此时(12)可以等价地改写成:

e78deae9aa3c80ff49587f6b390df3d2.png

当 T 足够大,或者说 与 足够小时,我们可以将上式视为某个常微分方程的差分形式。特别地,引入虚拟的时间参数 s,我们得到:

da67e7178e90f38d8903cee4d99b8c75.png

不失一般性,假设 ,其中 对应 、 对应 。注意 DDIM 原论文直接用 作为虚拟时间参数,这原则上是不大适合的,因为它的范围是,无界的区间不利于数值求解。

那么现在我们要做的事情就是在给定 的情况下,去求解出 。而 DDPM 或者 DDIM 的迭代过程,对应于该常微分方程的欧拉方法 [7]。众所周知欧拉法的效率相对来说是最慢的,如果要想加速求解,可以用 Heun 方法 [8]、R-K 方法 [9] 等。也就是说,将生成过程等同于求解常微分方程后,可以借助常微分方程的数值解法,为生成过程的加速提供更丰富多样的手段。

以DDPM 的默认参数 T=1000、 为例,我们重复《生成扩散模型漫谈:DDPM = 拆楼 + 建楼》所做的估计:

c571499bb8a46c0e5840b304b195d105.png

事实上,由于每个 都很接近于 1,所以上述估计其实也是一个很好的近似。而我们说了本文的出发点是 ,所以应该以 为起点,根据上述近似,我们可以直接简单地取:

dba42fbcf496de85aee6d4a0a89170b0.png

如果取 为参数,那么正好 ,此时 ,代入到式(17)化简得:

11978d94a8d6617d37adfb23f59aa17d.png

也可以取 为参数,此时也有 ,以及 ,代入到式(17)化简得:

88c903eb8628cbc9ee83b959d3abe1f8.png

f4c189b1a7c669fa0f5d434eb0c1ee2c.png

文章小结

本文接着上一篇 DDPM 的推导思路来介绍了 DDIM,它重新审视了 DDPM 的出发点,去掉了推导过程中的 ,从而获得了一簇更广泛的解和加速生成过程的思路,最后这簇新解还允许我们将生成过程跟常微分方程的求解联系起来,从而借助常微分方程的方法进一步对生成过程进行研究。

outside_default.png

参考文献

outside_default.png

[1] https://book.douban.com/subject/3249247/

[2] https://book.douban.com/subject/1239791/

[3] https://book.douban.com/subject/3788399/

[4] https://arxiv.org/abs/2010.02502

[5] https://github.com/bojone/Keras-DDPM/blob/main/ddpm2.py

[6] https://github.com/bojone/Keras-DDPM/blob/main/ddpm.py

[7] https://en.wikipedia.org/wiki/Euler_method

[8] https://en.wikipedia.org/wiki/Heun%27s_method

[9] https://en.wikipedia.org/wiki/Runge%E2%80%93Kutta_methods

更多阅读

24949cba8a6c548823ffb2cf25351716.png

f675fed0364a13a1c3be259ee8046412.png

f80690ec5b165d0784eb223f3c144d96.png

30d994ad4bef1f9f1d7f6c28147961f4.gif

#投 稿 通 道#

 让你的文字被更多人看到 

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。

总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。

📝 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算

📬 投稿通道:

• 投稿邮箱:hr@paperweekly.site 

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿

3ed1dbece52d212e54ebc0aae5b7f69b.png

△长按添加PaperWeekly小编

🔍

现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧

·

b9ca07637d30628cddfa10587edfba8b.jpeg

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

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

相关文章

什么是扩散模型(Diffusion Models),为什么它们是图像生成的一大进步?

点击上方“小白学视觉”,选择加"星标"或“置顶” 重磅干货,第一时间送达 也许过去十年在计算机视觉和机器学习方面的突破是GANs(生成式对抗网络)的发明——这种方法引入了超越数据中已经存在的内容的可能性,是一个全新领域的敲门砖…

扩散模型探索:DDIM 笔记与思考

DIFFUSION系列笔记|DDIM 数学、思考与 ppdiffuser 代码探索 论文:DENOISING DIFFUSION IMPLICIT MODELS 该 notebook 主要对 DDIM 论文中的公式进行小白推导,同时笔者将使用 ppdiffusers 中的 DDIM 与 DDPM 探索两者之间的联系。读者能够对论文中的大部…

几何扩散模型用于分子构象生成ICLR2022

从分子graph预测分子构象是药物发现的基本问题,生成模型在该领域取得进展。受扩散模型启发,作者提出GeoDiff用于分子构象预测。GeoDiff将每个原子视为一个粒子,并学习扩散过程(从噪声分布转为稳定构象)。 来自&#x…

TP5+PHPMailer 实现发送邮件功能

目录 准备工作 一、PHPMailer是什么? 二、使用步骤 1.查看本机是否开放25端口 2.打开邮箱启动邮箱的SMTP服务 3.下载PHPPHPMailer资源 4.代码编写 总结 准备工作 使用QQ邮箱或者163网易邮箱或者126邮箱,这里以qq邮箱为例来进行介绍。 分为三步&#xf…

[PHPMailer]PHP电子邮件教程

前言 这周也是刚放假回来,苦逼高中生一个,很多时候因为我是住宿生,难免没有硬件设备来跟互联网进行沟通,有的时候我们想要给别人一个祝福,比如说某某人生日,但是你在学校,怎么给他祝福呢&#…

三分钟告诉你有可以ai写作的软件吗

你是否曾经遇到过写作困难的时候?或者是遇到了一个写作任务,但却不知道如何下笔?不用担心,现在有一种神奇的软件可以帮助你迅速解决这些烦恼。它就是ai写作软件!是的,你没听错!现在,…

改写句子的软件有哪些-免费改写文章的软件

改写句子的软件 改写句子的软件是一种广泛应用于文字处理的工具,其主要作用是通过对原文中的语言结构和表述方式进行调整和优化,以改进文章的质量和可读性。改写句子的软件广泛用于新闻报道、科学文章、学术论文、书籍等各类文本材料中,旨在…

chatgpt赋能python:关于怎么把Python改成黑色的SEO文章

关于怎么把Python改成黑色的SEO文章 在当今数字化时代,SEO已经成为了数字营销策略中非常重要的一部分。而在内容创作方面,黑色SEO占据着很大一部分。黑色SEO指的是通过一些不可取的手段,来获得搜索引擎排名的提升,以获取更多的流…

chatgpt赋能python:用Python更简单地替换句子中的单词

用Python更简单地替换句子中的单词 简介 Python是一种流行的编程语言,因其易于阅读和编写代码而闻名。它拥有许多强大的功能和库,其中一个非常有用的功能是如何替换句子中的单词。在今天的数字时代,SEO变得越来越重要,其中一个关…

邮箱验证前端

邮箱验证前端代码&#xff08;带定时器&#xff09; <!DOCTYPE html> <html > <head><meta charset"utf-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><title>用户忘记密码</title><m…

验证邮箱是否存在

通过socket、smtp验证邮箱是否存在 验证逻辑图 验证邮箱代码 /*** socket验证** param mail 邮箱* return*/private static Boolean smtpVerify(String mail) {Socket socket null;boolean valid;BufferedReader reader null;BufferedWriter writer null;// 获取邮箱的域…

koa发送验证码至邮箱,QQ邮箱发送

提示&#xff1a;koa发送验证码至邮箱&#xff0c;QQ邮箱发送 文章目录 前言一、依赖和邮箱设置二、使用步骤1.vue中Login.vue2.vue中axios.js3.koa中routes.js4.koa中emailCode.js5.koa中app.js 总结 前言 koa发送验证码至邮箱&#xff0c;QQ邮箱发送 一、依赖和邮箱设置 n…

抖音APP接口分析

抖音搜索接口 接口名类型链接搜索用户综合信息posthttps://aweme-hl.snssdk.com/aweme/v1/challenge/search/?搜索相关用户列表posthttps://search-hl.amemv.com/aweme/v1/discover/search/?搜索相关话题列表posthttps://search-hl.amemv.com/aweme/v1/challenge/search/? …

征集即将截止,《中国AIGC产业全景报告暨AIGC 50》邀你共同参与!

随着ChatGPT火爆&#xff0c;AIGC——AI生成内容&#xff0c;热度被推向了最高潮。 短短两个月内&#xff0c;ChatGPT频频刷屏&#xff0c;霸占舆论热点。不仅在多个场景上效果惊人&#xff0c;还实现了最快达到一亿月活&#xff0c;疯狂拉升各个相关技术和概念公司的品牌、股价…

【历史上的今天】8 月 29 日:Wolfram 语言之父、“新”科学家 Stephen Wolfram 的诞生

整理 | 王启隆 透过「历史上的今天」&#xff0c;从过去看未来&#xff0c;从现在亦可以改变未来。 今天是 2022 年 8 月 29 日&#xff0c;2014 年的今天&#xff0c;电影《模仿游戏》在美国的特柳赖德电影节全球首映&#xff0c;将“计算机科学之父”艾伦图灵的传奇人生带到…

猜年龄 美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学。

美国数学家维纳(N.Wiener)智力早熟&#xff0c;11岁就上了大学。他曾在1935~1936年应邀来中国清华大学讲学。 一次&#xff0c;他参加某个重要会议&#xff0c;年轻的脸孔引人注目。于是有人询问他的年龄&#xff0c;他回答说&#xff1a; “我年龄的立方是个4位数。我年龄的4次…

图灵奖获得者杰克·唐加拉:ChatGPT并非“超算大脑”,量子芯片或引领行业跨越式飞跃...

来源&#xff1a;数据观 现任美国田纳西大学电气工程和计算机科学系教授的杰克唐加拉&#xff08;Jack J. Dongarra&#xff09;&#xff0c;既是美国国家工程院院士&#xff0c;又是英国皇家学会外籍院士。他是超级计算机基准测试、数值分析、线性代数解算器和高性能计算领域的…

数学家排行榜:高斯和黎曼谁才是近现代最伟大的数学家?

第一&#xff1a;牛顿&#xff0c;高斯&#xff0c;欧拉&#xff0c;阿基米德 第二&#xff1a;柯西&#xff0c;庞加莱&#xff0c;康托尔&#xff0c;凯莱&#xff0c;哈密尔顿&#xff0c;黎曼&#xff0c;爱森斯坦&#xff0c;帕斯卡 第三&#xff1a;伽罗瓦&#xff0c;阿…

中国著名的数学家

一、丘成桐 丘成桐教授&#xff08;1949.4.4.~现在&#xff09; 国际著名数学家&#xff0c;20世纪国际著名华人数学家陈省身老先生的学生&#xff0c;现担任美国科学院院士、中国科学院外籍院士、俄罗斯科学院外籍院士、意大利Lincei 科学院外籍院士、台湾中央研究院院士、…

顶级数学家到底有多厉害?

数学是我的全部生活。 ——哈代 01 哈代 哈代&#xff08;Hardy&#xff0c;Godfrey Harold&#xff0c;1877年2月7日&#xff5e;1947年12月1日&#xff09;&#xff0c;卒于剑桥。13岁进入以培养数学家著称的温切斯特学院。23岁在剑桥获得职位。同年得史密斯奖。 在20世纪上半…