©PaperWeekly 原创 · 作者 |
苏剑林
到目前为止,笔者给出了生成扩散模型 DDPM 的两种推导,分别是《生成扩散模型漫谈:DDPM = 拆楼 + 建楼》中的通俗类比方案和《生成扩散模型漫谈:DDPM = 自回归式 VAE》中的变分自编码器方案。两种方案可谓各有特点,前者更为直白易懂,但无法做更多的理论延伸和定量理解,后者理论分析上更加完备一些,但稍显形式化,启发性不足。
在这篇文章中,我们再分享 DDPM 的一种推导,它主要利用到了贝叶斯定理来简化计算,整个过程的“推敲”味道颇浓,很有启发性。不仅如此,它还跟我们后面将要介绍的 DDIM 模型 [1] 有着紧密的联系。
再次回顾,DDPM 建模的是如下变换流程:
其中,正向就是将样本数据
逐渐变为随机噪声
的过程,反向就是将随机噪声
逐渐变为样本数据
的过程,反向过程就是我们希望得到的“生成模型”。
DDPM 要做的事情,就是从上述信息中求出反向过程所需要的
,这样我们就能实现从任意一个
出发,逐步采样出
,最后得到随机生成的样本数据
。
下面我们请出伟大的贝叶斯定理
[2]
。事实上,直接根据贝叶斯定理我们有
然而,我们并不知道
的表达式,所以此路不通。但我们可以退而求其次,在给定
的条件下使用贝叶斯定理:
推导:
上式的推导过程并不难,就是常规的展开整理而已,当然我们也可以找点技巧加快计算。首先,代入各自的表达式,可以发现指数部分除掉
因子外,结果是:
它关于
是二次的,因此最终的分布必然也是正态分布,我们只需要求出其均值和协方差。不难看出,展开式中
项的系数是
现在我们得到了
,它有显式的解,但并非我们想要的最终答案,因为我们只想通过
来预测
,而不能依赖
是我们最终想要生成的结果。接下来,一个“异想天开”的想法是:
如果我们能够通过
来预测
,那么不就可以消去
中的
,使得它只依赖于
了吗?
说干就干,我们用
来预估
,损失函数为
。训练完成后,我们就认为
在
中,
代表原始数据,
代表带噪数据,所以这实际上在训练一个去噪模型,这也就是 DDPM 的第一个 “D” 的含义(Denoising)。
省去前面的系数,就得到 DDPM 原论文所用的损失函数了。可以发现,本文是直接得出了从
到
的去噪过程,而不是像之前两篇文章那样,通过
到
的去噪过程再加上积分变换来推导,相比之下本文的推导可谓更加一步到位了。
另一边,我们将式(11)代入到式(10)中,化简得到
这就是反向的采样过程所用的分布,连同采样过程所用的方差也一并确定下来了。至此,DDPM 推导完毕~(提示:出于推导的流畅性考虑,本文的
跟前两篇介绍不一样,反而跟 DDPM 原论文一致。)
推导:将式(11)代入到式(10)的主要化简难度就是计算
不知道读者有没有留意到一个有趣的地方:我们要做的事情,就是想将
慢慢地变为
,而我们在借用
近似
时,却包含了“用
来预估
”这一步,要是能预估准的话,那就直接一步到位了,还需要逐步采样吗?
真实情况是,“用
来预估
”当然不会太准的,至少开始的相当多步内不会太准。它仅仅起到了一个前瞻性的预估作用,然后我们只用
来推进一小步,这就是很多数值算法中的“预估-修正”思想,即我们用一个粗糙的解往前推很多步,然后利用这个粗糙的结果将最终结果推进一小步,以此来逐步获得更为精细的解。
由此我们还可以联想到Hinton三年前提出的《Lookahead Optimizer: k steps forward, 1 step back》
[3]
,它同样也包含了预估(k steps forward)和修正(1 step back)两部分,原论文将其诠释为“快(Fast)-慢(Slow)”权重的相互结合,快权重就是预估得到的结果,慢权重则是基于预估所做的修正结果。如果愿意,我们也可以用同样的方式去诠释 DDPM 的“预估-修正”过程~
最后,在使用贝叶斯定理一节中,我们说式(4)没法直接用的原因是
和
均不知道。因为根据定义,我们有
其中
是知道的,而数据分布
无法提前预知,所以不能进行计算。不过,有两个特殊的例子,是可以直接将两者算出来的,这里我们也补充计算一下,其结果也正好是上一篇文章遗留的方差选取问题的答案。
第一个例子是整个数据集只有一个样本,不失一般性,假设该样本为
,此时
为狄拉克分布
,可以直接算出
。继而代入式 (4),可以发现结果正好是
取
的特例,即
我们主要关心其方差为
,这便是采样方差的选择之一。
第二个例子是数据集服从标准正态分布,即
。前面我们说了 意味着
,而此时根据假设还有
,所以由正态分布的叠加性,
正好也服从标准正态分布。将标准正态分布的概率密度代入式(4)后,结果的指数部分除掉
因子外,结果是:
我们同样主要关心其方差为
,这便是采样方差的另一个选择。
本文分享了 DDPM 的一种颇有“推敲”味道的推导,它借助贝叶斯定理来直接推导反向的生成过程,相比之前的“拆楼-建楼”类比和变分推断理解更加一步到位。同时,它也更具启发性,跟接下来要介绍的 DDIM 有很密切的联系。
[1] https://arxiv.org/abs/2010.02502
[2] https://en.wikipedia.org/wiki/Bayes%27_theorem
[3] https://arxiv.org/abs/1907.08610
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析、科研心得或竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。
📝 稿件基本要求:
• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注
• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题
• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算
📬 投稿通道:
• 投稿邮箱:hr@paperweekly.site
• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者
• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿
△长按添加PaperWeekly小编
🔍
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