单GPU一分钟生成16K高清图像!新加坡国立发布LinFusion:无缝兼容Stable Diffusion插件

论文链接:https://arxiv.org/pdf/2409.02097
Git链接:https://lv-linfusion.github.io/

亮点直击

  • 本文研究了Mamba的非因果和归一化感知版本,并提出了一种新颖的线性注意力机制,解决了扩散模型在高分辨率视觉生成中的挑战。

  • 本文的理论分析表明,所提出的模型在技术上是现有流行的线性复杂度token混合器的广义且高效的低秩近似。

  • 在Stable Diffusion (SD)上的大量实验表明,所提出的LinFusion可以实现比原始SD更好的结果,并且在零样本跨分辨率生成性能和与现有SD组件的兼容性方面表现令人满意。据本文所知,这是首次在SD系列模型上探索线性复杂度token混合器用于文本到图像生成。

总结速览

解决的问题

  • 现有基于Transformer的UNet模型在生成高分辨率视觉内容时面临时间和内存复杂度的挑战,特别是在处理空间token数量时。

提出的方案

  • 提出一种新颖的线性注意力机制作为替代方案,并引入广义的线性注意力范式。

应用的技术

  • 线性注意力机制

  • 线性复杂度模型(如Mamba、Mamba2和Gated Linear Attention)

  • 预训练模型(如StableDiffusion)

达到的效果

  • LinFusion蒸馏模型在性能上与原始StableDiffusion相当或更优,同时显著减少了时间和内存复杂度。

  • 在SD-v1.5、SD-v2.1和SD-XL上的实验表明,LinFusion在零样本跨分辨率生成性能方面表现出色,能够生成高达16K分辨率的图像。

  • 与预训练的StableDiffusion组件(如ControlNet和IP-Adapter)高度兼容,无需适配工作。

方法

准备知识

扩散模型。 作为一种流行的文本到图像生成模型,Stable Diffusion (SD) 首先学习一个自动编码器 ,其中编码器 将图像 映射到低维潜在空间:,解码器 学习将 解码回图像空间:,使得 接近原始图像 。在推理时,潜在空间中的高斯噪声 被随机采样,并通过UNet 进行 步去噪。最终步骤后的去噪潜在代码 由 解码生成图像。在训练中,给定图像 及其对应的文本描述 , 被用来获得其对应的潜在代码,并添加随机高斯噪声 生成其噪声版本 ,对应第 步。UNet 通过噪声预测损失 进行训练:

UNet中的自注意力层作为token混合器来处理空间关系,而多个交叉注意力层则处理文本-图像关系。给定UNet骨干网络中的输入特征图 和权重参数 以及 ,其中 是空间tokens的数量, 是特征维度, 是注意力维度,自注意力可以形式化为:

本文可以从公式(2)中观察到,自注意力的复杂度相对于是二次的,因为注意力矩阵。在本文中,本文主要关注其替代方案,并致力于一种具有线性复杂度的新型token混合模块。

Mamba。 作为Transformer 的替代方案,Mamba 被提出用于处理相对于序列长度具有线性复杂度的序列任务。Mamba的核心是状态空间模型(SSM),其可以写成:

其中,是序列中当前token的索引,表示隐藏状态,和是表示输入和输出矩阵第行的行向量,、和是依赖于输入的变量,表示元素级乘法。

在最新版本,即Mamba2中,是一个标量,,,。根据状态空间对偶性(State-Space Duality, SSD),公式(3)中的计算可以重新表述为以下表达式,被称为1-半可分结构Masked注意力(1-Semiseparable Structured Masked Attention):

其中 是一个 的下三角矩阵,并且 对于 。这种矩阵 被称为 1-半可分矩阵,确保 Mamba2 可以以线性复杂度实现。

