FFN(前馈神经网络) 到底是什么?
在上一章中,我们已经知道,Attention 的作用是:让模型能够在生成每个 Token 时,回看并加权所有历史信息。
这解决了一个关键问题, “上下文相关性”
但如果我们就草率的认为Attention = 智能, 那就错了。
因为仅靠 Attention,其实模型还是做不到,把得到的“信息”变成“推理能力”
所以其实在 Transformer 里有两个核心模块:
Attention(负责“找关系”)
FFN(负责“加工信息”)
很多人看到这里会产生一个误解,Attention 是核心,FFN 是辅助?
不对,这完全弄反了.
在真实模型里:
FFN 才是参数量最大、最“像知识”的部分
而 Attention 更像“信息路由系统”。所以我们先从Attention的局限性开始讲起
5.1 Attention 的局限性
我们先回到最早这句话:
小明昨天去北京出差,今天他回来了。
Attention 能很好解决:
“他”是谁
北京指代什么
时间关系
但是我们换一个任务:
把这句话改写成正式邮件
或者:
总结这段话的核心意思
或者:
推理小明的行程逻辑
Attention 马上就会遇到一个问题,它只能“关联信息”,但不能“加工信息”。
以做一个简单的比喻
Attention,它就像一个“资料整理员”.
它很擅长:
找相关内容
做信息匹配
拼接上下文
但却它不擅长:“加工、抽象、归纳”
所以 Transformer 需要第二个模块:FFN(前馈神经网络),那么FFN到底是什么呢?
5.2 FFN:真正的“加工工厂”
我们直接让Attention和FFN对比一下.
Attention vs FFN
模块 做什么
Attention 找信息
FFN 处理信息
可以用后厨做一个比喻
Attention:后厨采购员
他会:
查看所有食材
决定买什么
决定买多少
FFN:大厨
他会:
将买回的食材(信息)加工
炒至成菜肴(高级特征)
回到模型
Attention 输出的是:“相关信息集合”.
但 FFN 做的是:把这些信息归纳总结后重新“加工成新的表达”.
我们还是找到小明~
输入:
小明昨天去北京出差,今天他回来了
Attention 可能输出:小明 + 北京 + 出差 + 时间关系
FFN 则会进一步加工成:小明完成了一次北京出差行程
所以关键区别就在于:
Attention 不创造信息
FFN 才负责“生成新的表达能力”
5.3 FFN 的基本结构
在 Transformer 里,它长这样:
输入向量
↓
线性变换(升维)
↓
激活函数(ReLU / GELU)
↓
线性变换(降维)
↓
输出向量
用一句通俗的话讲解的话,实际上 FFN = 把信息“放大 → 变形 → 压缩”的加工器
这是一个比较关键的点.
Attention 是多个 Token 之间的信息交互
FFN 则是每个 Token 自己内部的“脑内处理”
大概就是这样:
模块 作用范围
Attention Token 之间交流
FFN Token 自己思考
5.4 举个例子理解 FFN
我们继续用小明~,
小明昨天去北京出差
Attention 做的是:
小明 ↔ 他(指代关系)
北京 ↔ 地点关系
但 FFN 做的是:
“这句话整体是什么意思?”
把FFN 的工作方式比喻为人类学习方式的话
我们可以理解为
Attention—你在查资料
FFN—你在理解资料
继续请出我们的老演员,小明~~
同一条信息:
小明昨天去北京出差
Attention 看到的是:
小明
北京
出差
时间关系
但 FFN 会则会抽象和重组整个信息:
把这些“碎片信息”组合成一个新的表达
例如:
一次商务出行事件
注意:
这一步不是纯“检索”,而是有计算:
压缩 + 抽象 + 重组
5.5 FFN 的本质:逐点“非线性变换”
FFN 做的事情:
对每一个 Token 向量:
单独做一次“非线性加工”
什么叫非线性?
线性 = 机械加减
例如:
小明 + 1 = 小明?
北京 + 2 = 北京?
没有意义
非线性 = 产生新语义
例如:
输入:
“小明 + 出差 + 北京”
输出:
“商务活动”
👉 FFN 的作用就是:
把“简单叠加的信息”变成“新的语义结构”
5.6 FFN 的关键结构:升维 → 压缩
这是 FFN 最核心的设计。
Step 1:升维(Expand)
把一个向量:
768维
扩展成:
3072维
为什么要升维?
因为升维之后才能存储更多信息.
空间变大 → 可以表达更多“组合关系”
我们可以理解为:
原来只有一块钱,升维之后, 你就有了5块钱, 你可以购买和组合购买更多的东西.
Step 2:非线性变换(ReLU / GELU)
这一层只做一件事:
筛选 + 激活 + 抑制
我们可以简单理解为,通过算法将有用的信息放大,将没用的信息压缩.
Step 3:降维(Project back)
再从:
更多推荐

所有评论(0)