Redian新闻
>
从梯度最大化看Attention的Scale操作

从梯度最大化看Attention的Scale操作

科技

©PaperWeekly 原创 · 作者 | 苏剑林

单位 | 月之暗面

研究方向 | NLP、神经网络


们知道,Scaled-Dot Product Attention 的 Scale 因子是,其中 的维度。这个 Scale 因子的一般解释是:如果不除以 ,那么初始的 Attention 就会很接近 one hot 分布,这会造成梯度消失,导致模型训练不起来。然而,可以证明的是,当 Scale 等于 0 时同样也会有梯度消失问题,这也就是说 Scale 太大太小都不行。
那么多大的 Scale 才适合呢? 是最佳的 Scale 了吗?本文试图从梯度角度来回答这个问题。


已有结果

在《浅谈Transformer的初始化、参数化与标准化》[1] 中,我们已经推导过标准的 Scale 因子 ,推导的思路很简单,假设初始阶段 都采样自“均值为 0、方差为 1”的分布,那么可以算得
于是我们将 除以 ,将 Attention Score 的方差变为 1。也就是说,之前的推导纯粹是基于“均值为 0、方差为 1” 就会更好的信仰来得到的结果,但没有解释让 Attention Score 的方差为 1,也没有评估 是否真的就解决了梯度消失问题。
当然,从已有的实验来看, 至少一定程度上是缓解了这个问题,但这毕竟是实验结果,我们还是希望能从理论上知道“一定程度”究竟是多少。


计算梯度
既然涉及到了梯度,那么最好的办法就是把梯度算出来,然后定一个优化目标。设 是归一化因子,那么可以直接算得:
或者可以简写成 。很明显,当 时梯度为 0;当 时, 之中只有一个 1、其余都是 0(假设 中只有唯一的最大值),梯度也是 0。
为了更有利于优化,我们应该选取 使得梯度尽可能最大化。为此,我们以L1范数作为梯度大小的度量:
从最后的结果不难猜到,之所以选择 L1 而不是其他的根本原因是因为 L1 范数的计算结果足够简单。值得指出的是,这里出现了 ,它本质上就是我们在《如何度量数据的稀疏程度?》介绍过的 “Rényi 熵”,跟信息熵类似,它也是不确定性的一种度量。
有了优化目标后,我们就可以着手进行最大化了。注意 的定义里边也包含 ,所以这是一个关于 复杂的非线性目标,看上去求解析解是不可能的,但我们可以针对一些特殊例子求近似解。


正态分布
首先,我们可以接着前面的结果来做,当我们通过除以 使得 Attention Score 的均值为 0、方差为 1 后,我们就可以近似假设 ,然后再求 的最优解,如果 ,那么就意味着原来的 就是最优的 Scale 比例了,否则 才是最佳的 Scale 比例。
我们用期望去估计求和
对于服从标准正态分布的 ,我们有
代入上式,然后代入式(3),得到
最后的近似,虽然已经足够简化了,但其实也不容易求出最大值来。不过无妨,我们可以遍历一些 ,然后数值求解出取最大值时的 ,这样我们就大致能看到 的关系了,Mathematica 的参考代码如下:
 1(*定义函数*)
