Diffusion Models: A Comprehensive Survey of Methods and Applications

摘要

扩散模型作为一个强大的新的深度生成模型系列出现,在许多应用中具有破纪录的性能,包括图像合成、视频生成和分子设计。在这项调查中,我们对迅速扩大的扩散模型的工作进行了概述,将研究分为三个关键领域:有效采样、改进似然估计和处理具有特殊结构的数据。我们还讨论了将扩散模型与其他生成模型相结合以获得增强结果的潜力。我们进一步回顾了扩散模型在计算机视觉、自然语言处理、时间数据建模等领域的广泛应用,以及其他科学学科的跨学科应用。这项调查的目的是对扩散模型的状况提供一个有背景的、深入的研究,确定关键的重点领域,并指出进一步探索的潜在领域。Github: https://github.com/YangLing0818/Diffusion-Models-Papers-Survey-Taxonomy。

引言

扩散模型简介: 扩散模型被认为是新一代深度生成模型,取代了生成对抗网络(GANs)在图像合成任务中的主导地位。它在计算机视觉、自然语言处理等领域展现出巨大潜力。

研究动态: 扩散模型领域的研究正在迅速增长,使得新进入该领域的研究人员难以跟上最新发展。本调查的目标是提供全面的概述,对不同方法进行分类,并强调关键进展。

分类体系: 文中提出了一种分类法,将扩散模型的研究分为三个主要领域:有效采样、改进的似然估计和处理具有特殊结构的数据的方法。这有助于理清不同方法之间的关系和区别。

与其他模型的关系: 调查讨论了扩散模型与其他深度生成模型的关系,包括变分自动编码器、生成对抗网络、归一化流、自回归模型和基于能量的模型。这些联系有助于实现更强大的性能。

应用领域: 扩散模型在计算机视觉、自然语言处理、时间数据建模、多模态学习、鲁棒学习和跨学科应用等六大类应用中都有所应用。对每个应用任务进行了定义、解决方案介绍和相关工作总结。

未来展望: 最后,调查展望了扩散模型研究的未来方向,包括重新审视假设、理论理解、潜在表示等方面的进一步研究。

在这里插入图片描述

扩散模型的基础

扩散模型是一类概率生成模型,通过逐步注入噪声来逐渐破坏数据,然后学习逆转此过程以生成样本。我们在图2中展示了扩散模型的直观理解。目前,对扩散模型的研究主要基于三种主要的表述:去噪扩散概率模型(DDPMs)[90, 166, 215],基于分数的生成模型(SGMs)[220, 221]和随机微分方程(Score SDEs)[219, 225]。在本节中,我们对这三种表述进行了自包含的介绍,并讨论了它们之间的联系。

2.1 去噪扩散概率模型(DDPMs)
去噪扩散概率模型是扩散模型家族的一种表述。它采用逐步注入噪声的方式来生成样本,并通过逐步去除噪声来学习数据。相关研究作品包括[90, 166, 215]。

2.2 基于分数的生成模型(SGMs)
基于分数的生成模型是扩散模型的另一种形式。它通过引入分数步长来逐渐生成样本,并通过逐步减小这些分数步长来学习逆转生成过程。相关研究作品包括[220, 221]。

2.3 随机微分方程(Score SDEs)
随机微分方程是扩散模型的第三种主要表述。它使用随机微分方程来描述样本生成的过程,并通过学习这些方程来进行逆转生成。相关研究作品包括[219, 225]。

2.1 去噪扩散概率模型(DDPMs)总结

去噪扩散概率模型(DDPMs)利用两条马尔科夫链,一前一后,实现数据逐步注入噪声并生成新样本的目标。具体过程包括:

  1. 前向链(数据注入噪声)

    • 使用手工设计的过渡核将数据分布逐步转化为简单的先验分布(通常选择标准高斯分布)。
    • 过渡核的典型设计是高斯扰动,其中超参数 (\beta_t) 控制噪声注入。
    • 通过边际化联合分布,得到前向链中所有时间步的解析形式。
  2. 生成新数据样本的过程

    • 从先验分布中生成一个非结构化的噪声向量。
    • 通过反向学习的马尔可夫链逐步去除噪声,生成新的数据样本。
  3. 反向链的训练目标

    • 最大化变分下限(VLB),等价于最小化 KL 散度,通过优化蒙特卡洛抽样得到。
  4. 损失函数

    • 训练目标涉及对各时间步噪声的加权预测,并通过优化损失函数提高样本质量。

总体而言,DDPMs通过前向和反向链的结合,通过逐步注入和去除噪声的过程,实现了生成新数据样本的目标。

2.2 基于分数的生成模型(SGM)总结

