← 返回 PaperDaily
大模型与智能体
MIT新作:把FFN变成显式模糊逻辑,竟能读出语法许可器
这篇论文最有意思的地方,不是把 FFN 换成了更“数学”的东西,而是把原本黑箱的中间层,改造成了能直接读出“and / and not / 量词”的逻辑模块。更狠的是,它还把这种逻辑一路做进了语法许可器检测里。
龙哥读论文
阅读 4
查看原文
🐉 龙哥读论文知识星球来了!公众号每日8篇拆解不够看?星球无上限更AI领域论文、资讯、招聘、招博、开源代码,一站式干货,每日2分钟刷完即赚!
👇扫码加入「龙哥读论文」知识星球,前沿干货、实用资源一站式拿捏~
龙哥导读:
这篇论文最有意思的地方,不是把 FFN 换成了更“数学”的东西,而是把原本黑箱的中间层,改造成了能直接读出“and / and not / 量词”的逻辑模块。更狠的是,它还把这种逻辑一路做进了语法许可器检测里。
原论文信息如下:
先抛一个有点扎心的问题:Transformer 里最“干活”的 FFN 层,平时看起来像黑箱;这篇论文偏要把它拆成一个能直接读出“and”“and not”“量词”的逻辑模块。更离谱的是,它还真不是只会讲故事,125M 参数的语言模型质量基本没掉,还能把一部分语法许可问题讲清楚。
这篇论文的题目很长,但主线其实很清楚:先让 FFN 说人话,再让它学会在句子里“记住前面出现过什么”,最后把它读成语法许可器检测器。这里的 FFN 是 Feed-Forward Network,中文一般叫前馈网络或前馈层;它通常占 Transformer 很多参数,也是最像“知识仓库”的地方,但平时最不透明。
FFN逻辑透明化:参数中性的显式集合运算设计
标准 FFN 的套路很朴素:先线性升维,再过一个激活函数,再线性压回去。问题在于,这种写法能算东西,但很难说清楚“到底算了什么”。这篇论文干脆换了思路:把隐藏单元改写成 模糊集合运算,也就是让每个单元显式做“交集”和“差集”。
这里先把基础概念捋顺。模糊逻辑不是传统布尔逻辑那种“非黑即白”,而是把“属于某个集合”的程度压到 0 到 1 之间。这样一来,交集可以写成乘法 A·B,差集可以写成 A·(1-B)。后者尤其关键,因为它等价于“有 A,但没有 B”,这就是论文里强调的 显式否定。很多门控或双线性单元能做乘法,但没有这种清清楚楚的“and not”结构。
论文把这种层叫做 NC-FFN,全称是 Negation-Capable Feed-Forward Network,中文可以理解为“具备否定能力的前馈层”。注意这里的“capable”不是说它一定更强,而是说它结构上真的能表达“and not”。
为了不让参数量变多,作者做了一个很工程化的处理:把原本一个激活块拆成两路输入投影,得到 A 和 B,再用 A·B、A·(1-B) 这样的组合,最后统一送回输出投影。也就是说,参数预算不变,表达方式变了。这点很重要,因为很多“更可解释”的设计,一上来就把参数翻倍,最后只能算概念秀。
更妙的是,作者还给它留了一个“退路”。如果第二个操作数不太有用,A·(1-B) 会退化成一个普通的有界门控特征,相当于“逻辑不够时,先别硬拗,先回到能训练的状态”。这在工程上很实用,因为纯布尔化的层很容易训练崩掉,后面会看到它确实不是吓唬人。
推理探针揭示:乘法单元在深度和宽度上各司其职
如果只看语言模型的困惑度,根本分不出这种结构到底是在“真推理”还是“装会说话”。所以论文先做了一个非常干净的控制实验:直接把注意力拿掉,只保留纯前馈堆叠,让模型做 N 位 parity。这个任务很适合测乘法结构,因为 parity 本质上就是多个比特的乘积式组合,特别吃“交互项”。
这里的结果挺有意思。有界乘法单元,也就是 NC-FFN 和 sigmoid-bilinear,在浅层就能拿到很高的可达范围;原始双线性单元则是典型的“浅层废柴、深层猛男”,必须靠层数堆起来;GELU 则介于两者之间。换句话说,宽度更适合浅层,深度更适合组合,而边界是否有界,会直接决定这种组合到底是稳步增长还是先天难用。
这也解释了为什么作者不直接把整层都换成逻辑单元。纯逻辑层虽然更“漂亮”,但训练会出事;而保留一部分 GELU,相当于给梯度留了一条高速公路。论文里这个工程折中很老实:不是为了炫技,而是为了让模型先活下来。
语言建模瓶颈:一个集中且可解释的语法缺陷
接下来才是这篇论文真正“上价值”的地方:把 NC-FFN 放进 125M 参数语言模型后,它的困惑度基本能和 GELU 基线打平,说明这种逻辑化改造并没有把模型训练坏。但如果看更细的语法任务,问题就出现了——BLiMP 上的结构性语法能力仍然有缺口,而且这个缺口不是到处散,而是集中在“许可”和“量词”这类序列级构造上。
这里的背景知识很重要。语法许可指的是某些词或结构必须先被前面的“许可者”激活,后面的功能词才合法出现。比如比较级、被动结构、否定极性项等,都依赖前面某个触发条件是否出现。这个问题不是“当前 token 内部算一算”就能解决的,它要求模型对前文做一个小范围记忆。
这就把论文的第二个判断讲清楚了:单纯的显式集合运算,擅长 token 内部的逻辑组合;但面对跨 token 的许可关系,它还是缺一块。 说白了,前馈层像个很会做局部判断的理工男,结果一遇到“前面那句话有没有出现过某个许可条件”,它就开始掉线。
这部分其实挺有启发。很多人喜欢把“可解释结构”当成一种天然属性,好像模型一换结构就会突然变得通透。论文这里直接泼了一盆冷水:逻辑结构不是摆上去就有,得看训练任务愿不愿意养它。
学习遗忘的量词:从粘性锁存到短时记忆的自我调优
前面那个缺口刚好给了作者一个很自然的补丁:既然 token 内部的集合运算不够,那就加一个序列级运算,也就是量词。论文引入了一个小模块,做的是 软存在量词 和 软比例量词,并且给每个单元配了一个可学习的遗忘率。
这个设计的关键是:初始状态故意设成“粘性”的,也就是几乎不忘记,像一个老式锁存器。但训练之后,模型自己学会把记忆窗口缩短,最后变成一个只记住前面几步的短时记忆器。论文把这种现象叫做 self-forgetting quantifier,中文可以理解成“自我遗忘量词”。
这一下,之前那两个问题居然一起被解决了。第一,语言模型里原本集中在语法许可上的缺陷被补上了,而且在训练早期就能看到改善;第二,逻辑结构不再只在第 0 层闪现,而是能往更深层迁移。换句话说,模型终于不是“看见许可者就当场反应一下”,而是“把许可者记一小会儿,再把它传给后面的功能词”。
这部分最值得记住的一点是:量词不是“多记一点”这么简单,而是把“记多久”也交给模型自己学。 这比手工定一个固定窗口聪明得多,因为不同语法现象的许可跨度本来就不一样。
局部的但有力的:无需字典的四个精确语法许可检测器
论文最有趣的地方,其实不是“模型变强了多少”,而是“模型里面能不能直接读出来某种功能”。作者没有靠字典学习去事后解释,而是直接从量词单元里找出几个能稳定触发的检测器:比较级、被动、否定极性项等语法许可器。它们的行为很像真正的规则模块:看到许可者先激活,然后在大约 1.5 个 token 的记忆里把信息带到后面的功能词。
从可解释性角度看,这种结果比单纯“准确率更高”更值钱。因为它不是说“模型好像懂了”,而是说“模型里的某些单元确实可以被读成一个明确的语法机制”。这类结果的意义在于:它把传统上只能后验猜测的语言学现象,变成了网络里能定位、能追踪、能分析的部件。
关键限制与开放路径:稳定训练需分区,全文逻辑模型仍是挑战
这篇论文也没有把自己吹成“逻辑万能药”。它明确承认一个硬限制:纯布尔化的 FFN 很难稳定训练,所以必须保留一部分 GELU 作为梯度通道。也就是说,可解释性不是白送的,训练稳定性是要拿结构分区换来的。
所以这项工作更像是一次很诚实的试验:它证明了显式逻辑可以在 Transformer 里活下来、能解释、能在局部任务上起作用,但也承认离“整层都变成可读逻辑机”还有距离。真正难的不是把公式写出来,而是让整个网络在训练中既不散架,又不把逻辑磨平。
如果把这篇论文放到更大的图景里看,它其实在回答一个很现实的问题:可解释,不一定等于更强;但可解释如果设计对了,至少不必以性能为代价。 这已经很难得了。
龙迷三问
这篇论文到底解决了什么问题?它不是单纯追求更高分,而是把 Transformer 的 FFN 改成了能显式表达集合逻辑的模块,并证明这种设计既能保持语言模型质量,又能把一部分语法许可机制直接读出来。
“自我遗忘量词”是什么意思?就是把序列上的量词做成一个可学习的短时记忆模块,初始化时几乎不忘记,训练后自己学会在几步内遗忘,最后把许可条件保存在一个很短的窗口里。
为什么说它“局部有力”,但还不是完整的逻辑模型?因为它在 token 内部的集合运算和局部语法许可上很清楚,但纯逻辑层训练不稳,必须保留 GELU 分区;而且它目前更像某些局部机制的可读实现,还没到整层、全任务都能稳定替代传统 FFN 的程度。
如果你还有哪些想要了解的,欢迎在评论区留言或者讨论~
龙哥点评
论文创新性分数:★★★★☆ 不是凭空发明新模型,而是把模糊逻辑、否定、量词和 Transformer FFN 拼成了一个能跑、能读、还能解释局部语法机制的结构,思路很完整。
实验合理度:★★★★☆ 先做纯前馈 parity 探针,再做语言模型,再做可解释性和稳定性分析,链条比较扎实;唯一遗憾是全逻辑化训练不稳,限制也被如实暴露。
学术研究价值:★★★★★ 这篇工作真正有价值的地方,是把“FFN 到底在算什么”从抽象讨论拉回到了可验证的结构层面,对机制可解释性很有启发。
稳定性:★★★☆☆ 局部模块很稳,但一旦把布尔比例推高,训练就发散,说明离工程级全替代还差一段路。
适应性以及泛化能力:★★★☆☆ 对语法许可、局部逻辑组合这类任务更合适;对一般语言建模能打平,但并不显示出全面碾压。
硬件需求及成本:★★★☆☆ 参数中性,推理成本不算离谱,但训练要保留分区和额外分析,成本比普通 FFN 高一点。
复现难度:★★★☆☆ 思路清晰,但涉及多种 probe、层级统计和训练轨迹分析,复现工作量不算小。
产品化成熟度:★★★☆☆ 适合做研究型可解释模块或特定语法分析工具;要直接进大规模生产,还需要更稳的训练方案。
可能的问题:显式逻辑很漂亮,但训练稳定性仍是硬门槛;此外,局部可解释不等于全局可解释,别把“能读出几个检测器”误解成“模型整体懂逻辑”。
主要参考文献
Mark Oskin. Explicit Fuzzy Logic in the Feed-Forward Layer: Self-Forgetting Quantifiers Discover Legible Grammatical-Licensing Detectors. arXiv, 2026.
Dauphin et al. Gated Linear Units. 2017.
Shazeer. GLU Variants Improve Transformer. 2020.
Ren and Leskovec. BetaE: Embedding Logical Queries on Knowledge Graphs. 2020.
*本文仅代表个人理解及观点,不构成任何论文审核或者项目落地推荐意见,具体以相关组织评审结果为准。欢迎就论文内容交流探讨,理性发言哦~ 想了解更多原文细节的小伙伴,可以点击"阅读原文",查看更多原论文细节哦!

欢迎加入龙哥读论文粉丝群,
扫描下方二维码或者添加龙哥助手微信号加群:kangjinlonghelper。
一定要备注:研究方向+地点+学校/公司+昵称(如 图像处理+上海+清华+龙哥),根据格式备注,可更快被通过且邀请进群。
『龙哥读论文』微信群目前包含:图像处理、大模型及智能体、自动驾驶及机器人、AI医疗及AI金融5个群
这篇把 FFN 直接改成“会说人话的逻辑模块”,还有自我遗忘的量词,读论文不如来群里继续掰扯,顺手把相似工作也一起串起来。

