← 返回 PaperDaily 大模型与智能体

MIT新作:把FFN变成显式模糊逻辑,竟能读出语法许可器

这篇论文最有意思的地方,不是把 FFN 换成了更“数学”的东西,而是把原本黑箱的中间层,改造成了能直接读出“and / and not / 量词”的逻辑模块。更狠的是,它还把这种逻辑一路做进了语法许可器检测里。

MIT新作:把FFN变成显式模糊逻辑,竟能读出语法许可器
🐉 龙哥读论文知识星球来了!
公众号每日8篇拆解不够看?星球无上限更AI领域论文、资讯、招聘、招博、开源代码,一站式干货,每日2分钟刷完即赚! 👇扫码加入「龙哥读论文」知识星球,前沿干货、实用资源一站式拿捏~ xingqiu_header

龙哥导读:
这篇论文最有意思的地方,不是把 FFN 换成了更“数学”的东西,而是把原本黑箱的中间层,改造成了能直接读出“and / and not / 量词”的逻辑模块。更狠的是,它还把这种逻辑一路做进了语法许可器检测里。


原论文信息如下:
论文标题:
Explicit Fuzzy Logic in the Feed-Forward Layer Self-Forgetting Quantifiers Discover Legible Grammatical-Licensing Detectors
发表日期: 2026年06月
发表单位: University of Washington
原文链接: https://arxiv.org/pdf/2606.31845v1.pdf
先抛一个有点扎心的问题:Transformer 里最“干活”的 FFN 层,平时看起来像黑箱;这篇论文偏要把它拆成一个能直接读出“and”“and not”“量词”的逻辑模块。更离谱的是,它还真不是只会讲故事,125M 参数的语言模型质量基本没掉,还能把一部分语法许可问题讲清楚。
封面
图1:这篇工作的核心看点——把 FFN 从“难以解释的激活堆”改造成“可读的模糊逻辑模块”,再进一步把序列级量词做成自我遗忘的短时记忆。
这篇论文的题目很长,但主线其实很清楚:先让 FFN 说人话,再让它学会在句子里“记住前面出现过什么”,最后把它读成语法许可器检测器。这里的 FFNFeed-Forward Network,中文一般叫前馈网络或前馈层;它通常占 Transformer 很多参数,也是最像“知识仓库”的地方,但平时最不透明。

FFN逻辑透明化:参数中性的显式集合运算设计

标准 FFN 的套路很朴素:先线性升维,再过一个激活函数,再线性压回去。问题在于,这种写法能算东西,但很难说清楚“到底算了什么”。这篇论文干脆换了思路:把隐藏单元改写成 模糊集合运算,也就是让每个单元显式做“交集”和“差集”。
这里先把基础概念捋顺。模糊逻辑不是传统布尔逻辑那种“非黑即白”,而是把“属于某个集合”的程度压到 0 到 1 之间。这样一来,交集可以写成乘法 A·B,差集可以写成 A·(1-B)。后者尤其关键,因为它等价于“有 A,但没有 B”,这就是论文里强调的 显式否定。很多门控或双线性单元能做乘法,但没有这种清清楚楚的“and not”结构。
图2:不同纯 FFN 类型在推理可达范围上的对比
图2:四种纯 FFN 结构在“能解多大规模的 parity”上的对比。结论很直白:有界的乘法单元在浅层最省参数;无界的原始双线性单元浅层很菜,但深层会越叠越强;GELU 夹在中间。
论文把这种层叫做 NC-FFN,全称是 Negation-Capable Feed-Forward Network,中文可以理解为“具备否定能力的前馈层”。注意这里的“capable”不是说它一定更强,而是说它结构上真的能表达“and not”。
为了不让参数量变多,作者做了一个很工程化的处理:把原本一个激活块拆成两路输入投影,得到 A 和 B,再用 A·B、A·(1-B) 这样的组合,最后统一送回输出投影。也就是说,参数预算不变,表达方式变了。这点很重要,因为很多“更可解释”的设计,一上来就把参数翻倍,最后只能算概念秀。
公式:参数中性条件
公式说明:(2+k)m = 2dff 表示参数中性条件。这里 m 是每组逻辑单元的数量,k 是由这些单元构成的操作数个数,dff 是原始 FFN 的隐藏宽度。意思很简单:换了逻辑形式,但总参数量要和原来的 GELU FFN 对齐。
更妙的是,作者还给它留了一个“退路”。如果第二个操作数不太有用,A·(1-B) 会退化成一个普通的有界门控特征,相当于“逻辑不够时,先别硬拗,先回到能训练的状态”。这在工程上很实用,因为纯布尔化的层很容易训练崩掉,后面会看到它确实不是吓唬人。

