【AI学习】Mamba学习(二):线性注意力

上一篇《Mamba学习(一):总体架构》提到,Transformer模型的主要缺点是:自注意力机制的计算量会随着上下文长度的增加呈平方级增长。所以,许多次二次时间架构(指一个函数或算法的增长速度小于二次函数,但大于线性函数),如线性注意力、门控卷积和循环模型,以及结构化状态空间模型(SSM)被开发出来,以解决Transformer在长序列上的计算效率低下问题。

那先来了解一下什么是线性注意力。

关于线性注意力,已经有大量的文章,这里直接引用。

一、Softmax注意力与线性注意力

参见这篇文章《Softmax注意力与线性注意力的优雅融合》

(文章链接:https://mp.weixin.qq.com/s/ndQTSmf3RCCLU0xjd-nrkQ)

由于 Softmax 注意力是平方复杂度,直接进行全局自注意力的计算往往会带来过高的计算量。

针对这一问题,先前的工作通常通过减少参与自注意力计算的特征数量的方法来降低计算量。例如,设计稀疏注意力机制(如 PVT)或将注意力的计算限制在局部窗口中(如 Swin Transformer)。尽管有效,这样的自注意力方法很容易受到计算模式的影响,同时也不可避免地牺牲了自注意力的全局建模能力。

与 Softmax 注意力不同,线性注意力将 Softmax 解耦为两个独立的函数,从而能够将注意力的计算顺序从 (query・key)・value 调整为 query・(key・value),使得总体的计算复杂度降低为线性。

下面的图可以看的很清楚。

二、Softmax注意力与线性注意力的公式表达

参见这篇论文《Demystify Mamba in Vision: A Linear Attention Perspective (Arxiv 2024.05)》(论文地址:https://arxiv.org/pdf/2405.16605)

从上面的公式可以看出,Softmax 注意力的问题是,Softmax是非线性的函数,如果没有 Softmax,那么就是三个矩阵 (query・key)・value 连乘 ,而矩阵乘法满足结合率,可以调整为调整为 query・(key・value)。

(query・key)得到是n✖n的矩阵,(key・value)得到的是d✖d的矩阵。在d远小于n的情况下,复杂度就大致从O(n^2)降低到O(n)量级。

线性注意力将 Softmax 解耦为两个独立的函数,从而能够将注意力的计算顺序从 (query・key)・value 调整为 query・(key・value),使得总体的计算复杂度降低为线性。

三、苏神的几篇文章

《线性Attention的探索:Attention必须有个Softmax吗?》

文章链接:https://mp.weixin.qq.com/s/ziY7y9Lcc4jXf08UtJvKsQ

文章探讨了线性注意力的几种形式。

《线性Transformer应该不是你要等的那个模型》

文章链接:https://mp.weixin.qq.com/s/MhLXO_VE_VYb7iIJCgN_lQ

这篇文章分析指出:当输入序列长度较小时,是线性复杂度的 FFN 占主导,而不是注意力机制部分的计算。按照BERT的base版计算,当序列长度接近 5000 时,Transformer 的复杂度才真正体现出二次性!

《Performer:用随机投影将Attention的复杂度线性化》

文章链接:https://mp.weixin.qq.com/s/NKhp5TWPHEhLl76X3aECpg

《Transformer升级之路:从Performer到线性Attention》

文章链接:https://mp.weixin.qq.com/s/vut2KniBS3EFv5eSTH5Qqg

《注意力机制真的可以"集中注意力"吗?》

文章链接:https://mp.weixin.qq.com/s/HdqdjZeF8gxIRwUmU5ycIw

相关推荐
Linye6 分钟前
AI 写的 HTML 原型全是空壳?聊聊真实 DOM 交互避坑
前端·人工智能
师夷长技以自愈15 分钟前
手搓 AI Agent 第 7 篇:菜做砸了别硬炒——错误分类 + 双账本熔断
人工智能·python
调接口的阿光29 分钟前
调用对话接口时输出被截断怎么办:先看 finish_reason,再决定是续写一次、缩小范围,还是换成更短的格式(Python)
人工智能·python
东鸿电子Eastron1 小时前
工厂节能降本落地指南:从精准能源计量搭建数字化管理基础
大数据·人工智能·能源·智能电表·能耗管理
师夷长技以自愈1 小时前
手搓 AI Agent 第 6 篇:先别动刀——Plan Mode 让 AI 报完方案才动手
人工智能
Sincerelyplz1 小时前
Voice Agent 实践与落地(二):从唤醒到多轮对话,拆解实时语音链路
人工智能
guuguo1 小时前
Gemini 4 屠榜后连夜切到 Antigravity,顺手用一行命令搞定全中文界面与思考
人工智能·开源·github
码云社区1 小时前
能碳管理系统开发要关注什么?能源数据、统计口径与AI分析的衔接
java·人工智能·ai·能源·能源管理系统·能碳管理系统·能碳管理系统源码
科研小刘带你玩学术1 小时前
【科研快讯】OpenAI推出ChatGPT Wallet:AI Agent不再只会推荐商品,还能替用户完成支付
人工智能·数字经济·智能体·科技前沿·aiagent·ai支付·智能商务
飞猫的边缘AI1 小时前
SoC和SoC FPGA的野心与市场渗透
人工智能·科技·soc芯片·边缘ai