【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理论基础

相关推荐
成为深度学习高手23 分钟前
DGCN+informer分类预测模型
人工智能·分类·数据挖掘
ouliten31 分钟前
cuda编程笔记(29)-- CUDA Graph
笔记·深度学习·cuda
minhuan33 分钟前
构建AI智能体:六十六、智能的边界:通过偏差-方差理论理解大模型的能力与局限
人工智能·方差·偏差·方差-偏差分解·方差-偏差权衡·模型调优
润 下38 分钟前
C语言——深入解析C语言指针:从基础到实践从入门到精通(四)
c语言·开发语言·人工智能·经验分享·笔记·程序人生·其他
koo36442 分钟前
李宏毅机器学习笔记25
人工智能·笔记·机器学习
余俊晖44 分钟前
如何让多模态大模型学会“自动思考”-R-4B训练框架核心设计与训练方法
人工智能·算法·机器学习
hzp66644 分钟前
Magnus:面向大规模机器学习工作负载的综合数据管理方法
人工智能·深度学习·机器学习·大模型·llm·数据湖·大数据存储
hui梦呓の豚1 小时前
YOLO系列目标检测算法全面解析
人工智能·计算机视觉·目标跟踪
m0_678693331 小时前
深度学习笔记39-CGAN|生成手势图像 | 可控制生成(Pytorch)
深度学习·学习·生成对抗网络
一水鉴天1 小时前
整体设计 逻辑系统程序 之27 拼语言整体设计 9 套程序架构优化与核心组件(CNN 改造框架 / Slave/Supervisor/ 数学工具)协同设计
人工智能·算法