在本文中,本文旨在为通用的文本到图像问题设计一个线性复杂度的扩散骨干。为此,本文没有从头开始训练一个新模型,而是从预训练的 Stable Diffusion(SD)模型中初始化和蒸馏模型。具体来说,本文默认使用 SD-v1.5 模型,并用本文提出的 LinFusion 模块替换其自注意力——这是二次复杂度的主要来源。只有这些模块中的参数是可训练的,而模型的其余部分保持冻结状态。本文从原始 SD 模型中蒸馏知识到 LinFusion 模块,使得在给定相同输入的情况下,它们的输出尽可能接近。下图 3 提供了这一流程的概述。

这种方法提供了两个关键好处:(1) 训练难度和计算开销显著降低,因为学生模型只需要学习空间关系,而不需要处理其他方面的复杂性,如文本-图像对齐;(2) 生成的模型与在原始 SD 模型及其微调变体上训练的现有组件高度兼容,因为本文只用 LinFusion 模块替换了自注意力层,这些模块被训练得与原始模块功能相似,同时保持整体架构。

技术上,为了推导出一个线性复杂度的扩散骨干,一个简单的解决方案是用 Mamba2 替换所有的自注意力块,如下图 4(a) 所示。本文应用双向 SSM 确保当前位置可以访问后续位置的信息。此外,Stable Diffusion 中的自注意力模块没有像 Mamba2 那样结合门控操作或 RMS-Norm。如下图 4(b) 所示,本文移除了这些结构以保持一致性,并在性能上略有提升。在本节的后续部分,本文深入探讨了将 SSM(Mamba2 的核心模块)应用于扩散模型的问题,并相应地介绍了 LinFusion 的关键特性:归一化和非因果性,最后,本文提供了优化 LinFusion 模块中参数的训练目标。

规范化感知 Mamba

在实践中,本文发现如果训练和推理阶段的图像分辨率一致,上图4(b)中展示的基于SSM的结构可以实现令人满意的性能。然而,当图像尺度不一致时,它会失败。为了确定这一失败的原因,本文检查了输入和输出特征图的通道均值,发现以下命题:

命题1:假设输入特征图 中第 个通道的均值是 ,并将 表示为 ,则输出特征图 中该通道的均值为 。

证明是直接的。通过上图4(b)本文观察到,对 、 和 应用了非负激活。鉴于在 Mamba2 中 也是非负的,根据命题1,如果训练和推理阶段的 不一致,通道分布将发生偏移,进而导致结果失真。

解决这个问题需要统一每个token对其他token的影响到相同的尺度,这一特性本质上由Softmax函数提供。鉴于此,本文在本文中提出了归一化感知的 Mamba,强制每个token的注意力权重之和等于1,即,这等价于再应用一次SSM模块以获得归一化因子 。

操作如上图4(c)所示。实验表明,这种归一化显著提高了零样本跨分辨率泛化的性能。

非因果 MAMBA

双向扫描使得一个token能够从后续的tokens中接收信息——这是扩散骨干网络的一个关键特性——但是将特征图视为一维序列会损害二维图像和更高维视觉内容的内在空间结构。为了解决这个问题,本文在本文中着重开发了非因果版本的Mamba。非因果性意味着一个token可以访问所有的tokens进行信息混合,这可以通过简单地去除应用在上的下三角因果mask 来实现。因此,公式(3)中的递归公式将变为:

本文观察到,在这个公式中,相对于保持不变。这意味着所有tokens的隐藏状态是均匀的,这从根本上破坏了遗忘门的预期目的。为了解决这个问题,本文将不同的组与各种输入tokens关联。在这种情况下,是一个的矩阵,并且 公式(4)中的变为。与公式(4)中的相比,这里的不一定是1-半可分的。为了保持线性复杂度,本文假设是低秩可分的,即存在输入相关的矩阵和使得。通过这种方式,以下命题确保了在这种情况下,公式(4)可以通过线性注意力实现:

命题2:给定,,以及,表示,,,和,存在相应的函数和使得公式(4)可以等效地通过线性注意力实现,表示为:

证明。根据已知条件,本文有:

在这里, 表示克罗内克积。本文定义 和 ,由此得到 。

在实际应用中,本文采用两个多层感知机(MLP)来模拟 和 的功能。结合前文中提到的归一化操作,本文得到了上图 4(d) 所示的优雅结构。

不仅如此,本文进一步证明了命题 2 中描述的线性注意形式可以扩展到更一般的情况,其中 是一个维度为 的向量,而不是一个标量:

命题 3:假设 ,如果对于每个 , 是低秩可分离的:,其中 ,,,则存在相应的函数 和 ,使得计算 可以等效地实现为线性注意,表示为 ,其中 是一个列向量,可以广播到一个 的矩阵。

证明。根据已知条件,本文有:

其中 和 是 矩阵, 表示带广播的逐元素乘法, 表示将矩阵展平为行向量。本文定义 和 ,由此得到 。

从这个角度来看,所提出的结构可以视为一种广义线性注意机制,以及最近线性复杂度序列模型的非因果形式,包括 Mamba2、RWKV6、GLA等。在下表 1 中,本文提供了最近工作的参数化总结,用于 。

训练目标

在本文中,本文将原始SD中的所有自注意力层替换为LinFusion模块。只有这些模块中的参数会被训练,而其他所有参数保持不变。为了确保LinFusion能够紧密模仿自注意力的原始功能,本文在公式1中的标准噪声预测损失上增加了额外的损失。具体而言,本文引入了一种知识蒸馏损失,用于对齐学生模型和教师模型的最终输出,以及一种特征匹配损失,用于匹配每个LinFusion模块的输出与相应自注意力层的输出。训练目标可以写成:

其中,和是控制各自损失项权重的超参数,表示原始SD的参数,是LinFusion/self-attention模块的数量,标记(l)表示扩散主干中第个模块的输出。

实验

实验细节

本文在下图5中展示了SD-v1.5、SD-v2.1和SD-XL的定性结果,并主要在本节中对SD-v1.5进行实验。SD-v1.5中有16个自注意力层,本文将它们替换为本文提出的LinFusion模块。命题2中提到的函数和实现为多层感知机(MLP),该MLP由一个线性分支和一个包含一个Linear-LayerNorm-LeakyReLU块的非线性分支组成。它们的结果被相加以形成和的输出。线性分支中和的参数分别初始化为和,而非线性分支的输出初始化为0。本文仅使用LAION Schuhmann等(2022)中美学评分大于6.5的169k张图像进行训练,并采用BLIP2 Li等(2023)图像描述模型重新生成文本描述。两个超参数和均设置为0.5,遵循Kim等(2023a)的方法,该方法同样关注SD的架构蒸馏。模型使用AdamW Loshchilov & Hutter(2017)进行优化,学习率为。训练在8个RTX6000Ada GPU上进行,总批量大小为96,分辨率为512 × 512,训练100k次迭代,预计需要约1天完成。效率评估在单个NVIDIA A100-SXM4-80GB GPU上进行。

主要结果

消融研究 为了验证所提出的 LinFusion 的有效性,本文报告了与替代方案的比较结果,如上图 4(a)、(b) 和 (c) 所示。本文遵循之前在文本到图像生成领域的研究惯例,并在包含 30,000 个文本提示的 COCO 基准数据集上进行定量评估。评估指标包括 FID,该指标针对 COCO2014 测试数据集,以及在 CLIP-ViT-G 特征空间中的余弦相似度。本文还报告了每张图像在 50 次去噪步骤下的运行时间以及推理过程中的 GPU 内存消耗,以进行效率比较。512 × 512 分辨率下的结果见表 2。

缓解结构差异 本文从原始的 Mamba2 结构开始探索,该结构采用双向扫描,即上图 4(a),并尝试去除门控和 RMS-Norm,即上图 4(b),以保持与原始 SD 中自注意力层的一致整体结构。这样,唯一与原始 SD 的区别在于 SSM 或用于token混合的自注意力。本文观察到这种结构对齐对性能是有益的。

归一化和非因果性 随后,本文依次应用所提出的归一化操作和非因果处理,分别对应上图 4(c) 和 (d)。尽管下表 2 中的结果表明,归一化可能会稍微影响性能,但本文将在接下来的下表 3 中展示,这对于生成在训练过程中未见过的分辨率图像是至关重要的。进一步添加所提出的非因果处理后,本文获得的结果优于上图 4(b)。

