注意力机制真的可以“集中注意力”吗?

1b9e2e5c5ea1a405f3108d19fdd87618.gif

©PaperWeekly 原创 · 作者 | 苏剑林

单位 | 月之暗面

研究方向 | NLP、神经网络

之前在《Transformer升级之路:从Performer到线性Attention》《为什么现在的LLM都是Decoder-only的架构?》等文章中,我们从 Attention 矩阵的“秩”的角度探讨了 Attention 机制,并曾经判断线性 Attention 不如标准 Attention 的关键原因正是“低秩瓶颈”。

然而,这一解释对于双向的 Encoder 模型或许成立,但却难以适用于单向的 Decoder 模型,因为 Decoder 的 Attention 矩阵的上三角部分是被 mask 掉的,留下的下三角矩阵必然是满秩的,而既然都是满秩了,那么低秩瓶颈问题似乎就不复存在了。

所以,“低秩瓶颈”并不能完全解释线性 Attention 的能力缺陷。在这篇文章中,笔者试图寻求另一个角度的解释。简单来说,与标准 Attention 相比,线性 Attention 更难“集中注意力”,从而难以准确地定位到关键 token,这大概是它效果稍逊一筹的主要原因。

96609f5db56fad9e8b590d9885268397.png

稀疏程度

在文章《从熵不变性看Attention的Scale操作》中,我们就从“集中注意力”的角度考察过 Attention 机制,当时我们以信息熵作为“集中程度”的度量,熵越低,表明 Attention 越有可能集中在某个 token 上。

但是,对于一般的 Attention 机制来说,Attention 矩阵可能是非归一化的,比如《FLASH:可能是近来最有意思的高效Transformer设计》介绍的 GAU 模块,以及《相对位置编码Transformer的一个理论缺陷与对策》所引入的 归一化 Attention,甚至从更一般的 Non-Local Neural Networks [1] 角度来看,Attention 矩阵还未必是非负的。这些非归一化的乃至非负的 Attention 矩阵自然就不适用于信息熵了,因为信息熵是针对概率分布的。

为此,我们考虑在《如何度量数据的稀疏程度?》介绍的 形式的稀疏程度指标:

2e32e8e23c2df971c5b65f47816c2a24.png

该指标跟信息熵相似, 越小意味着对应的随机向量越稀疏,越稀疏意味着越有可能“一家独大”,这对应于概率中的 one hot 分布,跟信息熵不同的是,它适用于一般的随机变量或者向量。

d090c12d2b4a0300daf41f7326a39edd.png

简化形式

对于注意力机制,我们记 ,其中 ,那么

b65e8ea85dffe0bac5c3fc4bdbad7fba.png

接下来都考虑 的极限。假设 ,那么可以设 ,其中 ,于是

0b02f4a560cb862326e2b199ffa2b667.png

注意 所服从的分布 是一个各向同性的分布,与《n 维空间下两个随机向量的夹角分布》[2] 推导的化简思路一样,由于各向同性的原因, 相关的数学期望只与 的模长有关,跟它的方向无关,于是我们可以将 简化为 ,那么对 的数学期望就可以简化为

99753ff11ff04d4d0492a390788956d6.png

其中 是一个随机标量。

3f6d68041ebd72787ff665c960212b79.png

两个例子

现在可以对常见的一些 进行计算对比了。目前最常用的 Attention 机制是 ,此时求期望只是常规的一维高斯积分,容易算得

a5696b8ae2bed3fd16e8ff8ca8ed1444.png

当 或 时,都有 ,也就是理论上标准Attention确实可以任意稀疏地“集中注意力”,同时这也告诉了我们让注意力更集中的方法:增大 的模长,或者增大各个 之间的方差,换言之拉开 的差距。

另一个例子是笔者喜欢的 GAU(Gated Attention Unit),它在开始提出的时候是 (不过笔者后来自己用的时候复原为 Softmax 了,参考《FLASH:可能是近来最有意思的高效Transformer设计》《听说Attention与Softmax更配》),此时积分没有 那么简单,不过也可以直接用 Mathematica 硬算,结果是

b7187d5688f421ca09cab6b78e334e00.png

其中 。式子很恐怖,但是无所谓,画图即可:

9464bed6cc00d91ca77f7ea4dfa92105.png

▲ relu2注意力的稀疏程度曲线图

可以看到,只有 时,原版 GAU 的稀疏度才有机会趋于 0。这也很直观,当偏置项小于 0 时,才有更多的机会让   的结果为 0,从而实现稀疏。这个结果也说明了跟 的标准注意力不同, 的 bias 项可能会对 的 GAU 有正面帮助。

50ed4ccca85121f9c55e719abaf10eaa.png

极简线性