基于分数的生成模型(SGM)的核心思想是引入分数(Stein分数)概念,通过一连串强化的高斯噪声对数据进行扰动,并训练深度神经网络来联合估计所有噪声数据分布的分数函数。主要步骤和关键概念包括:

  1. Stein分数的概念

    • Stein分数是概率密度函数梯度的概念,与传统的Fisher分数不同,它是关于数据而不是模型参数的函数。
  2. SGM的关键思想

    • 利用一系列强化的高斯噪声对数据进行扰动。
    • 通过训练深度神经网络(噪声条件分数网络,NCSN)来联合估计所有噪声数据分布的分数函数。
  3. 生成新数据的过程

    • 通过一系列基于分数的抽样方法,包括Langevin Monte Carlo、随机微分方程、常微分方程等,逐步生成样本。
  4. 训练目标

    • 利用分数匹配等技术,通过训练深度神经网络来学习分数函数,提高样本质量。
  5. 采样方法(退火朗文动力学,ALD)

    • 利用迭代方法,从学到的分数函数中连续产生样本。

总体而言,SGM通过引入分数的概念和噪声扰动,以深度神经网络为基础,实现了生成新数据样本的目标。其采样方法在理论上具有保证,并提供了训练和推理解耦的优势。

2.3 随机微分方程(Score SDEs)

DDPMs和SGMs的推广形式是Score SDE(随机微分方程),其中扩散和去噪过程通过SDE的解进行描述。主要内容包括:

  1. Score SDE基本概念

    • Score SDE使用随机微分方程描述数据的扰动过程,其中包含漂移和扩散函数。
  2. DDPMs和SGMs的SDE表示

    • DDPMs和SGMs的前向过程可以通过相应的SDE进行离散化,其中漂移和扩散函数取决于模型类型。
  3. 反向时间SDE和概率流ODE

    • 反向时间SDE是一个解扩散过程,将噪声逐渐转换为数据,其解与正向SDE的解具有相同的边际密度。
    • 概率流ODE是反向时间SDE的等效形式,两者都允许从相同的数据分布中进行采样。
  4. 样本生成方法

    • 通过解反向时间SDE和概率流ODE,可以使用各种数值技术进行样本生成,如退火Langevin动力学、数值SDE求解器、数值ODE求解器等。
  5. 参数化分数模型

    • 引入随时间变化的分数模型,通过概括分数匹配目标进行参数化,估计分数函数。
  6. 研究方向

    • 对DDPMs、SGMs和Score SDEs的研究主要集中在改进采样效率、提高似然和密度估计准确性,以及处理具有特殊结构的数据。

表格1中提供了对这三种扩散模型在连续和离散时间设置下的分类、相关文章和年份的详细总结。

在这里插入图片描述

3. 采样方法

在扩散模型中生成样本通常需要大量评估步骤的迭代方法。近期工作集中于提高采样效率和样本质量,分为免学习抽样和基于学习的抽样两大类。

3.1 无学习采样

3.1.1 SDE求解器

  • 离散化方案:许多扩散模型采用反向时间SDE(公式(18))或概率流ODE(公式(19))的离散化方案。采样成本与离散化步数成正比,因此研究专注于减少步数的离散化方案。

  • SDE求解器

    • DDPM生成过程:DDPM的生成过程可以看作是反向时间SDE的离散化,其反向SDE形式由公式(21)给出。
    • 噪声条件得分网络(NCSNs):NCSNs和临界阻尼朗文扩散(CLD)使用ALD(退火的Langevin动力学)解决反向时间SDE,确保生成的数据分布趋于原始数据分布。
  • 反向扩散法:反向扩散法提出了离散反向时间SDE的方法,可应用于任何类型的前向SDE。通过数值SDE求解器,可以在每个时间步骤中离散化反向时间SDE,产生与正向SDE相同的样本。

  • 其他方法

    • 一致性退火抽样(CAS):基于分数的MCMC方法,通过改进ALD的性能,提供更好的时间步长比例和添加的噪声。
    • 自适应步长的SDE求解器:引入自适应步长的SDE求解器,通过比较高阶和低阶SDE求解器的输出来调整步长,提高生成速度。
  • 预测器-校正器方法:该方法结合数值SDE求解器和MCMC方法,通过迭代产生样本,具有等价的时间边际分布。使用基于Langevin Monte Carlo的修正器可有效提高效率。

  • 最新进展:Karras等人提出了一个类似Langevin的 "流失 "步骤,通过添加和去除噪声,实现了新的最先进的样本质量,进一步改进了Langevin动力学校正器。

以上方法属于无学习采样,通过优化离散化方案和引入有效的SDE求解器,提高了采样过程的速度和质量。

