打开网易新闻 查看精彩图片

2026年的某一天,一群研究者盯着一台服务器上跑出来的结果,有点不敢相信自己的眼睛。

他们让一个语言模型去翻一本1954年就开始编纂、如今收录了近40万条数列的百科全书,叫它从里面找出两条数列之间"藏着但没人写下来"的联系。8个小时后,机器交出了62条经过验证的数学关系,其中4条翻遍了整个数据库和能查到的文献都找不到出处。

这事儿听起来平淡,但往深里想一层就会发现不对劲:大语言模型这几年已经能证明奥数题了,能按照人类指定的目标去寻找构造方法了,甚至能从一堆公开的未解问题清单里挑出几道解决掉。可所有这些能力,都建立在一个前提上,就是得先有人告诉它"去研究这个"。

选题这件事,一直被认为是人类独占的领域。

这篇论文想问的问题是:语言模型在训练过程中,是不是已经在它的内部表示里,偷偷攒下了一些连它自己都没有被明确问过、但其实已经"知道"的数学知识?如果是,能不能把这些知识挖出来,用来指路?

研究团队把这套方法叫做LANTERN,灯笼的意思,取的是"照亮"的意象。

为什么是OEIS

要回答"模型是不是藏着没说出来的知识"这个问题,得先找一个合适的实验场。

研究者选中了OEIS,全称On-Line Encyclopedia of Integer Sequences,中文可以叫整数数列在线百科全书。

OEIS*:一个从1954年开始持续至今的数学数据库,收录了近40万条整数数列,每条都有编号、定义、前若干项数字,以及数学家之间互相建立的"交叉引用"关系,记录哪些数列之间存在已知联系。

选OEIS有三个硬指标必须满足。第一是对象得定义清楚,每条数列都有明确的一句话定义和具体数字,不会出现"这个数列大概是指……"这种模糊地带。第二是得有人类已经记录下来的关系作为训练和检验的标尺,OEIS里的交叉引用正好扮演这个角色。第三,最关键的一点,是验证成本得低。因为语言模型生成的假设经常听起来头头是道、实际上经不起推敲,如果验证一个猜想要耗费数学家几个月去读论文找反例,这个实验就做不下去了。而OEIS的妙处在于,任何一个关于两条数列的精确数学论断,都可以先拿现成的数字项去对一遍,对不上立刻枪毙,对上了再往下深挖证明。

这就好比你怀疑一个人撒谎,与其费力去查他的全部社会关系网,不如先问他几个能当场验证真假的问题,比如今天星期几、早饭吃了什么。能立刻核实的小问题,是撬动大判断的支点。如果没有这个"能立刻核实"的环节,整个流程会在第一步就卡死,因为没人有精力去逐条深究几千万个假设里哪些是胡扯。

从5000万到62

研究团队先从OEIS里挑出被引用次数较多的1万条数列,构成一个相对核心的子集。1万条数列两两配对,是5000万对。这是一个大到不可能靠人力浏览的数字,相当于给每个中国人都配一对,然后让你一个个去看。

要在5000万里面挑出有价值的,第一步得靠语言模型自己的内部表示来打分排序。

研究者用的是Qwen3-32B这个模型,对每一条数列的定义文本做了一次前向传播,取出每一层残差流的向量作为这条数列的"嵌入表示"。

嵌入*:把一段文字转换成一串数字向量的过程,这串数字编码了模型对这段文字含义的理解,语义相近的文字往往对应着相近的向量。

接下来是整篇论文设计最讲究的部分,怎么把两条数列的嵌入向量,变成一个能预测"这两者是否存在实质联系"的分数。

研究者没有简单地算个余弦相似度就完事,而是做了两层处理。第一层是"中心化余弦相似度",意思是先算出每条数列相对于一个随机抽样的512条数列的平均相似度,再从原始相似度里减掉这个背景值。

这一步的用意是去掉"热门偏差"。有些数列天生跟谁都挺像,比如斐波那契数列,它几乎和所有跟递推、黄金分割沾边的东西都有点相似,如果不做这个修正,排名前列的永远是这些"社交达人"式的数列,真正有价值但冷门的配对反而被淹没。这就跟相亲软件推荐机制类似,如果只看"共同好友数",那些自带几千好友的网红账号永远排在推荐列表最前面,但这不代表你们真的合适。中心化处理相当于先扣掉对方的基础人气分,再看你们俩专属的默契度有多高。

第二层处理更细致,只在两个特定的网络层(浅层和深层)上,把向量投影到主成分方向的前64维,然后计算这两个降维向量的逐元素乘积和绝对差。这样一来,一对数列最终被压缩成321个数字特征,喂给一个逻辑回归分类器去打分。

