扩散模型背后数学太难了,啃不动?谷歌用统一视角讲明白了

本文涉及的产品
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
模型训练 PAI-DLC,100CU*H 3个月
交互式建模 PAI-DSW,每月250计算时 3个月
简介: 扩散模型背后数学太难了,啃不动?谷歌用统一视角讲明白了

最近一段时间,AI 作画可谓是火的一塌糊涂。

在你惊叹 AI 绘画能力的同时,可能还不知道的是,扩散模型在其中起了大作用。就拿热门模型 OpenAI 的 DALL·E 2 来说,只需输入简单的文本(prompt),它就可以生成多张 1024*1024 的高清图像。

在 DALL·E 2 公布没多久,谷歌随后发布了 Imagen,这是一个文本到图像的 AI 模型,它能够通过给定的文本描述生成该场景下逼真的图像。

就在前几天,Stability.Ai 公开发布文本生成图像模型 Stable Diffusion 的最新版本,其生成的图像达到商用级别。

自 2020 年谷歌发布 DDPM 以来,扩散模型就逐渐成为生成领域的一个新热点。之后 OpenAI 推出 GLIDE、ADM-G 模型等,都让扩散模型火出圈。

很多研究者认为,基于扩散模型的文本图像生成模型不但参数量小,生成的图像质量却更高,大有要取代 GAN 的势头。

不过,扩散模型背后的数学公式让许多研究者望而却步,众多研究者认为,其比 VAE、GAN 要难理解得多。

近日,来自 Google Research 的研究者撰文《 Understanding Diffusion Models: A Unified Perspective 》,本文以极其详细的方式展示了扩散模型背后的数学原理,目的是让其他研究者可以跟随并了解扩散模型是什么以及它们是如何工作的。

论文地址:https://arxiv.org/pdf/2208.11970.pdf
至于这篇论文有多「数学」,论文作者是这样描述的:我们以及其令人痛苦的细节(excruciating detail)展示了这些模型背后的数学。

论文共分为 6 部分,主要包括生成模型;ELBO、VAE 和分级 VAE;变分扩散模型;基于分数的生成模型等。

以下摘取了论文部分内容进行介绍:

生成模型

给定分布中的观察样本 x,生成模型的目标是学习为其真实数据分布 p(x) 进行建模。模型学习完之后,我们就可以生成新的样本。此外,在某些形式下,我们也可以使用学习模型来进行评估观察或对数据进行采样。

当前研究文献中,有几个重要方向,本文只在高层次上简要介绍,主要包括:GAN,其对复杂分布的采样过程进行建模,该过程以对抗方式学习。生成模型,我们也可称之为「基于似然,likelihood-based」的方法,这类模型可以将高似然分配给观察到的数据样本,通常包括自回归、归一化流、VAE。基于能量的建模,在这种方法中,分布被学习为任意灵活的能量函数,然后被归一化。在基于分数的生成模型中,其没有学习对能量函数本身进行建模,而是将基于能量模型的分数学习为神经网络。

在这项研究中,本文探索和回顾了扩散模型,正如文中展示的那样,它们具有基于可能性和基于分数的解释。

变分扩散模型

以简单的方式来看,一个变分扩散模型(Variational Diffusion Model, VDM)可以被考虑作为具有三个主要限制(或假设)的马尔可夫分层变分自编码器(MHVAE),它们分别为:

  • 潜在维度完全等同于数据维度;
  • 每个时间步上潜在编码器的结构没有被学到,它被预定义为线性高斯模型。换言之,它是以之前时间步的输出为中心的高斯分布;
  • 潜在编码器的高斯参数随时间变化,过程中最终时间步 T 的潜在分布标是准高斯分布。


变分扩散模型的视觉展示图。

此外,研究者明确维护了来自标准马尔可夫分层变分自编码器的分层转换之间的马尔可夫属性。他们对以上三个主要假设的含义一一做了扩展。