3.1.2 ODE求解器与扩散模型采样

  • 背景与介绍

    • 快速扩散采样器工作基于解决概率流ODE,公式见文献 [19]。
    • ODE求解器的轨迹是确定的,与SDE求解器相比,不受随机波动的影响。
  • ODE求解器特点

    • ODE求解器相较于随机对应求解器,轨迹确定且收敛更快,但样本质量稍差。
  • 去噪扩散隐式模型(DDIM)

    • DDIM是加速扩散模型采样的早期工作之一。
    • 通过学习马尔可夫链逆转非马尔可夫扰动过程,实现确定性采样。
    • DDIM采样过程相当于概率流ODE的特殊离散化方案。
  • 广义去噪扩散隐含模型(gDDIM)

    • gDDIM引入分数网络的修正参数化,使更普遍的扩散过程具有确定性采样。
  • PNDM(伪数值方法)

    • 提出在特定流形生成样本的方法,将DDIM封装为一个特例。
  • 实验调查与结论

    • 实验证明Heun二阶方法在样本质量和采样速度之间提供了良好权衡。
    • 高阶求解器减小离散化误差,但需要额外评估分数函数。
    • 扩散指数积分器采样器和DPM求解器比通用Runge-Kutta方法更有效,包含DDIM作为一阶近似。
    • 这些方法支持高阶积分器,迭代次数较少,产生高质量样本,远少于传统扩散模型通常的迭代次数。

3.2 学习型采样

学习型采样是扩散模型的另一有效方法。通过使用部分步骤或训练逆过程的采样器,该方法以牺牲轻微的样本质量为代价实现更快的采样速度。与无学习的方法不同,该方法通常涉及通过优化特定学习目标来选择步骤。

3.2.1 优化离散化

在给定预训练扩散模型的情况下,Watson等人(2021)[243]提出了一种通过选择最佳的K个时间步来最大化DDPM训练目标的优化离散化方案。该方法的关键在于观察到DDPM目标可以分解为各个项的和,使其非常适合动态规划。然而,众所周知,用于DDPM训练的变分下界与样本质量没有直接关联。一项随后的工作,称为Differentiable Diffusion Sampler Search [242],通过直接优化样本质量的常见度量Kernel Inception Distance (KID) [15]来解决了这个问题。利用重新参数化[123, 195]和梯度重建,这种优化是可行的。基于截断的Taylor方法,Dockhorn等人(2022)[55]通过在第一阶段得分网络之上训练额外的头,推导出用于加速合成的二阶求解器。

3.2.2 截断扩散

通过截断正向和反向扩散过程,可以提高采样速度[156, 284]。其关键思想是在前向扩散过程的早期阶段停止,仅经过几个步骤后开始带有非高斯分布的反向去噪过程。可以通过从预训练的生成模型(例如变分自编码器[123, 195]或生成对抗网络[73])中扩散样本来有效地获得该分布的样本。

3.2.3 知识蒸馏

使用知识蒸馏[148, 203]的方法可以显著提高扩散模型的采样速度。在渐进蒸馏[203]中,作者提出将完整的采样过程蒸馏成一个更快的采样器,只需要一半的步骤。通过将新采样器参数化为深度神经网络,作者能够训练采样器以匹配DDIM采样过程的输入和输出。重复此过程可以进一步减少采样步骤,尽管更少的步骤可能导致降低的样本质量。为解决这个问题,作者提出了扩散模型的新参数化和目标函数的新权重方案。

4 改进似然的扩散模型

在扩散模型的训练目标中,目标是对数似然的变分下界(VLB)。然而,这个下界在许多情况下可能不够紧密,从而导致扩散模型的似然可能不够理想。本节重点关注了最近在扩散模型的似然最大化方面的研究工作。

4.1 噪声调度优化

  • 传统公式: 在经典扩散模型中,正向过程中的噪声调度是手工制作的,没有可训练的参数。
  • 优化方法: 通过与扩散模型的其他参数一起优化正向噪声调度,可以进一步最大化VLB以实现更高的对数似然值。
  • iDDPM工作[166]: 展示了一种特定的余弦噪声调度可以提高对数似然值。具体地,他们的余弦噪声调度的形式为h(t) = h(0) * cos(2),其中t和βt在Eqs中有定义。在他们的工作中,他们还通过在log域中介于βt和1-t之间进行插值,提出了对反向方差进行参数化的方法。

4.2 反向方差学习

  • 扩散模型的经典公式假定反向马尔科夫链中的高斯转移核具有固定的方差参数。
  • iDDPM [166]中的方法通过使用线性插值对反向方差进行参数化,采用混合目标进行训练,从而得到更高的对数似然和更快的采样速度,避免不稳定性。
  • Analytic-DPM [8]展示了一个引人注目的结果,即可以从预训练的得分函数中获取最优的反向方差。

4.3 精确似然计算

  • 在Score SDE [225]公式中,通过求解反向SDE生成样本,其中∇xt log pθ(xt, t)在公式(18)中被学习的噪声条件得分模型sθ(xt, t)替代。
  • 连续正则化流的理论表明,虽然计算成本高昂,但可以准确计算p。
  • Song等人[219]证明通过特殊的加权函数(似然加权),用于训练Score SDEs的目标隐式地最大化了数据上的p的期望值。
  • ScoreFlows是一系列扩散模型,通过最大化p的变分下界作为最大化p的代理,由Song等人[219]提出。
  • Lu等人[145]进一步改进ScoreFlows,提出不仅最小化基本得分匹配损失函数,而且最小化其高阶泛化。他们通过高阶得分匹配错误的理论结果,提出了有效的训练算法,并在数据上报告了改进的p。

