【Self-Attention——Transform—Bert】相关的基础理论

1.Self-Attention模型图解

传统的循环神经网络,如上左图1,并不能解决并行化的问题,右图就是一个self-Attention可以实现并行化,并且能解决对于所有信息的读取利用。

将self---Attention替换相应的GRU或者RNN,就能实现从输出a到输出b,每一个b都能看到a1-a4的信息,同时b的计算还能实现并行化。

Self-Attention就是来自于《Attention is all you need》这篇文献当中,可以通过下面的链接进行下载:

https://arxiv.org/abs/1706.03762

1.1 Self-Attention解决方案

如图相应的X是作为输入,每一个输入x都乘以一个权重W,得到αi。

然后将每一个α都拆分为三个向量,q,k,v的三个。qk主要完成Attention的工作,v完成抽取序列信息。

Q:其中q用于去与其他向量进行匹配计算

K:是用于被匹配计算的向量

V:用于抽取相应序列的信息


拿每个queryq去对每个key k做attention

主动用当前的Q,与自己和其他输出的k进行attention计算

qk做点乘,其中还除去维度d,d是q、k的维度。

其中做完相应的Attention后还需要,进行softmax,获取相应的α帽。就是注意力的分布

而b,是当前的q计算得到的attention值α与每个输入的v进行相互乘,并且累加得到,获取到了当前时刻所有输入数据的信息。同理得到b2

同理得到a2、b2,是当前的q2与其他的k、与其他的v计算分别得到attention值和序列信息值。

1.2 总结

因为每个值阿尔法,都是分别计算得到的,所以不需要依靠计算上一个节点。

并且通过分出三个向量,实现对于每个节点的信息的运用。

2. Self-Attention的数学理论基础

对于每一个输入的x,都可以经过一个相应的矩阵W的计算,得到相应的q,k,v。

其中对于每个的a进行拼接向量,得到I矩阵,乘以相应的W,就得到Q矩阵。

同理得到相应的K矩阵

同理得到相应的V矩阵

相应的A帽矩阵,如下所示,是根据相应的A矩阵softma变换得到Attention

所以A矩阵就是为K矩阵与Q矩阵变换得到

将得到的A矩阵进行Softmax计算得到相应的A帽矩阵

B帽矩阵 = A帽矩阵* V矩阵

所以相应的Self-Attention就是相应的矩阵的变换得到,输入的数据为I矩阵,经过W矩阵得到相应的QKV矩阵

K矩阵转置,与Q矩阵计算得到A矩阵,A矩阵归一化后得到Attention

将Attention后的结果乘以V,就得到了序列化的数据矩阵O,作为输出。

3. Multi-Head-self Attention(多头自注意力模型)

下面主要演示双头的注意力模型,一般来说都是选用偶数头

多头,一般就是将相应的QKV进行拆分,拆分成相应的几头

多头的注意力模型,可以更加细节的发现局部的信息。所以可以解决局部信息,如果更加看重局部信息的时候,多头的模型就是比较合适的。

4 Transform

.

5.Bert理论基础

相关推荐
IT_陈寒12 分钟前
React的useEffect依赖数组把我坑惨了,真相其实很简单
前端·人工智能·后端
Kapaseker25 分钟前
什么?Stack Overflow 给 AI 做了个 Stack Overflow
人工智能
aneasystone本尊44 分钟前
让小龙虾自己写手册:Skill Workshop
人工智能
火山引擎开发者社区1 小时前
一篇看懂 VKE AI Profiling:AI 应用性能分析优化实战
人工智能
IT乐手1 小时前
马斯克的AI模型Grok,竟然帮美军炸了伊朗?!
人工智能
AI袋鼠帝1 小时前
斥资500元/上亿Token,深度横评4个顶尖模型的真实排名~
人工智能
大刚测试开发实战11 小时前
TestHub V0.2.2版本发布,附更新指南
人工智能
冬奇Lab12 小时前
Agent 系列(21):Harness 测试工程——45 个测试怎么设计,以及它发现了什么 bug
人工智能·llm·agent
冬奇Lab12 小时前
每日一个开源项目(第133篇):EchoBird - 把 AI 工具的安装和部署做成傻瓜操作
人工智能·开源·资讯
IT_陈寒13 小时前
Redis的SETNX并发问题让我加了三天班
前端·人工智能·后端