欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 锐评 > Trm理论 3(注意力机制)

Trm理论 3(注意力机制)

2024/10/25 16:25:39 来源:https://blog.csdn.net/2301_81989837/article/details/141907934  浏览:    关键词:Trm理论 3(注意力机制)

注意力机制(attention)

在使用LSTM,CNN等模型的时候,很难决定对于一个信息什么是重要的,什么是不重要的。因此注意力机制就是为了优化这一问题

怎么做注意力机制

注意力机制包含,查询对象(Q),被查询对象(V),K
K = k 1 , ⋯ , k n K=k_1,\cdots,k_n K=k1,,kn
用Q与K做点乘,求的K与Q的相似度,做一层softmax回归得到相似度的概率,在与v相乘最终得到新的v
s o f t m a x ( a 1 , ⋯ , a n ) ∗ ( v 1 , ⋯ , v n ) = V 1 softmax(a_1,\cdots,a_n)*(v_1,\cdots,v_n) = V^1 softmax(a1,,an)(v1,,vn)=V1
此时的 V 1 V^1 V1就包含了对于Q来说哪个信息更重要的信息。

自注意力机制(self-attention)

自注意力机制是注意力机制的一个子集,注意力机制没有规定KQV的来源。
自注意力机制规定KQV都来自输入X,可以说 K ≈ Q ≈ V K\approx Q\approx V KQV
KQV,是由X点乘 W K , W Q , W V W_K,W_Q,W_V WK,WQ,WV三个参数得到的,其余操作与注意力机制一样
在这里插入图片描述
在这里插入图片描述
为什么softmax要除以 d k \sqrt{d_k} dk
因为softmax会放大差距,举个例子
70,50 -》0.78,0.22
因此同时除以一个数字能够减少差距,让最后的概率不会过于离谱

self-attention与RnnS对比

RnnS不能解决长序列的问题,并且不能并行。
self-attention就解决了这个问题。
并且self-attention得到的z含有更多信息。

Masked(掩码) Self-attention

用生成模型生成下一个词的时候,我们希望给下一个词也做自注意力机制,但是生成的词是一个一个生成的,因此没有办法对整个句子做自注意力机制。
因此就需要掩码自注意力机制。
在这里插入图片描述
在这里插入图片描述
说白了就是你做第二个词的时候是不知道下一个词的

Multi-Head self-attention(多头自注意力机制)

提升了X,生成的 Z ′ Z{'} Z相对于Z有了提升。
在这里插入图片描述
把X对应点乘不同的h(通常为8)个矩阵,得到不同的8个QKV,做自注意力机制。
在这里插入图片描述
最后得到的多个Z拼接起来,在做一层线性变换,得到合适的维度。

那么为什么这样做有用呢

独热编码将物品的意义映射到空间向量的一个位置上,当你通过点乘W得到QKV相当于对这个物品意义的一部分进行自注意力的学习,如果使用多头自注意力,点乘不同的W得到8套QKV,相当于给这个物品的多个层面上学习,最终得到的Z所含信息就更全面,预测自然更加准确。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com