从第一个假设开始,由于符号的滥用,现在可以将真实数据样本和潜在变量表示为 x_t,其中 t=0 表示真实样本数据,t ∈ [1, T] 表示相应的潜在变量,它的层级结构由 t 进行索引。VDM 后验与 MHVAE 后验相同,但现在可以重写为如下:

从第二个假设,已知的是编码器中每个潜在变量的分布都是以之前分层潜在变量为中心的高斯分布。与 MHVAE 不同的是,编码器在每个时间步上的结构没有被学到,它被固定为一个线性高斯模型,其中均值和标准差都可以预先设置为超参数或者作为参数学得。在数学上,编码器转换表示为如下:

对第三个假设,α_t 根据固定或可学得的 schedule 而随时间演化,使得最终潜在变量 p(x_T) 的分布为标准高斯分布。然后可以更新 MHVAE 的联合分布,将 VDM 的联合分布写为如下:

总的来说,这一系列假设描述了一个图像随时间演化的稳定噪声。研究者通过添加高斯噪声渐进地破坏图像,直到最终变得与高斯噪声完全相同。

与任何 HVAE 相似的是,VDM 可以通过最大化证据下界(Evidence Lower Bound, ELBO)来优化,可以推导如下:

ELBO 的解释过程如下图 4 所示:

三种等价的解释

正如之前证明的,一个变分扩散模型可以简单地通过学习神经网络来训练,以从任意噪声版本 x_t 及其时间索引 t 中预测原始自然图像 x_0。但是,x_0 有两个等价的参数化,使得可以对 VDM 展开两种进一步的解释。

首先可以利用重参数化技巧。在推导 q(x_t|x_0) 的形式时,文中公式 69 可以被重新排列为如下:

将其带入之前推导出的真实去噪转换均值 µ_q(x_t, x_0),则可以重新推导如下:

因此可以将近似去噪转换均值 µ_θ(x_t, t) 设置为如下:

并且相应的优化问题变成如下:

为了推导出变分扩散模型的三种常见解释,需要求助于 Tweedie 公式,它指的是当给定样本时,指数族分布的真实均值可以通过样本的最大似然估计(也称为经验均值)加上一些涉及估计分数的校正项来估计。

从数学上讲,对于一个高斯变量 z ∼ N (z; µ_z, Σ_z),Tweedie 公式表示如下:

基于分数的生成模型

研究者已经表明,变分扩散模型可以简单地通过优化一个神经网络 s_θ(x_t, t) 来学得,以预测一个得分函数∇ log p(x_t)。但是,推导中的得分项来自 Tweedie 公式的应用。这并不一定为解读得分函数究竟是什么或者它为什么值得建模提供好的直觉或洞见。

好在可以借助另一类生成模型,即基于分数的生成模型,来获得这种直觉。研究者的确证明了之前推导出的 VDM 公式具有等价的基于分数的生成建模公式,使得可以在这两种解释之间灵活切换。

为了理解为什么优化一个得分函数是有意义的,研究者重新审视了基于能量的模型。任意灵活的概率分布可以写成如下形式:

避免计算或建模归一化常数的一种方式是使用神经网络 s_θ(x) 来学习分布 p(x) 的得分函数∇ log p(x)。这是观察到了公式 152 两边可以进行对数求导:

它可以自由地表示为神经网络,不涉及任何归一化常数。通过利用真值得分函数最小化 Fisher 散度,可以优化得分函数。

直观地讲,得分函数在数据 x 所在的整个空间上定义了一个向量场,并指向模型,具体如下图 6 所示。

最终,研究者从训练目标和抽样过程两方面,建立了变分扩散模型和基于分数的生成模型之间的显式关联。

更多细节内容请参阅原论文。


