神经网络Transformer架构中的前馈网络
字数 707 2025-11-19 09:06:17
神经网络Transformer架构中的前馈网络
- 基本定义:前馈网络是Transformer架构中的核心组件之一,位于注意力机制之后。它是一个全连接神经网络,独立作用于每个位置(如单词在序列中的位置),通过两层线性变换和中间的非线性激活函数(如ReLU)实现特征转换。
- 结构细节:
- 输入与输出:输入是注意力层输出的位置感知表示(维度为
d_model,如512),输出保持相同维度以确保残差连接兼容。 - 内部扩展:第一层线性变换将维度扩展到更大值(如
d_ff = 2048),第二层变换恢复至原始维度。例如:
输出 = W₂ · ReLU(W₁ · x + b₁) + b₂,其中W₁、W₂为权重矩阵。 - 非线性激活:ReLU函数引入非线性,使模型能学习复杂模式,替代方案如GELU可用于平滑梯度。
- 输入与输出:输入是注意力层输出的位置感知表示(维度为
- 作用与意义:
- 特征深化:注意力机制计算位置间关系,前馈网络则对每个位置的表示进行深度加工,增强模型的表达能力。
- 位置独立性:每个位置的前馈网络参数共享,确保处理效率与平移不变性。
- 在Transformer中的位置:
- 每个编码器/解码器层包含一个前馈网络,位于多头注意力层和残差连接之后,与层归一化协同工作。
- 例如:编码器中流程为“多头注意力 → 残差连接 & 层归一化 → 前馈网络 → 残差连接 & 层归一化”。
- 变体与优化:
- GLU变体:门控线性单元(如SwiGLU)通过门控机制过滤信息,提升梯度流动。
- 计算优化:通过分组线性变换或低秩近似减少参数量,适应资源受限场景。
- 实际应用:在语言模型中,前馈网络帮助学习词汇的上下文相关表示,如区分“苹果”作为水果与公司名称的不同语义。