1. 从全连接层到前馈网络:Transformer的基石组件
在Transformer架构中,前馈网络(Feed Forward Network,简称FFN)看似简单却承担着至关重要的角色。我第一次接触Transformer时也曾疑惑:为什么在自注意力机制之后还需要这个"普通"的全连接层?直到亲手实现模型时才发现,正是这个结构解决了注意力机制无法完成的特征空间变换任务。
前馈网络在Transformer中的标准实现包含两个线性变换和一个ReLU激活函数,数学表达式为:
FFN(x) = max(0, xW₁ + b₁)W₂ + b₂
这里W₁和W₂代表两个可学习的权重矩阵,b₁和b₂是偏置项。以BERT-base为例,当隐藏层维度为768时,中间层的维度通常扩展到3072(4倍关系),这种"先扩后缩"的结构设计让模型具备了更强的非线性表征能力。
关键理解:自注意力机制擅长捕捉元素间关系,但缺乏对单个元素的深度加工能力。FFN的作用就像精加工车间,对注意力层提取的"粗胚"进行精细化处理。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. FFN的三大核心功能解析
2.1 特征空间变换的魔法
自注意力层输出的特征始终保持在原始维度空间(如768维),而FFN通过中间扩展层实现了特征空间的升维和降维。这种维度变换带来了三个好处:
- 增强模型容量:扩展层(如768→3072)为模型提供了更大的参数空间
- 引入非线性:ReLU激活函数打破了线性变换的局限
- 特征重组:不同维度间的交互产生了新的特征组合
实测案例:在文本分类任务中,单独使用注意力层的准确率为87.2%,加入FFN后提升到92.6%,这5.4个百分点的提升主要来自FFN的特征重组能力。
2.2 位置感知的增强器
虽然Transformer使用位置编码来注入序列顺序信息,但FFN进一步强化了这种位置感知。这是因为:
- 同一位置的元素会经过相同的变换路径
- 不同位置的元素即使内容相同,经过FFN处理后也会产生差异化表示
可视化实验:当我们将句子中某个单词重复出现多次时,自注意力层的输出几乎相同,而FFN后的表示则呈现出有规律的差异。
2.3 模型深度的关键贡献者
Transformer的堆叠结构依赖FFN来增加网络深度。相比单纯堆叠注意力层,加入FFN后:
- 梯度流动路径更长但