相关文章
|
28天前
|
人工智能 运维 监控
别再熬夜调模型——从构想到落地,我们都管了!
本文将以 Qwen2.5 : 7B 为例进行演示,介绍如何通过人工智能平台 PAI实现AI 研发的全链路支持,覆盖了从数据标注、模型开发、训练、评估、部署和运维管控的整个AI研发生命周期。
442 20
|
4月前
|
机器学习/深度学习 数据采集 人工智能
揭开大模型幻觉之谜:深入剖析数据偏差与模型局限性如何联手制造假象,并提供代码实例助你洞悉真相
【10月更文挑战第2天】近年来,大规模预训练模型(大模型)在自然语言处理和计算机视觉等领域取得卓越成绩,但也存在“大模型幻觉”现象,即高准确率并不反映真实理解能力。这主要由数据偏差和模型局限性导致。通过平衡数据集和引入正则化技术可部分缓解该问题,但仍需学界和业界共同努力。
74 4
|
4月前
|
机器学习/深度学习 自然语言处理 算法
【深藏功与名】揭秘大模型背后的真相:为何它们常让人欢喜让人忧,又该如何破局?
【10月更文挑战第5天】近年来,随着计算资源和算法的提升,大规模深度学习模型在自然语言处理和计算机视觉领域取得了显著成就,但也引发了“大模型幻觉”的讨论。该现象指模型虽在特定任务上表现出色,但在实际应用中存在过度拟合和泛化能力差等问题。本文分析了大模型的底层逻辑,并通过PyTorch代码示例展示了如何使用L2正则化缓解过度拟合。此外,还介绍了通过数据增强提高模型泛化能力的方法。未来研究需进一步平衡模型复杂度与泛化能力,以实现更佳性能。
69 0
|
Cloud Native Go 开发工具
如何让CSDN学习成就个人能力六边形全是100分:解析个人能力雷达图的窍门
如何让CSDN学习成就个人能力六边形全是100分:解析个人能力雷达图的窍门
370 0
|
机器学习/深度学习 移动开发 算法
如何在黎曼流形上避开鞍点?本文带你了解优化背后的数学知识
在一篇名为《Escaping from saddle points on Riemannian manifolds》的论文中,来自华盛顿大学、加州大学伯克利分校的研究人员深入探索了优化问题的细节,这对理解机器学习底层的数学知识非常重要。本文是对该论文的解读。
250 0
如何在黎曼流形上避开鞍点?本文带你了解优化背后的数学知识
|
机器学习/深度学习 人工智能 算法
近期看到AlphaGo算法最清晰的解读
来看看人工智能专家同时又是围棋高手的如何解读AlphaGo算法的
27527 1
【杂谈】您是以什么姿态来参与讨论、回帖的?
大概有三种姿态吧。1、大师级      总是说一些很玄的话,比如“是狗摇尾巴,还是你摇狗尾巴?”,让人听了就有一种想揍人的冲动,呵呵。2、老师批卷子型。      你这个不对,违反了范式;这个也不对,继承层数太多了;这个还是不对,组合优于继承,你要用组合;这个,不够灵活,你要能够方便的扩展;这都什么年代了你还面向过程呢?      什么你问我这个要怎么做,你不会自己去想呀,你不会自己去学习吗?难道连加减乘除还要给你讲一遍吗?这些都是基础知识,自己弄去,我够告诉你要看什么了,已经很够意思了,难道你还想让我给你完全做出来,你给我发工资吗?3、朋友帮忙型。
733 0
|
架构师 Java 大数据
程序员如何跳出35岁魔咒,史上最全思维图收集解救你
时常有人在知乎、百度等平台抛出问题:程序员过了 35 岁或 40 岁是不是就失去了竞争力,要转管理岗了吗? 100offer 在2017年对其平台上的5844 位技术岗位求职者做了一个抽样调查,得出了如下统计结果: 10年以上的求职者,也就是“中年程序员”求职者的比例达到了10%,有了小幅攀升。
2116 0

热门文章

最新文章