MicroDiffusion——采用新的掩码方法和改进的 Transformer 架构,实现了低预算的扩散模型
介绍
论文地址:https://arxiv.org/abs/2407.15811
现代图像生成模型擅长创建自然、高质量的内容,每年生成的图像超过十亿幅。然而,从头开始训练这些模型极其昂贵和耗时。文本到图像(T2I)扩散模型降低了部分计算成本,但仍需要大量资源。
目前最先进的技术需要大约 18 000 个 A100 GPU 小时,而使用 8 个 H100 GPU 进行训练则需要一个多月的时间。此外,该技术通常依赖于大型或专有数据集,因此难以普及。
在这篇评论性论文中,我们开发了一种低成本、端到端文本到图像扩散建模管道,目的是在没有大型数据集的情况下显著降低成本。它侧重于基于视觉变换器的潜在扩散模型,利用其简单的设计和广泛的适用性。为了降低计算成本,可通过随机屏蔽输入标记来减少每幅图像需要处理的斑块数量。本文克服了现有遮蔽方法在高遮蔽率下性能下降的难题。
为了克服文本到图像扩散模型性能不佳的问题,本文提出了一种 "延迟掩蔽 "策略。通过在轻量级补丁混合器中处理补丁,然后将其输入扩散变换器,可以低成本实现可靠的训练,同时即使在高掩蔽率下也能保留语义信息。它还结合了变压器架构的最新发展,以提高大规模训练的性能。
该实验训练了一个 1.16 亿参数的稀疏扩散变换器,预算仅为 1,890 美元、3,700 万张图像和 75% 的屏蔽率。结果,在 COCO 数据集上零镜头生成的 FID 达到了 12.7。在一台 8×H100 GPU 机器上的训练时间仅为 2.6 天,与目前最先进的方法(37.6 天,GPU 成本 28,400 美元)相比缩短了 14 倍。
建议方法
延迟掩蔽
由于变换器的计算复杂度与序列的长度成正比,降低训练成本的一种方法是通过使用大尺寸补丁来减少序列,如图 1-b 所示。使用大尺寸补丁可使每幅图像的补丁数量呈二次方减少,但由于图像的大区域会被主动压缩成单个补丁,因此会显著降低性能。
一种方法是使用遮罩去除变换器输入层中的一些斑块,如图 1-c 所示,同时保持斑块大小。这种方法类似于卷积网络中的随机裁剪训练,但遮蔽补丁可以在图像的非连续区域进行训练。这种方法被广泛应用于视觉和语言领域。
图 1-d 中的MaskDiT还增加了补充自编码损失,以鼓励从遮蔽的斑块中学习表示法,从而促进遮蔽斑块的重建。这种方法屏蔽了 75% 的输入图像,大大降低了计算成本。
图 1.压缩补丁序列以降低计算成本。
然而,高遮罩率会大大降低转换器的整体性能:即使使用 MaskDiT,也只能看到与简单遮罩相比的微弱改进。这是因为即使采用这种方法,大部分图像斑块也会在输入层被去除。
本文引入了一个名为 "补丁混合器 "的预处理模块,用于在屏蔽之前处理补丁嵌入。这可确保未屏蔽的补丁保留整个图像的信息,从而提高学习效率。这种方法有可能提高性能,同时在计算上与现有的 MaskDiT 策略相当。
补丁混合器和学习障碍
补片混合器指的是任何能够融合单个补片嵌入的神经架构。在变换器模型中,这一目标自然可以通过注意机制和前馈层的结合来实现。因此,本文使用轻量级变压器(只有几层)作为补片混合器。输入序列标记经补丁混合器处理后,将被屏蔽(图 2e)。假定掩码为二进制 m,则使用以下损失函数对模型进行训练。
引入专家混合(MoE)和分层缩放的变换器架构
论文采用了先进变压器结构的创新技术,在计算受限的情况下提高了模型性能。
- 专家混合物(MoE,Zhou 等人,2022 年):使用 MoE 层扩展模型的参数和表现力,同时避免训练成本的显著增加 简化的 MoE 层与专家选择路由允许额外的辅助损失函数无需调整负载。
- 分层缩放 (Mehta 等人,2024 年 ):这种方法已被证明能提高大型语言模型的性能,其中变换器块的宽度(隐藏层的维度)随深度线性增加。更多的参数被分配给更深的层,以学习更复杂的特征。
整体架构如图 2 所示。
图 2:拟议方法的总体概览。
试验
验证延迟遮蔽和补丁混合器的有效性
当许多补丁被遮蔽时,遮蔽性能会下降;Zheng 等人(2024 年)指出,当遮蔽率超过 50%,MaskDiT 的性能会显著下降。本文评估了遮蔽率高达 87.5% 时的性能,并将其与不使用补丁混合器的传统天真遮蔽方法进行了比较。本文中的 "延迟掩蔽 "使用了一个四层变压器块贴片混合器,其参数小于主干变压器参数的 10%。两者都使用了设置完全相同的 AdamW 优化器。
图 3 对结果进行了总结。延迟掩蔽在所有指标上都明显优于天真掩蔽和MaskDiT,表明随着掩蔽率的增加,性能差异也在扩大。例如,在屏蔽率为 75% 时,原始屏蔽的 FID 得分为 80,MaskDiT 的FID 得分为16.5,而拟议方法的 FID 得分为 5.03,优于未屏蔽时的 3.79。
图 3:验证延迟屏蔽和贴片混频器的有效性。
验证 "专家混合 "和 "分层缩放 "的有效性
分层缩放: 使用 DiT-Tiny 架构进行的实验比较了分层缩放和恒宽变换器与天真屏蔽。两个模型都在相同的计算负荷下进行了相同时间的训练。在所有性能指标上,逐层缩放方法始终优于恒定宽度模型,而且在屏蔽训练中更为有效。
专家混合物(MoE): 测试了在交替区块中具有 MoE 层的 DiT-Tiny/2 变压器。总体性能与无 MoE 层的基线模型相似,Clip-score 略有提高(从 28.11 到 28.66),FID 分数有所下降(从 6.92 到 6.98)。改进幅度有限的原因是 60K 步的训练和每位专家看到的样本量较小。
与以往研究的比较
COCO 数据集(表 1)上的零镜头图像生成: 根据标题生成 30 000 幅图像,并使用 FID-30K 比较其与真实图像的分布情况。拟议方法的FID-30K 得分为 12.66,与之前的低成本训练方法相比,计算成本降低了 14 倍,而且不依赖于专有数据集。该方法的计算成本也比 Würstchen 低 19 倍(Pernias et al.)
表 1:在 COCO 数据集上生成零镜头图像
详细图像生成比较**(表 2)****:**GenEval(Ghosh 等人,2024 年)用于评估生成物体位置、共现、数量和颜色的能力。与 Stable-DiffusionXL-turbo 和 PixArt-α 模型相比,拟议方法在单个物体生成方面的准确性接近完美,与 Stable-Diffusion 变体相当,优于 Stable-Diffusion-1.5。在以下方面也表现出卓越的性能
表 2.详细图像生成对比
总结
本评论文章重点讨论了旨在降低扩散变换器训练计算成本的补丁掩蔽策略。本文提出了一种 "延迟掩蔽 "策略,以缓解现有掩蔽方法的不足,并显示了所有掩蔽比率下的显著性能改进。
特别是使用了 75% 的延迟掩蔽率,并在真实和合成图像数据集上进行了大规模训练。尽管与最先进的技术相比成本大大降低,但还是取得了具有竞争力的零镜头图像生成性能结果。希望这种低成本的训练机制能鼓励更多研究人员参与大规模扩散模型的训练和开发。
相关文章:

MicroDiffusion——采用新的掩码方法和改进的 Transformer 架构,实现了低预算的扩散模型
介绍 论文地址:https://arxiv.org/abs/2407.15811 现代图像生成模型擅长创建自然、高质量的内容,每年生成的图像超过十亿幅。然而,从头开始训练这些模型极其昂贵和耗时。文本到图像(T2I)扩散模型降低了部分计算成本&a…...
QWT 之 QwtPlotDirectPainter直接绘制
QwtPlotDirectPainter 是 Qwt 库中用于直接在 QwtPlot 的画布上绘制图形的一个类。它提供了一种高效的方法来实时更新图表,特别适合需要频繁更新的数据可视化应用,例如实时数据流的显示。 使用 QwtPlotDirectPainter 的主要优势在于它可以绕过 QwtPlot 的…...

埃斯顿机器人程序案例多个点位使用变量
多个点位使用变量取放...
【数据分析】贝叶斯定理
文章目录 一、贝叶斯定理的基本形式二、贝叶斯定理的推导三、贝叶斯定理的应用四、贝叶斯定理的优势与挑战 贝叶斯定理(Bayes Theorem)是概率论中的一个重要公式,它提供了一种根据已有信息更新事件发生概率的方式。贝叶斯定理的核心思想是通过…...