推理探针揭示:乘法单元在深度和宽度上各司其职

如果只看语言模型的困惑度,根本分不出这种结构到底是在“真推理”还是“装会说话”。所以论文先做了一个非常干净的控制实验:直接把注意力拿掉,只保留纯前馈堆叠,让模型做 N 位 parity。这个任务很适合测乘法结构,因为 parity 本质上就是多个比特的乘积式组合,特别吃“交互项”。
这里的结果挺有意思。有界乘法单元,也就是 NC-FFN 和 sigmoid-bilinear,在浅层就能拿到很高的可达范围;原始双线性单元则是典型的“浅层废柴、深层猛男”,必须靠层数堆起来;GELU 则介于两者之间。换句话说,宽度更适合浅层,深度更适合组合,而边界是否有界,会直接决定这种组合到底是稳步增长还是先天难用。
图3:固定浅层深度下,不同隐藏宽度的推理可达范围
图3:在固定浅层深度下,宽度从 16 到 256 的变化几乎不改变排序:有界乘法单元始终占优,原始双线性单元始终拉胯,GELU 仍然居中。这个结果说明,浅层推理能力不是“多堆点宽度就完事”,结构选错了,宽度再大也白搭。
公式:参数匹配下的宽度计算
公式说明:m = (2dff - 2g) / (2 + k)。这里 g 是保留给 GELU 的宽度,m 是逻辑单元的宽度,k 是逻辑操作数个数。这个式子本质上是在说:同样的钱,怎么在 GELU 和逻辑单元之间分配
这也解释了为什么作者不直接把整层都换成逻辑单元。纯逻辑层虽然更“漂亮”,但训练会出事;而保留一部分 GELU,相当于给梯度留了一条高速公路。论文里这个工程折中很老实:不是为了炫技,而是为了让模型先活下来。

语言建模瓶颈:一个集中且可解释的语法缺陷

接下来才是这篇论文真正“上价值”的地方:把 NC-FFN 放进 125M 参数语言模型后,它的困惑度基本能和 GELU 基线打平,说明这种逻辑化改造并没有把模型训练坏。但如果看更细的语法任务,问题就出现了——BLiMP 上的结构性语法能力仍然有缺口,而且这个缺口不是到处散,而是集中在“许可”和“量词”这类序列级构造上。
这里的背景知识很重要。语法许可指的是某些词或结构必须先被前面的“许可者”激活,后面的功能词才合法出现。比如比较级、被动结构、否定极性项等,都依赖前面某个触发条件是否出现。这个问题不是“当前 token 内部算一算”就能解决的,它要求模型对前文做一个小范围记忆。
表1:语言模型评估结果
表1:12 层、参数匹配的语言模型结果。困惑度基本打平,LAMBADA 也只是轻微波动;但 BLiMP 的差距更稳定,说明问题不在“会不会说话”,而在“会不会守语法规矩”。
这就把论文的第二个判断讲清楚了:单纯的显式集合运算,擅长 token 内部的逻辑组合;但面对跨 token 的许可关系,它还是缺一块。 说白了,前馈层像个很会做局部判断的理工男,结果一遇到“前面那句话有没有出现过某个许可条件”,它就开始掉线。
表2:Boolean block 的层级统计
表2:Boolean block 的层级统计。bool share 说明逻辑块确实被用上了,但真正有信息量的两操作数结构主要集中在第 0 层,往后很快就退化了。也就是说,模型并不是不用逻辑,而是“逻辑只在最前面闪了一下”。
图4:任务会塑造逻辑内容
图4:逻辑内容是“任务塑形”的。做 parity 时,两操作数逻辑会在 grokking 附近突然冒出来;做语言模型时,它又会一路衰减。换个任务,逻辑的命运就完全不同,说明“有多少逻辑”不是架构写死的,而是训练目标奖励出来的。
这部分其实挺有启发。很多人喜欢把“可解释结构”当成一种天然属性,好像模型一换结构就会突然变得通透。论文这里直接泼了一盆冷水:逻辑结构不是摆上去就有,得看训练任务愿不愿意养它。

