《Diffusion Models Without Attention》CVPR2024

news2024/11/9 9:38:40

摘要

这篇论文探讨了在高保真图像生成领域,去噪扩散概率模型(Denoising Diffusion Probabilistic Models, DDPMs)的重要性。尽管DDPMs在捕捉复杂视觉分布方面表现出色,但在高分辨率图像生成上面临显著的计算挑战。现有的方法,如在U-Net和Transformer架构中采用patchifying(分块处理),虽然加快了处理速度,但牺牲了表示能力。为了解决这一问题,论文提出了一种新的架构——Diffusion State Space Model(DIFFUSSM),它用一个更可扩展的状态空间模型骨干网络替代了注意力机制。这种方法在不进行全局压缩的情况下有效处理更高分辨率的图像,从而在整个扩散过程中保留了详细的图像表示。论文还强调了在扩散训练中对FLOP(浮点运算次数)高效架构的关注,并在ImageNet和LSUN数据集上的评估表明,DiffuSSM在FID(Fréchet Inception Distance)和Inception Score指标上与或超过现有的带有注意力模块的扩散模型,同时显著减少了总FLOP的使用。

概述

拟解决的问题:论文旨在解决DDPMs在高分辨率图像生成中的计算挑战,特别是在不牺牲图像细节和结构完整性的情况下,减少对高成本注意力机制的依赖。

创新之处:

  • 架构创新:提出了DIFFUSSM,这是一种无需注意力机制的扩散架构,它使用状态空间模型(SSM)骨干网络来处理长序列,避免了传统注意力机制中的二次复杂度问题。
  • 效率提升:通过使用SSM和hourglass(沙漏)架构,DIFFUSSM在保持图像细节的同时,提高了计算效率。
  • 性能提升:在高分辨率图像生成任务中,DiffuSSM在FID和Inception Score等指标上达到了与或超过现有模型的性能,同时显著减少了计算资源的使用。

方法

  1. 输入序列化:将图像数据转换为序列形式,以便通过状态空间模型进行处理。
  2. 门控双向状态空间模型(Gated Bidirectional SSM):这是DIFFUSSM块的核心,用于处理序列数据并捕捉长距离依赖关系。
  3. Hourglass 架构:用于在多层感知机(MLP)层中交替扩展和收缩序列长度,以提高计算效率。
  4. 输出解码:将处理后的序列数据解码回原始图像空间,生成最终的图像输出。

状态空间模型(SSMs)

状态空间模型通过将系统的状态表示为一个向量,并通过状态转移方程和观测方程来描述系统的动态行为。SSMs通常用于描述线性动态系统,但也可以扩展到非线性情况。

 这个表达式描述了状态空间模型中的两个基本方程:状态方程和观测方程。

 

 DIFFUSSM块

Hourglass架构是一种特殊的网络结构,它通过在网络的不同层之间交替扩展和收缩序列长度,来优化计算效率。在DIFFUSSM块中,Hourglass架构的具体实现如下:

  • 扩展层(Upscaling Layer):将序列长度扩展,以捕捉更广泛的上下文信息。
  • 收缩层(Downscaling Layer):将序列长度收缩,以减少计算量并提取关键特征。
  • 重复层(Recurrent Layer):在扩展和收缩层之间交替使用,以实现对序列数据的深度处理。

门控双向SSM是DIFFUSSM块的核心,它结合了状态空间模型和门控机制,以增强模型的处理能力。具体来说:

  • 状态空间模型:使用线性或非线性动态系统来描述序列数据的转换过程。
  • 门控机制:通过引入额外的控制信号(如类别标签或时间步信息),来调节状态空间模型的行为,从而提高模型的灵活性和适应性。

结论

论文得出结论,DIFFUSSM作为一种不依赖注意力机制的扩散模型架构,能够有效地处理高分辨率图像生成任务,同时在计算效率和图像质量上都取得了显著的改进。此外,该架构的提出为未来在需要长距离扩散的其他领域的应用,如高保真音频、视频或3D建模,提供了新的可能性。尽管论文主要关注图像生成任务,但其提出的方法和架构也可能对其他类型的生成任务有启发作用。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

动物目标检测——基于YOLOv5和树莓派4B平台

目标检测在计算机视觉领域中具有重要意义。YOLOv5(You Only Look One-level)是目标检测算法中的一种代表性方法,以其高效性和准确性备受关注,并且在各种目标检测任务中都表现出卓越的性能。本文将详细介绍如何在性能更强的计算机上…

java实习生第一次被分配需求——完成需求的大概流程

一、分配需求后第一步,首先是把项目跑起来 在我进入公司一两个星期之后(基本熟悉了公司的框架),就被我所在的开发小组的某个大哥分派了一个需求,然后他给我发了一个git地址,以及一个git的分支(…

知名专家曹启富主任:冠心病低龄化?早预防早受益,守护心脏从日常做起

冠心病,这一曾被视为中老年疾病的代表,如今正悄然向更年轻的人群逼近。冠心病多发生于40岁以上的年龄段,但近年来,其发病低龄化的趋势日益明显,根据数据显示,我国城市人群15岁以及15岁以上的人口&#xff0…

STM32G474之TAMPALRM输出

TAMPALRM输出源是指“RTC唤醒”、“RTC报警A”和“RTC报警B”输出,可以配置从RTC_OU1(PC13)或RTC_OUT2(PB2)输出,而OUT2EN用来决定从哪个引脚输出。 1、TAMPALRM输出原理见下表: 若不看CALIB输出,可以简化如下表: 2、 …

【API Testing and Development with Postman 2nd_001】关于本书

译者按 今天又淘到一本介绍 Postman 的宝藏级小册子,非常适合想进一步了解 API 接口测试的朋友们。本书最大的特点就是手把手教学。想当年第 1 版问世时,初出茅庐的我随便拣了书中一两招,就能轻松搞定工作中五花八门的 API 疑难杂症。只是当时…

监听键盘事件

问题:点击输入框弹出键盘遮挡文字 需求:点击输入框键盘弹起,点击别处键盘回收,输入框回到原来状态, 解决办法: 1.采用占位的思想(隐藏),文本框控制采用焦点控制&#…

多态的概念

多态 所谓的多态其实就是多种形态,它又被分为编译时多态(静态多态) 和 运行时多态(动态多态)。 静态的多态其实就是之前的模版和函数重载,今天我们主要讲动态的多态。所谓的动态多态其实就是相同的函数,完成不同的功能。 这就实现了明明都是…

C#搭建WebApi服务

1,OWIN的介绍 OWIN 的全称是 "Open Web Interface for .NET", OWIN 在 .NET Web 服务器和 .NET Web 应用之间定义了一套标准的接口, 其目的是为了实现服务器与应用之间的解耦,使得便携式 .NET Web 应用以及跨平台的愿望…

MongoDB事务机制

事务机制 1.事务概念 在对数据的操作的过程中,涉及到一连串的操作,这些操作如果失败,会导致我们的数据部分变化了,部分没变化。这个过程就好比如你去吃早餐,你点完餐了,并且吃完早餐了,没付钱你…

ES6标准---【五】【看这一篇就够了!!!】

目录 ES6以往文章 箭头函数的基本用法 箭头函数的用处 简化回调函数 rest参数与箭头函数结合 箭头函数使用注意点 this指向的问题 其它不存在的变量 不能使用call()、apply()、bind()方法改变this的指向 箭头函数不适用场合 定义对象时,对象方法内部包含…

信创环境下源代码防泄露解决方案

在当今数字化时代,信息安全已成为企业生存与发展的基石,尤其是在信息技术应用创新(信创)环境下,数据保护更是被提升至前所未有的高度。SDC沙盒防泄露系统以其独特的技术架构和卓越的安全性能,在信创环境中构…

ES6标准---【六】【学习ES6标准看这一篇就够了!!!】

目录 以往ES6文章 前言 对象属性的简洁表示法 一个实际例子 简介写法在打印对象时也很有用 注意 对象属性名表达式 用表达式做属性名 用表达式定义方法名 注意 对象方法的name属性 对象属性的可枚举性和遍历 可枚举性 属性的遍历 属性比那里次序规则 super关键…

图片生成PPT!首推这款一站式AI制作PPT工具!

在当今快节奏的工作中,制作一份精美的PPT演示文稿往往是一项费时费力的工作,特别是当我们需要将大量的图片转化为PPT时,传统的方法显得尤为繁琐。幸运的是,随着AI人工智能技术的飞速发展,一种更便捷地将图片转为ppt的解…

计算机毕业设计 《计算机基础》网上考试系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…

Java之线程篇三

​​​​​​​ 目录 线程状态 观察线程的所有状态 线程状态及其描述 线程状态转换 代码示例1 代码示例2 线程安全 概念 线程不安全的代码示例 线程不安全的原因 线程安全的代码示例-加锁 synchronized关键字 synchronized的特性 小结 形成死锁的四个必要条件 …

Java设计模式之命令模式介绍和案例示范

一、命令模式简介 命令模式(Command Pattern)是一种行为型设计模式,它将请求封装为一个对象,从而使你可以用不同的请求对客户端进行参数化、对请求排队或记录日志,以及支持可撤销的操作。命令模式的核心思想是将发出请…

kvm 虚拟机命令行虚拟机操作、制作快照和恢复快照以及工作常用总结

文章目录 kvm 虚拟机命令行虚拟机操作、制作快照和恢复快照一、kvm 虚拟机命令行虚拟机操作(创建和删除)查看虚拟机virt-install创建一个虚拟机关闭虚拟机重启虚拟机销毁虚拟机 二、kvm 制作快照和恢复快照**创建快照**工作常见问题创建快照报错::intern…

超详细、史上最全pytorch安装教程

一、anaconda安装 1.下载 Index of /anaconda/archive/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirrorhttps://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ 这里划到最下面选择5.3.1最新版: 2.下载完成后安装 点击next 点击 I agree 选择All Us…

ignav的INS的状态更新

ignav的代码 static void updstat(const insopt_t *opt,insstate_t *ins,const double dt,const double *x0,const double *P0,double *phi,double *P,double *x,double *Q) {opt->exprn?getprn(ins,opt,dt,Q): getQ(opt,dt,Q); // //phi 状态转移矩阵 ,离散化…

算法学习攻略总结 : 入门至进阶,通关之路指南

❃博主首页 &#xff1a; <码到三十五> ☠博主专栏 &#xff1a; <mysql高手> <elasticsearch高手> <源码解读> <java核心> <面试攻关> ♝博主的话 &#xff1a; <搬的每块砖&#xff0c;皆为峰峦之基&#xff1b;公众号搜索(码到…