覆盖100余篇论文,这篇综述系统回顾了CV中的扩散模型

简介: 覆盖100余篇论文,这篇综述系统回顾了CV中的扩散模型

在这篇论文中,来自布加勒斯特大学、中佛罗里达大学的 Mubarak Shah(IEEE Fellow)等几位研究者对计算机视觉中的 100 多篇去噪扩散模型论文进行了全面回顾。


扩散模型在深度生成模型中自成一派,最近成为计算机视觉领域最热门的话题之一(见图 1)。扩散模型展示了强大的生成能力,无论是生成高水平的细节还是其生成的多样性,都让人印象深刻。



我们甚至可以说,这些生成式模型将生成式建模领域的标准提高到了一个全新的水平,尤其是 Imagen 和 Latent Diffusion Models(LDM)等模型。迄今为止,扩散模型已被应用于各种生成式建模任务,如图像生成(image generation)、图像超分(mage super-resolution)、图像修复( image inpainting)、图像编辑(image editing)、图像转换(image-to-image translation)等等。此外,人们发现扩散模型学习到的潜在表征在鉴别性任务中也很有用,例如,图像分割、分类和异常检测。这证实了去噪扩散模型具有广泛的适用性,还有待发现进一步的应用场景。此外,强大的潜在表征学习能力还创造了与表征学习的联系,表征学习是一个研究学习强大数据表征方法的综合领域,涵盖了从新型神经结构的设计到学习策略的发展等多种算法领域。


根据图 1 所示的图表,关于扩散模型的论文数量正在以非常快的速度增长。为了概述这个快速发展的主题从过去到现在的成就,本文作者对计算机视觉中去噪扩散模型的文章进行了全面回顾。



论文链接:https://arxiv.org/pdf/2209.04747.pdf


更准确地说,本文关注的文章满足以下定义:具有(1)前向扩散阶段,在这个过程中对输入数据添加高斯噪声,来逐步实现扰动;(2)反向 / 后向扩散阶段的一类深度生成模型,在这个过程中,生成模型的任务是通过学习逐步反转扩散过程,从扩散(噪声)数据恢复原始输入数据。


根据研究者的说法,至少有三个子类别的扩散模型符合上述定义。


第一个子类别包括去噪扩散概率模型(DDPMs),其灵感来自非平衡热力学理论。DDPMs 是潜变量模型,采用潜变量来估计概率分布。从这个角度来看,DDPMs 可以被看作是一种特殊的变分自编码器(VAEs),其中正向扩散阶段对应于 VAE 内部的编码过程,而反向扩散阶段对应于解码过程。


第二个子类别的代表是噪声条件下的分数网络(NCSN),基于分数匹配机制训练得到一个共享的神经网络,用来估计不同噪声水平下扰动数据分布的分数函数(定义为对数密度的梯度)。


随机微分方程(SDEs)代表了另一种建立扩散模型的方式,形成了扩散模型的第三个子类别。通过正向和反向 SDEs 对扩散进行建模,可以得到有效的生成策略以及强有力的理论结果。第三种(基于 SDEs)可以被看作是对 DDPMs 和 NCSNs 的概括。


研究者确定了几个模型设计方案的决定要素,并将它们综合为三个通用的扩散建模框架,对应于上面介绍的三个子类别。为了把通用的扩散建模框架放在背景中,研究者还进一步讨论了扩散模型和其他深度生成模型之间的关系。更具体地说,本文描述了与变分自编码器(VAE)、生成对抗网络(GAN)、基于能量的模型(EBM)、自回归模型和归一化流的关系。然后,本文还介绍了应用于计算机视觉的扩散模型的多视角分类任务,并根据一些标准对现有模型进行了分类,如基础框架、目标任务或去噪条件。


最后,本文说明了目前扩散模型的局限性,并设想了一些有趣的未来研究方向。例如,最棘手的限制之一可能是推理过程中的时间效率低下问题,这是由于存在非常多的评价步骤。就算是生成一个样本也需要成千上万的评估步骤。所以,在不影响生成样本质量的前提下克服这一局限性,是未来研究的一个重要方向。


扩散模型的三种表述


扩散模型是一类概率生成模型,它可以学习逆转一个通过添加不同尺度的噪声来逐渐降低训练数据结构的过程。在第二章的 3 个小节中,本文介绍了扩散模型的三种表述,即去噪扩散概率模型、噪声条件下的得分网络,以及基于随机微分方程的方法,该方法是对前两种方法的概括。对于每一种表述,作者都描述了向数据添加噪声的过程、学习逆转这一过程的方法、以及在推理时如何产生新的样本。在图 2 中,所有这三种提法都被作为一个通用框架来说明。本文在最后一个小节中专门讨论了与其他深度生成模型的联系。



扩散模型的分类


