FLatten Transformer:聚焦式线性注意力模块

news2025/4/7 15:25:58

线性注意力将Softmax解耦为两个独立的函数,从而能够将注意力的计算顺序从(query·key)·value调整为query·(key·value),使得总体的计算复杂度降低为线性。然而,目前的线性注意力方法要么性能明显不如Softmax注意力,并且可能涉及映射函数的额外计算开销
在这里插入图片描述

首先,以往线性注意力模块的注意力权重分布相对平滑,缺乏集中能力来处理最具信息量的特征。作为补救措施,我们提出了一个简单的映射函数来调整查询和关键字的特征方向,使注意权值更容易区分。其次,我们注意到注意力矩阵的降低秩限制了线性注意力特征的多样性。提出了一个秩恢复模块,通过对原始注意矩阵进行额外的深度卷积(DWC),有助于恢复矩阵秩,并保持不同位置的输出特征多样化。

聚焦能力
先前的一些工作中指出,在自注意力计算中,Softmax提供了一种非线性的权重生成机制,使得模型能够更好地聚焦于一些重要的特征。如下图所示,本文基于DeiT-tiny模型给出了注意力权重分布的可视化结果。可以看到,Softmax注意力能够产生较为集中、尖锐的注意力权重分布,能够更好地聚焦于前景物体;而线性注意力的分布则十分平均,这使得输出的特征接近所有特征的平均值,无法聚焦于更有信息量的特征。
在这里插入图片描述

Softmax Attention

在这里插入图片描述

Linear Attention

线性注意力被认为是一种有效的替代方法,它将计算复杂度从O(N2)限制到O(N)。具体来说,引入精心设计的核函数作为原始相似函数的近似,即

在这里插入图片描述

Focused Linear Attention

1、聚焦
在这里插入图片描述

在这里插入图片描述
2 、DWC 特征多样性

除聚焦能力外,特征多样性也是限制线性注意力性能的一个因素。本文基于DeiT-tiny可视化了完整的注意力矩阵,并计算了矩阵的秩,将Softmax注意力与线性注意力进行对比。从图中可以看到,Softmax注意力可以产生满秩的注意力矩阵,这反映出模型提取到的特征具有多样性。然而,线性注意力无法得到满秩的注意力矩阵,这意味着不同行的权重之间存在冗余性。。
在这里插入图片描述
线性注意力矩阵的秩会被每个head的维度d和特征数量N中的较小者所限制:

在这里插入图片描述

由于自注意力的输出是这些权重对同一组value加权组合得到的,权重的同质化就必然会导致模型输出的多样性下降,进而影响模型性能。
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1356314.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

webapp下没有蓝点解决

解决方法: File->Project Structure 现在就是一个JavaWeb项目了。

华为云CES监控与飞书通知

华为云负载均衡连接数监控与飞书通知 在云服务的日常运维中,持续监控资源状态是保障系统稳定性的关键步骤之一。本文通过一个实际案例展示了如何使用华为云的Go SDK获取负载均衡器的连接数,并通过飞书Webhook发送通知到团队群组,以便运维人员…

2024 Nomachine 最简安装与使用指南

一、前言 二、Nomachine安装包的下载 1、Windows系统下Nomachine包的下载 2、Linux系统Nomachine的下载 (1)下载Nomachine安装包 (2)解压安装包 (3)添加权限 (4)下载安装包 三、在Wi…

基于GEC6818的点餐系统

本次项目开发环境:gec6818,QT5.14.2,SecureCRT。 所使用的相关技术:c/s架构,STL库,C封装,标准化代码编写 实现的功能:用户登录页面,食品分区在不同页面,用户…

2023海内外零知识证明学习资料汇总(二)(深入理解零知识证明篇)

工欲善其事,必先利其器 Web3开发中,各种工具、教程、社区、语言框架.。。。 种类繁多,是否有一个包罗万象的工具专注与Web3开发和相关资讯能毕其功于一役? 参见另一篇博文👉 2024最全面且有知识深度的web3开发工具、web3学习项目…

Java中关键词strictfp有什么作用?

在Java中,关键词strictfp用于声明一个方法、类或接口是严格遵守浮点数计算规范的。 具体作用包括: 保证浮点数计算的结果在不同平台上是一致的,避免由于浮点数计算的不精确性导致的结果不确定性。 指定了严格的浮点数计算规则,禁…

【机器学习基础】DBSCAN

🚀个人主页:为梦而生~ 关注我一起学习吧! 💡专栏:机器学习 欢迎订阅!相对完整的机器学习基础教学! ⭐特别提醒:针对机器学习,特别开始专栏:机器学习python实战…

springboot实现用户操作日志记录

springboot实现用户操作日志记录 简介:之前写了《aop实现日志持久化记录》一文,主要介绍自定义aop标注方法上,通过切面方法对用户操作插入mysql。思路正确但是实际操作上存在一些小问题,本文将从项目出发,对细节进行补…

