self-attention为什么要除以根号d_k

会员中心 消息历史创作中心创作self-attention为什么除以根号d_k想念@思恋已于 2023-10-26 20:55:40 修改阅读量2.3w 收藏 71点赞数 52分类专栏: python编程 文章标签: 概率论 深度学习 机器学习版权GitCode 开源社区文章已被社区收录加入社区python编程专栏收录该内容139 篇文章订阅专栏self-attention的公式为a t t e n t i o n ( Q , K , V ) = S o f t m a x ( Q K d k ) V attention(Q,K,V)=Softmax( \frac{QK}{\sqrt{d_{k}}})Vattention(Q,K,V)=Softmax( d k​ ​ QK​ )V个人理解,除以d k \sqrt{d_{k}} d k​ ​ 的原因有两点:d k d_{k}d k​ 是词向量/隐藏层的维度1、首先要除以一个数,防止输入softmax的值过大,导致偏导数趋近于0;2、选择根号d_k是因为可以使得q*k的结果满足期望为0,方差为1的分布,类似于归一化。公式分析,首先假设q和k都是服从期望为0,方差为1的独立的随机变量。Assume:X = q i X=q_{i}X=q i​ ,Y = k i Y=k_{i}Y=k i​ ,那么:1、E ( X Y ) = E ( X ) E ( Y ) = 0 ∗ 0 = 0 E(XY)=E(X)E(Y)=0*0=0E(XY)=E(X)E(Y)=0∗0=02、D ( X Y ) = E ( X 2 Y 2 ) − [ E ( X Y ) ] 2 D(XY)=E(X^{2}Y^{2})-[E(XY)]^{2}D(XY)=E(X 2 Y 2 )−[E(XY)] 2       = E ( X 2 ) E ( Y 2 ) − [ E ( X ) E ( Y ) ] 2 =E(X^{2})E(Y^{2})-[E(X)E(Y)]^{2}=E(X 2 )E(Y 2 )−[E(X)E(Y)] 2       = E ( X 2 − 0 2 ) E ( Y 2 − 0 2 ) − [ E ( X ) E ( Y ) ] 2 =E(X^{2}-0^{2})E(Y^{2}-0^{2})-[E(X)E(Y)]^{2}=E(X 2 −0 2 )E(Y 2 −0 2 )−[E(X)E(Y)] 2       = E ( X 2 − [ E ( X ) ] 2 ) E ( Y 2 − [ E ( Y ) ] 2 ) − [ E ( X ) E ( Y ) ] 2 =E(X^{2}-[E(X)]^{2})E(Y^{2}-[E(Y)]^{2})-[E(X)E(Y)]^{2}=E(X 2 −[E(X)] 2 )E(Y 2 −[E(Y)] 2 )−[E(X)E(Y)] 2       = [ E ( X 2 ) − [ E ( X ) ] 2 ] [ E ( Y 2 ) − [ E ( Y ) ] 2 ] − [ E ( X ) E ( Y ) ] 2 =[E(X^{2})-[E(X)]^{2}][E(Y^{2})-[E(Y)]^{2}]-[E(X)E(Y)]^{2}=[E(X 2 )−[E(X)] 2 ][E(Y 2 )−[E(Y)] 2 ]−[E(X)E(Y)] 2       = D ( X ) D ( Y ) − [ E ( X ) E ( Y ) ] 2 =D(X)D(Y)-[E(X)E(Y)]^{2}=D(X)D(Y)−[E(X)E(Y)] 2       = 1 ∗ 1 − 0 ∗ 0 =1*1-0*0=1∗1−0∗0      = 1 =1=1
最新发布
04-06
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值