研究者考虑到不同的分类标准,将扩散模型归入一个多角度的分类法。也许区分模型的最重要标准是由(i)它们所应用的任务和(ii)它们所需要的输入信号来定义的。此外,由于在制定扩散模型时有多种方法,(iii) 基础架构是对扩散模型进行分类的另一个关键因素。最后,训练和评估过程中使用的数据集也非常重要,因为这有助于在同一任务上比较不同的 baseline。研究者根据前面列举的标准对扩散模型进行了分类,见表 1。



在第三章的其余部分,作者选择目标任务作为区分方法的主要标准,并介绍了几个关于扩散模型的贡献。作者表示,选择这个分类标准是因为它对扩散模型的研究具有相当的平衡性和代表性,便于从事特定任务的读者快速掌握相关工作。尽管主要任务通常与图像生成有关,但在其他主题上,如超分辨率、绘画、图像编辑、图像到图像的翻译或分割,已经进行了相当多的工作来鼓励甚至超越 GANs 的性能。


感兴趣的读者可以阅读论文原文,了解更多研究细节。


相关文章
|
机器学习/深度学习 人工智能
手动实现一个扩散模型DDPM(下)
手动实现一个扩散模型DDPM(下)
1062 2
|
Linux Python Windows
为Python打包创建一个世外桃源,解决打包太大且启动慢的问题
首先是我用的是Anaconda的集成环境,由于Anaconda或者自己搭建的环境里内置了很多库,而且在日常的开发中又安装很多开发所需要的其他库,打包的时候就把很多不必要的模块打包进去,导致打包出来的文件过于臃肿.打开慢由于运行需要加载这些环境,由于加载的库过多导致耗时过长,而且Python是一门解释型语言,本身运行效率上也稍慢,所以能够明显体会到启动时的漫长等待 我们写代码就是为了高效,怎么能受得了打开慢且占资源的东西呢,那如何能解决这个问题呢?
2240 1
|
数据可视化
数据可视化图表开发:查看Echarts.js版本方法
数据可视化图表开发:查看Echarts.js版本方法
744 0
|
Java 关系型数据库 MySQL
如何将Spring Boot + MySQL应用程序部署到Pivotal Cloud Foundry (PCF)
如何将Spring Boot + MySQL应用程序部署到Pivotal Cloud Foundry (PCF)
214 5
|
算法 Java
JVM进阶调优系列(4)年轻代和老年代采用什么GC算法回收?
本文详细介绍了JVM中的GC算法,包括年轻代的复制算法和老年代的标记-整理算法。复制算法适用于年轻代,因其高效且能避免内存碎片;标记-整理算法则用于老年代,虽然效率较低,但能有效解决内存碎片问题。文章还解释了这两种算法的具体过程及其优缺点,并简要提及了其他GC算法。
 JVM进阶调优系列(4)年轻代和老年代采用什么GC算法回收?
|
安全 算法 网络安全
网络安全的盾牌与剑:漏洞防御与加密技术深度解析
在数字信息的海洋中,网络安全是航行者不可或缺的指南针。本文将深入探讨网络安全的两大支柱——漏洞防御和加密技术,揭示它们如何共同构筑起信息时代的安全屏障。从最新的网络攻击手段到防御策略,再到加密技术的奥秘,我们将一起揭开网络安全的神秘面纱,理解其背后的科学原理,并掌握保护个人和企业数据的关键技能。
358 3
|
存储 分布式计算 资源调度
大数据-04-Hadoop集群 集群群起 NameNode/DataNode启动 3台公网云 ResourceManager Yarn HDFS 集群启动 UI可视化查看 YarnUI(一)
大数据-04-Hadoop集群 集群群起 NameNode/DataNode启动 3台公网云 ResourceManager Yarn HDFS 集群启动 UI可视化查看 YarnUI(一)
284 5
|
监控 安全 物联网
5G技术的革命性进步及其对社会的影响
5G技术作为移动通信领域的革命性进步,正深刻地影响着我们的生活和社会。它不仅提供了更快的数据传输速率和更低的延迟,还将引领着各个领域的创新和发展。从移动通信、工业、医疗到智能城市,5G技术正在改变着我们的世界,为未来带来更多可能性。然而,我们也需要解决一些挑战,确保5G技术的安全和可持续发展。随着技术的不断进步,5G技术的前景依然充满希望,将为我们的社会带来更多的创新和变革。
1484 1
5G技术的革命性进步及其对社会的影响
|
机器学习/深度学习 自然语言处理 并行计算
扩散模型
本文详细介绍了扩散模型(Diffusion Models, DM),一种在计算机视觉和自然语言处理等领域取得显著进展的生成模型。文章分为四部分:基本原理、处理过程、应用和代码实战。首先,阐述了扩散模型的两个核心过程:前向扩散(加噪)和逆向扩散(去噪)。接着,介绍了训练和生成的具体步骤。最后,展示了模型在图像生成、视频生成和自然语言处理等领域的广泛应用,并提供了一个基于Python和PyTorch的代码示例,帮助读者快速入门。
|
监控 数据挖掘 数据安全/隐私保护
ERP系统中的税务管理与优化
【7月更文挑战第25天】 ERP系统中的税务管理与优化
1032 2