5 扩散模型用于具有特殊结构数据

引言
尽管扩散模型在图像和音频等数据领域取得了巨大成功,但并不一定能够顺利地适用于其他模态。许多重要的数据领域具有特殊结构,必须考虑这些结构,以使扩散模型能够有效运行。在处理这些挑战时,扩散模型必须以各种方式进行调整。

5.1 离散数据

  • 大多数扩散模型面向连续数据领域,因为在DDPMs中使用的高斯噪声扰动对于离散数据不是一个自然的选择,而SGMs和Score SDEs所需的得分函数仅在连续数据领域上定义。
  • 为了克服这一困难,一些工作利用Sohl-Dickstein等人(2015)的方法,构建了高维离散数据[6,83,96,255]。
  • 其中,VQ-Diffusion [83]将高斯噪声替换为离散数据空间上的随机行走,或者随机屏蔽操作。 D3PM [6]通过构建具有吸收状态核或离散高斯核的正向噪声过程,适应扩散模型中的离散数据。
  • Campbell等人(2022)[21]提出了第一个离散扩散模型的连续时间框架,利用连续时间马尔可夫链,他们能够推导出高效的采样器,优于离散对应物,并对样本分布与真实数据分布之间的误差进行了理论分析。

5.2 具有不变结构的数据

  • 许多重要领域的数据具有不变结构,如图是置换不变的,点云既是平移又是旋转不变的。在扩散模型中,通常忽略这些不变性会导致性能下降。
  • 为了解决这个问题,一些工作提出使扩散模型具备处理数据不变性的能力。
  • Niu等人(2020)[171]首次处理了扩散模型生成置换不变图的问题。他们通过使用置换等变图神经网络来参数化噪声条件得分模型。
  • Shi等人(2021)[210]和Xu等人(2022)[259]使扩散模型能够生成平移和旋转不变的分子构象。

5.3 具有流形结构的数据

  • 流形结构的数据在机器学习中是普遍存在的。许多工作集中于为流形上的数据开发扩散模型。
  • 这些工作可以根据流形是已知的还是学到的进行分类。

5.3.1 已知流形

  • 最近的研究将Score SDE公式扩展到各种已知流形。Riemannian Score-Based Generative Model(RSGM)[45]适应各种流形,包括球和环面。
  • 与之不同,Riemannian Diffusion Model(RDM)[97]使用变分框架将连续时间扩散模型推广到Riemann流形。RDM使用对数似然的变分下界(VLB)作为其损失函数。

5.3.2 学到的流形

  • 根据流形假设,大多数自然数据位于具有降低内在维度的流形上。因此,识别这些流形并直接在其中训练扩散模型可能是有利的。
  • Latent Score-Based Generative Model(LSGM)[234]通过将Score SDE扩散模型与变分自编码器(VAE)配对来解决联合训练的问题。
  • 与之不同,Latent Diffusion Model(LDM)[198]分别处理自编码器和扩散模型的每个组件。DALLE-2 [186]通过在CLIP图像嵌入空间上训练扩散模型,然后训练单独的解码器来基于CLIP图像嵌入创建图像,采用了类似的策略。

6与其他生成模型的关系

简介

在这一部分中,我们首先介绍了五种其他重要的生成模型类别,并分析了它们的优势和局限性。然后我们介绍了扩散模型与它们的关系,并说明了如何通过整合扩散模型来推动这些生成模型。接下来我们将总结集成扩散模型与其他生成模型的算法。

变分自编码器与扩散模型的关系

变分自编码器(VAE)旨在学习编码器和解码器,将输入数据映射到连续潜在空间中的值。这些模型中,嵌入可以被解释为概率生成模型中的潜在变量,并且通过参数化的似然函数可以得到概率解码器。具体而言,假定数据 x 由一些未观察到的潜在变量 z 通过条件分布生成,而近似推断 z 的后验概率分布用于保证有效的推断。这种框架允许对编码器和解码器模型进行灵活的选择,通常使用由多层神经网络生成的参数的指数族分布表示这些模型。

生成对抗网络与扩散模型的关系

生成对抗网络(GANs)主要由生成器 G 和判别器 D 两个模型构成。这两个模型通常由神经网络构建,但可以以任何可微分系统的形式实现,以将输入数据从一个空间映射到另一个空间。GANs 的优化可以被看作是一个极小极大化问题,其中生成器 G 旨在生成新的样本并隐式地模拟数据分布,而判别器 D 通常是一个二元分类器,用于识别生成样本和真实样本之间的区别。通过在鞍点处结束优化过程,达到生成器捕获真实样本分布的准确分布的纳什均衡。针对 GAN 训练过程中的不稳定性问题,通过在判别器输入中注入噪声,扩展了扩散模型的灵活性,同时通过自适应噪声调度减轻了这一问题。此外,GAN 还可以加速扩散模型的采样速度,通过将每个去噪步骤建模为一个条件 GAN,允许更大的步长。

