Transformer(课程笔记)

一:Motivation

RNN需要顺序的执行,不利于并行计算。

RNN的变体例如GRU、LSTM等需要依靠注意力机制解决信息瓶颈等问题。

抛弃RNN结构,提出了Transformer结构。

Transformer整体架构

二: 输入层(BPE,PE)

BPE:Byte Pair Encoding

解决OOV(out of vocabulary)问题。

PE:Positional Encoding

因为与RNN不同的是Transformer不能通过对文本处理的先后顺序来建模每个单词的位置关系,因此在输入的enbedding上加入一个位置编码


三:Encoder Block

每一个Encoder Block包含两个子层:

  • Multi-Head Attention多头注意力层;
  • Feed-Forward Network两层的ML。

两个tricks:

  • 残差连接;
  • Layer normalization:将输入的向量变成均值为0方差为1的分布,缓解梯度消失和梯度爆炸的问题。
  1. Attention Layer介绍:

Dot-Product Attention:与RNN中的注意力机制不同,使用了QKV三个向量。

文章使用的是Scaled Dot-Product Attention:

如果不使用Scaled,QK的方差会随着dk的增加而变大,从而进行softmax后概率分布会变得很尖锐,有些位置会很接近1,有些位置很接近0。结果会使得梯度越来越小,不利于参数的更新。

除以一个根号dk后可以保持方差为1。

**为什么叫自注意力:**让token自主选择关注哪些token。因为QKV实际上同一个的向量,都来自于文本的表示向量,这样就没法进行学习了。因此是使用不同的Liner层把QKV映射到不同的空间,学习的是每个Liner层各自的权重。

**多头注意力机制:**将QKV使用多组Liner层进行映射,计算注意力的输出,然后对各组计算结果进行拼接,然后通过线性层整合,就得到了多头注意力机制输出结果。
四:Decoder Block

跟Encoder比有两个变换:

1.第一个Attention Layer加了Masked操作,为了让预测当前词时不能看后面的词,因此把QK相乘后的矩阵上三角部分变为负无穷大,然后负无穷大经过softmax后=0。

2.第二个Attention Layer:Query向量来自于上一个Attention的输出,而Key和Value来自于Encoder最后一层的输出(我的理解是:这里的最后一层输出能够表示输入所有的信息的原因是用了多头注意力机制然后进行了整合,而RNN中单使用最后一层输出是不可行的,会出现信息瓶颈的问题的,不知道是不是这样理解)。


五:优缺点

1.优点:

  • 在NLP任务中有很好的效果
  • 适合并行计算
  • 能够建模token和token之间的关系
  • 成为了预训练模型的主要框架

2.缺点

  • 优化过程困难
  • 文本长度为n,复杂度为n方,不适合输入过长的文本

参考课程: 【【全748集】清华大佬终于把AI大模型(LLM)讲清楚了!通俗易懂,2024最新内部版!拿走不谢,学不会我退出IT圈!】https://www.bilibili.com/video/BV1rS411F735?p=31\&vd_source=30a18e1c6984e8eeef0cf4461d1f03e9

相关推荐
CoovallyAIHub19 分钟前
标注成本骤降,DINOv3炸裂发布!冻结 backbone 即拿即用,性能对标SOTA
深度学习·算法·计算机视觉
聚客AI1 小时前
深度拆解AI大模型从训练框架、推理优化到市场趋势与基础设施挑战
图像处理·人工智能·pytorch·深度学习·机器学习·自然语言处理·transformer
翻滚的小@强1 小时前
数据挖掘笔记:点到线段的距离计算
人工智能·笔记·数据挖掘
会思考的猴子1 小时前
UE5 PCG 笔记(二) Difference 节点
笔记·ue5
yuxb732 小时前
Linux 文本处理与 Shell 编程笔记:正则表达式、sed、awk 与变量脚本
linux·笔记·正则表达式
arron88992 小时前
YOLOv8n-pose 模型使用
人工智能·深度学习·yolo
饕餮争锋5 小时前
设计模式笔记_行为型_访问者模式
笔记·设计模式·访问者模式
不羁。。7 小时前
【撸靶笔记】第七关:GET - Dump into outfile - String
数据库·笔记·oracle
Coovally AI模型快速验证11 小时前
农田扫描提速37%!基于检测置信度的无人机“智能抽查”路径规划,Coovally一键加速模型落地
深度学习·算法·yolo·计算机视觉·transformer·无人机
RaymondZhao3411 小时前
【全面推导】策略梯度算法:公式、偏差方差与进化
人工智能·深度学习·算法·机器学习·chatgpt