扩散模型:赋予机器人类想象力的突破性深度生成模型
扩散模型是一种新兴的深度生成模型,能够创造逼真的样本。该模型由两个过程组成:前向过程将数据转化为简单分布,反向过程则逆转这一过程,用神经网络模拟微分方程生成数据。
扩散模型解决了其他模型的限制,如不稳定性、计算量大和网络约束问题。因此,在计算机视觉、自然语言处理等领域备受关注。
相比其他模型,扩散模型提供了更稳定的训练目标和更好的生成效果。 VAEs 的后验分布对齐问题、GANs 的不稳定性、EBMs 的计算量大和 NFs 的网络约束问题。因此,扩散模型在计算机视觉、自然语言处理等方面备受关注。
扩散模型由两个过程组成:前向过程和反向过程。前向过程把数据转化为简单的先验分布,而反向过程则逆转这一变化,用训练好的神经网络模拟微分方程来生成数据。与其他模型相比,扩散模型提供了更稳定的训练目标和更好的生成效果。
扩散模型是一种生成模型,以其强大的图像生成能力而备受关注。然而,其采样过程面临着不稳定性、高维计算需求和复杂的似然性优化等挑战。对此,研究者提出了多种解决方案,包括改进 ODE/SDE 解算器、采用模型蒸馏策略加速采样,以及使用新的前向过程来提高稳定性和降低维度。
近期,港中文联合西湖大学、MIT、之江实验室,在 IEEE TKDE 上发表了题为《A Survey on Generative Diffusion Models》的综述论文,从采样加速、过程设计、似然优化和分布桥接四个方面讨论了扩散模型的最新进展。
综述深入探讨了扩散模型在不同应用领域的成功,如图像合成、视频生成、3D 建模、医学分析和文本生成等,展示了其在真实世界中的实用性和潜力。不过,扩散模型的采样过程伴随反复推理求值。这一过程面临着不稳定性、高维计算需求和复杂的似然性优化等挑战。研究者为此提出了多种方案,如改进 ODE/SDE 解算器和采取模型蒸馏策略来加速采样,以及新的前向过程来提高稳定性和降低维度。
发现潜在药物靶点,助力新药研发。亮点:
- 开发新颖药物靶点检测方法,准确率高达 91.6%。
- 鉴定出 25 个潜在药物靶点,为新药研发提供方向。
- 文章发表在顶级学术期刊《自然—通讯》上。https://arxiv.org/pdf/2209.02646.pdf
标题:生成扩散模型调查摘要:
- 生成扩散模型(GDM)是一种生成式建模技术,在图像生成、图像编辑和文本到图像生成等领域取得了令人瞩目的成果。
- 本项目提供了 GDM 的全面调查,涵盖了基本原理、模型架构、训练方法和应用领域。
- 该调查有助于研究人员和从业者快速了解 GDM 的最新进展,并激发新的研究方向。
项目链接:
- https://github.com/chq1155/A-Survey-on-Generative-Diffusion-Model?tab=readme-ov-filehttps://github.com/chq1155/A-Survey-on-Generative-Diffusion-Model?tab=readme-ov-file
算法改进
采样加速
知识蒸馏扩散模型采样速度提升的关键:知识蒸馏
知识蒸馏是一种从大型复杂模型中提取知识并将其转移到更小更高效模型中的技术。它已被用于简化扩散模型的采样轨迹,提高采样效率。
Salimans 等人使用基于常微分方程 (ODE) 的方法来优化轨迹,而其他研究者则开发了直接从噪声样本中估计干净数据的方法,从而加速了这一过程。
这些技术极大地提升了扩散模型的采样速度,使其能够生成更逼真的图像和文本。在扩散模型领域,提高采样速度的关键技术之一是知识蒸馏。这个过程涉及从一个大型、复杂的模型中提取出知识,并将其转移到一个更小、更高效的模型中。例如,通过使用知识蒸馏,我们可以简化模型的采样轨迹,使得在每个步骤中都以更高的效率逼近目标分布。Salimans 等人采用了一种基于常微分方程(ODE)的方法来优化这些轨迹,而其他研究者则发展了直接从噪声样本估计干净数据的技术,从而在时间点 T 上加速了这一过程。
训练方式优化采样效率的新方法之一是利用新的扩散方案,将数据映射到潜在空间,而非直接加入高斯噪声。一些方法注重优化逆向解码过程,例如调整编码深度。其他方法探索了新的噪声规模设计,使噪声注入不再是固定的,而是可学习的参数。这些方法的显著成效值得与 GAN 式方法进行比较。改进训练方式也是提升采样效率的一种方法。一些研究专注于学习新的扩散方案,其中数据不再是简单地加入高斯噪声,而是通过更复杂的方法映射到潜在空间。这些方法中,有些关注于优化逆向解码过程,比如调整编码的深度,而其他则探索了新的噪声规模设计,使噪声的加入不再是静态的,而是变成了一个可以在训练过程中学习的参数。
免训练采样除了训练新的模型,还有一些技术致力于加速预训练扩散模型的采样过程。ODE 加速是一种利用 ODE 描述扩散过程的加速技术,从而让采样更快。DDIM 就是一种运用 ODE 采样的方法。研究人员还引入了更高效的 ODE 求解器,如 PNDM 和 EDM,进一步提升采样速度。除了训练新的模型以提高效率,还有一些技术致力于加速已经预训练好的扩散模型的采样过程。ODE 加速是其中的一种技术,它利用 ODE 来描述扩散过程,从而使得采样可以更快地进行。例如,DDIM 是一种利用 ODE 进行采样的方法,后续的研究则引入了更高效的 ODE 求解器,如 PNDM 和 EDM,以进一步提升采样速度。
结合其他生成模型- 解析方法:加速采样,无需迭代即可直接从噪声数据中恢复干净数据。
- Analytic-DPM 及 Analytic-DPM++:快速且精确的采样策略,减少迭代次数。此外,还有研究者提出了解析方法来加速采样,这些方法试图找到一个无需迭代就能从噪声数据中直接恢复干净数据的解析解。这些方法包括 Analytic-DPM 及其改进版本 Analytic-DPM++,它们提供了一种快速且精确的采样策略。
扩散过程设计
潜在空间- 潜在空间扩散模型通过将 VAE 或归一化流模型与扩散模型相结合,利用共用加权去噪分数匹配损失优化编解码器和扩散模型,有助于构建更易于学习和生成样本的潜在空间。
- Stable Diffusion 使用 VAE 学习潜在空间,然后训练扩散模型接受文本输入,结合了成对无监督训练和软提示,可生成高质量图像。
- DVDP 在图像扰动过程中动态调整像素空间的正交组件,实现了具有可控属性的灵活图像生成。潜在空间扩散模型如 LSGM 和 INDM 结合了 VAE 或归一化流模型,通过共用的加权去噪分数匹配损失来优化编解码器和扩散模型,使得 ELBO 或对数似然的优化旨在构建易于学习和生成样本的潜在空间。例如,Stable Diffusion 首先使用 VAE 学习潜在空间,然后训练扩散模型以接受文本输入。DVDP 则在图像扰动过程中动态调整像素空间的正交组件。
创新的前向过程- 泊松场生成模型(PFGM)将数据视为电荷,沿电场线将简单分布引向数据分布,提供更强大的反向采样。
- PFGM++ 将这一概念纳入高维度变量,进一步提高了生成模型的效率和强度。
- 临界阻尼朗之万扩散模型利用哈密顿动力学中的速度变量简化了条件速度分布的分数函数学习。为了提高生成模型的效率和强度,研究人员探索了新的前向过程设计。泊松场生成模型将数据视为电荷,沿电场线将简单分布引向数据分布,与传统扩散模型相比,它提供了更强大的反向采样。PFGM++ 进一步将这一概念纳入高维度变量。Dockhorn 等人的临界阻尼朗之万扩散模型利用哈密顿动力学中的速度变量简化了条件速度分布的分数函数学习。
非欧几里得空间扩散模型:从基础到前沿
概述:
扩散模型是一种生成模型,将简单分布,如高斯分布,逐渐转换为复杂分布,从而生成数据。本文探索了扩散模型在不同数据类型和应用中的扩展和优化,以及在建立不同分布之间连接方面的挑战。
离散空间数据:
在离散空间数据中,D3PM 定义了前向过程并扩展到语言文本生成、图分割和无损压缩等领域。向量量化数据也可以通过转换为代码来生成,并取得了卓越的成果。
黎曼流形数据:
黎曼流形中的流形数据,如机器人技术和蛋白质建模,需要扩散采样纳入黎曼流形。图神经网络和扩散理论的结合有助于处理图数据并捕捉排列不变性。
似然优化:
尽管扩散模型优化了 ELBO,但似然优化仍然具有挑战性。ScoreFlow 和变分扩散模型等方法建立了 MLE 训练与 DSM 目标的联系。改进的去噪扩散概率模型提出了混合学习目标和重新参数化技术。
分布连接:
扩散模型可以将高斯分布转换为复杂分布,但在连接任意分布时面临挑战。α- 混合方法和矫正流方法已被提出。通过 ODE 实现两个分布之间的连接,以及使用薛定谔桥或高斯分布作为中间连接点的方法也在研究之中。
展望:
扩散模型在生成建模领域取得了重大进展,但仍有许多挑战需要解决。未来的研究方向包括改进似然优化、扩展分布连接和探索扩散模型在其他数据类型和应用中的潜力。在离散空间数据(如文本、分类数据)的扩散模型中,D3PM 定义了离散空间的前向过程。基于这种方法,已有研究扩展到语言文本生成、图分割和无损压缩等。在多模态挑战中,矢量量化数据转换为代码,显示出卓越的结果。在黎曼流形中的流形数据,如机器人技术和蛋白质建模,要求扩散采样纳入黎曼流形。图神经网络和扩散理论的结合,如 EDP-GNN 和 GraphGDP,处理图数据来捕捉排列不变性。
似然优化
尽管扩散模型优化了 ELBO,但似然优化仍是一个挑战,特别是对于连续时间扩散模型。ScoreFlow 和变分扩散模型(VDM)等方法建立了 MLE 训练与 DSM 目标的联系,Girsanov 定理在此中起到了关键作用。改进的去噪扩散概率模型(DDPM)提出了一种结合变分下界和 DSM 的混合学习目标,以及一种简单的重新参数化技术。
分布连接
扩散模型在将高斯分布转换为复杂分布时表现出色,但在连接任意分布时存在挑战。α- 混合方法通过迭代混合和解混来创建确定性桥梁。矫正流加入额外步骤来矫正桥梁路径。另一种方法是通过 ODE 实现两个分布之间的连接,而薛定谔桥或高斯分布作为中间连接点的方法也在研究之中。
扩散模型及其应用领域
扩散模型作为一种深度学习方法,在图像、视频、医学成像、文本语义等领域被广泛应用。其生成内容的质量和效率备受认可。其高效的生成和编辑能力使其成为数据生成、分析和创作的有力工具。期待扩散模型在未来持续突破,推动更多领域的创新与发展。
应用领域
图片生成
扩散模型在图像生成中非常成功,不仅能生成普通图像,还能完成复杂任务,比如把文本转换成图像。模型如 Imagen、Stable Diffusion 和 DALL-E 2 在这方面展示了高超技术。它们使用扩散模型结构,结合跨注意力层的技术,把文本信息整合进生成图像。除了生成新图像,这些模型还能编辑图像而不需再训练。
编辑是通过调整跨注意力层(键、值、注意力矩阵)实现的。比如,通过调整特征图改变图像元素或引入新文本嵌入加入新概念。有研究确保模型生成时能关注文本的所有关键词,以确保图像准确反映描述。扩散模型还能处理基于图像的条件输入,比如源图像、深度图或人体骨架等,通过编码并整合这些特征来引导图像生成。一些研究把源图像编码特征加入模型开始层,实现图像到图像编辑,也适用于深度图、边缘检测或骨架作为条件的场景。
3D 生成
在 3D 生成方面,通过扩散模型的方法主要有两种。第一种是直接在 3D 数据上训练模型,这些模型已被有效应用在多种 3D 表示形式,如 NeRF、点云或体素等。例如,研究者们已经展示了如何直接生成 3D 对象的点云。为了提高采样的效率,一些研究引入了混合点 - 体素表示,或者将图像合成作为点云生成的额外条件。
另一方面,有研究使用扩散模型来处理 3D 对象的 NeRF 表示,并通过训练视角条件扩散模型来合成新颖视图,优化 NeRF 表示。第二种方法强调使用 2D 扩散模型的先验知识来生成 3D 内容。比如,Dreamfusion 项目使用得分蒸馏采样目标,从预训练的文本到图像模型中提取出 NeRF,并通过梯度下降优化过程来实现低损失的渲染图像。这一过程也被进一步扩展,以加快生成速度。
视频生成
视频扩散模型是对 2D 图像扩散模型的扩展,它们通过添加时间维度来生成视频序列。这种方法的基本思想是在现有的 2D 结构中添加时间层,以此来模拟视频帧之间的连续性和依赖关系。相关的工作展示了如何利用视频扩散模型来生成动态内容,例如 Make-A-Video、AnimatedDiff 等模型。更具体地,RaMViD 模型使用 3D 卷积神经网络扩展图像扩散模型到视频,并开发了一系列视频特定的条件技术。
医学分析
扩散模型帮助解决了医学分析中获取高质量数据集的挑战,尤其在医学成像方面表现出色。这些模型凭借其强大的图像捕捉能力,在提升图像的分辨率、进行分类和噪声处理方面取得了成功。例如,Score-MRI 和 Diff-MIC 使用先进的技术加速 MRI 图像的重建和实现更精确的分类。MCG 在 CT 图像超分辨率中采用流形校正,提高了重建速度和准确性。
在生成稀有图像方面,通过特定技术,模型能在不同类型的图像间进行转换。例如,FNDM 和 DiffuseMorph 分别用于脑部异常检测和 MR 图像配准。一些新方法通过少量高质量样本合成训练数据集,如一个使用 31,740 个样本的模型合成了一个包含 100,000 个实例的数据集,取得了非常低的 FID 得分。
文本生成
文本生成技术是连接人类和 AI 的重要桥梁,能制造流畅自然的语言。自回归语言模型虽然生成连贯性强的文本但速度慢,而扩散模型能够快速生成文本但连贯性相对较弱。两种主流的方法是离散生成和潜在生成。离散生成依赖于先进技术和预训练模型;例如,D3PM 和 Argmax 视词汇为分类向量,而 DiffusionBERT 将扩散模型与语言模型结合提升文本生成。潜在生成则在令牌的潜在空间中生成文本,例如,LM-Diffusion 和 GENIE 等模型在各种任务中表现出色,显示了扩散模型在文本生成中的潜力。扩散模型预计将在自然语言处理中提升性能,与大型语言模型结合,并支持跨模态生成。
时间序列生成
时间序列数据的建模是在金融、气候科学、医疗等领域中进行预测和分析的关键技术。扩散模型由于其能够生成高质量的数据样本,已经被用于时间序列数据的生成。在这个领域,扩散模型通常被设计为考虑时间序列数据的时序依赖性和周期性。例如,CSDI(Conditional Sequence Diffusion Interpolation)是一种模型,它利用了双向卷积神经网络结构来生成或插补时间序列数据点。
它在医疗数据生成和环境数据生成方面表现出色。其他模型如 DiffSTG 和 TimeGrad 通过结合时空卷积网络,能够更好地捕捉时间序列的动态特性,并生成更加真实的时间序列样本。这些模型通过自我条件指导的方式,逐渐从高斯噪声中恢复出有意义的时间序列数据。
音频生成
音频生成涉及到从语音合成到音乐生成等多个应用场景。由于音频数据通常包含复杂的时间结构和丰富的频谱信息,扩散模型在此领域同样表现出潜能。例如,WaveGrad 和 DiffSinger 是两种扩散模型,它们利用条件生成过程来产生高质量的音频波形。WaveGrad 使用 Mel 频谱作为条件输入,而 DiffSinger 则在这个基础上添加了额外的音乐信息,如音高和节奏,从而提供更精细的风格控制。文本到语音(TTS)的应用中,Guided-TTS 和 Diff-TTS 将文本编码器和声学分类器的概念结合起来,生成既符合文本内容又遵循特定声音风格的语音。Guide-TTS2 进一步展现了如何在没有明确分类器的情况下生成语音,通过模型自身学习到的特征引导声音生成。
分子设计
在药物设计、材料科学和化学生物学等领域,分子设计是发现和合成新化合物的重要环节。扩散模型在这里作为一种强大的工具,能够高效探索化学空间,生成具有特定性质的分子。在无条件的分子生成中,扩散模型不依赖于任何先验知识,自发地生成分子结构。而在跨模态生成中,模型可能会结合特定的功能条件,例如药效或目标蛋白的结合倾向,来生成具有所需性质的分子。
基于序列的方法可能会考虑蛋白质序列来引导分子的生成,而基于结构的方法则可能使用蛋白质的三维结构信息。这样的结构信息可以在分子对接或者抗体设计中被用作先验知识,从而提高生成分子的质量。
图生成
使用扩散模型生成图,旨在更好地理解和模拟现实世界的网络结构和传播过程。这种方法帮助研究人员挖掘复杂系统中的模式和相互作用,预测可能的结果。应用包括社交网络、生物网络分析以及图数据集的创建。传统方法依赖于生成邻接矩阵或节点特征,但这些方法可扩展性差,实用性有限。
因此,现代图生成技术更倾向于根据特定条件生成图。例如,PCFI 模型使用图的一部分特征和最短路径预测来引导生成过程;EDGE 和 DiffFormer 分别用节点度和能量约束来优化生成;D4Explainer 则通过结合分布和反事实损失来探索图的不同可能性。这些方法提高了图生成的精确度和实用性。
挑战:
尽管扩散模型表现出色,但在有限的数据下,它们也面临诸多挑战:
- 推理速度慢:扩散模型的采样过程通常很慢,这限制了它们在实时应用中的实用性。
- 泛化性能差:扩散模型在从低质量数据中学习模式和规律时遇到困难,导致它们无法泛化到新的场景或数据集,难以生成实用的样本。
- 计算资源需求高:扩散模型的训练和采样过程需要大量计算资源,限制了它们在处理大规模数据集时的适用性。
- 数据偏差敏感:有偏差或不均匀的数据采样会限制模型生成适应不同领域或人群的输出的能力。
应对策略:
为了克服这些挑战,研究人员正在探索多种方法:
- 可控的基于分布的生成:通过关注识别数据中的模式和相关性,模型可以生成与训练数据高度匹配并满足特定要求的样本,从而提高泛化性能。
- 利用大型语言模型的高级多模态生成:通过整合大型语言模型(LLMs),扩散模型能够生成包含文本、图像和其他模态组合的输出,极大地增强了对不同模态间相互作用的理解,改善了多模态生成的能力。
- 与机器学习领域的整合:将扩散模型与传统的机器学习理论相结合,可以提高各种任务的性能。半监督学习和强化学习等技术,有助于解决扩散模型的固有挑战,并在有限的数据下实现有效的条件生成。
附录:算法改进方法
除了上述方法外,研究人员还正在探索多种算法改进方法来优化扩散模型的性能,包括:
- 改进采样算法:通过优化采样算法,可以减少采样的计算成本和时间,提高推理速度。
- 增强模型架构:通过改进模型架构,例如引入注意力机制或残差连接,可以提高模型的泛化性能和容量。
- 利用预训练模型:通过利用预训练的扩散模型,可以减少训练时间和计算资源的需求,并提高泛化性能。
结论与展望
数据限制下的挑战
除了推理速度低外,扩散模型在从低质量数据中辨识模式和规律时也常常遇到困难,导致它们无法泛化到新的场景或数据集。此外,处理大规模数据集时也会出现计算上的挑战,如延长的训练时间、过度的内存使用,或者无法收敛到期望的状态,从而限制了模型的规模和复杂性。更重要的是,有偏差或不均匀的数据采样会限制模型生成适应不同领域或人群的输出的能力。
可控的基于分布的生成
提高模型理解和生成特定分布内样本的能力对于在有限数据情况下实现更好的泛化至关重要。通过专注于识别数据中的模式和相关性,模型可以生成与训练数据高度匹配并满足特定要求的样本。这需要有效的数据采样、利用技术以及优化模型参数和结构。最终,这种增强的理解能力允许更加控制和精确的生成,从而改善泛化性能。
利用大型语言模型的高级多模态生成
扩散模型的未来发展方向涉及通过整合大型语言模型(LLMs)来推进多模态生成。这种整合使模型能够生成包含文本、图像和其他模态组合的输出。通过纳入 LLMs,模型对不同模态间相互作用的理解得到增强,生成的输出更加多样化和真实。此外,LLMs 显著提高了基于提示的生成效率,通过有效利用文本与其他模态之间的联系。另外,LLMs 作为催化剂,提高了扩散模型的生成能力,扩大了它可以生成模态的领域范围。
与机器学习领域的整合
将扩散模型与传统的机器学习理论结合,为提高各种任务的性能提供了新的机会。半监督学习在解决扩散模型的固有挑战,例如泛化问题,以及在数据有限的情况下实现有效的条件生成方面特别有价值。通过利用未标记数据,它加强了扩散模型的泛化能力,并在特定条件下生成样本时实现了理想的性能。
此外,强化学习通过使用精调算法,在模型的采样过程中提供针对性的指导,起着至关重要的作用。这种指导确保了专注的探索并促进了受控生成。另外,通过整合额外的反馈,丰富了强化学习,从而改善了模型的可控条件生成能力。
算法改进方法(附录)
领域应用方法(附录)
-对此,您有什么看法见解?-
-欢迎在评论区留言探讨和分享。-