为什么要刻意限制特征数量、用简单的逻辑回归而不是更复杂的模型?因为正样本实在太稀少了。

5000万对里,真正算得上"有实质数学联系"的正样本只有2780对,大概是一万八千分之一。如果直接拿全部原始的高维向量去训练一个复杂模型,几乎必然会过拟合,学到的是噪声而不是真正的规律。这就像你想训练一个辨别优质苹果的模型,但样本库里一万八千个苹果才有一个是真正的精品,如果让模型自由发挥去记住每个像素细节,它大概率会记住"精品苹果照片的拍摄角度"这种虚假特征,而不是"果肉紧实度"这种真实特征。限制特征维度、用简单模型,相当于强迫它只能看几个关键指标,反而更容易抓住本质。

打完分之后,是一套层层收紧的筛选流程。先取排名最前的候选对,扔进一个相对便宜的模型(不带工具的Claude Sonnet 5)做第一轮过滤,只问一句"这两者之间存在精确关系的可能性大不大"。通过的再交给更强的智能体(配备了代码执行环境、OEIS本地镜像和精确级数运算库的Claude Opus 5),让它去真正尝试写出一个具体的数学关系式,给出推导过程和一段可执行代码。

这段代码会在一个隔离沙盒里跑,不能联网、不能读取外部文件,逼着它必须老老实实地从头计算,而不是偷偷把答案硬编码进去。算出来的结果要跟OEIS里实际存储的每一项数字逐一核对,25到102项不等,对不上就直接淘汰,全部对上之后,还要有人工去审读推导逻辑是否真的站得住脚。

主流程走了一遍500个候选对的队列,经过便宜过滤器留下118个,交给强模型后有44个被成功提出假设并全部通过验证。整个搜索实际上跑了三套不同的配置,把三者的结果加起来,最终得到62条技术上完全验证过的数学关系,每一条都给出了严谨的数学证明链条。

这62条里有价值的是多少

技术验证通过,不等于这条关系值得拿出来讲。

研究者很清楚这一点,所以在62条之上又加了一层"内容筛选",目的是剔除那些虽然在数学上成立、但本质上只是换个马甲、改个记号、或者是定义直接推出来的废话。

比如两条数列如果其实是同一个东西的不同编码方式,比如一个是二进制表示另一个是十进制表示,这种"关系"技术上也能验证通过,但没有任何信息增量,筛选规则会把它直接剔除。同样被剔除的还有索引平移、通用的插值重建公式等等,本质上对任意一类对象都成立的万能配方,以及仅凭几个数值巧合建立起来的伪联系。

这一轮筛选把62条压缩到了13条,这13条才是论文真正想展示的核心成果。

研究者接着用两个维度来评价这13条关系。一个维度叫"重要性",分成三档:常规的,提供一条具体可行的计算路径的,以及揭示结构性解释的。另一个维度叫"新颖性",同样分三档:OEIS里已经记录过的,OEIS没记但别处文献能查到的,以及在OEIS和定向文献检索里都查不到的。

13条里有9条被评为"提供具体路径"或"结构性解释"这两个较高档位。而在这9条里面,有4条连定向文献检索都找不到出处,是真正意义上"目前已知文献里没有被写下来过"的联系。

两个说不清道不明的联系被挖出来了

这4条最有分量的发现里,论文挑了两个详细展开讲,因为它们的跨度足够大,大到让人很难相信这是巧合。

第一个联系在一维元胞自动机和二维元胞自动机之间。

元胞自动机*:一种在网格上按固定局部规则演化的离散系统,每个格子根据自己和邻居的状态决定下一步是"活"还是"死",最著名的例子是康威生命游戏。

具体来说,一个叫"规则150"的一维自动机在一条线上演化,下一个状态是当前格子和左右邻居状态的异或;另一个叫"Fredkin复制器"的二维自动机在方格网上演化,当一个格子周围八个邻居里活着的数目是奇数时,它下一步就会变活。这两者几何维度不同,规则也不同,表面上没有任何道理应该扯上关系。

但研究发现,如果把两者在任意时刻n的活细胞总数分别记作A(n)和B(n),并且只看n的二进制表示里那些"连续1的区块",定义区块长度为k时的两个单区块计数函数f(k)和g(k),那么存在一个漂亮的代数恒等式:g(k) = f(k)的平方减去f(k减2)的平方。而完整的A(n)和B(n)则是把n的二进制表示拆成若干个连续1的区块,把每个区块对应的f或g值连乘起来。

