ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

self-attention 详解

2021-11-23 18:36:33  阅读:211  来源: 互联网

标签:self attention a1 详解 相关性 b1 向量 softmax


参考自李宏毅老师的self-atention的课程
pd下载:self-atentionTransformer

理论说明

在NLP中,常用的计算两个向量之间相关性的方法有以下两种:

self-attention中用的就是左侧的类型,将两个向量乘以一个可训练权重,然后将结构进行对应相乘,得到最终的相关性\({\alpha}\)。
基于此,以计算b1(即所有向量对第一个向量的重要信息的抽取结果,b1并不代表最先计算,都是同时进行的)为例进行说明:

  • 当输入一长串输入时(a1、a2...,可以为input也有可能是上一步隐藏层输出)时,要求b1首先要求出其余所有向量对a1的相互关系,也就是用到了刚开始介绍的方法。其中要求的a1对应的q1就是Q,其余对应的即为K

    其中\({\alpha}_{1,2}\)就是代表着query是1提供的,key是2提供的,即计算的a2对a1的相关性。

  • 需要说明的是,q1还需与自己k1计算相关性即\({\alpha}_{1,2}\),然后将所有的相关性通过一个softmax层,得到所有向量对a1的对应相关性大小比例(都映射到了0~1直接,且和为1)。

  • 根据上面softmax输出结果,我们就获知了哪些相对对于a1比较重要,就可以抽取相应的重要信息{v1,v2....},然后将v与对应的softmax(q*v)相乘在求和(即加权求和)即可求得b1

矩阵计算

下面用矩阵形式对自注意力的公式进行解读:

  • 首先是Q、K、V的产生:

  • 相关性的计算,以及通过softmax候的结果(标准化了):

  • 求出O(注意力的结果):

  • 总览:

与下面的公式相比只是没有除以根号维度而已。

多头的自注意力

标签:self,attention,a1,详解,相关性,b1,向量,softmax
来源: https://www.cnblogs.com/xyzhrrr/p/15584848.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有