前馈网络
1. 基本概念
前馈网络是 一种逐层传播信息、没有循环和跳跃的神经网络,在 Transformer 中通常被称为 Position-wise Feedforward Network。
在标准 Transformer 里,FFN 位于每个注意力层(Self-Attention/Linear Attention)之后,主要作用是非线性变换和特征交互。
公式表示为:
:输入向量(一个 token 的 embedding)。 , :第一层权重和偏置。 :非线性激活函数(ReLU、GELU 等)。 , :第二层权重和偏置。 - 输出维度与输入相同(
),方便残差连接。
2. 为什么叫 Position-wise
- Position-wise 意味着 FFN 对每个 token 独立处理,不跨 token 做计算。
- 如果有序列
,则 FFN 对序列中每个 计算:
- 这种设计允许并行化计算,加速训练。
核心理解是:
Self-Attention 负责跨 token 的依赖捕获,FFN 负责每个 token 内部特征的非线性组合和扩展。两者结合,模型既能学习长程依赖,又能丰富 token 表示。
1. Self-Attention vs FFN
- Self-Attention:属于 交互式(Cross / Interaction)范式
- 每个 token 的输出依赖于整个序列(通过 QKᵀ 计算权重),实现 token 之间的长程依赖。
- 本质是 全局聚合信息,强调序列间的交互。
- Feedforward Network(前馈网络):属于 非交互 / 独立(Independent / Local / Point-wise)范式
- 每个 token 独立计算,不依赖其他 token。
- 本质是 特征维度变换和非线性映射,强调每个 token 内部的表达增强。
直观理解:
- Attention 是“横向”操作,跨 token 信息流动 → Cross / Interaction
- FFN 是“纵向”操作,单 token 内部变换 → Point-wise / Independent