读《Diffusion Models: A Comprehensive Survey of Methods and Applications》综述

读《Diffusion Models: A Comprehensive Survey of Methods and Applications》综述

关于此文,我的一个见解想法,重点关注他怎么描述 「Diffusion Model」的引用的,以及未来方向就好了。当然从这篇文章可以知道 「Diffusion Model」的一个基石是什么,以及他跟其他生成模型的一个简单的关系,让我有对 「Diffusion Model」有一个更好的理解吧。

文章概述:

扩散模型已成为一种强大的新型深度生成模型,在图像合成、视频生成和分子设计等许多应用中都具有破纪录的性能。在这篇综述中,我们概述了迅速扩展的扩散模型研究,将研究分为三个关键领域:高效采样、改进的似然估计和处理具有特殊结构的数据。我们还讨论了将扩散模型与其他生成模型相结合以获得增强结果的潜力。我们进一步回顾了扩散模型在计算机视觉、自然语言处理、时间数据建模以及其他科学学科的跨学科应用等领域的广泛应用。这篇综述旨在对扩散模型的状态进行背景化、深入的观察,确定重点关注领域并指出进一步探索的潜在领域。

Diffusion Model」的基石论文

  • Denoising Diffusion Probabilistic Models DDPM
  • Score-Based Generative Models SGM 这个没有找到专门讲这个的论文,在综述中引用的论文是 [1907.05600] Generative Modeling by Estimating Gradients of the Data Distribution (arxiv.org) [2006.09011] Improved Techniques for Training Score-Based Generative Models (arxiv.org)
  • Stochastic Differential Equations Score SDE 很抽象这个也没有专门说的 [2011.13456] Score-Based Generative Modeling through Stochastic Differential Equations (arxiv.org)

关于这三个模型一个关系补充 20240530 Diffusion 模型有三个基础,百变不离其踪,都是由下面三个演变而来。:

  1. DDPM 这个是一个关于概率的模型——离散的
  2. SGM 这个是上面那个的升级版,通过一个得分函数(maybe),通过推导可以得到和 DDPM 一样的损失函数——离散的
  3. Score-SDM 就是上面两个模型的一个综合——连续的

关于上面三篇论文呢,这篇综述的作者也只是简单的介绍,要是想细读的可以点链接进入下载浏览。

感觉就是 DDPM 可以仔细的看一下,其他两个模型应该是更早提出来的,思想被应用在了 Diffusion 上面吧。

文章给的这个图不错:列出了连续和离散设置下的三类扩散模型以及相应的文章和年份。

在这里插入图片描述

关于 Diffusion Model 和其他模型的关系

扩散模型被纳入不同的生成模型。

在这里插入图片描述

将扩散模型与其他生成模型结合起来的研究示例,例如:VAE[235],其中扩散模型应用于潜在空间,GAN[284],其中噪声被注入到鉴别器输入,正则化流[334],其中噪声注入到流的前向和后向过程中,自回归模型[105],其中训练目标类似于扩散模型,以及EBM[75],其中通过扩散恢复似然来学习一系列EBM。

在这里插入图片描述

扩散模型的应用

扩散模型最近因其灵活性和强度而被应用于解决各种具有挑战性的现实任务。我们根据任务将这些应用分为六个不同的类别:计算机视觉、自然语言处理、时间数据建模、多模态学习、稳健学习和跨学科应用。对于每个类别,我们都对任务进行了简要介绍,然后详细解释了如何应用扩散模型来提高性能。表 3 总结了使用扩散模型的各种应用。

在这里插入图片描述

在介绍扩散模型的应用之前,我们先介绍扩散模型的两个基本应用范式,即无条件扩散模型和条件扩散模型。作为生成模型,扩散模型的发展历史与 VAE、GAN、流模型等生成模型非常相似,都是先发展出无条件生成,然后紧接着发展出条件生成。无条件生成通常被用来探索生成模型性能的上限,而条件生成则更多是应用层面的内容,因为它可以让我们根据自己的意图来控制生成结果。扩散模型除了保证生成质量和样本多样性外,尤其在可控性方面更胜一筹。 非条件扩散模型的主要算法在第2-5节已经讲得很清楚了,下一篇我们主要讨论条件扩散模型如何应用于不同应用和不同形式的条件,并选择一些典型场景进行演示。

