读《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)

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

感觉就是 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]。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

芝加哥大学最新研究:GPT-4与财务预测,重塑财务分析的未来

最近,芝加哥大学的研究团队发表了一篇突破性的研究,展示了大型语言模型(LLM),特别是 OpenAI 开发的 GPT-4,如何在财务报表分析领域取得了与专业分析师相匹配甚至超越的表现。这项研究不仅凸显了人工智能在高…

Firefox国际版

Firefox国际版官方网址: Download the Firefox Browser in English (US) and more than 90 other languagesEveryone deserves access to the internet — your language should never be a barrier. That’s why — with the help of dedicated volunteers around…

Docker-----emqx部署

emqx通过Docker容器化部署流程 1.创建持久化挂载目录 mkdir -p /home/emqx/etc ------挂载emqx的配置文件目录 mkdir -p /home/emqx/data ------挂载emqx的存储目录 mkdir -p /home/emqx/log ------挂载emqx的日志目录 [root home]# mkdir -p /home/emqx/etc [root home]# mkd…

C++ vector 模拟实现

vector的底层也是一个动态数组,他与 string 的区别就是,string 是专门用来存储字符类数据的,为了兼容C语言,使用C语言的接口,在string的动态数组内都会都开一块空间用来存 \0 ,而vector则不会。 首先我们要…

文本生成流程图 泰酷啦 Excalidraw Mermaid Obsidian

前言 介绍一个很酷的工具,Mermaid to Excalidraw 。作用是用代码生成流程图。 Mermaid 是一款强大的、轻量级的文本到图表的转换工具,它允许用户使用简单的Markdown风格的语法编写文本描述,然后通过JavaScript引擎将其转换成美观的图表。Mer…

YOLOv5改进 | 注意力机制 | 添加双重注意力机制 DoubleAttention【附代码/涨点能手】

💡💡💡本专栏所有程序均经过测试,可成功执行💡💡💡 在图像识别中,学习捕捉长距离关系是基础。现有的CNN模型通常通过增加深度来建立这种关系,但这种形式效率极低。因此&…

在VSCode 中增加文件与文件夹的可辨识度

今天重新打开VSCode,打算新建一个项目做测试,看到VSCode中的文件与文件夹很不容易辨认,有时候容易导致一些误操作,需要做一些配置来改变。 效果图: 只需要做简单的2步就可以了。 1、安装插件 ⑴ 打开VSCode的扩展搜索并…

服务器的远程桌面无法连接,服务器远程桌面无法连接问题处理教程

服务器的远程桌面无法连接,服务器远程桌面无法连接问题处理教程。 一、问题概述 服务器远程桌面无法连接是日常运维中常见的问题之一。它可能由多种原因造成,如网络问题、服务器配置错误、远程桌面服务未启动等。本教程将指导您逐步排查并解决这些问题。…

yolov10 瑞芯微RKNN、地平线Horizon芯片部署、TensorRT部署,部署工程难度小、模型推理速度快

特别说明:参考官方开源的yolov10代码、瑞芯微官方文档、地平线的官方文档,如有侵权告知删,谢谢。 模型和完整仿真测试代码,放在github上参考链接 模型和代码。 yolov8、v9还没玩热乎,这不yolov10又来了,那么…

定点化和模型量化(三)

量化解决的是训练使用的浮点和运行使用的硬件只支持定点的矛盾。这里介绍一些实际量化中使用到的工具。 SNPE简介 The Snapdragon Neural Processing Engine (SNPE)是高通骁龙为了加速网络模型设计的框架。但它不只支持高通,SNPE还支持多种硬件平台,AR…

软件即服务-SaaS

目录 1. SaaS成熟度模型 2. SaaS应用平台 3. SaaS应用实现层次 4. 多租户技术 5. 可配置性 5.1 业务构件 5.2 数据可配置 5.2.1 定制字段 5.2.2 预分配字段 5.2.3 名称值对 5.3 功能可配置 5.3.1 业务构件设计 5.3.2 功能包设计 5.3.3 销售包设计…

Postman快捷功能-批量断言与快速查询替换

大家好,在我们日常的接口测试工作中,经常需要对接口返回的数据进行断言,以确保接口的正确性。当接口数量较多时,逐个编写断言语句会变得非常繁琐。此外,在接口测试过程中,我们还可能需要频繁地查找和替换某…

遇到软件测试职业瓶颈,如何突破

作为职场人,遇到发展瓶颈是在所难免的,无论是晋升受限、技能升级缓慢,还是工作激情的丢失,这些挑战都可能让人感到挫败。但是,积极应对,你就可能找到那扇通向新机遇的窗。 1. 自我评估 识别问题 是缺乏技能…

内存卡频频提示格式化?数据恢复全攻略

内存卡提示需要格式化 在数字时代,内存卡作为我们存储数据的常用设备,广泛应用于手机、相机、无人机等多种设备中。然而,不少用户在使用过程中会突然遭遇一个令人头疼的问题——内存卡提示需要格式化。这一提示往往伴随着数据的丢失风险&…

MobaXterm下载虚拟机SSH链接超时解决(保姆级踩坑)

文章目录 为啥要用MobaXtermMobaXterm下载打开虚拟机ssh链接ssh连接失败排查linux配置windows配置 到这了,什么都干了,怎么还不成功? 更多相关内容可查看 在一个阳光明媚的下午,开启了无限踩坑的旅程 为啥要用MobaXterm 作为小编…

【LeetCode】37.解数独

解数独 题目描述: 编写一个程序,通过填充空格来解决数独问题。 数独的解法需 遵循如下规则: 数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。(请参…

gif帧数修改怎么操作?一键掌握GIF帧数修改技巧!

gif帧数修改怎么操作?在数字化信息爆炸的时代,GIF动图因其生动有趣的特性而备受广大网友喜爱。然而,很多时候我们可能会遇到GIF动图帧数过多或过少,导致动画效果不尽如人意的情况。那么,如何对GIF动图的帧数进行修改呢…

前端项目开发,3个HTTP请求工具

这一小节,我们介绍一下前端项目开发中,HTTP请求会用到的3个工具,分别是fetch、axios和js-tool-big-box中的jsonp请求。那么他们都有哪些小区别呢?我们一起来看一下。 目录 1 fetch 2 axios 3 js-tool-big-box 的 jsonp 请求 …

企业网络的“瑞士军刀”:探索“一端多能”设备的多面性

在数字化时代,企业网络需求的复杂性和多样性不断增长,传统的单一功能网络设备已难以满足这些需求。企业需要一种集多种功能于一身的“一端多能”网络设备,以应对各种网络环境和业务需求,就像是一把多功能、灵活、可靠的瑞士军刀&a…

windows上安装miniforge和jupyterlab

1,下载miniforge3 GitHub - conda-forge/miniforge: A conda-forge distribution. 下载下来后傻瓜式安装就可以了 配置环境变量,在系统环境变量的path添加下列就行了,根据自己的路径修改 2,创建虚拟环境 conda create -n test …