摘要
自我注意的二次计算复杂度在将 Transformer 模型应用于视觉任务时,这是一个长期存在的问题。除了减少注意力区域外,线性注意力也被认为是避免过多计算成本的有效解决方案。通过使用精心设计的映射函数来逼近 Softmax,线性注意力可以在自注意力操作中切换计算顺序并实现线性复杂度,然而,当前的线性注意力方法要么遭受严重的性能下降,要么涉及 map 函数的额外计算开销。在本文中,作者提出了一种新的 Focused Linear Attention 模块,以实现高效率和表现力。Softmax Attention 和 Linear Attention时间复杂度比较如下图(摘自官方论文)。
# 理论介绍
通过引入一种新的线性注意力机制,称为Focused Linear Attention,来解决现有线性注意力方法在视觉任务中的性能下降问题,传统的自注意力机制具有二次计算复杂度,在处理长序列时非常耗费计算资源。而线性注意力通过减少计算复杂度来解决这个问题,但通常会带来性能下降或引入额外的计算开销。Focused Linear Attention 通过两方面的改进来提高性能:
-
关注能力(Focus Ability):传统线性注意力的权重分布过于平滑,无法有效关注到关键信息。为了解决这个问题,提出了一种简单的映射函数来增强注意力权重的辨别能力,使模型能更加集中于重要的特征。
-
特征多样性(Feature Diversity):线性注意力的矩阵秩较低,限制了其对特征的多样性表示能力。作者通过引入一个深度卷积模块(DWC)来恢复注意力矩阵的秩,保证输出特征的多样性。
理论详解可以参考链接:论文地址
代码可在这个链接找到:代码地址
下文都是手把手教程,跟着操作即可添加成功
目录
- 摘要
- # 理论介绍
- 🎓一、YOLOv9原始版本代码下载
-
- 🍀🍀1.yolov9模型结构图
- 🍀