本文还比较了所提出的非因果操作与前文中提到的简化情况,该简化情况是通过直接去除施加在 上的下三角因果mask 实现的,这导致生成一个 1 阶矩阵,即不同的token共享同一组遗忘门。结果显示,性能较差证明了所提出的广义线性注意力的有效性。

注意力可视化 在下图 6 中,本文可视化了由各种方法产生的自注意力图,包括原始 SD、双向 SSM、共享遗忘门的线性注意力以及 LinFusion 中的广义线性注意力。结果表明,本文的方法在捕获更广泛的空间依赖性方面表现更佳,并且与原始 SD 的预测最为匹配。

知识蒸馏与特征匹配 最后,本文在公式 8 中应用了损失项 和 ,进一步增强了性能,甚至超过了 SD 教师模型。

跨分辨率推理 扩散模型能够生成在训练过程中未见过的分辨率图像是理想的——这是原始 SD 的一项特性。由于本文工作的 LinFusion 以外的模块是预训练并固定的,归一化是实现这一特性的关键组成部分,以保持训练和推理的一致特征分布。本文在上表 3 中报告了 1024 × 1024 分辨率的结果,表明这一结论适用于所有基本结构,如 Mamba2、去除门控和 RMS-Norm 的 Mamba2,以及所提出的广义线性注意力。下图 7 显示了一个定性示例,其中没有归一化的结果毫无意义。

超高分辨率生成 正如 Huang et al. (2024) 和 He et al. (2024) 所讨论的,直接将训练于低分辨率的扩散模型应用于高分辨率生成可能导致内容失真和重复。在本文中,本文通过先处理低分辨率来解决这一挑战,基于此生成高分辨率图像,使用 SDEdit。请注意,在本工作中,本文旨在实现一种线性复杂度的模型,从计算上支持这种超高分辨率生成,如上图 1 所示。专门的设计将留作未来的研究方向。

经验扩展

所提出的LinFusion与SD的各种组件/插件高度兼容,例如ControlNet、IP-Adapter和LoRA,无需进一步的训练或适配。本文在上图5中展示了定性结果,并建议读者参考附录以获取更多结果。以下的定量评估表明LinFusion与原始SD的性能相当。

ControlNet:ControlNet为SD引入了即插即用的组件,以增加额外的条件,如边缘、深度和语义图。本文用所提出的LinFusion替代SD,并比较FID、CLIP得分以及输入条件与从扩散模型生成的图像中提取的条件之间的相似性,结果如下表4所示。

IP-Adapter:个性化文本到图像生成是SD的一个热门应用,专注于根据输入身份和文本描述同时生成图像。IP-Adapter提供了一种零样本解决方案,训练一个从图像空间到SD条件空间的映射器,使其能够处理图像和文本条件。本文证明了在SD上训练的IP-Adapter可以直接用于LinFusion。对包含30个身份和25个文本提示以形成750个测试案例的DreamBooth数据集的性能如下表5所示。本文为每个案例使用5个随机种子,并报告平均CLIP图像相似性、DINO图像相似性和CLIP文本相似性。

LoRA:低秩适配器(LoRA)旨在对基本模型的权重应用低秩矩阵,以便能够适应不同的任务或目的。例如,Luo等(2023b)引入了LCM-LoRA,使得预训练的SD可以仅通过少量去噪步骤进行LCM推理。在这里,本文将LoRA直接应用于LCM-LoRA模型中的LinFusion。COCO基准上的性能如下表6所示。

结论

本文介绍了一种称为LinFusion的扩散骨干网络,用于文本到图像生成,其在像素数量上具有线性复杂度。LinFusion的核心是一个广义线性注意机制,其特点是具有归一化感知和非因果操作——这些是最近线性复杂度ftoken混合器(如Mamba、Mamba2和GLA)所忽视的关键方面。本文从理论上揭示了所提出的范式作为最近模型的非因果变体的一种通用低秩近似。