正规化流与扩散模型的关系

正规化流是一种生成模型,可以生成可建模的高维数据分布。它通过连续变量变换的方式,将简单的概率分布转换为极复杂的概率分布。这种变换在离散时间设置中由一系列双射组成,而在连续时间设置中,其轨迹由微分方程表示。与扩散模型一样,正规化流允许通过变量变换公式检索精确的对数似然。然而,由于双射要求,正规化流在实际和理论环境中对复杂数据的建模有一定的限制。DiffFlow 是一种引入了扩散模型优势的生成建模算法,产生了比正规化流更清晰的边界,并且在较少的离散化步骤中学到了更一般的分布。

自回归模型与扩散模型的关系

自回归模型(ARMs)通过使用概率链规则,将数据的联合分布分解为一系列条件分布的乘积。最近深度学习的进展在各种数据模态上取得了显著的进展,例如图像、音频和文本。自回归模型通过单一神经网络提供生成能力,但从这些模型中采样需要与数据维数相同数量的网络调用。虽然 ARMs 是有效的密度估计器,但对于高维数据而言,采样是一个持续的、耗时的过程。相比之下,自回归扩散模型(ARDM)能够生成任意阶的数据,包括无序的自回归模型和离散扩散模型作为特殊情况。与 ARMs 不同,ARDM 的训练采用了与扩散概率模型镜像的有效目标。在测试阶段,ARDM 能够并行生成数据,从而适用于各种任意生成任务。

能量基模型与扩散模型的关系

能量基模型(EBMs)可以看作是判别器的一种生成版本,可以从未标记的输入数据中进行学习。EBMs 的定义包括概率密度函数以及分区函数,而分区函数对于高维 x 是解析上不可行的。虽然 EBMs 具有一些理想的性质,但对于建模高维数据仍然存在两个挑战。首先,通过最大化似然来学习 EBMs 需要 MCMC 方法从模型生成样本,这在计算上可能非常昂贵。其次,通过非收敛的 MCMC 学习的能量势在稳定性上存在问题。为了解决这些问题,Gao等人(2021)提出了一种扩散恢复似然方法,以在扩散模型的反向过程中可控地学习样本。EBMs 的每个模型都是用恢复似然训练的,该方法旨在最大化在给定噪声水平上数据的条件概率,同时给出其更高噪声水平的噪声版本。这种方法生成高质量的样本,且从条件分布的长时间 MCMC 采样仍然类似于真实图像。

7 扩散模型的应用

扩散模型由于其灵活性和强大性,近年来在解决各种具有挑战性的现实世界任务中得到广泛应用。以下是根据任务类型将这些应用分为六个类别,并针对每个类别进行了简要介绍和详细解释。表3总结了利用扩散模型的各种应用。

7.1 计算机视觉

7.1.1 超分辨率、绘画和翻译

生成模型在图像修复任务中发挥关键作用,包括超分辨率、绘画和翻译。例如,超级分辨率任务中的SR3和CDM利用扩散模型,通过扩散过程实现图像的重建。其他方法如LDM、RePaint和Palette则采用不同策略来提高图像质量,包括去噪和条件生成。图像翻译任务中的SDEdit使用随机微分方程(SDE)先验提高生成图像的保真度。

7.1.2 语义分割

扩散模型通过生成式预训练提高了语义分割模型的标签利用率。方法如DDeP结合了扩散模型和去噪自动编码器,在语义分割上取得了有希望的结果。

7.1.3 视频生成

视频生成一直是挑战性任务,最近的研究开始利用扩散模型提高生成视频的质量。例如,FDM和RVD模型采用了不同的方法,包括生成模型的架构设计和自回归视频扩散。

7.1.4 点云的完成和生成

点云是三维表示中的关键形式,扩散模型被用于推断缺失的点云部分,用于重建完整的形状。方法如Luo等人提出的热力学方法和PVD模型通过与点-体素表示结合,解决了点云的生成和完成任务。

7.1.5 异常检测

生成模型在异常检测中表现出强大的机制,如AnoDDPM和DDPM-CD,通过扰动输入图像并重建图像的健康近似值来检测异常。

7.2 自然语言处理

文本生成是自然语言处理中的关键任务,扩散模型通过方法如D3PM、Diffusion-LM、Analog Bits和DiffuSeq等得到应用。这些方法涵盖了字符级文本生成、语言模型的控制、文本生成的可控性等方面。

7.3 时间数据建模

7.3.1 时间序列归因

时间序列归因是一种广泛应用的方法,CSDI和CSDE等方法结合了扩散模型,用于时间序列中的归因。这些方法在实际数据集上展现出了优越性。

7.3.2 时间序列预测

时间序列预测是预测未来值的任务,TimeGrad和其他方法通过扩散模型实现多变量概率时间序列的预测。这些方法在预测任务中展现了出色的性能。