扩散模型中的条件机制。利用不同形式的条件来指导扩散模型的生成方向被广泛使用,例如标签、分类器、文本、图像、语义图、图形等。然而,有些条件是结构性的和复杂的,因此对它们进行条件化的方法值得讨论。主要有四种条件机制,包括连接、基于梯度、交叉注意和自适应层规范化(adaLN)。连接意味着扩散模型将信息指导与扩散过程中的中间去噪目标连接起来,例如标签嵌入和语义特征图。基于梯度的机制将与任务相关的梯度纳入扩散采样过程以实现可控生成。例如,在图像生成中,可以在噪声图像上训练辅助分类器,然后使用梯度引导扩散采样过程朝向任意类标签。交叉注意在指导和扩散目标之间执行注意消息传递,这通常在去噪网络中以分层方式进行。 adaLN 机制遵循了 GAN [126] 中自适应归一化层 [211] 的广泛使用,可扩展扩散模型 [208] 探索用自适应层归一化取代基于 Transformer 的扩散主干中的标准层规范层。它不是直接学习维度上的尺度和移位参数,而是从时间嵌入和条件的总和中回归它们。

标签和分类器上的条件扩散。在标签的指导下对扩散过程进行条件化是将所需属性添加到生成样本中的直接方法。然而,当标签有限时,很难使扩散模型充分捕获整个数据分布。SGGM [319] 提出了一种以自生成的分层标签集为条件的自引导扩散过程,而 You 等人 (2023) [325] 通过对偶伪训练证明了大规模扩散模型和半监督学习器在少数标签下互惠互利。Dhariwal 和 Nichol [53] 提出了分类器指导,通过使用额外训练的分类器来提高扩散模型的样本质量。Ho 和 Salimans [102] 联合训练了一个条件和非条件扩散模型,发现可以将得到的条件和非条件分数结合起来,以获得与使用分类器指导获得的样本质量和多样性之间的权衡

文本、图像和语义图上的条件扩散。最近的研究开始在更多语义(如文本、图像和语义图)的指导下对扩散过程进行条件化,以更好地表达样本中的丰富语义。DiffuSeq [78] 以文本为条件,并提出了一个 seq-to-seq 扩散框架,可帮助完成四项 NLP 任务。SDEdit [186] 以样式化图像为条件进行图像到图像的转换,而 LDM [235] 将这些语义条件与灵活的潜在扩散统一起来。请注意,如果条件和扩散目标属于不同的模态,预对齐 [223, 315] 是加强引导扩散的实用方法。unCLIP [223] 和 ConPreDiff [317] 利用 CLIP 潜在特征进行文本到图像的生成,从而使图像和文本之间的语义保持一致。RPG [318] 创新地以互补的矩形和轮廓区域为条件,以实现组合文本到图像的生成和复杂的文本引导的图像编辑。图 4 显示了 RPG 与其他模型之间的架构比较。

在这里插入图片描述

图上的条件扩散。图结构数据通常表现出节点之间的复杂关系,因此对于扩散模型来说,图上的条件化极其困难。SGDiff [315] 提出了第一个专门为场景图到图像生成而设计的扩散模型,该模型采用了一种新颖的掩蔽对比预训练。这种掩蔽预训练范式具有通用性,可以扩展到任何跨模态扩散架构,用于粗粒度和细粒度指导。其他图条件扩散模型主要用于图生成。GeoDiff [307] 以二维分子图为条件,通过保证等变马尔可夫核的旋转和平移不变性来生成三维分子构象。Luo 等人(2022 年)[176] 和 DiffSBDD [247] 提出以三维蛋白质图为条件,生成具有等变扩散的三维抗体或分子。

关于应用具体讲什么感觉根据自己的兴趣去了解就好了,

主要还是多看看这个图了解应用方向:
在这里插入图片描述

未来方向

扩散模型研究尚处于早期阶段,在理论和实证方面都有很大改进潜力。如前面章节所述,关键研究方向包括有效采样和提高可能性,以及探索扩散模型如何处理特殊数据结构、与其他类型的生成模型接口以及如何针对一系列应用进行定制。此外,我们预见到未来对扩散模型的研究可能会扩展到以下途径。 重新审视假设。扩散模型中的许多典型假设需要重新审视和分析。例如,扩散模型的前向过程完全消除数据中的任何信息并使其等同于先验分布的假设可能并不总是成立。实际上,在有限的时间内完全删除信息是不可能实现的。了解何时停止前向噪声过程以在采样效率和样本质量之间取得平衡是非常有趣的[72]。薛定谔桥和最优传输方面的最新进展 [35, 48, 50, 250, 257] 提供了有希望的替代解决方案,为能够在有限时间内收敛到指定先验分布的扩散模型提出了新的公式。 理论理解。扩散模型已经成为一个强大的框架,尤其是它是唯一一个可以在大多数应用中与生成对抗网络 (GAN) 相媲美而无需诉诸对抗训练的框架。利用这一潜力的关键是了解为什么以及何时扩散模型比特定任务的替代方案更有效。重要的是要确定哪些基本特征将扩散模型与其他类型的生成模型区分开来,例如变分自动编码器、基于能量的模型或自回归模型。 理解这些区别将有助于阐明为什么扩散模型能够生成质量极佳的样本,同时实现最高似然。同样重要的是需要制定理论指导,以系统地选择和确定扩散模型的各种超参数。 潜在表示。与变分自编码器或生成对抗网络不同,扩散模型在潜在空间中提供良好数据表示的效果较差。因此,它们不能轻易用于基于语义表示处理数据等任务。此外,由于扩散模型中的潜在空间通常具有与数据空间相同的维数,因此采样效率会受到负面影响,并且模型可能无法很好地学习表示方案 [116]。 AIGC 和扩散基础模型。从稳定扩散到 ChatGPT,人工智能生成内容 (AIGC) 在学术界和工业界都引起了广泛关注。生成预训练是 GPT-1/2/3/4 [200, 203, 221, 222] 和 (Visual) ChatGPT [290] 的核心技术,它配备了大型语言模型 (LLM) [274] 和 Visual Foundation 模型,表现出令人鼓舞的生成性能和令人惊讶的突发能力 [288] [19,326,329]。将生成式预训练(仅解码器)从 GPT 系列转移到扩散模型类,评估基于扩散的生成性能,并分析扩散基础模型的涌现能力,这很有趣。此外,将 LLM 与扩散模型相结合已被证明是一个新的有前途的方向 [318]。

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

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

相关文章

【哈希】用哈希桶封装unordered_map unordered_set

🎉博主首页: 有趣的中国人 🎉专栏首页: C进阶 🎉其它专栏: C初阶 | Linux | 初阶数据结构 小伙伴们大家好,本片文章将会讲解 用哈希桶封装 unordered_map & unordered_set 的相关内容。 如…

Linux系统使用Docker安装Drupal结合内网穿透实现远程访问管理后台

目录 前言 1. Docker安装Drupal 2. 本地局域网访问 3 . Linux 安装cpolar 4. 配置Drupal公网访问地址 5. 公网远程访问Drupal 6. 固定Drupal 公网地址 前言 作者简介: 懒大王敲代码,计算机专业应届生 今天给大家聊聊Linux系统使用Docker安装Drupal…

python在cmd中运行.exe文件时报错:不是内部或外部命令,也不是可运行的程序或批处理文件。的解决办法

添加系统环境变量: 设置环境变量,在用户变量里面添加 【PATH:%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Windows\SysWOW64】 在系统变量里面添加,【变量名:ComSpec】 【变量值:%SystemRoo…

ROS2从入门到精通2-1:launch多节点启动与脚本配置

目录 0 专栏介绍1 ROS2的启动脚本优化2 ROS2多节点启动案例2.1 C架构2.2 Python架构 3 其他格式的启动文件3.1 .yaml启动3.2 .xml启动 0 专栏介绍 本专栏旨在通过对ROS2的系统学习,掌握ROS2底层基本分布式原理,并具有机器人建模和应用ROS2进行实际项目的…

适合能源企业的文档安全外发系统应该是什么样的?

能源企业是市场经济中的重要组成,也是社会可持续长远发展的关键组成之一,能源行业在开拓新能源业务线、提升产能的日常经营中,也需要与外部合作伙伴、客户间进行密切的业务往来,文档可能涉及多个领域多个类型。 能源供应合同&…

IDEA2023.2单击Setting提示报错:Cannot get children Easy Code

