点击下方卡片,关注“CVer”公众号

AI/CV重磅干货,第一时间送达

作者:胖达憨憨(源:知乎,已授权)| 编辑:CVer公众号
https://zhuanlan.zhihu.com/p/654278001
在CVer微信公众号后台回复:FLA,可以下载本论文pdf和代码
FLatten Transformer: Vision Transformer using Focused Linear Attention
论文:https://arxiv.org/abs/2308.00442

代码(已开源):
https://github.com/LeapLabTHU/FLatten-Transformer
Abstract
自注意力的计算复杂性在将Transformer模型应用于视觉任务时一直是一个持续的挑战。与此相反,线性注意力通过通过精心设计的映射函数来近似Softmax操作,提供了一个计算复杂性为线性的更高效的选择。然而,目前的线性注意力方法要么遭受明显的性能下降,要么引入了来自映射函数的额外计算开销。在这篇论文中,我们提出了一个新颖的“聚焦线性注意”模块,旨在实现高效率和表达能力。具体来说,我们首先从焦点能力和特征多样性两个角度分析了线性注意力性能下降的因素。为了克服这些局限性,我们引入了一个简单而有效的映射函数和一个高效的等级恢复模块,以增强自注意力的表达能力,同时保持低计算复杂性。大量的实验表明,我们的线性注意力模块适用于多种先进的视觉Transformers,并在多个基准测试中均实现了持续改进的性能。

Introduction

近年来,Transformer和自注意力在计算机视觉领域得到了广泛的发展,尤其是随着ViT的出现,自注意力技术在各种视觉任务中都显示出了巨大的潜力。然而,将Transformer应用于视觉模型是一个复杂的任务。与轻量级卷积神经网络相比,自注意力具有O(n^2)的计算复杂性,这在全局感受野中会导致高计算成本。尽管某些方法试图通过限制全局感受野的大小来减轻这一挑战,但这些方法可能会忽视其他区域的信息特征或牺牲建模长距离依赖关系的能力。线性注意力被视为一个简单有效的替代方案,但相对于Softmax注意力,现有的线性注意力方法仍存在性能下降,并可能引入额外的计算开销。在这篇论文中,我们针对现有线性注意力方法的局限性提出了一个新颖的“聚焦线性注意力”模块,该模块旨在实现高效率和高表达能力。我们经验性地验证了我们模块在图像分类、语义分割和目标检测任务上的有效性,并使用五种先进的ViT模型。结果表明,我们的方法相对于所有基线和其他线性注意力方法都有一致的改进。
其中关于token数量的计算复杂度减少到O(N)。
然而,当前的线性注意力方法也面临着模型复杂度与表现力之间的两难选择。一方面,简单的近似,例如使用ReLU激活,过于宽松,导致了明显的性能下降。另一方面,新的核函数或矩阵分解方法可能导致额外的计算开销。总的来说,线性注意力和Softmax注意力之间在实际性能上仍然存在差距。
在CVer微信公众号后台回复:FLA,可以下载本论文pdf和代码

Focused Linear Attention

尽管线性注意力具有线性的计算复杂度,但是多个之前的研究已经证明,简单地将Softmax注意力替换为线性注意力通常会导致严重的性能下降。在这一部分,我们首先从两个角度:聚焦能力和特征多样性,对线性注意力的性能进行详细分析。接着,我们介绍我们的“Focused Linear Attention”(专注线性注意力)方法,这一方法充分地解决了这些问题,并实现了高效率和高表达能力。
聚焦能力
实际上,Softmax注意力提供了一个非线性的重新加权机制,这使得它能够很容易地集中于重要的特征。如图3所示,Softmax注意力的注意力分布图在某些区域特别明显,例如前景物体。相比之下,线性注意力的分布相对平滑,使其输出更接近所有特征的平均值,并未能集中在更具信息性的区域。
为了解决这一问题,我们提出了一个简单但有效的解决方案,通过调整每个查询和关键特征的方向,使相似的Query-Key对更接近,而将不相似的Query-Key对推远。具体地说,我们提出了一个名为“Focused Function”(专注函数)的简单映射函数 fp :
详细通俗的解释如下:
1. 背景
Softmax注意力线性注意力是两种不同的计算注意力权重的方法。其中,Softmax注意力有一个优势,它可以非常明确地关注于某些特定的特征(例如图像中的某个目标)。但是,直接用线性注意力替代Softmax注意力通常会导致性能下降,原因之一是线性注意力的输出往往更加平滑,不能很好地突出那些重要的特征。
2. 焦点能力
这里提到的焦点能力是指注意力模型的能力,能够集中关注于输入特征中的某些重要部分,而不是给所有特征平均的关注度。例如,如果我们要处理一张有猫的图片,那么Softmax注意力可能会更多地关注猫的位置,而线性注意力可能会更均匀地关注整张图片。
3. 专注函数 fp
为了解决线性注意力的这个问题,作者提出了一个叫做专注函数 fp的新方法。这个函数的目的是调整每个Query和Key特征的方向,使相似的Query-Key对更接近,而不相似的Query-Key对更远。
给定两个特征 x和 y ,如果它们的最大值在同一位置(即 m=n ),那么经过这个函数处理后,它们的内积(也可以理解为相似度)会比原来更大。如果它们的最大值不在同一位置,则它们的内积会比原来更小。
4. 为什么要这样做?
通过这样的调整,我们可以使相似的Query-Key对之间的相似度变得更高,而不相似的Query-Key对之间的相似度变得更低。这样做的结果是,我们得到了一个更加“尖锐”的注意力分布,类似于Softmax注意力的分布。例如,使用这个函数处理后,图像中的猫可能会得到更高的关注度,而背景部分可能会得到更低的关注度。

Feature diversity

本文继续讨论了线性注意力(Linear Attention)在ViT(如 DeiT-Tiny 和 Swin Transformer)中的局限性,并提出了一个解决方案。
线性注意力的局限性
1. 注意力矩阵的秩(Rank): 在传统的Transformer模型中,注意力矩阵的秩通常是满秩的(full rank),这意味着该矩阵具有很高的特征多样性。这有助于更精确地聚合来自值(Values)的特
--- 总结 ---

Focused linear attention module

Focused Linear Attention模块
基于上述分析,文章提出了一个名为Focused Linear Attention的新型线性注意力模块。该模块在保持表达能力的同时减少了计算复杂性。
Focused Linear Attention模块的数学表达为:
在CVer微信公众号后台回复:FLA,可以下载本论文pdf和代码

点击进入—>【目标检测和Transformer】交流群
ICCV / CVPR 2023论文和代码下载
后台回复:CVPR2023,即可下载CVPR 2023论文和代码开源的论文合集
后台回复:ICCV2023,即可下载ICCV 2023论文和代码开源的论文合集
目标检测和Transformer交流群成立
扫描下方二维码,或者添加微信:CVer333,即可添加CVer小助手微信,便可申请加入CVer-目标检测或者Transformer 微信交流群。另外其他垂直方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、PyTorch、TensorFlow和Transformer、NeRF等。
一定要备注:研究方向+地点+学校/公司+昵称(如目标检测或者Transformer+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群
▲扫码或加微信号: CVer333,进交流群
CVer计算机视觉(知识星球)来了!想要了解最新最快最好的CV/DL/AI论文速递、优质实战项目、AI行业前沿、从入门到精通学习教程等资料,欢迎扫描下方二维码,加入CVer计算机视觉,已汇集数千人!
扫码进星球
▲点击上方卡片,关注CVer公众号
整理不易,请点赞和在看

继续阅读
阅读原文