You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Transformer位置前馈层Add and Norm残差连接维度匹配问题

Transformer FFN层Add&Norm机制与跨维度残差连接实现解答

1. Position-wise FeedForward Layer中Add and Norm的完整工作机制

Add and Norm是Transformer所有子层的标配后置模块,在Position-wise FFN中的完整执行流程如下:

  • 残差加和(Add):首先获取FFN层的原始输入x,以及FFN层的输出F(x)(即经过两个线性层+ReLU激活后的计算结果),对两个张量做逐元素加和,得到中间结果x + F(x)。标准Transformer原始实现中FFN的输入输出维度保持一致,此处可直接完成加和运算。
  • 层归一化(Norm):对加和后的结果做层归一化(Layer Normalization),归一化范围为最后一维的特征维度:即对每个样本、每个序列位置对应的特征向量单独做归一化,将其均值调整为0、方差调整为1,再经过可训练的缩放参数γ和偏移参数β做线性变换,避免归一化损失模型的表达能力,最终得到Add and Norm模块的输出。

2. 输入输出维度不匹配时的残差连接实现逻辑

当FFN的输入维度input_dim和输出维度output_dim不一致时,x和F(x)形状不匹配,无法直接做逐元素加和,此时必须对输入x做维度对齐处理,具体逻辑如下:

  • 新增一个可训练的维度投影线性层,将原始输入x从形状(num_samples, sequence_length, input_dim)线性映射为形状(num_samples, sequence_length, output_dim)的张量,记为x_proj。
  • 残差加和运算调整为x_proj + F(x),此时两个张量形状完全匹配,逐元素加和运算可合法执行。
    这种维度投影的设计是Transformer架构中处理残差连接维度不匹配的通用方案,除跨维度FFN外,编码器/解码器堆叠调整隐层维度、跨模块残差连接等场景也会使用该方案做形状兼容。

内容的提问来源于stack exchange,提问作者Sachin Saxena

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 22:54:02