问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Transformer模型原理及关键模块详解

创作时间:
作者:
@小白创作中心

Transformer模型原理及关键模块详解

引用
CSDN
1.
https://blog.csdn.net/weixin_65514978/article/details/140954252

Transformer模型是一种深度学习模型,最早由Vaswani等人在2017年的论文《Attention is All You Need》中提出。相比于传统的CNN和LSTM,Transformer具有一些独特的优势,如并行计算能力和自注意力机制。因此,Transformer迅速成为了大模型(如GPT系列)主流的模型结构。

Transformer模型由两个主要组件组成:编码器和解码器。编码器接收输入文本,并生成一系列隐藏状态,这些隐藏状态表示文本的含义。然后,解码器接收编码器的隐藏状态,并逐字生成输出文本。

Transformer模型包含了多个核心模块:

  1. Tokenizer&Word Embedding(分词及向量化):将输入文本转换为词元序列,并将其嵌入到一个固定大小的向量空间中。

  2. Positional Encoding(位置编码):由于Transformer采用并行处理方式,因此需要一种机制来表示词序信息。位置编码通过在词向量上添加位置信息来实现这一点。

  3. Self-Attention Layer(自注意力层):这是Transformer的核心模块,通过计算词与词之间的注意力权重来捕捉文本中的依赖关系。

  4. Residual Connection(残差连接):通过跳过某些层的输出并直接加到后续层的输入上,来缓解梯度消失问题。

  5. Layer Normalization(层归一化):用于稳定训练过程,提高模型的收敛速度。

  6. Feed Forward Layer(前馈神经网络):对每个词的嵌入向量进行非线性变换,以引入更多的表达能力。

自注意力机制

自注意力机制是Transformer模型的核心创新。它通过计算词与词之间的注意力权重来捕捉文本中的依赖关系。具体来说,每个词的嵌入向量被转换为查询向量(q)、键向量(k)和值向量(v)。然后,通过计算查询向量与所有键向量的点积来得到注意力分数,最后将这些分数应用于值向量的加权和,得到最终的输出。

多头注意力机制

多头注意力机制是自注意力机制的一个扩展。它通过使用多个独立的注意力头来并行地关注输入的不同部分,从而获得更丰富和多样的数据表示。每个注意力头都有自己的一组查询、键和值矩阵。

位置编码

位置编码是Transformer模型中用于表示词序信息的关键组件。原论文中使用了不同频率的正弦和余弦函数来实现位置编码。这种编码方式可以保持序列中单词的顺序,并且能够使模型容易学习按相对位置进行关注。

残差连接

残差连接允许梯度通过直接路径传递,从而缓解了梯度消失或梯度爆炸的问题。此外,残差连接还加速了训练过程,提高了模型的收敛速度和性能。

层归一化

层归一化的主要目的是确保训练的稳定性。它通过在每一层的输出上应用归一化操作,来防止数值过大或过小,从而避免梯度消失或梯度爆炸问题。与Batch Norm相比,Layer Norm更适合处理长度不固定的NLP序列。

前馈神经网络

前馈神经网络(FFN)在Transformer中起着引入非线性的作用。虽然自注意力机制中的softmax本质上是线性的,但FFN通过两个线性变换和一个ReLU激活函数,为模型引入了非线性变换能力。研究表明,FFN虽然有一定的参数冗余,但在准确性上能够起到一定的作用。

训练与预测

Transformer模型的训练过程类似于序列到序列任务的常规训练循环。在预测阶段,模型会逐个生成输出词,直到达到最大长度或生成结束标记。

数学视角

从数学角度来看,Transformer可以被理解为d维概率测度空间的流映射。每个token(可以理解为粒子)都遵循向量场的流动,流动取决于所有token的经验测度。这种相互作用最终会导致token聚集,从而在预测任务中筛选出可能的结果。

Transformer模型自提出以来,已经在自然语言处理领域取得了巨大的成功,并且持续推动着相关技术的发展。随着研究的深入,Transformer模型也在不断地演进和优化,以应对更复杂的任务和场景。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号