学习遗忘的量词:从粘性锁存到短时记忆的自我调优

前面那个缺口刚好给了作者一个很自然的补丁:既然 token 内部的集合运算不够,那就加一个序列级运算,也就是量词。论文引入了一个小模块,做的是 软存在量词软比例量词,并且给每个单元配了一个可学习的遗忘率。
这个设计的关键是:初始状态故意设成“粘性”的,也就是几乎不忘记,像一个老式锁存器。但训练之后,模型自己学会把记忆窗口缩短,最后变成一个只记住前面几步的短时记忆器。论文把这种现象叫做 self-forgetting quantifier,中文可以理解成“自我遗忘量词”。
图5:学习到的存在量词半衰期
图5:学习到的存在量词半衰期。初始化时几乎“不忘”,但训练后每个单元都学成了短记忆,半衰期大约 1.5 个 token,几乎没有永久记忆单元。这个结果很有意思:模型不是在硬背,而是在学一个刚刚够用的窗口。
这一下,之前那两个问题居然一起被解决了。第一,语言模型里原本集中在语法许可上的缺陷被补上了,而且在训练早期就能看到改善;第二,逻辑结构不再只在第 0 层闪现,而是能往更深层迁移。换句话说,模型终于不是“看见许可者就当场反应一下”,而是“把许可者记一小会儿,再把它传给后面的功能词”。
表3:存在量词的学习遗忘
表3:存在量词的学习遗忘结果。所有单元都从“粘性”初始化出发,但最后都学成了短半衰期,说明模型需要的是局部预测窗口,而不是永久锁存。
图6:逻辑信号向深层迁移
图6:带衰减与门控的模型里,两操作数逻辑不再只困在第 0 层,而是往深层迁移。和前面 NC-FFN 的“只在浅层冒头然后消退”相比,这里是明显的结构保留和深层承接。
这部分最值得记住的一点是:量词不是“多记一点”这么简单,而是把“记多久”也交给模型自己学。 这比手工定一个固定窗口聪明得多,因为不同语法现象的许可跨度本来就不一样。

局部的但有力的:无需字典的四个精确语法许可检测器

论文最有趣的地方,其实不是“模型变强了多少”,而是“模型里面能不能直接读出来某种功能”。作者没有靠字典学习去事后解释,而是直接从量词单元里找出几个能稳定触发的检测器:比较级、被动、否定极性项等语法许可器。它们的行为很像真正的规则模块:看到许可者先激活,然后在大约 1.5 个 token 的记忆里把信息带到后面的功能词。
表4:四个语法许可检测器
表4:四个语法许可检测器的读法。它们在许可者上触发,在被许可的功能词上写回预测,而且不会在功能词本身上乱响。这个局部机制很像“先识别许可条件,再把条件传给后续词”——挺像人类语言处理里那种小范围依赖。
从可解释性角度看,这种结果比单纯“准确率更高”更值钱。因为它不是说“模型好像懂了”,而是说“模型里的某些单元确实可以被读成一个明确的语法机制”。这类结果的意义在于:它把传统上只能后验猜测的语言学现象,变成了网络里能定位、能追踪、能分析的部件。

关键限制与开放路径:稳定训练需分区,全文逻辑模型仍是挑战

这篇论文也没有把自己吹成“逻辑万能药”。它明确承认一个硬限制:纯布尔化的 FFN 很难稳定训练,所以必须保留一部分 GELU 作为梯度通道。也就是说,可解释性不是白送的,训练稳定性是要拿结构分区换来的。
表5:训练稳定性与布尔比例
表5:当布尔比例低于一半时,模型还能跑完训练;一旦超过这个阈值,所有实验都开始发散,而且比例越高,崩得越快。这个结果说明,逻辑层不是不能用,而是“全逻辑化”目前还不够稳。
所以这项工作更像是一次很诚实的试验:它证明了显式逻辑可以在 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.

*本文仅代表个人理解及观点,不构成任何论文审核或者项目落地推荐意见,具体以相关组织评审结果为准。欢迎就论文内容交流探讨,理性发言哦~ 想了解更多原文细节的小伙伴,可以点击"阅读原文",查看更多原论文细节哦!       

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

本文基于龙哥读论文 PaperDaily 数据库整理,结合论文原文与工程视角进行解读。