具体请参考视频 Transformer架构讲解
向量维度
`向量的维度
向量可以是一维或多维的,其维度指的是向量中元素的数量。在数学和物理学中,向量的维度表示向量所在的空间的维数。例如:
一维向量(标量):只有一个元素,如 [5]。
矩阵的维度
矩阵是一个二维数组,其维度通常表示为行数乘以列数。矩阵的维度可以描述为 m×n,其中:
m 是矩阵的行数(垂直方向)。
n 是矩阵的列数(水平方向)。
例如:
2×3 矩阵有2行3列,总共6个元素。
3×3 矩阵是一个方阵,有3行3列,总共9个元素。
Transformer
- Transformer是什么? Transformer是一种基于自注意力机制(Self-Attention
Mechanism)的深度学习模型架构,最初由谷歌在2017年的论文《Attention is All You
Need》中提出。它主要用于自然语言处理(NLP)和其他序列到序列(sequence-to-sequence)任务,如机器翻译、文本生成等。 - 自注意力机制是什么? 自注意力机制的核心是通过计算序列中每个元素与其他所有元素之间的相关性(或注意力权重),来决定每个元素的重要性
- 深度学习模型架构是什么?
深度学习模型架构是指深度学习模型的整体结构和组成方式,它定义了模型如何处理输入数据、如何提取特征、如何进行学习和预测等
核心组成四个部分
自注意力机制(Self-Attention Mechanism)
编码器(Encoder)和解码器(Decoder)
位置编码(Positional Encoding)
残差连接和层归一化(Residual Connections and Layer Normalization)
Transformer分词方法
BPE(Byte Pair Encoding,字节对编码)是一种常用的子词分词算法,在自然语言处理(NLP)中用于将文本分割成更小的单位
为什么使用BPE?
解决OOV词表中未出现的词模型无法理解
小结
Transformer Encoder Block
多头注意力机制Multi-Attention与前馈Feed Forward(两层的MLP(多层感知机(输入层-隐藏层-输出层)))
俩个小技巧Add&Norm:残差连接与正则化 将输入与输出连接(防止梯度消失)与改变输入在均值为0方差为1的分布(防止梯度消失与爆炸的问题)
注意力机制基于点积的注意力机制 多头就是多个的意思
首先q与k进行点积得到注意力分数,注意力分数再通过Softmax得到注意力分布,注意力分布再与v进行加权平均得到输出
使用Scale解决当dk(q与k的维度是dk)过大时,梯度会越来越小。不利于梯度更新
Scale主要是将q与k点积除以根号k的方式
qkv三个矩阵是由前面的文本的表示向量(词表向量与位置向量的求和)×变换矩阵linear层
多头注意力机制在变化矩阵linear层参数不同才进行融合