学AI编程的Prompt工程,marscode
利用marscode做个创意应用 Datawhale-AI活动 首先把自己的创意告诉marscode,marscode会针对你的创意开始写代码。如果在把创意给marscode前有更好的梳理,会有更好的结果。 对于一个新开始的项目,只需要点击apply进行应用 由于ai的效果不稳定…...
python中的与时间相关的模块
python中的与时间相关的模块 1. time 模块2. datetime 模块3. calendar 模块4. timeit 模块5. pytz 模块6. dateutil 模块参考资料 1. time 模块 time 模块提供了时间相关的函数,主要用于测量时间间隔、获取当前时间、格式化时间等 主要功能 获取当前时间ÿ…...
【Python运维】构建基于Python的自动化运维平台:用Flask和Celery
《Python OpenCV从菜鸟到高手》带你进入图像处理与计算机视觉的大门! 解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 在现代IT运维中,自动化运维平台扮演着至关重要的角色,它能够显著提高运维效率,减少人为错误,并且增强系统的可维护性。本文将引导读者如…...

Qt 12.28 day3
作业: 1】 思维导图 2】 在登录界面的登录取消按钮进行以下设置: 使用手动连接,将登录框中的取消按钮使用qt4版本的连接到自定义的槽函数中,在自定义的槽函数中调用关闭函数 将登录按钮使用qt5版本的连接到自定义的槽函数中&a…...
Java爬虫获取速卖通(AliExpress)商品详情
1. 环境准备 在开始编写爬虫之前,需要准备以下环境和工具: Java开发环境:确保你的计算机上安装了Java开发工具包(JDK)。IDE:选择一个Java集成开发环境,如IntelliJ IDEA、Eclipse等。第三方库&…...

Learning Multi-Scale Photo Exposure Correction
Abstract 用错误的曝光捕捉照片仍然是相机成像的主要错误来源。曝光问题可分为以下两类:(i)曝光过度,即相机曝光时间过长,导致图像区域明亮和褪色;(ii)曝光不足,即曝光时间过短,导致图像区域变暗。曝光不足和曝光过度都会大大降低…...
【Rust自学】7.4. use关键字 Pt.1:use的使用与as关键字
喜欢的话别忘了点赞、收藏加关注哦,对接下来的教程有兴趣的可以关注专栏。谢谢喵!(・ω・) 7.4.1. use的作用 use的作用是将路径导入到当前作用域内。而引入的内容仍然是遵守私有性原则,也就是只有公共的部分引入进来才…...
C++ 设计模式:门面模式(Facade Pattern)
链接:C 设计模式 链接:C 设计模式 - 代理模式 链接:C 设计模式 - 中介者 链接:C 设计模式 - 适配器 门面模式(Facade Pattern)是一种结构型设计模式,它为子系统中的一组接口提供一个一致&#…...

