Redian新闻
>
​生成扩散模型漫谈:条件控制生成结果

​生成扩散模型漫谈:条件控制生成结果

科技


©PaperWeekly 原创 · 作者 | 苏剑林
单位 | 追一科技
研究方向 | NLP、神经网络

前面的几篇文章都是比较偏理论的结果,这篇文章我们来讨论一个比较有实用价值的主题——条件控制生成。

作为生成模型,扩散模型跟 VAE、GAN、flow 等模型的发展史很相似,都是先出来了无条件生成,然后有条件生成就紧接而来。无条件生成往往是为了探索效果上限,而有条件生成则更多是应用层面的内容,因为它可以实现根据我们的意愿来控制输出结果。从 DDPM 至今,已经出来了很多条件扩散模型的工作,甚至可以说真正带火了扩散模型的就是条件扩散模型,比如脍炙人口的文生图模型 DALL·E 2 [1]、Imagen [2]

在这篇文章中,我们对条件扩散模型的理论基础做个简单的学习和总结。



技术分析
从方法上来看,条件控制生成的方式分两种:事后修改(Classifier-Guidance)和事前训练(Classifier-Free)。
对于大多数人来说,一个 SOTA 级别的扩散模型训练成本太大了,而分类器(Classifier)的训练还能接受,所以就想着直接复用别人训练好的无条件扩散模型,用一个分类器来调整生成过程以实现控制生成,这就是事后修改的 Classifier-Guidance 方案;而对于“财大气粗”的 Google、OpenAI 等公司来说,它们不缺数据和算力,所以更倾向于往扩散模型的训练过程中就加入条件信号,达到更好的生成效果,这就是事前训练的 Classifier-Free 方案。

Classifier-Guidance 方案最早出自《Diffusion Models Beat GANs on Image Synthesis》[3],最初就是用来实现按类生成的;后来《More Control for Free! Image Synthesis with Semantic Diffusion Guidance》[4] 推广了“Classifier”的概念,使得它也可以按图、按文来生成。Classifier-Guidance 方案的训练成本比较低(熟悉 NLP 的读者可能还会想起与之很相似的 PPLM 模型),但是推断成本会高些,而且控制细节上通常没那么到位。

至于 Classifier-Free 方案,最早出自《Classifier-Free Diffusion Guidance》[5],后来的 DALL·E 2 [1]、Imagen [6] 等吸引人眼球的模型基本上都是以它为基础做的,值得一提的是,该论文上个月才放到 Arxiv 上,但事实上去年已经中了 NeurIPS 2021。应该说,Classifier-Free 方案本身没什么理论上的技巧,它是条件扩散模型最朴素的方案,出现得晚只是因为重新训练扩散模型的成本较大吧,在数据和算力都比较充裕的前提下,Classifier-Free 方案变现出了令人惊叹的细节控制能力。



条件输入

说白了,Classifier-Free 方案就是训练成本大,本身“没什么技术含量”,所以接下来的主要篇幅都是 Classifier-Guidance 方案,而 Classifier-Free 方案则是在最后简单介绍一下。

经过前面一系列文章的分析,想必读者已经知道,生成扩散模型最关键的步骤就是生成过程 的构建,而对于以 为输入条件的生成来说,无非就是将 换成 而已,也就是说生成过程中增加输入 。为了重用已经训练好的无条件生成模型 ,我们利用贝叶斯定理得:

在每一项上面补上条件 ,就得到:

注意,在前向过程中, 是由 加噪声得到的,噪声不会对分类有帮助,所以 的加入对分类不会有任何收益,因此有 ,从而:




近似分布

对于已经看过《生成扩散模型漫谈:一般框架之SDE篇》的读者,大概会觉得接下来的过程似曾相识。不过即便没读过也不要紧,下面我们依旧完整推导一下。

足够大时, 的方差足够小,也就是说只有 很接近时概率才会明显大于0。反过来也是成立的,即也只有 很接近时 才明显大于0,我们只需要重点考虑这个范围内的概率变化。为此,我们用泰勒展开:

严格来讲还有一项关于 的变化项,但是那一项跟 无关,属于不影响 概率的常数项,因此我们没有写出。假设原来有 ,那么此时近似地有:
从这个结果可以看出, 近似于 ,所以只需要把生成过程的采样改为:
这就是 Classifier-Guidance 方案的核心结果。值得注意的是,本文的推导结果跟原论文略有不同,原论文新增项是:
也就是梯度项在 处的结果而非 处,而一般情况下 的零阶近似正是 ,所以两者结果是差不多的。



梯度缩放
原论文(《Diffusion Models Beat GANs on Image Synthesis》[3])发现,往分类器的梯度中引入一个缩放参数 ,可以更好地调节生成效果:

时,生成过程将使用更多的分类器信号,结果将会提高生成结果与输入信号 的相关性,但是会相应地降低生成结果的多样性;反之,则会降低生成结果与输入信号之间的相关性,但增加了多样性。
怎么从理论上理解这个参数呢?原论文提出将它理解为通过幂操作来提高分布的聚焦程度,即定义:
随着 的增加, 的预测会越来越接近 one hot 分布,用它来代替 作为分类器做 Classifier-Guidance,生成过程会倾向于挑出分类置信度很高的样本。
然而,这个角度虽然能提供一定的参考价值,但其实不完全对,因为:
原论文错误地认为 是一个常数,所以 ,但事实上 时, 会显式地依赖于 。笔者也继续思考了一下有没有什么补救方法,但很遗憾没什么结果,仿佛只能很勉强地认为 时(此时 )的梯度性质能近似地泛化到 的情形。



相似控制
事实上,理解 的最佳方案,就是放弃从贝叶斯定理的式(2)和式(3)来理解 ,而是直接定义:
其中 是生成结果 与条件 的某个相似或相关度量。在这个角度下, 直接融于 的定义中,直接控制结果与条件的相关性,当 越大,模型会倾向于生成跟 越相关的
为了进一步得到可采样的近似结果,我们可以在 处(也可以在 ,跟前面类似)展开:
假设此近似程度已经足够,那么除去与 无关的项,我们得到:
跟前面一样,代入 ,配方后得到:
这样一来,我们就不需要纠结 的概率意义,而是只需要直接定义度量函数 ,这里的 也不再是仅限于“类别”,也可以是文本、图像等任意输入信号,通常的处理方式是用各自的编码器将其编码为特征向量,然后用 cos 相似度:
要指出的是,中间过程的 是带高斯噪声的,所以编码器 一般不能直接调用干净数据训练的编码器,而是要用加噪声后的数据对它进行微调才比较好。此外,如果做风格迁移的,通常则是用 Gram 矩阵距离而不是 cos 相似度,这些都看场景发挥了。以上便是论文《More Control for Free! Image Synthesis with Semantic Diffusion Guidance》[4] 的一系列结果,更多细节可以自行参考原论文。



连续情形
经过前面的推倒,我们得到均值的修正项为 ,它们都有一个共同特点,就是 时,修正项也等于0,修正就失效了。
那么生成过程的 可以等于 0 吗?肯定可以,比如《生成扩散模型漫谈(四):DDIM = 高观点DDPM》介绍的 DDIM,就是方差为 0 的生成过程,这种情况下应该怎样做控制生成呢?此时我们需要用到《生成扩散模型漫谈(六):一般框架之ODE篇》介绍的基于 SDE 的一般结果了,在里边我们介绍到,对于前向 SDE:

对应的最一般的反向 SDE 为:

这里允许我们自由选择反向方差 ,DDPM、DDIM 都可以认为是它的特例,其中 时就是一般化的 DDIM。可以看到,反向 SDE 跟输入有关的就是 ,如果要做条件生成,自然是要将它换成 ,然后利用贝叶斯定理,有:

在一般的参数化下有 ,因此:

这就意味着,不管生成方差是多少,我们只需要用 代替 就可以实现条件控制生成了。因此,在 SDE 的统一视角下,我们可以非常简单而直接地得到 Classifier-Guidance 方案的最一般结果。



无分类器

最后,我们来简单介绍一下 Classifier-Free 方案。其实很简单,它就是直接定义:


沿用前面 DDPM 的几篇文章的结果, 一般参数化为:
训练的损失函数就是:
它的优点是在训练过程中就引入了额外的输入 ,理论上输入信息越多越容易训练;它的缺点也是在训练过程中就引入了额外的输入 ,意味着每做一组信号控制,就要重新训练整个扩散模型。
特别地,Classifier-Free 方案也模仿 Classifier-Guidance 方案加入了 参数的缩放机制来平衡相关性与多样性。具体来说,式(8)的均值可以改写成:

Classifier-Free 方案相当于直接用直接用模型拟合了 ,那么类比上式,我们也可以在 Classifier-Free 方案中引入 参数,用:

代替 来做生成。那无条件的 怎么来呢?我们可以新引入一个特定的输入 ,它对应的目标图像为全体图像,加到了模型的训练中,这样我们就可以认为 了。



文章小结

本文简单介绍了建立条件扩散模型的相关理论结果,主要包含事后修改(Classifier-Guidance)和事前训练(Classifier-Free)两种方案。其中,前者不需要重新训练扩散模型,可以低成本实现简单的控制;后者需要重新训练扩散模型,成本较大,但可以实现比较精细的控制。

参考文献

[1] https://arxiv.org/abs/2204.06125

[2] https://arxiv.org/abs/2205.11487

[3] https://arxiv.org/abs/2105.05233

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

[5] https://arxiv.org/abs/2207.12598

[6] https://kexue.fm/archives/9257



更多阅读



#投 稿 通 道#

 让你的文字被更多人看到 



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


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


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


📝 稿件基本要求:

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

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

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


📬 投稿通道:

• 投稿邮箱:[email protected] 

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

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


△长按添加PaperWeekly小编




🔍


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

进入知乎首页搜索「PaperWeekly」

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


·

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
扩散模型再下一城!AR-LDM:用扩散模型合成连贯视觉故事!输入字幕就能脑补画面,代词ta都分得清采样提速256倍,蒸馏扩散模型生成图像质量媲美教师模型,只需4步斯坦福、微软联手,用扩散模型进行蛋白质结构生成,已开源挪威的全世界最豪华监狱:条件奢侈,出门给钱?网友:我好想......《部队大院的八零后》9. 外国毛片和春宫《部队大院的八零后》8. 楼兰路八号悔,又有何用?大一统视角理解扩散模型Understanding Diffusion Models: A Unified Perspective斯坦福/谷歌大脑:两次蒸馏,引导扩散模型采样提速256倍!生成扩散模型漫谈:最优扩散方差估计(上)生成扩散模型漫谈:“硬刚”扩散ODE只需3个样本一句话,AI就能定制照片级图像,谷歌在玩一种很新的扩散模型7 Papers & Radios | 扩散模型只用文字PS照片;MIT泊松流生成模型击败扩散模型AIGC 席卷 AI 顶会:ICLR 2023 论文得分出炉,扩散模型研究暴增谷歌新作:基于扩散模型的视频生成咀外文嚼汉字(172)“水痘”、“牛痘”与“猴痘”谷歌新作Imagic:扩散模型只用文字就能PS照片了!网友:效果太震撼...卷!MIT提出泊松流生成模型击败扩散模型,兼顾质量与速度卷!MIT泊松流生成模型击败扩散模型,兼顾质量与速度妙啊!用扩散模型生成蛋白质结构,结果不输天然蛋白质|来自斯坦福&微软生成扩散模型漫谈:从万有引力到扩散模型从多篇论文看扩散模型在文本生成领域的应用GAN、扩散模型应有尽有,CMU出品的生成模型专属搜索引擎Modelverse来了美不是一种知识,简评电影《花落花开》生成扩散模型漫谈:统一扩散模型(理论篇)7 Papers & Radios | 谷歌推出DreamBooth扩散模型;张益唐零点猜想论文出炉ICLR 2023(投稿) | 扩散模型相关论文分类整理2022 剑桥 AI 全景报告出炉:扩散模型是风口,中国论文数量为美国的 4.5 倍扩散模型在文本生成领域的应用生成扩散模型漫谈:最优扩散方差估计(下)
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。