YOLOv8目标检测创新改进与实战案例专栏
专栏目录: YOLOv8有效改进系列及项目实战目录 包含卷积,主干 注意力,检测头等创新机制 以及 各种目标检测分割项目实战案例
专栏链接: YOLOv8基础解析+创新改进+实战案例
介绍
摘要
注意力模块是Transformer的关键组件。虽然全局注意力机制具有很高的表达能力,但其过高的计算成本限制了其在各种场景中的适用性。本文提出了一种新的注意力范式,称为Agent Attention,以在计算效率和表示能力之间取得有利的平衡。具体而言,Agent Attention表示为四元组(Q, A, K, V),在传统注意力模块中引入了一组额外的代理令牌A。代理令牌首先作为查询令牌Q的代理,从K和V中聚合信息,然后将信息广播回Q。鉴于代理令牌的数量可以设计得远小于查询令牌的数量,Agent Attention比广泛采用的Softmax注意力效率更高,同时保留了全局上下文建模能力。有趣的是,我们证明了所提出的Agent Attention等同于广义形式的线性注意力。因此,Agent Attention无缝集成了强大的Softmax注意力和高效的线性注意力。大量实验证明了Agent Attention在各种视觉Transformer和不同视觉任务中的有效性,包括图像分类、目标检测、语义分割和图像生成。值得注意的是,Agent Attention在高分辨率场景中表现出色,这得益于其线性注意力的特性。例如,在应用于Stable Diffusion时,Agent Attention加速了生成并显著提升了图像生成质量,无需额外的训练。代码可在https://github.com/LeapLabTHU/Agent-Attention获取。
文章链接
论文地址:论文地址
代码地址:代码地址
基本原理
Agent Attention设计方式
本文,创新性地向注意力三元组 (Q,K,V) 引入了一组额外的代理向量 A,定义了一种四元的代理注意力范式 (Q, A, K, V)。如图 1 © 所示,在代理注意力中, 不会直接计算 Q 和 K 之间两两的相似度,而是使用少量的代理向量 A 来收集 K 和 V 中的信息,进而呈递给 Q,以很低的计算成本实现全局信息的建模。从整体结构上看,代理注意力由两个常规 Softmax 注意力操作组成,并且等效为一种广义的线性注意力,实现了高性能 Softmax 注意力和高效线性注意力的自然融合,因而同时具有二者的优点,即:计算复杂度低且模型表达能力强。
Agent Attention block
为了更好地发挥代理注意力的潜力,本文进一步做出了两方面的改进。一方面, 定义了 Agent Bias 以促进不同的代理向量聚焦于图片中不同的位置,从而更好地利用位置信息。另一方面,作为一种广义的线性注意力,代理注意力也面临特征多样性不足的问题,因此我们采用一个轻量化的 DWC 作为多样性恢复模块。
在以上设计的基础上,本文提出了一种新的代理注意力模块,其结构如下图: