transformer学习笔记2

标准的Encoder Only类型的Transformer架构的示意图

关于QKV矩阵

参考B站视频1(VIT)

https://www.bilibili.com/video/BV1gnWdzSEzY/?spm_id_from=333.337.search-card.all.click&vd_source=b73dd02a7fb8feec65576de4e3abaf18

patchs切块

196块patchs


Flatten展平

196个768维的向量

Linear Projection线性投射

196个N维的向量

CLS Token

197个长度D的向量

序列长度就是分了多少块patch

假设这个D还是768,最终得到197个768维的被编码的Token

Positional Encoding加入位置编码

位置编码向量








VIT改进

理解输入输出


输出取决于任务要求

参考B站视频2(VIT)

https://www.bilibili.com/video/BV1fGeAz6Eie?spm_id_from=333.788.videopod.episodes&vd_source=b73dd02a7fb8feec65576de4e3abaf18&p=6


灰色代表位置编码,直接加进去得到新的





实际在GPU运算的时候,是通过拼接而成的大矩阵做乘法,不是像上边一样一个个乘

q1和k2做点积,表示:第一个词和第二个词的相似度是多少

q1和k3做点积,表示:第一个词和第三个词的相似度是多少

q1和k4做点积,表示:第一个词和第四个词的相似度是多少

最后q1和自己也做个点积,表示和自己的相似度




拿到相似度系数之后,分别与V向量相乘,再相加

此时这个a1就表示,在第一个词的视角下,按照和它相似度大小,按权重,把每个词的词向量都加到了一块,这就把全部上下文信息都包含在第一个词中去了。

对于注意力机制来说,如果只通过一种计算方式计算一次,得到一组QKV,相关性灵活性会大大降低。

改进:

之前每个词计算一组QKV,现在在QKV基础上再经过2个权重矩阵变成2组QKV,给每个词2个学习机会,学习到不同的要计算相似度的QKV



拼接


相关推荐
摆烂老大11 分钟前
论文学习 | HESS2025 | 中亚寒区季节水文预报
学习·机器学习·水文
西西弗Sisyphus12 分钟前
模型训练 不同批次大小与学习率下的训练损失对比(1)
学习·batchsize·learning rate
知识分享小能手16 分钟前
概理论与数理统计学习教程,从入门到精通,平稳随机过程(27)
学习·数据挖掘·概率论
2601_9672642828 分钟前
极客时间 AI Agent 全栈工程师训练营,全套学习资源齐全
人工智能·学习
薛定e的猫咪32 分钟前
(NeurIPS 2022)GraphGPS:MPNN 与全局注意力的融合之道
人工智能·深度学习·学习·算法
Z59981784135 分钟前
c#软件开发学习笔记--WPF(Canvas、数据绑定、MVVM模式、值转换器)
笔记·学习·c#
茯苓gao35 分钟前
从零开发 EtherCAT 主站(六):SOEM 初始化流程详解,主站是如何发现所有从站的?
笔记·嵌入式硬件·学习·信息与通信
老当益壮梁奶奶1 小时前
Linux软件编程学习笔记(九):消息队列、共享内存与信号灯详解
linux·c语言·笔记·学习
MartinYeung51 小时前
[论文学习]激活差异揭示后门:SAE架构对比研究
人工智能·学习·架构
小雪崩1 小时前
嵌入式学习 day35:进程间通信-消息队列、共享空间及有名信号量
linux·c语言·学习