斯坦福大学教授Stefano Ermon:如何利用扩散模型实现可控生成

57756486f1879d0d8aa2be294262242e.png

来源:智源社区

导读

在最新报告中,斯坦福大学副教授Stefano Ermon讲解了过去几年团队基于分数的扩散模型方面所做的工作,介绍了扩散模型进展的核心思想以及前沿技术,并为我们展示了许多生动的应用案例。

db6b510e1f79aa13c9f2dcb06ac3a8bb.jpeg

Stefano Ermon

斯坦福大学计算机科学学院副教授,伍兹环境研究所Fellow。他主要研究在图形模型中的可伸缩技术以及精确推理,数据统计建模,大规模组合优化和不确定性下的鲁班决策,特别是在新兴的计算可持续领域。

近年来,扩散模型在语音、音频、图像等领域大放异彩,如何实现可控生成成为业界关注的核心。

如下图所示,给定描述:“泰迪熊穿着戏服,站在太和殿前唱京剧”,系统根据文字输入返回相应的图像。

854ba3beb63d072e74627c33ce0d830c.jpeg

这项技术的基础是模型能够理解自然图像结构的模型,理解哪些像素序列是合理的,哪些是不可能的。生成式人工智能的工具有很多有趣的例子,如概率模型和自然图像数据分布的生成模型。但我们以前无法做到这一点,因为一个复杂的生成模型的概率分布实际上非常复杂,是在非常高维度空间上的概率分布。

如何构建一个足够灵活的分布,捕获复杂分布的特性?可以选择简单的统计模型(如高斯分布),把图像X整合为像素矢量的输入,并将其映射为标量值。不过,高斯分布并不能代表像自然图像的数据分布这样复杂的情况,所以需要引入深度神经网络来表示这个复杂的函数,将图像作为输入,并将其映射为一个概率值。必须以某种方式改变神经网络的结构,确保输出为非负值。另外,还需要确保所有可能的输入到这个函数的概率和为1。为了确保归一化,一般要除以归一化常数,它是所有可能输入的非归一化概率的积分。

因此,我们选择不使用必须归一化的概率密度函数,而是使用它们的梯度,即所谓的分数函数(score function),这是一种对数密度函数的梯度。

f5e53ea84d7c735a2b09fa6aecf04fab.jpeg

如上图所示,如果X的密度P是两个高斯的混合物,这里的颜色代表模型概率。这里有两个高斯。一个在右上方,一个在左下方,相应的分数是一个充满梯度的向量,指向高概率区域。分数的每一点都在提供方向,遵循这个方向可以最快速地提高概率。

该方法使我们可以灵活定义模型,并可以直接绕过归一化常数的问题。同时,它能帮助模型获得非常高质量的图像,这也是图像、视频、语音等生成模型背后的技术。

为什么对分数进行建模

效果更好

89789af79331fe1ab3f58984792697c3.jpeg

从数学上来看,取上图左边的表达式的对数,和它相对于X的梯度,在这种情况下,X是一维的,它由两个组成部分,其中f_θ部分是神经网络的输出。

而对数分区函数是一个常数(曲线下的面积),并不依赖于x。通过取梯度,消除了对归一化常数的依赖性。所以可以直接使用一个任意的神经网络来模拟右边的函数(分数模型)。这使我们能够使用更强大的神经网络来开发图像的概率模型。

而对于训练数据,如果不使用密度函而是利用梯度,当只能接触到样本和一堆训练实例时,我们可以通过估计梯度的基本矢量场得出分数函数,使它能很好地近似于真实数据生成过程的分数函数。

Ermon 通过神经网络定义了一个分数模型。尝试为神经网络找到合适的参数,让这个函数尽可能地接近梯度的真实矢量场。然后将模型得到的矢量场,与真实矢量场进行比较。如果差异很小,就说明矢量场近似真实。在实践中,可以通过对误差的范数进行平均得到标量值,在数学上,这被称为缺陷散度(deficient divergence)。但由于真实矢量场很难获取,影响了对缺陷散度的评估。