换句话说,只要知道一维规则在每个区块长度下跑出来的数字,就能通过一个"平方差"公式,精确算出二维规则在同一时刻的活细胞总数,不需要真的去模拟那个更复杂的二维网格。

这就像你本来以为要去菜市场一个个摊位打听今天白菜的价格,才能估算出整个菜市场今天的流水,结果发现只要知道某一个摊位早上的叫卖价,套一个固定公式就能倒推出整个市场的总流水,而且这个公式对每天都成立,不是偶然撞上的。如果没有这层平方差关系,想知道二维自动机任意时刻的细胞数,就得老老实实地在网格上一步步模拟,计算量会随时间急剧膨胀。

论文进一步给出了为什么这个关系成立:两条数列各自都有自己独立的闭式公式(用雅各布斯塔尔数表达),把一维的闭式公式代入那个平方差表达式,经过纯代数展开,正好化简成二维的闭式公式。两条数列各自的计算规律本来就是数学界已知的,但把它们用"一维推出二维"这种桥梁方式连起来读,是这篇论文检索范围内从未被写下来过的角度。

第二个联系发生在一个连分数和一个θ函数商之间,牵扯到一类叫"5核分割"的整数划分方式。

分割*:把一个正整数写成若干个正整数之和,不考虑顺序,比如5可以写成3+2或者2+2+1,这类问题统称为整数分割。

一个分割要被称为"5核分割",条件是分割图里每个格子的"钩长"都不能被5整除。钩长是指这个格子本身加上它右边和下边所有格子的数目总和。对于5这个数字,满足5核条件的分割恰好只有两种,也就是3+2,以及2+2+1。

论文发现的关系是,一个叫Rogers–Ramanujan连分数的R(q),和一个由θ级数构造出来的商式T(q),两者按照T的平方乘以R的五次方这样组合起来,生成的级数系数恰好就是5核分割的计数函数。也就是说这个看似纯分析、和组合计数毫不相干的代数表达式,里面编码着一个具体的、可以画成格子图的组合对象的数目。

这两个联系之所以被单独拎出来讲,是因为它们跨越了通常意义上"学科内部"的边界,一个是离散动力系统对分析数论,一个是解析函数对组合计数。论文很谨慎地说明,这些发现不代表背后的底层恒等式是全新的数学定理,很多构成部分本身在数学界早已为人所知,真正新的是"把这两件事摆在一起看"这个连接动作本身,此前没有被记录下来过。

这到底是不是在套文本的近义词

读到这里,一个自然会冒出来的疑问是:这会不会只是语言模型在给数列定义的文字做近义词匹配,跟数学理解其实没什么关系?

研究团队对这个疑虑非常重视,专门设计了三组对照实验去正面回应。

第一组对照,是拿纯文本特征训练一个对照分类器,用字符级别的n-gram加TF-IDF降维的方式,跟基于模型隐藏层激活值的分类器用完全一样的标签去训练,看谁的排序能力更强。

结果是,在那些训练截止日期之后才被人类添加进OEIS的交叉引用上(这保证了模型不可能提前"背过"这个答案),纯文本分类器的表现几乎等于随机瞎猜,ROC-AUC只有0.51,而基于隐藏层激活的分类器能做到0.57到0.58,如果只看那些经过人工筛选确认"内容扎实"的子集,这个差距进一步拉大到0.61对0.67到0.69。

ROC-AUC*:一个衡量分类器排序能力的指标,0.5代表完全随机,1代表完美区分,数值越高说明模型越能把真正有关联的样本排到前面。

这说明定义文本本身能透露出一条数列大概属于哪个"话题圈子",比如都是关于分割的,或者都是关于模k同余的,但要判断同一个话题圈子内部"谁跟谁具体有联系",光看文字表面是不够的,得靠模型内部对数学结构更深层的表示。

第二组对照,是要排除"模型只是记住了那两条OEIS页面的内容,而不是理解了数列本身的数学性质"这种可能性。研究者专门找了2026年才新创建的、在模型训练数据截止日期之后才出现的2379条全新数列,拿它们和旧数列之间的5557条新增交叉引用来测试一个只用旧数列训练过的分类器。结果这个分类器在全新数列上的表现是0.88,跟它在旧数列内部随机划分测试集上的0.89几乎没有差别,而对应的纯文本分类器则从0.85掉到了0.78。

这组数据的意思是,分类器判断两条数列是否有联系的能力,并不依赖于它是否"见过"这条数列的具体页面,它靠的更像是对数学结构本身的某种泛化理解,而不是死记硬背。