2f[a_, n_] := a*(1 - Exp[a^2]/n)
3(*找到函数的最大点对应的a*)
4FindArg[n_] := 
5 Module[{a}, a = a /. Last@NMaximize[{f[a, n], a > 0}, a][[2]]; a]
6(*给定n的范围*)
7nRange = 40*Range[1500];
8(*求出每个n对应的a*)
9args = FindArg /@ nRange;
10(*画出a与n的函数图像*)
11ListLinePlot[{args, 0.84*Log[nRange]^0.5}, 
12 DataRange -> {4020000}, AxesLabel -> {"n""a"}, 
13 PlotLegends -> {Row[{"a", Superscript["""*"]}], 
14   TraditionalForm[HoldForm[0.84*Sqrt[Log[n]]]]}]
经过拟合,笔者发现一定范围内最优点 大致满 关系,所以也已经将对应的近似函数一并画在一起:

▲ 标准正态分布的最优 alpha 与 n 关系
可以看到,在相当大的一个范围内, 的最优值都在 之间,所以折中一下的话,盲取 作为 Attention 的 Scale 因子理论上更有利于优化。


余弦分布
现在我们考虑另一个不那么常见的例子:当我们对 都做 归一化变成单位向量后,它们的内积就变成了夹角余弦,即 近似服从 维空间中的两个随机向量的夹角余弦分布。这个分布可能有些读者并不熟悉,但之前我们在《n维空间下两个随机向量的夹角分布》[2] 已经探讨过,它的概率密度具有形式
看上去并不复杂,但事实上这个形式比正态分布难处理得多,主要是 已经不像式(5)那样可以用初等函数表达出来了,不过对于 Mathematica 数值求解数值求解来说问题不大。跟上一节同样的思路,近似式(4)也同样适用,先数值求解最大值,然后再拟合,结果如下(图中 相关):

▲ 余弦分布的最优 alpha 与 n 关系
可以看到, 拟合得也不错(换一个 的话,3.5 这个系数会变化)。可以看到,在一个相当大的范围内, 都是 之间,所以如果用 值作为 Attention Score 的话,就需要乘以一个 之间的 Scale,才能使得模型比较容易训下去。这同时也解释了为什么我们在用 值构建 Softmax 分布(比如 AM-Softmax、SimCSE [3] 等)时,需要在 之后乘上一个 30 左右的 Scale 了,因为不乘是很难训得动模型的。
对于不同的 ,读者可以自行修改下面的代码计算最优
 1(*定义函数*)
2h[a_] := 
3 Integrate[Exp[a*s]*(1 - s^2)^((d - 3)/2), {s, -11}, 
4  Assumptions -> {d > 10}]
5g[a_] = h[a]/h[0] // FullSimplify;
6f[a_, n_] := a (1 - g[2*a]/g[a]^2/n) /. {d -> 128}
7(*找到函数的最大点对应的a*)
8FindArg[n_] := 
9 Module[{a}, a = a /. Last@NMaximize[{f[a, n], a > 0}, a][[2]]; a]
10(*给定n的范围*)
11nRange = 40*Range[1500];
12(*求出每个n对应的a*)
13args = FindArg /@ nRange;
14(*画出a与n的函数图像*)
15ListLinePlot[{args, 3.5*Log[nRange]}, 
16 DataRange -> {4020000}, AxesLabel -> {"n""a"}, 
17 PlotLegends -> {Row[{"a", Superscript["""*"]}], 
18   TraditionalForm[HoldForm[3.5*Log[n]]]}]


相关思考
本文的标题和结果,尤其是余弦分布中 近似正比于 的结果,很容易让我们联想到另一篇讨论 Attention Scale 的文章《从熵不变性看Attention的Scale操作》
事实上,两篇文章的联系确实存在,本文的优化目标(3)出现了 “Rényi 熵”,而“熵不变性”的熵指的是香侬信息熵,两者的性质很大程度上是一致的。最大化式(3)使得它进入了一个“缓变”的区域,这意味着 “Rényi 熵” 关于 的变化是很慢的,也意味着信息熵关于关于 的变化是很慢的,这就约等于熵不变性。
此外,对于双向 Attention(Encoder)来说,假设训练样本长度相同,那么 就是一个常数,我们可以根据 算得相应的最优 ,然后固定在模型中即可;但是对于单向 Attention(Decoder)来说,每个 token 的 实际上都不一样(位置 id 加 1),所以理论上无法做到对所有 token 都最大化式(3),不过由于 关于 的变化较慢,所以取一个差不多的值就行了,比如可以取 ,这样对大部分 token 的梯度都比较友好了。


文章小结
本文从梯度的角度探讨了 Attention Scale 因子的选择问题。众所周知,关于这个 Scale 因子的“标准答案”是 ,但其推导过程中并没有讨论到它的最优性问题,所以笔者定义了一个 Softmax 梯度的优化目标,从最大化该目标的角度探讨了 Scale 因子的最优值。相关结果既可以用来改进 Attention 的 Scale 因子,也可以用来解释 相似度的对比学习的温度参数。


参考文献

[1] https://kexue.fm/archives/8620#NTK参数化

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

[3] https://kexue.fm/archives/8348



更多阅读



#投 稿 通 道#

 让你的文字被更多人看到 



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


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


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


📝 稿件基本要求:

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

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

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


📬 投稿通道:

• 投稿邮箱:[email protected] 

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

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


△长按添加PaperWeekly小编



🔍


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

进入知乎首页搜索「PaperWeekly」

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


·
·

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
少走弯路!按这个SCI套路走,二区近6+SCI收入囊中!(附详细操作步骤)富国强兵和改革开放(第六章摘要)冬季线上学分课程 | 寒假多修2门课,最大化假期收益【纽约周边滑雪场推荐 】北美最长滑索道Hunter Mountian、 100%雪地覆盖Mountain Creek...刚来英国工作生活,我的养老金该怎么缴才能收益最大化?Leading Scientists Gather for Laureates Forum in Shanghai手工月饼、猜灯谜、月兔灯笼DIY!TRIO万豪城邀您一同欢度最in的博士山中秋嘉年华别再使用 RestTemplate了,来了解一下官方推荐的 WebClient !专访丨积家CEO Catherine Rénier:情感联结和艺术表达对腕表也至关重要夏婳:两情难相知(二)"妈妈让我来自首",7岁男孩在派出所写下"bǎozhèng书"大隐隐于市!越南一家人在San Jose开的小店全是越南客人——Phở Cường 2上下文学习=对比学习?人大揭示ICL推理背后的隐式更新机理:梯度更新了吗?「如更」套路满满:手游买量新趋势,如何最大化“真人UGC广告”效果?女儿写作业磨蹭,这3种方法收益最大化红色日记 打苇机器 11.16-3010分钟懒人妆, 如何实现颜值最大化?​Intel开放工程类2024 Internship岗位澳洲报税截止日期临近,最大化收益的10种方式,学会可拿回数千刀!令留学生敢哭不敢言的Silent layoffs到底什么来头?奥创光年联合创始人兼COO杨海:AI不能只拘泥于一项工具,它能最大化营销效果|WISE2023未来消费大会让员工不必伪装自己,公司的价值才能最大化英国实习直推|Fintech行业名企招收compliance intern全面分析:让ROI最大化,给出海SLG游戏的营销买量建议!2024招聘季 | 美加学生均可申!Point72(US)开放Winter Internship使用BigDL LLM在Intel® Data Center GPU上进行Llama 2模型调优「和众科技」完成Pre-A与Pre-A+两轮数千万融资,专注Matter标准下开发者操作系统|36氪首发从Roblox进化看AIGC游戏未来—Roblox(RBLX.N)深度复盘:二十年沉淀,四阶段演绎After Delayed Winter, China’s Ski Resorts Swing into High Gear最美的遇见(7)我与陈德阳相遇在琼海TUM、LMU食堂纷纷罢工!泼天的富贵这次轮到Döner店了?「和众科技」完成Pre-A与Pre-A+两轮数千万融资,专注Matter标准下开发者操作系统丨早起看早期手上持有几套房子的家庭如何合法避税?是否成立地产投资公司避税?房地产传承给子女如何避税?房产增值后如何再融资最大化合法抵税?nǚ hóng?nǚ gōng旅美散记(12):Happy Halloween
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。