基于Stable Diffusion(SD),LinFusion模块在知识蒸馏后可以无缝替代原始模型中的自注意力层,确保LinFusion与现有的Stable Diffusion组件(如ControlNet、IP-Adapter和LoRA)高度兼容,无需进一步的训练工作。对SD-v1.5、SDv2.1和SD-XL的广泛实验表明,所提出的模型在性能上优于现有基线,并在计算开销显著降低的情况下,达到了与原始SD相当或更好的性能。在单个GPU上,它可以支持高达16K分辨率的图像生成。

参考文献

[1] LinFusion: 1 GPU, 1 Minute, 16K Image

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

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

相关文章

oracle数据库安装和配置

​ 大家好,我是程序员小羊! 前言: Oracle 数据库的安装和配置是一个较为复杂的过程,涉及多个步骤和配置项。以下将详细介绍如何在 Linux 和 Windows 系统中安装 Oracle 数据库并进行基础配置。 一、Oracle 数据库安装前的准备 …

如何使用微软的Copilot AI工具将Word文档转换为PowerPoint

Copilot 让你可以将 Word 文档转换为 PowerPoint 演示文稿,使你能够以最小的努力制作出有针对性的演示文稿。这个功能是微软AI工具包的一部分,对于那些曾经盯着空白幻灯片不知道从何开始的人来说,这是一个颠覆性的改变。要充分利用这个工具&a…

【web网页制作】html+css旅游家乡河南主题网页制作(5页面)【附源码】

一、👨‍🎓网站题目 旅游,当地特色,历史文化,特色小吃等网站的设计与制作。 二、✍️网站描述 👨‍🎓静态网站的编写主要是用HTML DIVCSS 等来完成页面的排版设计👩‍🎓…

Elasticsearch:无状态世界中的数据安全

作者:来自 Elastic Henning Andersen 在最近的博客文章中,我们宣布了支持 Elastic Cloud Serverless 产品的无状态架构。通过将持久性保证和复制卸载到对象存储(例如 Amazon S3),我们获得了许多优势和简化。 从历史上…

QT6聊天室项目 网络通信实现逻辑分析

