self-attention(上)李宏毅

发布时间:2024年01月07日

B站视频链接

word embedding

https//www.youtube.com/watch?v=X7PH3NuYW0Q
在这里插入图片描述
self-attention处理整个sequence,FC专注处理某一个位置的资讯,self-attention和FC可以交替使用。

transformer架构

在这里插入图片描述

self-attention的简单理解

在这里插入图片描述
a1-a4可能是input也可以作为中间层的输入,b1~b4每个向量都会考虑整个input sequence

计算关联性(例如向量a1和a2的关联性,一般都是使用下图左边的方法Dot-product)
在这里插入图片描述
计算a1和a1自身以及a2,a3,a4的关联性,得到a11,a12,a13,a14
在这里插入图片描述
得到关联性向量之后,再经过softmax处理(和分类是一个softmax)
在这里插入图片描述
基于attention scores抽取信息
a1-a4每个向量都可以×Wv得到对应的value: v1-v4。然后将关联性向量a11‘-a14’乘上对应的value,然后结果相加得到b1
在这里插入图片描述
然后依次计算b2,b3,b4,所以哪个关联性更大,得到的结果也就越接近那个关联性数据(比如a11’最大,得到的b1也就最接近a11‘,或者说b1的主要构成是由a11’构成)
在这里插入图片描述
概括计算b2流程
a1-a4乘上martix Wq,得到q1-q4,a1-a4乘上martix Wk,得到k1-k4,q2和k1-k4做dot-product操作,得到self-attention score(可能还会经过softmax处理): a21‘,a22‘,a23‘,a24‘,然后各自与v1~v4相乘,然后相加得到b2。
在这里插入图片描述
从矩阵角度理解计算过程
我的理解:这样就很容易提高运算速度,因为并行度高
在这里插入图片描述

文章来源:https://blog.csdn.net/Allenlzcoder/article/details/135437865
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。