7.3.3 波形信号处理

在波形信号处理领域,WaveGrad和Diff Wave等方法引入了条件模型,通过扩散模型有效地进行波形生成。这些方法在音频生成任务中取得了显著的成果。

7.4 多模态学习

7.4.1 文本到图像生成

文本到图像生成是近期引起广泛关注的一项任务,属于视觉-语言模型的范畴。Blended diffusion结合了预训练的DDPM和CLIP模型,提出了一种通用的面向区域的图像编辑解决方案,使用自然语言引导,适用于真实和多样化的图像。与此不同,unCLIP(DALLE-2)采用了两阶段方法,包括一个可以生成基于CLIP的图像嵌入的先验模型,以及一个基于扩散的解码器,可以生成基于图像嵌入的图像。最近,Imagen提出了一个文本到图像扩散模型,并提供了一个全面的性能评估基准。该研究表明,Imagen在性能上表现优越,包括与VQ-GAN+CLIP、潜在扩散模型和DALL-E 2等最先进方法的比较。受到引导扩散模型生成逼真样本和文本到图像模型处理自由形式提示的能力的启发,GLIDE将引导扩散应用于文本条件的图像合成。VQ-Diffusion提出了一种用于文本到图像生成的矢量量化扩散模型,消除了单向偏差并避免了累积预测误差。

7.4.2 文本到音频生成

文本到音频生成是将普通语言文本转换为语音输出的任务。Grad-TTS和Grad-TTS2提出了一种新颖的文本到语音模型,具有基于分数的解码器和扩散模型。它逐渐将由编码器预测的噪声转换,并通过单调对齐搜索方法与文本输入对齐。Diffsound提出了一个基于离散扩散模型的非自回归解码器,该解码器在每个步骤中预测所有mel频谱图标记,然后在后续步骤中优化预测的标记。EdiTTS利用基于分数的文本到语音模型来优化粗略修改的mel频谱图先验。ProDiff通过直接预测清晰数据来参数化去噪扩散模型。提交给ACM的手稿

7.5 强化学习

强化学习是一类帮助学习网络对抗性扰动或噪声具有鲁棒性的防御方法。虽然对抗性训练被认为是图像分类器对抗性攻击的标准防御方法,但对抗净化作为一种替代的防御方法表现出色,将受攻击的图像净化为具有独立净化模型的清晰图像。给定对抗性示例,DiffPure通过在正向扩散过程中使用少量噪声扩散它,然后通过反向生成过程恢复清晰图像。自适应去噪净化(ADP)展示了使用噪声匹配训练的EBM可以在几步之内有效净化受攻击的图像。它进一步提出了一种有效的随机净化方案,在净化之前将随机噪声注入图像。Projected Gradient Descent(PGD)提出了一种新颖的基于随机扩散的预处理强化学习方法,旨在成为一种与模型无关的对抗性防御,并产生高质量的去噪结果。此外,一些工作提出将引导扩散过程应用于先进的对抗净化中。

7.6 跨学科应用

7.6.1 分子图建模

图神经网络和相应的表示学习技术在多个领域取得了巨大成功,包括在各种任务中建模分子图,从性质预测到分子生成。尽管它们在不同应用中的有效性,更多的内在和信息丰富的属性开始与扩散模型相结合,以增强分子图建模。Torsional diffusion提出了一个新的扩散框架,该框架在扩散过程上对扭转角的空间进行操作,并采用了超空间上的扩散过程和外部到内部的评分模型。GeoDiff演示了使用等变Markov核演化的马尔科夫链可以产生一个不变分布,并进一步设计了用于保持所需等变性质的Markov核的块。还有其他工作将等变性质结合到3D分子生成和蛋白生成中。受用于模拟分子动力学的经典力场方法的启发,ConfGF直接估计分子构型中原子坐标的对数密度的梯度场。

7.6.2 材料设计

固态材料是许多关键技术的基础。Crystal Diffusion Variational Autoencoder(CDVAE)通过提出一个噪声条件评分网络,将稳定性作为归纳偏见引入其中,同时利用排列、平移、旋转和周期性不变性属性。Luo等人(2022)用等变扩散模型模拟互补决定区域的序列和结构,并明确地针对特定的抗原结构生成抗体的原子分辨率。

7.6.3 医学图像重建

逆问题是从观测到的测量中恢复未知信号的问题,对于计算机断层扫描(CT)和磁共振成像(MRI)等医学图像重建来说尤为重要。Song等人(2021)利用基于分数的生成模型重建了一个与先验和观察测量一致的图像。Chung等人(2022)使用去噪分数匹配训练具有连续时变分数函数的模型,并在评估阶段在数值SDE求解器和数据一致性步骤之间进行迭代进行重建。Peng等人(2022)通过逐渐引导反向扩散过程给定观察到的k空间信号执行MR重建,并提出了一种用于高效采样的粗到细的采样算法。

