标题:【Transformer 组件】前馈网络 FFN:位置级非线性变换,提升模型表达
摘要:
FFN(Feed-Forward Network)是 Transformer 编码器/解码器的标配:对每个位置独立做两次线性+一次非线性,增强单位置特征的非线性表达。
一、结构(两层全连接 + 非线性激活)
对每个位置的向量xxx:
FFN(x)=W2⋅σ(W1x+b1)+b2 \text{FFN}(x) = W_2 \cdot \sigma(W_1 x + b_1) + b_2FFN(x)=W2⋅σ(W1x+b1)+b2
- W1,b1W_1, b_1W1,b1:第一层(升维,通常 4 倍)
- σ\sigmaσ:非线性激活(常用 ReLU/GELU)
- W2,b2W_2, b_2W2,b2:第二层(降维回原维度)
二、特点
- 位置独立:每个位置单独计算,不跨位置
- 升维再降维:中间维度更大,增强非线性
- 与注意力互补:注意力负责全局关系,FFN 负责局部特征变换
三、作用
- 引入更强非线性,提升模型拟合能力
- 对注意力输出做特征提纯与变换
- 增强单位置语义表达
小结:
FFN 是 Transformer 的**“非线性引擎”**:注意力建模全局关系,FFN 强化单位置特征,二者配合,模型既懂上下文,又懂细节。