下面我们再来看一个最简单的例子:不加 ,或者等价地说 。这种情况下对应的就是最简单的一种线性 Attention,同样可以用 Mathematica 硬算得:

a80f5de8036ee90af7e52cac226d2021.png

下面是几个不同 的函数图像:

ac5a5b2c06be53b260c6aa4f0020d590.png

▲ 极简线性注意力的稀疏程度曲线图

注意,此时的 是关于 偶函数(读者不妨尝试证明一下),所以 时图像跟它相反数的图像是一样的,因此上图只画了 的结果。从图中可以看出,不加任何激活函数的线性 Attention 的稀疏程度并不能接近 0,而是存在一个较高的下限,这意味着当输入序列足够长时,这种线性 Attention 并没有办法“集中注意力”到关键位置上。

4e54db7425432c6a97cfd2c3aaffeb5c.png

一般线性

《线性Attention的探索:Attention必须有个Softmax吗?》我们知道,线性 Attention 的一般形式为 ,其中 是值域非负的激活函数。我们记 ,那么 ,并且可以写出

aae36ea8db5004c481e30209245c9e74.png

这是关于非负型线性 Attention 的一般结果,现在还没做任何近似,其中 分别是 序列的均值向量和协方差矩阵。

从这个结果可以看出,非负型线性 Attention 也可能任意稀疏(即 ),只需要均值趋于0,或者协方差趋于 ,也就是说 序列的信噪比尽可能小。

然而 序列是一个非负向量序列,信噪比很小的非负序列意味着序列中大部分元素都是相近的,于是这样的序列能表达的信息有限,也意味着线性 Attention 通常只能表示绝对位置的重要性(比如 Attention 矩阵即某一列都是 1),而无法很好地表达相对位置的重要性,这本质上也是线性 Attention 的低秩瓶颈的体现。

为了更形象地感知 的变化规律,我们不妨假设一种最简单的情况: 的每一个分量是独立同分布的,这时候均值向量可以简化为 ,协方差矩阵则可以简化为 ,那么 的公式可以进一步简化为

24c3cf413a7c06264615f9a8f0545e74.png

从这个结果可以看出,要想线性注意力变得稀疏,一个方向是增大 ,即降低 序列的信噪比,另一个方向则是增大 ,该因子最大值是 ,其中 是 的维数,所以增大它意味着要增大 ,而增大了 意味着提高了注意力矩阵的秩的上限,这跟低秩瓶颈视角的结论一样,只有增大 才能从根本上缓解线性 Attention 的不足。

特别地,我们在《Transformer升级之路:作为无限维的线性Attention》[3] 也分析过,标准 Attention 也可以理解为一种无限维的线性 Attention,也就是说理论上只有将 d 增加到无穷大,才能彻底弥合两者的差距。

3528862f888a790939f35d1f4224dc8c.png

线性衰减

最后,我们来看一下在《Google新作试图“复活”RNN:RNN能否再次辉煌?》介绍过的线性 RNN 模型系列,它们的特点是带有一个显式的递归,这可以看成一个简单的 Attention:

ebe11784b93fb9bb57e4538cc6fa418c.png

其中 。可以算出

f996d8ca58f60ab5937cbd4cb9b57a07.png

当 时,只要 ,总有 ,所以对于带有显式 Decay 的线性 RNN 模型来说,稀疏性是不成问题的,它的问题是只能表达随着相对位置增大而衰减的、固定不变的注意力,从而无法自适应地关注到距离足够长的 Context。

5057163e0b784689c02640915994cf49.png

文章小结

本文提出了通过 Attention 矩阵的稀疏程度来考察不同 Attention 机制潜力的思路,得出二次型 Attention 机制有可能实现任意稀疏的 Attention 矩阵,线性 Attention 则并不容易实现这种稀疏,或者只能实现绝对位置相关的稀疏,这可能是线性 Attention 能力有所限制的原因之一。

outside_default.png

参考文献

outside_default.png

[1] https://arxiv.org/abs/1711.07971

[2] https://kexue.fm/archives/7076

更多阅读

1097fe65c223ae7440c7c4a6dcc4592d.png

124a6a1619e114b1f1669662774409bc.png

e53e48b3bc0b394f3c1737c480deeeea.png

6dc4d0370cf8dab3a60ea00a22d497e6.gif

#投 稿 通 道#

 让你的文字被更多人看到 

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。

总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。

📝 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算

📬 投稿通道:

• 投稿邮箱:hr@paperweekly.site 

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿

7dd5c7ac4a03a239e9c187e32324e484.png

△长按添加PaperWeekly小编

🔍

现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧

·

·

6776a03507bbc30dd02000464990a034.jpeg

  • 23
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值