相比直接比较梯度的矢量场,Ermon选择比较它们的随机投影。如果矢量场匹配,那么随机投影也应该匹配。当选择大量不同的方向时,就可以得到一个相当好的近似值。通过比较随机投影,可以得到一个目标函数,它的计算效率更高,且基本上不依赖于数据的维度,所以可以扩展到非常高维的数据集,保留了很多分数匹配、一致性和渐进正态性的良好特性。

如何实现可控生成

从数据分布中抽取样本并得出梯度的真实矢量场的良好近似是可能的。那么如何使用该对象生成新的样本?可以随机初始化粒子,沿着梯度试图走向高概率区域。但这并不是一个有效的抽样策略,因为有时会陷入局部最优。这里利用郎之万动力学(也称为Langevin MCMC)的抽样算法,该算法按照梯度进行工作,并在每一步加入噪声。

caa90f824362e268c9487001c21419a4.jpeg

事实证明,如果不是只遵循梯度,而是在每一步上添加噪音,只要时间足够长,就会渐进地产生基础分布的样本。但它在高维情况下不一定有效。所以要在数据中添加噪声,从而形成新的扰动密度。但这并不是从干净的数据密度中取样,而是从它的一个近似中取样。且这个近似被人为地用噪声干扰了。所以会生成像下图右边的小狗那种带有噪声的图像,这显然不够理想。因此,Ermon考虑了多个噪声水平,比如向图像中添加越来越大的噪声,直到图像中的结构被完全破坏。

90ab79d21072bffc1c9781757d3a7027.jpeg

在完成了所有梯度的矢量场的估计之后,可以通过使用郎之万动力学的变体来产生样本,并随机初始化样本,然后跟随有大量噪声干扰的数据分布的梯度,向高概率区域移动;再用这些样本来初始化第二个Langevin chain,注意在这里要减少噪音的数量。如此重复,直到噪声水平小到与从真正干净的分布中采样相同。Ermon等人2019年在ICLR上发表的工作可以说明这套程序如何在一些常见的图像数据集上生成样本。这项工作在学术数据集图像质量方面首次击败GAN,是当时生成建模领域的最先进的技术。

fcd005258ebffbacd61f20d5ab773dbd.jpeg

扩散模型为什么有用

总结来讲,扩散模型以一种非常自然的方式控制生成过程。假设有一个已经训练好的模型,可以生成猫和狗的图像,现在要求只生成与最后一个标签狗相对应的图像。而分类器能分辨出一张图片上是狗还是猫,是否有可能从图像的后验分布中取样,给定相应的类是狗?

后验分布的分数是先验模型的分数x加上可能直接获得的y的概率p的分数。如果有一个预训练好的分数模型,用来展示出图像的分数是什么样子的,就可以把它与想要的模型的分数结合起来,得到一个后验分布的分数,然后将这两部分相加,就可以得到一个可以从后验分布中取样的模型。

这种模型可以被用于许多不同的应用。例如,语言引导的图像生成,医学成像等。实践证明,它优于为任务训练的特定深度学习方法,而且在更通用还能提供更好的性能,所以这种技术可以在其他各种大量的数据集、音频、材料设计、文本转换速度、形状生成等方面得到最先进的结果。

未来智能实验室的主要工作包括:建立AI智能系统智商评测体系,开展世界人工智能智商评测;开展互联网(城市)大脑研究计划,构建互联网(城市)大脑技术和企业图谱,为提升企业,行业与城市的智能水平服务。每日推荐范围未来科技发展趋势的学习型文章。目前线上平台已收藏上千篇精华前沿科技文章和报告。

  如果您对实验室的研究感兴趣,欢迎加入未来智能实验室线上平台。扫描以下二维码或点击本文左下角“阅读原文”

359f513263e0936fa6690892109a6238.jpeg

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值