1、单击Setting,不能弹出对话框 2、打开IDE Internal Errors发生错误 原因: 报错信息 "Cannot get children Easy Code" 通常指的是 IntelliJ IDEA 在尝试访问或操作 Easy Code 插件的子设置时遇到了问题。 主要检查是有网络(断断…

【排序算法】选择排序以及需要注意的问题

选择排序的基本思想:每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完 。 第一种实现方法: void SelectSort(int* arr, int n) {for (int j 0…

安装 Android Studio 2024.1.1.6(Koala SDK35)和过程问题解决

记录更新Android Studio版本及适配Android V应用配置的一些过程问题。 安装包:android-studio-2024.1.1.6-windows.exe原版本:Android Studio23.2.1.23 Koala 安装过程 Uninstall old version 不会删除原本配置(左下角提示) Un…

数据结构第二篇【关于java线性表(顺序表)的基本操作】

【关于java线性表(顺序表)的基本操作】 线性表是什么?🐵🐒🦍顺序表的定义🦧🐶🐵创建顺序表新增元素,默认在数组最后新增在 pos 位置新增元素判定是否包含某个元素查找某个…

如何解决研发数据传输层面安全可控、可追溯的共性需求?

研发数据在企业内部跨网文件交换,是相对较为普遍而频繁的文件流转需求,基于国家法律法规要求及自身安全管理需要,许多企业进行内部网络隔离。不同企业隔离方案各不相同,比如银行内部将网络隔离为生产网、办公网、DMZ区&#xff0c…

Linux编程基础 8.4:epoll工作模式

1 简介 poll机制的工作原理及流程与select类似,但poll可监控的进程数量不受select中第二个因素——fd_set集合容量的限制,用户可在程序中自行设置被监测的文件描述符集的容量,当然poll在阻塞模式下也采用轮询的方式监测文件描述符集&#xf…

相对位姿估计

相对位姿估计 示意图 理论推导 离线数据库: P的位置 P [ X , Y , Z ] T P[X,Y,Z]^{T} P[X,Y,Z]T 相机内参 k 1 k_{1} k1​ 安卓手机: 相机内参 k 2 k_{2} k2​ 两个像素点位置 : p 1 和 p 2 p_1和p_2 p1​和p2​ 公式一:…

Python魔法之旅-魔法方法(04)

目录 一、概述 1、定义 2、作用 二、主要应用场景 1、构造和析构 2、操作符重载 3、字符串和表示 4、容器管理 5、可调用对象 6、上下文管理 7、属性访问和描述符 8、迭代器和生成器 9、数值类型 10、复制和序列化 11、自定义元类行为 12、自定义类行为 13、类…

2年go蓝炎科技、爱诗科技面试经历,期望薪资22K

广州蓝炎科技一面 1、简单自我介绍?用的什么技术栈? 2、go的map是线程安全的吗? 3、Channel一般会在什么场景下使用?往一个未初始化的channel发送数据,会怎样? 4、关于go里头的随机数是线程安全的吗&am…

网卡配置基础知识

1、网络设置方式 首先科普下Virtual Box虚拟机的几种主流的网络设置方式,官方文档: 2解释 Host-only:仅主机模式 虚拟机和宿主机、虚拟机之间能互通,但是不能访问外网,虚拟机和宿主机同网段的其他主机不能互通这种…

VScode远程连接linux服务器开发,误删了文件怎么找回。

因为远程服务器大家都在用,没有足够权限去折腾。找遍了没找到方法,就告诉我远程的文件本地没有缓存啊!我就差点开始重写代码了,后来被我发现了TIMELINE功能,这个功能真的好啊!!!关键…

[算法] 优先算法(三):滑动窗口(上)

🌸个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 🏵️热门专栏:🍕 Collection与数据结构 (92平均质量分)https://blog.csdn.net/2301_80050796/category_12621348.html?spm1001.2014.3001.5482 🧀Java …

C++系列——————类和对象(上)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、面向对象的三大特征二、类的引入2.1类的定义 三.类的访问限定符3.1访问限定符的介绍3.2.访问限定符的使用 四、类的作用域五、类的实例化六、类对象模型6.1…

透视AI技术:探索折射技术在去衣应用中的奥秘

引言: 随着人工智能技术的飞速发展,其在图像处理和计算机视觉领域的应用日益广泛。其中,AI去衣技术作为一种颇具争议的应用,引发了广泛的讨论和关注。本文将深入探讨折射技术在AI去衣中的应用及其背后的原理。 一、AI去衣技术简介…

【C语言】探索文件读写函数的全貌

🌈个人主页:是店小二呀 🌈C语言笔记专栏:C语言笔记 🌈C笔记专栏: C笔记 🌈喜欢的诗句:无人扶我青云志 我自踏雪至山巅 🔥引言 本章将介绍文件读取函数的相关知识和展示使用场景&am…