由浅到深 : Self-Attention (自注意力机制)

news/2025/3/1 14:06:34/

Self-Attention

看到下面的第一个saw是动词,第二个saw是名词。
在这里插入图片描述
因为第一个saw和第二个saw在形式上没有任何差别。如果任务是进行词性的判断,把上面的词直接输入给神经网络,那么它肯定不能够正确分析。
在这里插入图片描述
想要正确分析词性,那么该怎么办呢?
一个解决方式就是让这个词考虑其上下文信息。可以设置一个window,考虑上下文的n个词,n是可以自己指定的。

在这里插入图片描述
如果有一个任务,不是一个短的window就可以解决的,而是考虑整个序列才行,那该怎么办呢?
很直接的想法就是把window开大一点,可以包含整个序列。这样就会有一个问题,输入给model的序列会有长有短,这样就需要统计整个训练资料,找出最长的一个序列,然后将window长度设置为该序列的长度。这样就会有一个致命的缺点:FC(full connected) 的参数会很大,这样不仅运算量很大,而且容易overfitting。

有没有更好的方法考虑输入的整个序列呢?
当前是今天的重点 Self-attention
self-attention会记录整个序列的信息,你输入几个vector,它就会输出几个vector。比如下图输入输入和输出了4个vector。

那么输出的4个vector有什么特点呢?
每个self-attention后输出的vector都是考虑了整个序列后才得到的。
输出的向量经过FC层后会进行相应的判断。
在这里插入图片描述
self attention是怎么考虑整个序列的呢?
下面的图可以看出,每个b向量都考虑了a1-a4向量。
在这里插入图片描述


输出的向量 b是怎么计算的呢?

根据a1找出与其相关的其他向量,每一个向量与a1关联的程度用一个数值α来表示。
在这里插入图片描述
怎么计算两个向量之间的关联性呢,也就是如何计算的α?
以下就是常见的计算α两种方式。例如左边的:输入向量分别乘上Wq和Wk 矩阵,得到q和k两个向量。然后再将q和k向量进行点乘得到α
,在这里插入图片描述
分别计算a1与a2、a3和a4的关联性。
在这里插入图片描述

q1一般也会跟自己计算关联性
在这里插入图片描述

计算出a1和每个向量的关联性之后,会做一个softmax得到α’。然后会根据得到的α’,得出哪些向量跟a1是最有关联的。接着会根据关联性来抽取重要的信息 。
在这里插入图片描述
怎么抽取重要的信息呢?
把输入的每个向量都乘上一个Wv得到新的向量,也就是下图的v1-v4。然后再将v1和v4都去乘上对应的α’,然后将他们加起来,就能得到考虑全局信息的b向量了。
如果某一个向量得到的分数越高,比如a1和a2的关联性很强也就是a’1,2的值很大,那么得到的b1的值就可能比较接近于v2。也就是哪个向量的attention的分数越大,那么这个向量的v就会dominate抽出来的结果。
在这里插入图片描述


后续会计算 q2与k1,k2,k3,k4、q3与k1,k2,k3,k4、q4与k1,k2,k3,k4的计算结果
在这里插入图片描述


从矩阵角度进行分析
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Wq, Wk, Wv是通过training data找出来的

在这里插入图片描述

参考自:李宏毅


http://www.ppmy.cn/news/1171741.html

相关文章

【已解决】Word文档的“打开密码”在哪里设置?

我们知道,Word文档可以设置“打开密码”,保护文件不被随意打开,只有输入正确的密码才能打开文档。那这个“打开密码”要在哪里设置呢?不清楚的小伙伴往下看就知道啦。 在Word文档里,有两个路径可以设置“打开密码”。…

【Java集合类面试三】、Map接口有哪些实现类?

文章底部有个人公众号:热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享? 踩过的坑没必要让别人在再踩,自己复盘也能加深记忆。利己利人、所谓双赢。 面试官:Map接口有哪些实现类&am…

在pycharm中创建python模板文件

File——>Setting——>File and Code Templates——>Python Scripts 在文本框中输入模板内容

链动2+1模式:裂变增长,轻松吸引百万用户

想要在竞争激烈的市场中迅速扩大用户规模并提高留存率吗? 在当今社交电商行业,获取用户成本高昂,如何快速吸引用户并提高用户留存率成为了关键问题。而链动21模式正是解决这个问题的利器。 链动21模式利用互联网大数据技术,采用…

视频编辑不求人,教你一招制胜批量添加封面

视频添加封面是一个相当简单的任务,您只需要一款专门的软件,就能轻松搞定!下面就是详细教程啦! 首先,您需要在浏览器中搜索“固乔智剪软件”,进入官网并下载这款软件。固乔智剪软件是一款非常专业的视频剪辑…

纺织工厂数字孪生3D可视化管理平台,推动纺织产业数字化转型

近年来,我国加快数字化发展战略部署,全面推进制造业数字化转型,促进数字经济与实体经济深度融合。以数字孪生、物联网、云计算、人工智能为代表的数字技术发挥重要作用。聚焦数字孪生智能工厂可视化平台,推动纺织制造业数字化转型…

测试工程师的4层技术发展路线,需要掌握哪些技能?

之前我们讲过,测试工程师的4层技术发展路线都需要掌握哪些技能。学而优则仕,今天我们来说说如果想做某个行业的专家应该掌握哪些技能。 如果你对测试技术不感兴趣,但对某领域的业务兴趣浓厚,可以考虑行业专家路线。 由于测试工程…

现在游戏出海有多少优势?

国内游戏市场趋于饱和,但是国外市场潜力仍然可观,因此很多人选择游戏出海,那么现在游戏出海有多少优势呢? 1、市场潜力 全球游戏市场潜力巨大,增长迅速。中国游戏公司具有强大的研发能力和创新能力,能够开…