神经网络Transformer架构中的编码器-解码器结构
字数 700 2025-11-19 04:04:43
神经网络Transformer架构中的编码器-解码器结构
编码器-解码器结构是Transformer架构的核心框架,它通过分工协作的方式处理序列到序列的转换任务。编码器负责将输入序列(如一句英文)转化为富含语义的中间表示,解码器则基于这个中间表示生成输出序列(如对应的中文翻译)。该结构最初为机器翻译设计,现已成为文本生成、语音识别等任务的基础范式。
编码器由N个完全相同的层堆叠而成(原论文中N=6),每层包含两个核心子层:
- 多头自注意力机制:计算输入序列中每个位置与其他位置的关联权重,捕捉长距离依赖关系
- 前馈神经网络:对每个位置的表示进行非线性变换,增强模型表达能力
每个子层都配有残差连接和层归一化,确保训练稳定性。编码器最终输出与输入序列等长的上下文感知表示。
解码器同样由N个相同层堆叠,但结构更加复杂:
- 掩码多头自注意力:使用因果掩码确保每个位置只能关注之前位置,防止未来信息泄露
- 编码器-解码器注意力:将编码器输出作为Key和Value,使解码器能聚焦输入序列的相关部分
- 前馈神经网络:与编码器中的结构相同
每个子层同样包含残差连接和层归一化。解码器通过自回归方式逐位生成输出,每一步将已生成序列作为新输入。
训练时采用教师强制策略,将真实目标序列右移作为解码器输入,使用交叉熵损失优化模型参数。推理时使用束搜索等策略平衡生成质量与效率,通过softmax输出层计算词表分布。
该结构的创新在于完全基于注意力机制,克服了RNN的序列计算瓶颈,支持并行处理输入序列。其模块化设计允许调整层数、注意力头数等超参数,已在BERT(仅编码器)、GPT(仅解码器)等衍生模型中展现强大扩展性。