从0到100:基于Java的大学选修课选课小程序开发笔记(上)
背景 为学生提供便捷的课程选择方式,并帮助学校进行课程管理和资源调配;主要功能包括:课程展示,自主选课,取消选课,后台录入课程,统计每门课程报名情况,导出数据,用户管…...
【算法题解】B. President‘s Office - Python实现
题目描述 Berland的总统办公室内设有多个办公桌,其中总统和其属下各自拥有独特颜色的办公桌。总统希望统计哪些属下的办公桌紧邻他的办公桌,但不记得确切的数量。 输入描述: 第一行包含三个值 n, m, c,分别是办公室的长度、宽度…...
【Spring Boot 】详解
Spring Boot 详解 一、Spring Boot 概述 (一)产生背景 随着 Java 应用的日益复杂,传统 Spring 框架在项目搭建与配置方面愈发繁琐,大量的 XML 配置、依赖管理等工作耗费开发者诸多精力。为解决这些痛点,Spring Boot …...
Redisson 框架详解
目录 一.为什么要使用分布式锁? 二.Redisson 的基本使用: 1.添加 Redisson 依赖: 2.在 application.yml 配置 Redis: 3. 创建 Redisson 客户端: (1)单节点模式: (…...
正确导入MapStruct并避免与Lombok编译冲突的深入分析
正确导入MapStruct并避免与Lombok编译冲突的深入分析 一、MapStruct与Lombok概述 1.1 MapStruct简介 MapStruct是一个代码生成器,它基于约定优于配置的原则,通过注解处理器在编译时自动生成源代码,实现对象之间的属性映射。MapStruct的优势在于减少样板代码,提高开发效率…...
K8S 黑魔法之如何从 Pod 拿到节点的命令行
搞 K8S 运维的时候,偶尔会遇到一个难题,定位到问题出在某个节点上,而由于权限审批,错误配置等等各种原因,没有办法拿到节点的 SSH 权限,无法进入节点命令行进一步排障。 这个时候,就可以用这个…...
【bluedroid】A2dp Source播放流程源码分析(4)
接上集分析:【bluedroid】A2dp Source播放流程源码分析(3)-CSDN博客 蓝牙和AUDIO之间的接口 蓝牙和audio之间的通信是通过socket,管理socket中的文件是UIPC,UIPC管理两条socket。 A2DP_CTRL_PATH /data/misc/bluedroid/.a2dp_ctrl A2DP_DATA_PATH /data/misc/bluedroid…...

计算机网络 (9)数据链路层
前言 计算机网络中的数据链路层(Data Link Layer)是OSI(开放系统互连)参考模型中的第二层,位于物理层和网络层之间。它在物理层提供的服务基础上,负责在相邻节点之间建立、维护和终止链路,确保数…...
Android Wi-Fi 连接失败日志分析
1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分: 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析: CTR…...
FastAPI 教程:从入门到实践
FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,支持 Python 3.6。它基于标准 Python 类型提示,易于学习且功能强大。以下是一个完整的 FastAPI 入门教程,涵盖从环境搭建到创建并运行一个简单的…...

【机器视觉】单目测距——运动结构恢复
ps:图是随便找的,为了凑个封面 前言 在前面对光流法进行进一步改进,希望将2D光流推广至3D场景流时,发现2D转3D过程中存在尺度歧义问题,需要补全摄像头拍摄图像中缺失的深度信息,否则解空间不收敛…...
【HTTP三个基础问题】
面试官您好!HTTP是超文本传输协议,是互联网上客户端和服务器之间传输超文本数据(比如文字、图片、音频、视频等)的核心协议,当前互联网应用最广泛的版本是HTTP1.1,它基于经典的C/S模型,也就是客…...
OpenLayers 分屏对比(地图联动)
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能,和卷帘图层不一样的是,分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...

GC1808高性能24位立体声音频ADC芯片解析
1. 芯片概述 GC1808是一款24位立体声音频模数转换器(ADC),支持8kHz~96kHz采样率,集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器,适用于高保真音频采集场景。 2. 核心特性 高精度:24位分辨率,…...

【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习
禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍流程步骤1. 输入数据2. 特征选择3. 模型训练4. I-Genes 评分计算5. 输出结果 IntelliGenesR 安装包1. 特征选择2. 模型训练和评估3. I-Genes 评分计…...

推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材)
推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材) 这个项目能干嘛? 使用 gemini 2.0 的 api 和 google 其他的 api 来做衍生处理 简化和优化了文生图和图生图的行为(我的最主要) 并且有一些目标检测和切割(我用不到) 视频和 imagefx 因为没 a…...

20个超级好用的 CSS 动画库
分享 20 个最佳 CSS 动画库。 它们中的大多数将生成纯 CSS 代码,而不需要任何外部库。 1.Animate.css 一个开箱即用型的跨浏览器动画库,可供你在项目中使用。 2.Magic Animations CSS3 一组简单的动画,可以包含在你的网页或应用项目中。 3.An…...
GitHub 趋势日报 (2025年06月06日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 590 cognee 551 onlook 399 project-based-learning 348 build-your-own-x 320 ne…...