8 未来方向

扩散模型的研究处于早期阶段,理论和实证方面都有很大的改进潜力。正如前面讨论的,关键的研究方向包括高效采样和改进似然,以及探索扩散模型如何处理特殊数据结构、与其他类型的生成模型接口,并定制到各种应用中。此外,我们预见扩散模型的未来研究可能会扩展到以下几个方向。

重新审视假设

需要重新审视和分析扩散模型中的许多典型假设。例如,扩散模型前向过程完全抹去数据中的任何信息并使其等效于先验分布的假设可能并非总是成立。在现实中,在有限时间内完全去除信息是不可实现的。了解何时停止前向加噪过程以在采样效率和样本质量之间取得平衡是非常有趣的。最近在Schrödinger bridges和最优输运方面的进展提供了有希望的替代解决方案,提出了对扩散模型的新表述,能够在有限时间内收敛到指定的先验分布。

理论理解

扩散模型已经成为一个强大的框架,尤其是作为唯一能够在大多数应用中与生成对抗网络(GANs)匹敌而无需采用对抗性训练的框架。利用这一潜力的关键在于理解为什么和何时扩散模型对特定任务更为有效。重要的是要确定扩散模型与其他类型生成模型(如变分自动编码器、基于能量的模型或自回归模型)的基本特征有何不同。理解这些区别将有助于阐明为何扩散模型能够生成优质样本并实现最高似然。同样重要的是,需要系统地为选择和确定扩散模型的各种超参数制定理论指导。

9 结论

我们全面地介绍了扩散模型的各个方面。我们从三个基本公式(DDPMs、SGMs和Score SDEs)的自包含介绍开始。然后,我们讨论了改进扩散模型的最近努力,突出了三个主要方向:采样效率、似然最大化以及处理具有特殊结构数据的新技术。我们还探讨了扩散模型与其他生成模型之间的联系,并概述了结合两者的潜在好处。通过六个领域的应用调查,我们展示了扩散模型的广泛潜力。最后,我们概述了未来研究的可能方向。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/214836.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于SSM的教师上课系统

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 目录…

2024年跨年倒计时代码祝福!

首先&#xff0c;本代码借鉴了陈橘又青这位博主的代码参考 如有冒犯&#xff0c;请联系我删除 <!doctype html><html><head><meta charset"utf-8"><title>新年快乐</title><style>body{overflow: hidden;margin: 0;}h1{…

C# UDP

UDP是一个无连接协议&#xff0c;传输数据之前源端和终端不建立连接&#xff0c;当它想传送时就简单地去抓取来自应用程序的数据&#xff0c;并尽可能快地把它扔到网络上。在发送端&#xff0c;UDP传送数据的速度仅仅是受应用程序生成数据的速度、计算机的能力和传输带宽的限制…

【数据安全】金融行业数据安全保障措施汇总

数字化的今天&#xff0c;数据的价值不可估量&#xff0c;尤其是金融行业&#xff0c;数据不仅代表着企业的核心资产&#xff0c;还涉及到客户的隐私和信任。因此对于金融行业而言&#xff0c;保障数据安全至关重要。下面我们就来一起讨论为什么金融行业要保障数据安全&#xf…

Android渲染-AHardwareBuffer

本文主要从应用的角度介绍android的native层AHardwareBuffer创建纹理以及保存渲染数据。 HardwareBuffer 要介绍native层的AHardwareBuffer&#xff0c;就需要先从Java层的HardwareBuffer说起。Android官方对于HardwareBuffer介绍如下&#xff1a; HardwareBuffer wraps a na…

Java预科知识

以下内容是根据狂神的Java说、chatgpt和csdn相关博客&#xff0c;结合自己的理解完成的。 Java了解 基于Java 开发了巨多的平台&#xff0c;系统&#xff0c;工具 构建工具&#xff1a; Ant, Maven, Jekins应用服务器&#xff1a;Tomcat, Jetty, Jboss, Websphere, weblogic…

dell r720远程网络安装ubuntu20.04(无U盘)

登陆后界面&#xff0c;在主界面上&#xff0c;我们就可以看到各个硬件组件的状态。在快速启动任务栏中&#xff0c;可以对系统电源进行操作&#xff0c;如开机、关机等。安装操作系统&#xff0c;在虚拟控制台预览处点击>启动 按照浏览器出现的提示确定安装控件等&#x…

软件设计师——数据结构(一)

&#x1f4d1;前言 本文主要是【数据结构】——软件设计师——数据结构的文章&#xff0c;如果有什么需要改进的地方还请大佬指出⛺️ &#x1f3ac;作者简介&#xff1a;大家好&#xff0c;我是听风与他&#x1f947; ☁️博客首页&#xff1a;CSDN主页听风与他 &#x1f304…

running小程序重要技术流程文档