vue3+vant4 移动端软键盘弹出 收起导致项目样式布局错乱解决方案,亲测有效!!

问题描述 最近在做vue3 H5的移动端项目 我用的是vue3vant4,然后在使用过程中发现 小米14手机在点击密码输入框软键盘弹出 时会导致项目布局整体向上移动 导致页面布局错乱。 原因分析: 在移动端软键盘弹出收起时,导致项目样式布局错乱的原因…

内网DNS隐蔽隧道搭建之iodine工具

iodine iodine是基于C语言开发的,分为服务端和客户端。iodine支持转发模式和中继模式。其原理是:通过TAP虚拟网卡,在服务端建立一个局域网;在客户端,通过TAP建立一个虚拟网卡;两者通过DNS隧道连接&#xf…

前端开发加速器:十个VSCode插件精选

前端开发是一个不断发展的领域,随着技术的进步,工具也在不断更新。Visual Studio Code(VSCode)是前端开发者广泛使用的编辑器之一,得益于其强大的插件系统,可以帮助开发者提升工作效率。以下是十个对于前端…

任务需求分析中的流程图、用例图、er图、类图、时序图线段、图形的作用意义

任务需求分析中的流程图、用例图、er图、类图、时序图线段、图形的作用意义 流程图 流程图中各种图形的含义及用法解析 连接线符号 连接各要素,表示流程的顺序或过程的方向。 批注符号 批注或说明,也可以做条件叙述。 子流程 流程中一部分图形的逻辑…

程序员如何应对裁员-法律知识

目录 程序员如何应对裁员-法律知识 前言收到辞退消息后被要求主动离职可以赔偿多少呢裁员赔偿工资是指基本工资吗被强制接触劳动合同,也不愿意支付赔偿孕妇,公司让离职谈话之后,老板还是不愿意给补偿,我应该怎么办?离…

IO作业4.0

思维导图 创建出三个进程完成两个文件之间拷贝工作&#xff0c;子进程1拷贝前一半内容&#xff0c;子进程2拷贝后一半内容&#xff0c;父进程回收子进程的资源 #include <stdio.h> #include <string.h> #include <stdlib.h> #include <myhead.h> int …

CCNP课程实验-07-OSPF-Trouble-Shooting

目录 实验条件网络拓朴 环境配置开始排错错点1&#xff1a;R1-R2之间认证不匹配错误2&#xff1a;hello包的时间配置不匹配错误3&#xff1a;R2的e0/1接口区域配置不正确错误4&#xff1a;R4的e0/1接口没有配置进OSPF错误5&#xff1a;R2的区域1没有配置成特殊区域错误6&#x…

ASP.NETCore WebAPI 入门 杨中科

ASP.NETCore WebAPI入门1 回顾 mvc开发模式 前端代码和后端代码是混在一个项目之中 WEB API 1、什么是结构化的Http接口。Json。 2、Web API项目的搭建。 3、Web API项目没有Views文件夹。 4、运行项目&#xff0c;解读代码结构。 5、【启用OpenAPI支持】→>swagger,在界…

Pytorch从零开始实战15

Pytorch从零开始实战——ResNeXt-50算法实战 本系列来源于365天深度学习训练营 原作者K同学 文章目录 Pytorch从零开始实战——ResNeXt-50算法实战环境准备数据集模型选择开始训练可视化总结 环境准备 本文基于Jupyter notebook&#xff0c;使用Python3.8&#xff0c;Pytor…

高效分割视频:批量剪辑,轻松提取m3u8视频技巧

在数字媒体时代&#xff0c;视频分割是一项常见的需求。无论是为了编辑、分享还是其他要求&#xff0c;经常要将长视频分割成多个短片。传统的视频分割方法往往需要手动操作&#xff0c;既耗时又容易出错。现在来看云炫AI智剪高效分割视频的方法&#xff0c;批量剪辑并轻松提取…

nest框架的bull队列的基本使用

前言 nestjs/bull是一个用于处理队列的Nest.js模块。它基于Bull库&#xff0c;提供了在Nest框架中使用队列的功能&#xff0c;这个模块要跟redis联合起来使用 1.下载队列模块&#xff1a; npm install --save nestjs/bull bull redis 项目结构&#xff1a; 2. 在模块中导入B…

佳能G3800彩色喷墨多功能一体打印机报5B00错误代码处理方法

5B00错误代码的含义 5B00错误代码是指佳能G3800打印机的“废墨仓已满”。这个废墨仓是打印机内部的一个部件&#xff0c;主要用于收集打印过程中产生的废墨。当废墨仓已满时&#xff0c;打印机就会报5B00错误代码。 佳能G3800彩色喷墨多功能一体打印机报5B00错误代码处理办法 …