《Diffusion Models Without Attention》CVPR2024

摘要

这篇论文探讨了在高保真图像生成领域,去噪扩散概率模型(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.mzph.cn/diannao/53772.shtml

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

相关文章

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

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

大模型分离架构学习记录

GPU Direct GPU 网络的情况已经发生了很大变化。每个 GPU 都有自己的内部互联,例如 NVIDIA 的 A100 或 H800,它们内部的 NVLink 互联可以达到 600GB 甚至 900GB。这种内部互联与外部以太网网络集群设计之间存在耦合关系。GPU 是单机多网卡的&#xff0c…

创意无限:五款AI绘画应用,让艺术创作更简单

随着人工智能技术的不断进步,AI绘画已经成为一个不可忽视的现象。在短视频平台上,用户只需轻触屏幕,就能生成风格各异的画作,这种一键生成的特效迅速吸引了大量关注。AI绘画技术的快速发展,不仅让艺术创作变得更加便捷…

国产化数据库挑战及发展趋势

非国产数据库如Oracle、MySQL和MSSQL等在某些领域占据重要地位,但国产数据库的市场份额正在逐步提升,特别是在政策支持和市场需求的双重推动下,国产数据库的替代进程正在加速。 一、国产数据库市场规模 2024年中国数据库市场规模预计为543.1亿…

Python 数学建模——灰色关联度分析

文章目录 介绍原理代码实例 介绍 灰色关联度分析,可以反映两个序列 X ( k ) X(k) X(k) 和 Y ( k ) Y(k) Y(k) 之间的联系,用 r r r 表征。然而, r r r 的绝对大小并没有过多的意义,它的意义只在不同的 r r r 进行比较时体现。…

C语言蓝桥杯:语言基础

竞赛常用库函数 最值查询 min_element和max_element在vector(迭代器的使用) nth_element函数的使用 例题lanqiao OJ 497成绩分析 第一种用min_element和max_element函数的写法 第二种用min和max的写法 二分查找 二分查找只能对数组操作 binary_search函数,用于查找…

提升效率必备,掌握这些Shell文本处理技能!

Shell脚本是Linux系统里的一项基本功,就算它的语法看起来有点奇怪,读起来也不是特别顺畅,但在一些情况下,它仍然是最能干的解决办法。学好Shell脚本,不仅让你对Linux系统了解更深,还能让你手快地做好很多日…

使用程序方式获取与处理MySQL表数据

8.1  执行多条语句获取 MySQL 表数据 8.1.1  MySQL 中的常量 8.1.2  MySQL 中的变量 1.用户变量 用户可以在表达式中使用自己定义的变量,这样的变量称为用户变量。 用户变量在使用前必须定义和初始化,如果使用没有初始化的变量&#x…

外包干了三年,快要废了。。。

先简单说一下自己的情况,普通本科,在外包干了3年多的功能测试,这几年因为大环境不好,我整个人心惊胆战的,怕自己卷铺盖走人了,我感觉自己不能够在这样蹉跎下去了,长时间呆在一个舒适的环境真的会…

算法刷题:300. 最长递增子序列、674. 最长连续递增序列、718. 最长重复子数组

300. 最长递增子序列 1.dp定义:dp[i]表示i之前包括i的以nums[i]结尾的最长递增子序列的长度 2.递推公式:if (nums[i] > nums[j]) dp[i] max(dp[i], dp[j] 1); 注意这里不是要dp[i] 与 dp[j] 1进行比较,而是我们要取dp[j] 1的最大值…

JAVA 的excel数据批量导入解析 现在都用什么API工具 Apache POI 、EasyExcel 、easypoi有什么区别

📝个人主页🌹:个人主页 ⏩收录专栏⏪:SpringBoot 🌹🌹期待您的关注 🌹🌹,让我们共同进步! 在Java中,处理Excel数据批量导入解析时,常…

高空抛物检测算法的应用场景解析

高空抛物事件频发,对公众安全构成严重威胁。无论是居民区还是商业中心,从高层建筑中丢弃物品都可能导致人员伤亡和财产损失。传统的监控手段多以事后追溯为主,无法在事发时及时预警和干预。为应对这一难题,视觉分析技术的发展为高…

全国历年高考真题2008-2024

目录 分享链接: ⬇️⬇️⬇️ 点击下载

单元测试之mock使用

一、简介 一般程序中A类的m1方法调用B类的m2方法,而B类的m2方法又调用了C类的m3方法以此类推等等,而其中的某个方法的一些数据又需要调用其它服务或者查询数据库,一般单元测试只针对某个功能进行测试,但是如上面的情况在做单元测试…

Day9 | Java框架 | SpringBoot

Day9 | Java框架 | SpringBoot SpringBoot简介入门程序概述起步依赖 基础配置配置文件格式:3种yaml语法规则yaml数据读取三种格式 多环境启动配置文件参数命令行参数多环境开发控制:Maven & SpringBoot 多环境兼容 配置文件分类:4种 整合…

蓝桥杯4. Fizz Buzz 经典问题

题目描述 给定一个整数 NN,从 1 到 NN 按照下面的规则返回每个数: 如果这个数被 3 整除,返回 Fizz。如果这个数被 5 整除,返回 Buzz如果这个数能同时被 3 和 5 整除,返回 FizzBuzz。如果这个数既不能被 3 也不能被 5…

本地部署Llama 3.1大模型

Meta推出的Llama 3.1系列包括80亿、700亿、4050亿参数版本,上下文长度扩展至12.8万tokens,并增加了对八种语言的支持。 部署模型需要用到Ollama的一个工具,访问官方网站https://ollama.com 点击下载,选择下载你对应的操作系统下…

【无标题】Efinity 0基础进行流水灯项目撰写(FPGA)

文章目录 前言一、定义概念 缩写1. 二、性质1.2. 三、使用步骤编译常见错误1. 没加分号2. end 写多了 编译成功的标志总结参考文献 前言 数电课设 使用 FPGAIDE 使用 Efinity 一、定义概念 缩写 1. 二、性质 1. 2. 三、使用步骤 python代码块matlab代码块c代码块编译…

手把手带你拿捏C指针(2)(含冒泡排序)

文章目录 一、数组名的理解二、使用指针访问数组三、一维数组传参本质四、冒泡排序五、二级指针六、指针数组七、指针数组模拟二维数组 一、数组名的理解 在上⼀个章节我们在使⽤指针访问数组的内容时,有这样的代码: int arr[10] {1,2,3,4,5,6,7,8,9,…

工信部【信创认证】全面解读,包含信创集成项目管理师,信创规划管理师等

行业背景 国资委发布79号文件:详细规划了中央企业和国有企业信创国产化的实施路径和时间表,明确提出了到2027年100%完成信创“替代”的宏伟目标。这一政策不仅涵盖了芯片、基础软件、操作系统、中间件等重要领域,更意味着从2023年起&#xf…