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

相关推荐
@心都16 分钟前
机器学习数学基础:29.t检验
人工智能·机器学习
9命怪猫18 分钟前
DeepSeek底层揭秘——微调
人工智能·深度学习·神经网络·ai·大模型
kcarly2 小时前
KTransformers如何通过内核级优化、多GPU并行策略和稀疏注意力等技术显著加速大语言模型的推理速度?
人工智能·语言模型·自然语言处理
Jackilina_Stone2 小时前
【论文阅读笔记】浅谈深度学习中的知识蒸馏 | 关系知识蒸馏 | CVPR 2019 | RKD
论文阅读·深度学习·蒸馏·rkd
倒霉蛋小马3 小时前
【YOLOv8】损失函数
深度学习·yolo·机器学习
MinIO官方账号3 小时前
使用 AIStor 和 OpenSearch 增强搜索功能
人工智能
江江江江江江江江江4 小时前
深度神经网络终极指南:从数学本质到工业级实现(附Keras版本代码)
人工智能·keras·dnn
Fansv5874 小时前
深度学习-2.机械学习基础
人工智能·经验分享·python·深度学习·算法·机器学习
小怪兽会微笑4 小时前
PyTorch Tensor 形状变化操作详解
人工智能·pytorch·python
Erekys5 小时前
视觉分析之边缘检测算法
人工智能·计算机视觉·音视频