覆盖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(下)
1592 2
|
存储 消息中间件 算法
操作系统常见面试题目总结,含答案
操作系统常见面试题目总结,含答案
github项目文件大小查看方法
github项目文件大小查看方法
3339 1
github项目文件大小查看方法
|
5月前
|
人工智能 安全 应用服务中间件
首个 Clawdbot 全流程部署方案!真“AI 个人助理”来了!
GitHub爆火AI Agent Moltbot(原Clawdbot)上线即获7.6万+ Star!它能理解自然语言、调用工具、自动执行任务。阿里云轻量应用服务器推出“开箱即用”部署方案:预装环境、直连百炼大模型、支持钉钉等消息通道,5分钟一键启用,稳定、安全、低成本。
首个 Clawdbot 全流程部署方案!真“AI 个人助理”来了!
|
机器学习/深度学习 存储 人工智能
手动实现一个扩散模型DDPM(上)
手动实现一个扩散模型DDPM(上)
1642 150
|
数据采集 监控 数据安全/隐私保护
掌握Selenium爬虫的日志管理:调整–log-level选项的用法
在Selenium Web数据采集时,日志管理至关重要。通过调整`–log-level`参数可优化日志详细度,如设置为`INFO`记录一般操作信息。结合代理IP、Cookie及user-agent配置,不仅能提高采集成功率,还能规避反爬机制。合理选择日志级别有助于调试与性能平衡,在复杂的数据采集任务中保持程序稳定与可控。
563 1
掌握Selenium爬虫的日志管理:调整–log-level选项的用法
|
存储 数据库 数据库管理
SQLite数据库的备份
【8月更文挑战第20天】SQLite数据库的备份
918 1
|
机器学习/深度学习 自然语言处理 并行计算
扩散模型
本文详细介绍了扩散模型(Diffusion Models, DM),一种在计算机视觉和自然语言处理等领域取得显著进展的生成模型。文章分为四部分:基本原理、处理过程、应用和代码实战。首先,阐述了扩散模型的两个核心过程:前向扩散(加噪)和逆向扩散(去噪)。接着,介绍了训练和生成的具体步骤。最后,展示了模型在图像生成、视频生成和自然语言处理等领域的广泛应用,并提供了一个基于Python和PyTorch的代码示例,帮助读者快速入门。
|
编解码 IDE 开发工具
【Matplotlib】figure方法 你真的会了吗!?
【Matplotlib】figure方法 你真的会了吗!?
1140 1
|
机器学习/深度学习 计算机视觉 Python
YOLOv5改进系列(2)——添加CBAM注意力机制
YOLOv5改进系列(2)——添加CBAM注意力机制
12382 1
YOLOv5改进系列(2)——添加CBAM注意力机制

热门文章

最新文章