Attention 的计算公式中为什么要除以根号k ?

Attention 的计算公式中为什么要除以根号k ?这么回答惊艳面试官!

回答:1. 保证梯度稳定;2.保持attention score为均值0方差1的分布,这样便于后续的优化。

图片

详解:1. QK乘积可能会存在较大的值,这些值如果比较大,会导致算softmax的时候算出来的结果趋向于极值,也就是softmax的概率分布趋向于最大值对应的标签,从矩阵上看就这个最大值对应的位置有梯度,其它地方没梯度,导致反向传播的梯度不稳定

2.上面的公式给出了不除以d**0.5的话,会导致方差变大,为了保持方差的问题,需要除一下。

最基本的答案
这个问题在《Attention is All You Need》的原始论文中是给出了一个粗略的答案的。

While for small values of  

图片

 the two mechanisms perform similarly, additive attention outperforms dot product attention without scaling for larger values of  

图片

 [3]. We suspect that for large values of  

图片

, the dot products grow large in magnitude, pushing the softmax function into regions where it has extremely small gradients. To counteract this effect, we scale the dot products by 

图片

.

作者说,当 

图片

的值变大的时候,softmax 函数会造成梯度消失问题,所以设置了一个 softmax 的 temperature

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

强化学习曾小健

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值