©PaperWeekly 原创 · 作者 | 苏剑林
单位 | 追一科技
研究方向 | NLP、神经网络
在《生成扩散模型漫谈:统一扩散模型(理论篇)》中,笔者自称构建了一个统一的模型框架(Unified Diffusion Model,UDM),它允许更一般的扩散方式和数据类型。那么 UDM 框架究竟能否实现如期目的呢?本文先回顾 DUM 框架的一般流程,然后通过一些具体例子来演示其一般性。
首先,UDM 通过选择噪声分布
来构建前向过程
其中
就是用
预估
的概率,一般用简单分布
来近似建模,训练目标基本上就是
或其简单变体。当
是连续型数据时,
一般就取条件正态分布;当
是离散型数据时,
可以选择自回归模型或者非自回归模型。
从这个基准出发,在不同的条件下可以得到不同的优化结果。当
关于
是可逆的,那么可以解出
,然后得到更好的确定性采样方式
现在这一节中,我们证明“热扩散模型”是 UDM 的一个特例,这里的热扩散(Hot Diffusion)指的是前面介绍的 DDPM、DDIM 等主流的扩散模型,这个称呼出自下面的“冷扩散”论文中。
主流扩散模型处理的是连续型数据,以加性正态噪声来构建前向过程:
的选择就是正态分布
,一般不将
作为训练参数,所以略去常数项后就有
上面两式结合,就是最一般的主流扩散模型框架的反向过程,其中 DDPM 取了
,DDIM 则取了
,而 Analytical-DPM 则重新估计了最优的非零的
。
接下来,我们证明《Cold Diffusion: Inverting Arbitrary Image Transforms Without Noise》[1] 所介绍的“冷扩散(Cold Diffusion)”也是 UDM 的一个特例。Cold Diffusion 处理的也是连续型数据,从论文标题可以看出,它着重于使用任意(无噪声的)变换来构建前向过程,据笔者所知,这是第一篇尝试一般前向过程的论文,UDM 在构建过程中,受到了它的颇多启发,在此对原作者表示感谢。
Cold Diffusion通过确定性的变换
构建前向过程,为了方便后面的分析,我们引入更一般的前向过程
这里的变换
可以是对原始数据的任意破坏方式,对于图像来说有模糊、遮掩、池化等,如果需要确定性的变换,事后让
即可。
在反向过程中,Cold Diffusion直接忽略了
的方差(即让
,这样得到
。如果
直接取基准选择
,即
,那么代入
并取
的极限后就得到
这就是原论文的“Naive Sampling”。而如果从
解出
后,代入
中就得到
这就是原论文的“Improved Sampling”。
总的来说,Cold Diffusion 首次成功实现了一般变换的前向过程的实现,但由于它过于强调“Without Noise”,所以它理论上有着无法弥补的缺陷。比如,对于
的图片数据,Cold Diffusion 在用模糊操作实现前向过程时,最终结果就相当于一个 3 维向量,而 Cold Diffusion 的反向过程也是确定性的,所以就是说 Cold Diffusion 通过一个确定性的变换,将
维的图片变成了 3 维,然后又通过确定性的变换,将 3 维重建为
维的图片,其中间过程必然有着严重的信息损失的,这必然会限制重建的清晰度,从而也限制了生成的清晰度。
要解决这个问题,就不能在前向或者反向过程中拒绝噪声的存在。因为噪声意味着不确定性,不确定性意味着“一对多”,“一对多”意味着允许“多对一”的前向过程,即允许信息损失的出现。事实上,Cold Diffusion 本身就已经意识到 3 维的向量难以生成
维的完整数据这个事实了,它在生成过程中,事实上还往这个 3 维向量加入了
维的轻微随机噪声,实验显示这个操作提高了生成效果。而这个操作大致上就相当于
的前向过程了。
以上两个例子处理的都是连续型数据,而我们说过,UDM 原则上不限定数据类型,这一节我们介绍一个离散型的例子,它显示基于编辑操作的文本生成模型,本质上也可以看成 UDM 的特例。
简单起见,我们考虑长度为
的定长句子生成,比如五言律诗、七言绝句等,变长句子不是不可以,而是细节上稍微复杂些。然后,我们将前向过程
定义为“随机替换”,即
随机选句子中的 t 个 token 随机替换为别的 token
其中
时,当
时,此时
就是
个完全随机组合的 token。
此时
就是用随机替换后的序列来预测原序列的模型,用自回归/非自回归模型均可,损失函数用交叉熵。注意此时
关于噪声必然是不可逆的(即给定
和
,从
变到
的方式不止有一种),因此我们只能用基准选择 ,这意味着生成过程是:
3、随机选
的
个 token 随机替换为别的 token,作为
;
但是,这样的算法效果不会很好,因为第2步的预估成果往往会被第 3 步的随机替换“毁”掉不少,有点“一夜回到解放前”的感觉,要想提高效果,就必须要用更好的采样方案,这要求
关于噪声可逆,也就是从给定的
可以看出变换方式是怎样的。为此,我们规定前向过程为:
随机选句子中的 t 个 token 随机替换为不同的 token
它跟原来的区别是随机替换的过程中,原来的 token 必须替换为原来不一样的 token,如果不做这个选择,则有可能采样到一样的 token。做了这个限制后,我们可以直接对比
和
的差异,来看出修改了什么,从而将第 3 步的随机替换,换成由
到
的替换变换:
2、从
预测
,要求
与
有
个不同 token(用非自回归模型比较好实现);
3、随机选
中与
不同的 token 中的一个,替换为
对应位置的 token,作为
;
这样一来,每次的预测结果
的有效部分(
与
相同的部分)都得以保留,并且
与
相比只修改了一个 token,因此生成过程是渐进式的稳定生成。它跟普通的自回归模型区别则是去掉了从左往右的生成方向限制。
掩码模型
如果读者对上述模型还是很模糊,这里笔者再提供一个简单例子辅助理解。同样考虑长度为
的定长句子生成,我们将前向过程
定义为“随机掩码”,即
随机选句子中的 t 个 token 随机替换为 [MASK]
此时
就是用带 [MASK] 的序列来预测原序列的模型,用一般用类似 BERT 的 MLM 模型(非自回归模型)来实现,损失函数用交叉熵。基准的生成过程是 生成过程是:
3、随机选
的
个 token 随机替换为 [MASK],作为
;
注意到,此时
关于噪声是可逆的,即我们完全可以从给定的
和
可以看出变换方式是怎样的(即哪些 token 被替换为了 [MASK])。因此可以构造改进版生成过程
2、从
采样
,注意只需采样那些原来是 [MASK] 的 token,原来非 [MASK] 的不做改变;
3、从原来
的
个 [MASK] 所在位置中随机选
个,将
的这些位置的 token 替换为 [MASK],作为
;
当然,其实第 2、3 步可以合并为更直接的一步:
2 & 3、从
的
个 [MASK] 所在位置中随机选 1 个,按
对应位置的概率采样一个 token 替换上去,作为
;
这跟基于 MLM 模型的 Gibbs 采样几乎一致了(参考《【搜出来的文本】⋅(三)基于BERT的文本采样》)。从“编辑模型”和“掩码模型”两个例子我们应该可以大致体会到,很多“渐变式生成”的模型,都可以用 UDM 框架来重新表述。又或者反过来,我们能想到的任何渐变式生成方式,都可以尝试用 UDM 框架来构建其概率表述。
编码模型
前面我们所讨论的前向过程都是无训练参数的,也就是说都是事先设计好的流程,但这其实也并不是必要的。我们可以将 DDPM 的扩散过程一般化为
其中
是对
的编码模型,可以带训练参数。此时训练目标就是
只不过此时
也有训练参数。至于反向过程也是类似的,只不过最后采样到
就直接返回
了。特别地,由于多了一个编码模型
,所以输入
既可以是离散型数据,也可以是连续型数据,它提供了类似 VAE 的将数据分布编码到隐变量的正态分布的一种方法。
本文主要应用上一篇文章所构建的统一扩散模型框架(Unified Diffusion Model,UDM)来推导几个具体的例子,包括主流的扩散模型、Cold Diffusion、文本编辑生成、编码模型等。
[1] https://arxiv.org/abs/2208.09392
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析、科研心得或竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。
📝 稿件基本要求:
• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注
• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题
• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算
📬 投稿通道:
• 投稿邮箱:hr@paperweekly.site
• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者
• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿
△长按添加PaperWeekly小编
🔍
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」