实现逻辑 模块话网络通信设计分析 NetClient类 功能:负责与服务器进行通信httpClient:处理HTTP请求websocketClient:处理WebSocket通信 HTTP请求封装 设计请求和服务器响应的接口设计函数测试网络连接性设计处理的函数处理HTTP请求(后期实现…

【Linux】System V通信

目录 System V共享内存 共享内存数据结构 共享内存函数 共享内存的关联 共享内存的去关联 用共享内存实现serve&client通信 共享内存与管道进行对比 System V共享内存 管道通信本质是基于文件的,也就是说操作系统并没有为此做过多的设计工作,…

【网络安全】服务基础第二阶段——第二节:Linux系统管理基础----Linux统计,高阶命令

目录 一、Linux高阶命令 1.1 管道符的基本原理 1.2 重定向 1.2.1 输出重定向 1.2.2 输入重定向 1.2.3 wc命令基本用法 1.3 别名 1.3.1 which命令基本语法 1.3.2 alias命令基本语法 1.4 压缩归档tar 1.4.1 第一种:gzip压缩 1.4.2 第二种:bzip…

SpringBoot3 简单集成 Mybatis plus

SpringBoot3 集成 Mybatis plus 1、引入Mybatisplus的starter <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-spring-boot3-starter</artifactId><version>3.5.7</version></dependency>2、引入数据…

前端HTML基础笔记

HTML&#xff08;HyperText Markup Language&#xff0c;超文本标记语言&#xff09;是一种用于创建网页的标准标记语言。它通过一系列的元素&#xff08;或称为标签&#xff09;来定义网页的结构和内容。HTML文档由一系列的元素组成&#xff0c;这些元素可以包含文本、图片、链…

LEAP模型在能源环境发展、碳排放建模预测及分析中实践应用

在国家“3060”碳达峰碳中和的政策背景下&#xff0c;如何寻求经济-能源-环境的平衡有效发展是国家、省份、城市及园区等不同级别经济体的重要课题。根据国家政策、当地能源结构、能源技术发展水平以及相关碳排放指标制定合理有效的低碳能源发展规划需要以科学准确的能源环境发…

培训第九周(部署k8s基础环境)

一、前期系统环境准备 1、关闭防火墙与selinux [rootk8s-master ~]# systemctl stop firewalld[rootk8s-master ~]# systemctl disable firewalldRemoved symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.Removed symlink /etc/systemd/system/dbus-o…

机器学习-神经网络:循环神经网络(RNN)详解

引言 在当今人工智能(AI)和深度学习(DL)领域,循环神经网络(RNN)作为一种专门处理序列数据的模型,具有不可忽视的重要性。RNN 的设计目标是模拟和处理序列中的时间依赖关系,使其成为许多应用场景的理想选择,如自然语言处理(NLP)、时间序列预测和语音识别等。它不仅…

【C语言】插入排序、希尔排序——动图展示

目录 1. 插入排序1.1 基本概念1.2 实现思路1.3 代码部分 2. 希尔排序2.1 为什么会有希尔排序&#xff1f;2.2 基本概念2.3 实现思想1&#xff09;单组排序2&#xff09;多组排序 2.4 代码部分 3. 总结 1. 插入排序 1.1 基本概念 把待排序的记录逐个插入到一个已经排好序的有序…

[数据集][目标检测]电动车头盔佩戴检测数据集VOC+YOLO格式4235张5类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;4235 标注数量(xml文件个数)&#xff1a;4235 标注数量(txt文件个数)&#xff1a;4235 标注…

在OpenEuler(欧拉)系统上用kubeadm部署(k8s)Kubernetes集群

一、OpenEuler(欧拉) 系统简介 openEuler 是开放原子开源基金会&#xff08;OpenAtom Foundation&#xff09;孵化及运营的开源项目&#xff1b; openEuler作为一个操作系统发行版平台&#xff0c;每两年推出一个LTS版本。该版本为企业级用户提供一个安全稳定可靠的操作系统。…

[数据集][目标检测]智慧农业草莓叶子病虫害检测数据集VOC+YOLO格式4040张9类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;4040 标注数量(xml文件个数)&#xff1a;4040 标注数量(txt文件个数)&#xff1a;4040 标注…

10个好用的AI写作工具【亲测免费】

1. 光速写作 传送入口&#xff1a;http://u3v.cn/6hXWYa AI打工神器&#xff0c;一键生成文章&ppt 2. 讯飞写作 传送入口&#xff1a;http://m6z.cn/5ODiSw 3. 讯飞绘文 传送入口&#xff1a;https://turbodesk.xfyun.cn/?channelidgj3 4. AI排版助手 传送入口&#…

jenkins 安装

jenkins安装 jenkins官网 中文网址 安装设置 所有jenkins版本 内存512M以上&#xff0c;10Gb磁盘&#xff1b;安装jdk&#xff0c;需要java8以上下载较新的版本&#xff0c;否则安装插件时可能报错版本过低 # 搜索java yum search java | grep -iE "jdk"# 安装jd…

网络安全知识科普:什么是网络准入控制系统?有哪些?

在当今数字化时代&#xff0c;网络安全已成为企业和组织不可忽视的重要议题。随着远程工作模式的普及和物联网设备的增加&#xff0c;网络边界越来越模糊&#xff0c;传统防火墙已经不足以应对日益复杂的威胁环境。在这种背景下&#xff0c;网络准入控制系统(Network Access Co…

最多购买宝石数目

题目描述 橱窗里有一排宝石&#xff0c;不同的宝石对应不同的价格&#xff0c;宝石的价格标记为 gems[i] 0≤i<nn gems.length 宝石可同时出售0个或多个&#xff0c;如果同时出售多个&#xff0c;则要求出售的宝石编号连续; 例如客户最大购买宝石个数为m&#xff0c;购买…