注意力中的尺度放缩详解

直接上干货!!!
在注意力中我们经常看到以下公式:
s c o r e a t t e n = s o f t m a x ( Q K T d k ) score_{atten}=softmax(\frac{QK^T}{\sqrt{d_k}}) scoreatten=softmax(dk QKT)
为什么就要除以 d k d_{k} dk呢?要除的话为什么要除以它而不是其他数呢?
这是因为存在以下推导:
( Q K T ) m n = ∑ i d k q m i k i n (QK^T)_{mn}=\sum_i^{d_k}q_{mi}k_{in} (QKT)mn=idkqmikin
其中m、n表示两个矩阵相乘的第m行第n列的元素, q m i 、 k i n q_{mi}、k_{in} qmikin都是期望为0、方差为1的分布且认为独立,所以 q m i k i n q_{mi}k_{in} qmikin的期望仍为0,方差为1,但是进行了 d k d_k dk个求和后,方差变成了 d k d_k dk D ( X 1 + X 2 + . . . + X n ) = n D ( X 1 ) D(X_1+X_2+...+X_n)=nD(X_1) D(X1+X2+...+Xn)=nD(X1),其中 X 1 到 X n X_1到X_n X1Xn遵循同一个分布且独立),这样,就会导致方差变大,而且又经过了 s o f t m a x softmax softmax(其中的指数函数具有拉大两数差距的效果),导致注意力分数大部分集中到了最高概率的那一个,其他注意力分数接近于零,传过来的梯度接近于零,无法实现有效更新,所以对其除以 d k \sqrt{d_k} dk D ( a X ) = a 2 D ( X ) D(aX)=a^2D(X) D(aX)=a2D(X)),将方差重新归为1,使其方差分布不受维度影响。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值