一、项目文件说明&#xff1a; &#xff08;注&#xff1a;getMyMoney无用已删除&#xff09; 二、重要文件介绍 1.reinfo.js&#xff1a;位于utils文件下&#xff0c;该文件封装有统一的请求URL&#xff0c;和请求API同意封装供页面调用&#xff1b;调用时候需要在页面上先…

unittest与pytest的区别

Unittest vs Pytest 主要从用例编写规则、用例的前置和后置、参数化、断言、用例执行、失败重运行和报告这几个方面比较unittest和pytest的区别: 用例编写规则 用例前置与后置条件 断言 测试报告 失败重跑机制 参数化 用例分类执行 如果不好看&#xff0c;可以看下面表格&…

算能 MilkV Duo开发板实战——opencv-mobile (迷你版opencv库)的移植和应用

前言 OpenCV是一种开源的计算机视觉和机器学习软件库&#xff0c;旨在提供一组通用的计算机视觉工具。它用于图像处理、目标识别、人脸识别、机器学习等领域&#xff0c;广泛应用于计算机视觉任务。 OpenCV-Mobile是OpenCV库的轻量版本&#xff0c;专为移动平台&#xff08;A…

[MySQL] SQL优化之性能分析

&#x1f308;键盘敲烂&#xff0c;年薪30万&#x1f308; 目录 一、索引优化 1、索引是什么&#xff1a; 2、索引的数据结构&#xff1a; 3、索引种类&#xff1a; 4、sql分析&#xff08;回表查询&#xff09; 二、定位慢查询语句 1、慢查询日志 2、profile详情 3、…

洛谷P3807 Lucas定理

传送门&#xff1a; P3807 【模板】卢卡斯定理/Lucas 定理 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)https://www.luogu.com.cn/problem/P3807题干&#xff1a; 给定整数n,m,p 的值&#xff0c;求出C&#xff08;nm&#xff0c;n&#xff09;​mod p 的值。 输入数据保证…

案例027:基于微信小程序的校园二手平台的设计与实现

文末获取源码 开发语言&#xff1a;Java 框架&#xff1a;SSM JDK版本&#xff1a;JDK1.8 数据库&#xff1a;mysql 5.7 开发软件&#xff1a;eclipse/myeclipse/idea Maven包&#xff1a;Maven3.5.4 小程序框架&#xff1a;uniapp 小程序开发软件&#xff1a;HBuilder X 小程序…

SAP UI5 walkthrough step3 Controls

在上一步&#xff0c;我们是直接用index.html 中的body 里面的DIVision去输出 hello world&#xff0c; 在这个章节&#xff0c;我们将用SAP UI5 的标准控件 sap/m/Text 首先&#xff0c;我们去修改 webapp/index.html <!DOCTYPE html> <html> <head><…

Pytorch深度强化学习1-6:详解时序差分强化学习(SARSA、Q-Learning算法)

目录 0 专栏介绍1 时序差分强化学习2 策略评估原理3 策略改进原理3.1 SARSA算法3.2 Q-Learning算法 0 专栏介绍 本专栏重点介绍强化学习技术的数学原理&#xff0c;并且采用Pytorch框架对常见的强化学习算法、案例进行实现&#xff0c;帮助读者理解并快速上手开发。同时&#…

【论文极速读】LVM,视觉大模型的GPT时刻?

【论文极速读】LVM&#xff0c;视觉大模型的GPT时刻&#xff1f; FesianXu 20231210 at Baidu Search Team 前言 这一周&#xff0c;LVM在arxiv上刚挂出不久&#xff0c;就被众多自媒体宣传为『视觉大模型的GPT时刻』&#xff0c;笔者抱着强烈的好奇心&#xff0c;在繁忙工作之…

class073 背包dp-01背包、有依赖的背包【算法】

class073 背包dp-01背包、有依赖的背包【算法】 算法讲解073【必备】背包dp-01背包、有依赖的背包 code1 P1048 [NOIP2005 普及组] 采药 // 01背包(模版) // 给定一个正数t&#xff0c;表示背包的容量 // 有m个货物&#xff0c;每个货物可以选择一次 // 每个货物有自己的体积…

ChatGPT 应用开发(一)ChatGPT OpenAI API 免代理调用方式(通过 Cloudflare 的 AI Gateway)

前言 开发 ChatGPT 应用&#xff0c;我觉得最前置的点就是能使用 ChatGPT API 接口。首先我自己要能成功访问&#xff0c;这没问题&#xff0c;会魔法就可以本地调用。 那用户如何调用到我的应用 API 呢&#xff0c;我的理解是通过用户能访问到的中转服务器向 OpenAI 发起访问…

带阻滤波器:原理、应用及性能分析?|深圳比创达电子EMC

在现代电子技术和通信领域中&#xff0c;滤波器是一种常见的电路元件&#xff0c;用于处理信号&#xff0c;去除不需要的频率成分或者增强感兴趣的频率成分。本文将重点探讨带阻滤波器&#xff0c;它是一种特殊类型的滤波器&#xff0c;具有在特定频率范围内抑制信号的功能。我…