今天给大家带来最近一项非常有意思的研究通过计算出,交叉注意力的输出会趋向于一个固定点。 然后在保真度提升阶段忽略文本条件不仅可以减少计算的复杂性。并提出了TGATE这种简单而无需训练的方法,用于高效地生成图像。
TGATE的做法是,一旦交叉注意力的输出达到收敛,就将其缓存下来,并在剩余的推理步骤中保持不变。
相关链接
项目地址:https://github.com/HaozheLiu-ST/T-GATE?continueFlag=265b4aee9e8b3952ecced5f9268f1118 论文地址:https://arxiv.org/abs/2404.02747
项目简介
交叉注意力在文本到图像扩散模型中的作用
在文本到图像的扩散模型中,交叉注意力是一个关键组件,它在模型的初期推理步骤中发挥着重要作用。
然而,研究表明,交叉注意力的输出在经过几个推理步骤后会收敛到一个固定点,这一点自然地将整个推理过程分为两个阶段:语义规划阶段和保真度提高阶段。
-
在语义规划阶段,模型依赖交叉注意力来规划以文本为导向的视觉语义;
-
在保真度提高阶段,模型则尝试根据先前规划的语义生成图像。
令人惊讶的是,在保真度提高阶段忽略文本条件不仅可以降低计算复杂性,而且还能保持模型性能。
方法提出
基于上述发现,作者提出了一种称为TGATE的简单且无需训练的方法,用于高效生成图像。
TGATE的核心思想是在交叉注意力输出收敛后将其缓存,并在剩余的推理步骤中保持固定。这种方法通过减少冗余的交叉注意力计算,显著提高了模型的推理效率,尤其是在处理高分辨率输入时。
TGATE方法在多个模型上的应用证明了其有效性,包括SD-XL和PixArt-Alpha等。
快速介绍
我们发现交叉注意力输出在初始去噪步骤中收敛到一个固定点。因此,整个推理过程可以分为两个阶段:初始语义规划阶段,在此期间模型依靠文本来规划视觉语义;以及随后的保真度改进阶段,在此期间模型尝试根据先前的图像生成图像。计划的语义。令人惊讶的是,在保真度提高阶段忽略文本条件不仅降低了计算复杂度,而且还略微降低了 FID 分数。这产生了一种简单且无需训练的方法,称为 TGATE,用于高效生成,一旦交叉注意力输出收敛,该方法就会对其进行缓存,并在剩余的推理步骤中保持固定。
上图为使用/不使用TGATE的扩散模型生成的图像。我们的方法可以加速扩散模型,而不会降低发电性能。它无需训练就可以对现有研究进行广泛补充。
主要特点
-
免训练
-
轻松集成到现有框架中
-
只需要几行代码
-
友好支持基于CNN的U-Net、Transformer、一致性模型
-
不同扩散模型加速10%-50%
关键的观察
扩散模型在不同去噪步骤生成的图像。第一行将文本嵌入提供给所有步骤的交叉注意模块。第二行仅使用第1步到第10步的文本嵌入,第三行输入第11步到第25步的文本嵌入。
观察总结如下:
-
交叉注意力在推理过程的早期收敛,其特点是语义规划和保真度提高阶段。这两个阶段交叉注意力的影响并不均匀。
-
语义规划通过交叉注意力嵌入文本以获得视觉语义。
-
保真度提高阶段无需交叉注意即可提高生成质量。事实上,在此阶段嵌入空文本可以提高性能。
结果
通过在MS-COCO验证集上的实验,作者证实了TGATE方法的有效性。实验结果显示,TGATE能够显著减少每张图像的多次累积操作(MACs)并消除保真度提高阶段的大量参数,从而在不牺牲生成质量的情况下,将延迟降低了约50%。此外,TGATE还能够在不同的噪声调度器和基础模型上保持稳定的生成性能,显示出其广泛的适用性。
感谢你看到这里,也欢迎点击关注下方公众号,一个有趣有AI的AIGC公众号:关注AI、深度学习、计算机视觉、AIGC、Stable Diffusion、Sora等相关技术,欢迎一起交流学习💗~