深度学习中Transformer的简单理解

Transformer

网络结构

Transformer也是由编码器 和解码器组成的。

每一层Encoder编码器 都由很多层构成的,编码器内又是**++self-attention++** ++和前馈网络++构成的。Self-attention是用来做加权平均,前馈网络用来组合。

但是decoder有点不同,多了一层Encoder-Decoder Attention 。这一层的作用是关注全局,也就是不仅仅要关注编码,还要关注解码过程。在翻译中,也就是不仅仅关注翻译后的内容,还要关注翻译前的上下文内容。

Self-attention又可以拆解成多个部分,就变成了Multi-Head Attention。

最终得到了,整个网络结构。

数据流程

首先,把单词做统一长度的向量化 ,再嵌入位置信息 ,这样方便单词的统一,最终是同一长度**(比如都是512位)**。

然后,再通过一个编码器,生成下一个编码。这里的Self-attention就是个零件(比如单词)自查表, 它的作用就是通过权重标明相互之间的关系并且嵌入上下文信息。

具体的方法是,每个向量先嵌入位置信息,

再乘以++三个训练好的向量Q、K和V矩阵++。

(我感觉,看上去像是一个数据库的查询操作)Q就是我提出了一个查询语句,K就是查询时候键值,两个相乘就得到了一个特征向量。V就像是数据库里面的值,所以,就像利用前面计算得到的特征向量分别计算V的相关性。

用一个单词的K向量 和所有单纯的Q向量 相乘,++得到的权重就是Attention++。

然后,通过归一化后,利用softmax函数过滤掉不相干的单词 。再乘以V向量,加权求和。最终得到输出向量。

所有的步骤,就只需要知道,反正最后得到了单词的权重计算。

用矩阵描述就是,先把X乘以三个矩阵。

然后,利用得到的Q和K,计算Z矩阵。

如果是Multihead-Attention,就会使用多个不同权重的矩阵,计算多次,得到多个Z。Multihead的作用是,消除QKV初始值的影响。那就像是八个不同的人做,更能够排除意外的影响。

最后通过一个加权平均,合成一个Z矩阵。

梳理

变形金刚要变形,从小车到机器人。

  1. 编码器一开始,先拆成零件。
  1. Self-attention就是给出一个变形说明书,说明零件之间的关系和权重。

  1. 左边编码把输入转换成了++降维的向量++ 和++零件说明书++,K和V;右边解码,还需要看两个东西,一个自己的拆解说明书和与其他零件的项目关系;一个零件一个零件的组装。
  1. 最后,线性层把向量投影到一个很长的序列中,包含所有单词的序列。
  1. softmax做归一化,得到一个最大的概率。

参考资料:

【【Transformer模型】曼妙动画轻松学,形象比喻贼好记】 https://www.bilibili.com/video/BV1MY41137AK/?share_source=copy_web\&vd_source=91d02e058149c97e25d239fb93ebef76

相关推荐
智感子3 小时前
测控链路:从传感器到上位机
人工智能·嵌入式硬件·fpga开发
人工智能技术咨询.7 小时前
具身智能中的世界模型训练
人工智能
LaughingZhu7 小时前
Product Hunt 每日热榜 | 2026-10-06
人工智能·深度学习·神经网络·搜索引擎·百度
AOI小白新手上路7 小时前
AOI 缺陷检测复现实操指南:Anomalib + MVTec AD(glass)与 YOLOv8 + NEU-DET 两条路线
人工智能·深度学习·yolo
henrylin99997 小时前
RD-AGENT 第一讲 · AI 因子工厂是怎么运转的
人工智能
高洁018 小时前
具身智能中的世界模型训练
人工智能·python·深度学习·机器学习·transformer
无线通信科研笔记8 小时前
IEEE TVT 2026 论文精读与完整复现|相位误差如何重塑近场 RIS 的幅相响应
论文阅读·人工智能·python·算法·论文笔记
Devlive 开源社区8 小时前
AuthX 正式更名 GrantForge:我们重新做了一遍权限管理系统
大数据·人工智能·架构
朝朝辞暮i8 小时前
VLA 系统学习第 1 课:VLA 到底在干什么?
人工智能·python·计算机视觉·vla
鲲穹AI种草8 小时前
AI 壁纸生成工具怎么选?鲲穹 AI 壁纸工具功能实测与横向对比
人工智能·壁纸生成工具