查看原文
其他

​从熵不变性看Attention的Scale操作

苏剑林 PaperWeekly 2022-07-04


©PaperWeekly 原创 · 作者 | 苏剑林

单位 | 追一科技

研究方向 | NLP、神经网络


当前 Transformer 架构用的最多的注意力机制,全称为“Scaled Dot-Product Attention”,其中“Scaled”是因为在 转置相乘之后还要除以一个 在做 Softmax(下面均不失一般性地假设 ):

在《浅谈Transformer的初始化、参数化与标准化》[1] 中,我们已经初步解释了除以 的缘由。而在这篇文章中,笔者将从“熵不变性”的角度来理解这个缩放操作,并且得到一个新的缩放因子。在 MLM 的实验显示,新的缩放因子具有更好的长度外推性能

熵不变性

我们将一般的 Scaled Dot-Product Attention 改写成:

其中 是缩放因子,它跟 无关,但原则上可以跟长度 、维度 等参数有关,目前主流的就是
本文提出一个观点:
为了使得模型结果能够更好地泛化到未知长度,Attention 机制的设计应该使得 尽量具备熵不变性
怎么理解这句话呢?首先,泛化到未知长度,指的是预测长度和训练不一致时也能有不错的效果,比如 训练然后外推到 测试。我们知道,使用 RoPE 之类的相对位置编码的模型,对长度具有比较好的外推性,但我们依然可以通过更好的设计来增强这种外推性,比如熵不变性就是其中之一。
具体来说, 可以视为 为条件、 为随机变量的条件分布,它的熵为:

熵不变性是指, 应该对长度 不敏感。更具体一点,就是如果在已有的 token 基础上,再补充几个 token,那么新算出来各个 自然也会有所改变,但我们希望 不要有太大改变。
为什么希望熵不变呢?我们知道,熵是不确定性的度量(参考《“熵”不起:从熵、最大熵原理到最大熵模型(一)》[2]),换个角度想,我们可以将不确定性视为注意力的“聚焦程度”:如果熵为 0,那么注意力将聚焦到某一个 token 上,如果熵为 ,那么注意力均匀分布到所有 token 上。我们希望熵不变,是希望引入新的 token 后,已有的 token 依旧能同样地聚焦到原来的 token 上,而不希望新 token 的引入过多地“分摊”了原有的注意力,导致求和结果显著发生变化。


新的因子
根据熵不变性以及一些合理的假设,我们可以得到一个新的缩放因子,从而得到一种 Scaled Dot-Product Attention:

这里的 是一个跟 都无关的超参数,详细推导过程我们下一节再介绍。为了称呼上的方便,这里将式(1)描述的常规 Scaled Dot-Product Attention 称为“Attention-O”(Original),而式(4)以及下面的式(5)描述的变体称为“Attention-E”(Entropy Invariance)。
可能有读者对引入了一个新参数感到不满意,其实这个不难解决。我们知道当前主流的预训练长度就是 512,所以我们假设主流的参数都是为 调试好的,所以当 的时候,上式应退化为普通的 Scaled Dot-Product Attention,即 ,推出 ,代入上式整理后得到:

这就去掉了超参数 ,下面的实验也是用这个版本。
为了验证该改动是否真如预期那样能提高 Transformer 的外推效果,笔者分别用 Attention-O 和 Attention-E 分别训练了一个 RoFormer small 版本,训练任务为 MLM,训练长度为 64,然后在不同长度的验证集下比较 MLM 的准确率,结果如下:

从实验结果可以看出,在与训练长度一致 的情况下,Attention-O 和 Attention-E 的效果是很接近的,但是外推到更大的测试长度时,则明显拉开了差距,比如 时 Attention-E 要比 Attention-O 高 10 个百分点以上的准确率,可真不是一星半点了。


推导过程

这一节我们介绍式(4)的推导过程。事实上,推导过程和假设都跟《最小熵原理(六):词向量的维度应该怎么选择?》中的几乎是一样的。

首先,我们代入 的表达式,就可以得到:

要注意,我们仅仅是要做一个半定量的估计,以确定适合的 来抵消部分长度的影响,让熵完全不受长度影响是做不到的。所以,我们可以做一些假设,比如假设 是一个随机变量,那么可以写出:

将所有求和都用同样的近似代替,我们得到:

留意到一般情况下 都是 Layer Norm 出来之后再接一个 Dense 层,而 Dense 层接近正交变换,所以我们近似地假设 都是模长为 的向量,所以 ;然后进一步假设 均匀地分布在半径为 的球面上,那么对 的期望可以转化为对 夹角的期望,即:
其中 服从的分布就是球面上任意两个向量之间的夹角分布,我们在《n维空间下两个随机向量的夹角分布》讨论过。接下来可以像《最小熵原理(六):词向量的维度应该怎么选择?》的“近似估计”一样,用拉普拉斯近似得到:

因此,为了抵消长度 的影响,我们让 ,从而得出 。当然,我们知道这只是估计,所以没必要保留系数 0.24 了,倒不如直接引入超参数 ,使得:

这就是对应式(4)了。


相关结果
在阅读 ACL 2022 的投稿论文时,发现上面有一篇《Overcoming a Theoretical Limitation of Self-Attention》[3],给出了相近的结果(论文4.3节的公式1):

不过,该论文并没有太深刻的理论分析,只是构建了两个特殊的 case 来测试 Attention 的性能,测试发现往缩放因子乘上 有助于泛化长度,所以就提出来了。
然而可以看出,如果按照默认约定 用自然对数的话,那么上式很明显是不合理的,因为当 较大时,缩放因子过大,会导致严重的梯度消失。只不过该论文只是在机器翻译上做实验,测得都是 级别的序列,所以就没有显示出梯度消失问题。


文章总结
本文从熵不变性的角度重新推导了 Scaled Dot-Product Attention 中的 Scale 操作,得到了一个新的缩放因子。初步的试验结果显示,新的缩放因子不改变已有的训练性能,并且对长度外推具有更好的结果。


参考文献

[1] https://kexue.fm/archives/8620
[2] https://kexue.fm/archives/3534
[3] https://openreview.net/forum?id=qc9O2EtrMI-


特别鸣谢

感谢 TCCI 天桥脑科学研究院对于 PaperWeekly 的支持。TCCI 关注大脑探知、大脑功能和大脑健康。



更多阅读




#投 稿 通 道#

 让你的文字被更多人看到 



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


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


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


📝 稿件基本要求:

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

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

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


📬 投稿通道:

• 投稿邮箱:hr@paperweekly.site 

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

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


△长按添加PaperWeekly小编




🔍


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

进入知乎首页搜索「PaperWeekly」

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



·

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存