第三组对照更直接,干脆绕过训练好的分类器,直接问模型本身。研究者把两条数列的定义同时喂给Qwen3-32B,让它按0到9打分评估两者关系的深度,用的评分锚点跟人工标注时用的标准完全一致,不借助任何训练标签。结果这个"直接问模型"的打分方式,排序能力跟专门训练出来的分类器几乎一样好,中位数百分位分别是88.5和88.0。

这意味着那些关于数学对象之间联系的知识,很可能本来就以某种形式存在于模型参数里,分类器只是提供了一种更高效的提取方式,能够把5000万对的排序工作压缩进几分钟,而不是说分类器凭空创造了这种能力。

八小时能做什么

整个流程,从labelling交叉引用、提取嵌入、训练分类器、打分排序,一路到过滤、生成假设、沙盒验证,全部加起来,用时不到8小时。

这个速度数字本身值得多说两句。传统意义上,寻找一个值得研究的数学问题,往往需要一个数学家花数年时间浸泡在某个领域里,积累起对哪些问题"有意思"的直觉。而这套流程把"浏览5000万种可能性并挑出值得深究的几十个"这件事,压缩进了一个工作日之内。

这不代表机器替代了数学家的判断力,恰恰相反,论文里花了大量篇幅去说明,从62条技术验证通过的关系里筛出13条真正有价值的,这一步仍然需要大量人工审读和判断标准的设计。机器做的是把搜索空间从"不可能人工浏览的5000万"压缩到"可以人工仔细审查的几十个",这其实更像是一个高效的初筛助手,而不是全自动的发现引擎。

论文自己也坦诚地指出了局限,OEIS是一个格外结构化的测试场,每条记录都有现成的定义、公式、初始项和明确的交叉引用关系,这种便利性在大多数真实的科研场景里是不存在的。至于这套方法能不能用在不那么规整的知识库上,比如材料科学文献、或者还没有被整理成数据库的某个数学分支,论文没有给出答案,只是说这是个开放的问题。

写在后面

读完这篇论文,我最意外的不是那4条"全新发现",而是那个"直接问模型"的对照实验结果。

一个没有经过任何专门训练、只是被问了一句"你觉得这两个东西关系深不深"的通用语言模型,排序能力居然跟专门训练出来的分类器打成平手。这说明那些知识可能早就安安静静地躺在参数里,只是从来没有人用对的方式去问过。这跟"模型需要被微调才能解锁某种能力"的常见叙事不太一样,更接近于,这个能力它一直都在,缺的是一个合适的提问姿势。

还有一个细节让我反复琢磨,就是那62条里只有13条被认为"值得讲",剩下49条全部是技术上无懈可击、但内容空洞的关系,比如换个进制、挪个下标、套用一个万能的插值公式。这个比例某种程度上像是一面镜子,照出了"正确"和"有价值"之间那道并不总是重合的鸿沟。一个系统可以在数学上永远不犯错,但依然大部分时间在生产正确的废话,真正稀缺的从来不是"不出错",而是"值得被说出来"。

那两条跨越维数、跨越学科的联系,一维自动机和二维自动机,连分数和整数分割,让我想起的不是什么宏大的"AI发现数学"叙事,而是一个更朴素的问题:如果连语言模型都能在它从未被专门要求去比较的两个领域之间嗅到一丝相关性,那我们人类自己,是不是也常常因为学科分界线画得太死,错过了太多本该被看见的联系?

Q&A

Q1:LANTERN是什么?

A:LANTERN是一套利用预训练语言模型内部隐藏层表示来挖掘数学知识联系的流程,它在整数数列百科全书OEIS中找出了62条此前未被记录的数列关系,其中13条被认定为有实质价值,4条是目前检索不到任何文献出处的全新发现。

Q2:LANTERN是怎么从5000万对数列里筛出有价值联系的?

A:先用语言模型给每条数列的定义做嵌入表示,训练一个基于隐藏层特征的分类器对所有配对打分排序,再依次经过便宜模型初筛、强模型生成假设并写代码验证、沙盒逐项核对数字,最后人工做内容质量筛选,整个流程不到8小时。

Q3:怎么证明这不是语言模型单纯在做文本近义词匹配?

A:研究者做了三组对照,文本特征分类器在新增交叉引用上表现接近随机,而基于模型隐藏层的分类器明显更强,对全新创建的数列这个分类器依然有效,而且直接问模型打分也能达到接近专门训练的分类器的效果,说明这种能力更像是对数学结构的理解,而非记忆或文字表面匹配。