Encoder 组成部分如图
工作流程:Transformer中的编码器(Encoder)负责将输入序列转换为富含上下文信息的特征表示,工作流程如下
1. 输入处理
-
输入嵌入(Embedding):将输入词元(如单词或子词)转换为高维向量(通常维度为512或更高)。
-
位置编码(Positional Encoding):通过正弦和余弦函数生成的固定模式,为词元添加位置信息(如公式 PE(pos,2i)=sin(pos/100002i/d)PE(pos,2i)=sin(pos/100002i/d),PE(pos,2i+1)=cos(pos/100002i/d)PE(pos,2i+1)=cos(pos/100002i/d)),使模型感知序列顺序。
-
2. 编码器层堆叠
-
编码器由多个相同的层堆叠而成 每层包含两个核心子层:
-
(1) 多头自注意力机制(Multi-Head Self-Attention)
-
自注意力(Self-Attention):每个词元通过 Query、Key、Value 向量与序列中所有词元交互,计算注意力权重:
Attention(Q,K,V)=softmax(QKTdk)VAttention(Q,K,V)=softmax(dkQKT)V其中,缩放因子 dkdk 防止梯度消失。