最近我在认知建模圈子里刷到一个研究方向,越看越上头:《The Geometrical Revolution of Human Conceptual Space: Behavioral Evidence for Riemannian Manifold Structure》。翻译过来,就是“人类概念空间的几何革命:黎曼流形结构的行为证据”。乍一看像数学论文,但它问的问题其实特别朴素:我们脑子里这些概念——红色、苹果、正义、悲伤——放在一起构成的空间,到底是平直的还是弯曲的?这个项目用行为实验给出一个方向性的答案:人类概念空间不能用一张平坦的纸来建模,它更像是一块在各个位置“标尺”长度都不太一样的弯曲曲面,得用黎曼流形去描述。
我先说结论,再讲证据。这个项目最扎实的地方,在于没有停留在“概念空间是弯曲的”这种哲学思辨上,而是把“弯曲”翻译成了可操作的行为指标和可拟合的几何模型。这篇文章我会把它的核心思路、实验设计、数据分析方法完整拆开,重点讲讲我是怎么理解这个项目的,以及在复现过程中踩过的坑。适合做认知科学、心理语言学、数学建模的人读,做AI表示学习、脑机接口特征解码的读者,也能从里面捞到一些几何建模范式的启发。
1. 项目概述:为什么概念空间需要一个几何升级
1.1 概念空间到底是什么
要理解这个项目,得先回顾一个经典框架:概念空间(Conceptual Space)。这个想法是认知科学家Gärdenfors在2000年左右系统提出来的,核心就一句话——概念不是靠列表特征定义的,而是被嵌入到一个由质量维度(quality dimensions)张成的空间中,空间里的一个凸区域就是一个概念。
举个例子。颜色概念“红色”,在颜色感知空间里对应一个区域,这个空间至少包含色调、饱和度、明度三个维度;声音概念“高音”,对应音高维度上的一个区间;动物概念“狗”,则是在体型、叫声频率、毛发特征等维度构成的空间里占据一个凸块。概念之间的相似性,直接体现为空间中的距离,距离越近越相似。这个思路特别符合直觉,而且能解释很多语义判断实验:为什么“猫”和“老虎”比“猫”和“石头”更像,因为前者在空间中离得更近。
这个框架在颜色词、空间关系词、语义记忆中都很成功,但传统实现大多默认了一个简化假设:这个空间是欧氏空间。什么意思?就是空间的维度是固定的,每个地方“度量距离的尺子”是一样的,两点之间直线距离就是它们的语义距离。这个假设在数学上很舒服,但在行为数据里越来越捉襟见肘。
1.2 从欧氏空间到黎曼流形:一次必要的概念跃迁
欧氏空间的问题在于它太“平”了。想象一张世界地图,你用墨卡托投影把地球表面展开成平面,在赤道附近比例尺是对的,但到了高纬度地区,面积被严重放大。欧氏空间就是那张地图:它在小范围内很好用,可一旦涉及全局,就会失真。
黎曼流形则是从“地球是球体”出发的建模方式。它不是一张展开的平面,而是一个在每一点附近都像欧氏空间、但整体可以弯曲的曲面。更重要的是,黎曼流形在每一点都带一个度量张量 g_ij(x),这个张量决定了在这个点附近“尺子”有多长。用数学语言说,两个很近的点之间的测地线距离 ds² = Σg_ij(x) dx_i dx_j,这个 g_ij(x) 是随位置变化的。
换成生活化类比:你在平地走一公里需要十分钟,但如果你在爬山,同样走一公里可能要一小时。你不能说这“一公里”的标准变了,只能说山地的“有效度量”和平地不同。同理,在概念空间中,“苹果”到“梨”的距离,可能取决于你站在哪里、周围有什么概念语境。如果这种现象普遍存在,那欧氏空间就不够用了,必须引入黎曼流形。
1.3 行为证据的三个层面
黎曼流形不是数学玩具,它必须能在行为数据上留下指纹。这个项目提出的证据线索,我理解为三个层面。
第一,局部度量敏感于上下文。如果我们给被试呈现一个适应刺激(比如长时间盯着红色),他们对红色附近的颜色辨别度会发生系统性变化。在平坦空间里,适应只会引起感知的整体平移,不应该改变局部的“尺子”长度;但如果空间是黎曼流形,局部度量可以被适应状态改变,就会观察到辨别阈值在适应后明显变化。
第二,类别边界处曲率异常。大量研究已经发现,跨类别边界的相似性判断会出现非线性压缩或拉伸,比如颜色名称边界两侧的色差被知觉放大,这就是经典的类别知觉效应。黎曼流形模型可以给出一个定量解释:类别边界区域具有较大的曲率,导致测地线距离与欧氏距离出现系统性偏离。
第三,全局的非欧残差。当被试对一组刺激做相似性判断后,我们得到距离矩阵。如果数据真的是由欧氏空间生成,经典的多维尺度分析(MDS)应该能很好地拟合;如果数据来自弯曲流形,MDS的残差会出现系统模式,无法通过增加维度消除。通过比较欧氏模型和流形模型的拟合能力,就能做出统计判断。
这三个层面共同构成一条完整的证据链:局部可测、边界可辨、整体可拟合。下面我详细讲讲实验和数据分析是怎么落地的。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 实验设计:行为证据是如何被“逼”出来的
2.1 相似性判断任务:测量概念距离的基本功
要证明概念空间是黎曼流形,第一步是拿到可靠的行为距离数据。最经典的方法是相似性判断任务:每次给被试一对刺激,让其在七点量表或连续滑动条上打分,1代表“完全不像”,7代表“非常像”。
看起来简单,但细节很讲究。刺激对不能随机乱抽,得覆盖从最近邻到远距离的全尺度范围,否则你只测到流形的一小块局部区域,等于管中窥豹。我个人的建议是,核心刺激数量至少30个起步,两两配对会产生435对,考虑到被试疲劳,实际通常不会让一个人全做,而是采用随机子集抽样,每个被试做200到400对,最后汇总成完整的相异度矩阵。
另一个容易被忽略的细节是反应时。反应时其实是比评分更敏感的指标:刺激对越相似,被试判断越快。反应时和相似度通常呈现指数衰减关系,所以在分析前要先把反应时转换成相似度估计,比如 t = a·exp(-b·d) + c,其中 d 是概念距离,a、b、c是拟合参数。很多新手直接把反应时当作距离倒过来用,结果MDS应力爆炸,就是这个原因。
2.2 适应与启动范式:让局部几何“现形”
如果只想证明“存在曲率”,相似性判断还不够,因为它得到的是全局距离矩阵,对局部度量变化的敏感度不高。这时候需要更精巧的行为范式,我重点推荐适应范式。
适应范式的逻辑是:长时间接触某个刺激,会改变感知系统对该刺激附近区域的敏感度。在颜色空间里,这个实验很好做。先测量被试对一组色调的辨别阈值,然后让被试盯着某个特定色调(比如30度色调)持续90秒,再重新测辨别阈值。如果概念空间是黎曼流形,适应点附近的有效度量会被改变,表现为辨别阈值在适应点附近显著升高或降低。
实操参数我可以分享一套比较稳的设置:刺激背景统一用中性灰,适应时间控制在60到120秒之间;辨别任务用二选一强制选择(2AFC),让被试判断两个刺激色是否一致;刺激差异值用自适应阶梯法动态调整,收敛到75%正确率对应的阈值。整个实验大概需要40分钟,中间要安排足够休息,否则后期数据噪点非常大。
还有一类叫语义启动范式:先呈现一个启动词,再呈现目标词,让被试尽快判断目标词词性。启动词与目标词的距离越近,反应越快。通过系统改变启动词,你可以在同一个目标词附近“探测”局部度量。如果度量均匀,启动效果应该只取决于语义距离,与启动词的方向无关;如果方向相关,说明空间在这一点是弯曲的。
2.3 刺激材料与流程控制的关键细节
用颜色域做实验有天然优势,因为颜色感知空间是连续、可控的。但如果你想扩展到语义概念空间,材料控制就麻烦得多。关键要把控三点:词频、具体性、熟悉度。三个变量不匹配的词对,距离判断会被这些无关变量污染,你测出来的“曲率”可能是词频差异造成的幻觉。
刺激对的呈现顺序也需要做平衡。连续出现两对共享同一个刺激的试次,会引入顺序效应。我一般用拉丁方设计轮换顺序,并在被试内做AB/BA平衡。整个流程要控制在一个小时内,超过之后数据质量明显下滑。
这里还有一个非常容易被忽略的坑:被试的选择性策略。有些被试打分时倾向于用极端值,有些被试喜欢集中在中间值。这种个体差异在几何建模阶段会变成伪曲率。解决办法是每个被试做主成分分析或MDS后,先检查其数据是否符合欧氏假设,再决定是否进入汇总。
3. 数据分析:从行为矩阵到流形几何
3.1 为什么MDS不够
拿到相异度矩阵之后,第一反应通常是用经典MDS(多维尺度分析)做一个两维或三维的嵌入。MDS的原理很简单:给定距离矩阵,寻找一组低维空间中的点,使得点间距离尽可能还原原始距离。如果原始距离真的来自欧氏空间,MDS的应力值(stress)会很低,残差分布均匀。
但这个项目要检验的恰恰是“原始距离并非来自欧氏空间”,所以MDS更像是一个基准测试而不是最终方案。你需要关注两个信号。第一,应力值随维度增加没有明显下降,说明数据里存在欧氏空间无法表达的结构。第二,残差分析:把原始距离与嵌入距离的差画出来,如果残差与距离水平呈系统锯齿状或U形,这就是“弯曲”的指纹。
我在实际操作中会再做一个检测:对每个刺激点计算它周围几个邻居距离是否满足欧氏三角不等式,并统计违例比例。如果违例数量显著高于偶然水平,说明局部度量不均匀。
3.2 测地线距离与流形学习
传统MDS假设两点之间的最短路径是直线,但弯曲流形上两点之间最近的是测地线——想象飞机从北京到纽约,走的不是穿过地球内部的直线,而是沿球面的弧线。行为测量得到的相似性判断,本质上更接近测地线距离而非欧氏距离,因为人在比较两个概念时,会在心理上一路“走”过中间概念,而不是直接做超越空间的抽象计算。
从数据中恢复测地线距离有一个经典思路:Isomap。步骤是先用行为距离构建k近邻图,把每个刺激点与最近的几个点连起来,边权为行为距离;然后在这个图上用Dijkstra算法求任意两点间的最短路径,得到的路径长度就是测地线距离的图逼近;最后再对这个测地线距离矩阵做MDS嵌入。
k的选择很关键。k太小,图会断裂成几个不连通的小块;k太大,边会把本不相邻的区域“短路”,测地线距离被严重低估。我一般会从k=5开始试,用连通性检测约束,确保最大的连通分量包含所有点。如果k=5不连通,再逐步增加到8或10。这一步是流形学习的命门,比后面的模型拟合都重要。
3.3 曲率估计与模型比较
证明空间是黎曼流形,最硬核的证据是直接估计曲率。这里我推荐Ollivier-Ricci曲率,这是一个离散化版本,专门适用于带距离的网络图。对每个点p,定义其邻居分布为在p的ε-邻域内均匀分布;然后计算把邻居分布传输到p点本身需要的Wasserstein距离(也叫推土机距离),再用一个公式转化为曲率值。
数学上有点绕,但直觉很简单:在一个平坦表面上,以p为中心画个小圆,圆周长是2πr;在正曲率表面(球面),圆周长比2πr小;在负曲率表面(马鞍面),圆周长比2πr大。Ollivier-Ricci曲率就是在测量这种“周长偏差”在网络上的体现。如果某一点曲率显著偏离0,说明该位置附近空间是弯曲的。
得到曲率后,还有一步模型比较。我建议构建两个贝叶斯模型:一个是平坦空间模型,假设行为距离是欧氏距离加上高斯噪声;另一个是黎曼流形模型,假设行为距离是该流形上的测地线距离加上高斯噪声,流形形状由曲率超参数控制。用留一法交叉验证比较两者的对数似然,或者用WAIC信息准则。如果黎曼模型显著胜出,研究结论就立住了。
有一份可供参考的Python工具链:scikit-learn实现MDS和Isomap;geomstats专门做黎曼几何计算,支持各种流形上的距离和统计;ott库负责最优传输的Wasserstein距离计算;贝叶斯模型可以用PyMC或Stan。工具不复杂,难的是把一个完整pipeline跑通时,每一步的输入输出都要对得上。
4. 实战中的常见问题与排查技巧
4.1 数据量不足引起的几何幻觉
我在复现类似研究时,最容易踩的坑是第一版数据量不够,结果“测”出了显著的曲率。后来发现,样本量少时,MDS和Isomap的拟合误差本身就很大,误差模式看起来就像非欧结构。这是个典型的统计幻觉。
要规避这个问题,最直接的办法是自举法:对原始样本做有放回的重抽样,重复计算曲率估计,得到置信区间。如果区间跨越0,说明这个点的曲率和零没有显著差异,千万别硬解释。另一个办法是模拟对照:用已知的欧氏距离加噪声生成模拟数据,跑一遍同样的分析流程,看是否能得到类似“曲率”。如果模拟结果也能产生同样的几何假象,说明分析流程有问题。
4.2 被试间差异对几何结构的影响
被试的个体差异非常真实。有的人对颜色差异极其敏感,有的人钝感;有人倾向于使用评分量表的两端,有人全打中间分。直接把所有被试的原始数据混合在一起分析,等于人为制造了局部度量的异质性,这会被黎曼模型解读为“弯曲”。
我的做法是三层净化。第一层,剔除反应时过短(低于200ms,基本是随机点)或过长(超过3000ms,说明走神)的试次。第二层,每个被试的数据单独做一次MDS,检查标准化的应力值是否异常。第三层,用广义普鲁克分析(GPA)把各个被试的嵌入空间做旋转、平移、缩放对齐,再合并成群体水平距离矩阵。只有对齐后的矩阵才适合做流形层面的分析。
4.3 刺激抽样偏差如何污染曲率估计
流形学习对采样密度极敏感。如果你的刺激点在流形上分布特别不均匀——比如在红色区域密密麻麻,在蓝色区域稀疏拉稀——那测地线距离估计会朝密集区域偏移,人为制造出“曲率集中区”。
一个很有效的预防手段:在设计阶段就用t-SNE或者UMAP对刺激特征空间做一个初步可视化,检查覆盖度;正式实验时确保刺激在各维度上的边际分布大致均匀。还有一种补救方法:在计算测地线距离图时,对边权用局部密度做归一化。
另外要提醒的是,如果概念空间实际包含两个不相连的连通分量,比如“动物”和“工具”之间几乎没有过渡概念,那么k近邻图会断裂。这时用Isomap会直接报错或者给出荒谬结果。有两种选择:一是把连通性本身作为证据,说明全局流形可能不是单连通的;二是专门在连通子集上分析。不要强行把所有区域塞进一个流形。
4.4 分析和可视化常用的工具链
给想快速上手的朋友列一份工具清单,都是我用过比较稳的组合。
- 数据处理:pandas + numpy,相异度矩阵直接用DataFrame管理,方便后续筛选和透视。
- 经典MDS与Isomap:scikit-learn的manifold模块,注意MDS要用metric=True,Isomap设置n_components和n_neighbors。
- 黎曼几何专用计算:geomstats,支持球面、双曲空间、SPD流形等,计算测地线距离很靠谱。
- 最优传输与曲率:ott或POT库,计算Wasserstein距离;离散Ollivier-Ricci曲率可以用GraphRicciCurvature包,直接吃networkx图对象。
- 贝叶斯模型比较:PyMC生态,构建自定义距离函数时稍微麻烦,但长度尺度和噪声参数的先验设置都很直观。
5. 这个项目的延伸价值与应用前景
5.1 对认知科学理论的意义
如果人类概念空间的黎曼流形假说越来越稳固,很多认知科学的经典问题都要重新表述。
概念边界会从“固定超平面”变成“弯曲曲面”。在类别知觉研究中,边界不再是空间里一条直线,而是曲率较大的一条带。边界两侧的分类反应变快,不是因为存在某个硬性分类器,而是因为越过弯曲路径需要更多心理走行距离。
概念学习中的泛化规则也会改变。经典原型理论假设新刺激归入离它最近的原型,用欧氏距离度量;在黎曼流形中,这个距离要用测地线距离代替,而测地线距离会绕开高曲率区域。这能解释为什么有些原型边界非常“绕”,比如某些物种分类边界。
对语言相对论也是新的切入点。如果不同语言社群使用的概念空间在局部曲率分布上不同,那么说话者的相似性判断差异就不是简单的“词语映射差异”,而是几何结构差异。这个假设可以从行为数据中直接检验,很有潜力。
5.2 在AI与脑机接口中的落地可能
AI领域这几年对非欧表示学习非常感兴趣,特别是双曲空间(负曲率流形)在层次数据建模上的应用。如果人类概念空间真的是黎曼流形,那以人类认知为范本训练的模型,用欧氏嵌入就显得不够自然。在实际操作中,可以考虑把词向量或图像特征嵌入到一个可学习的黎曼流形上,而不是固定的欧氏空间。这个方向已经有初步尝试,但还远没到大面积落地。
脑机接口方面更有意思。解码语义状态时,很多方法会在神经特征的欧氏空间里做最近邻分类。如果语义状态在神经流形上的分布是弯曲的,用测地线距离做K近邻比欧氏距离更合理。我见过一些用流形学习解码运动意图的工作,效果比线性方法好不少,说明这个思路在神经信号上也有现实基础。
不过我要说句实话:这个领域距离“临床应用”还早,当前论文更多是用人工刺激和严格控制的实验范式证明概念空间可以是非欧的,离真实语义理解还有距离。但这不妨碍它作为一个新的建模视角,给后续研究和工程方案提供一条可行的路径。
我个人在实际操作中的体会是:这个方向最大的难度不是数学,而是实验设计和数据质量之间的耦合。黎曼流形对数据极其敏感,一个粗糙的采样策略就能淹没真正的几何信号。如果你想复现或者延伸这个项目,我的建议是先做模拟实验,用已知的流形生成行为数据,跑通整个分析流程,再开始收真实被试的数据。这样你能清楚地知道每一步分析的容错率有多少,也能在真实数据里区分“几何信号”和“实验噪声”。最后再分享一个小技巧:分析前永远先画一遍距离矩阵的热力图,很多数据问题一眼就能看出来,比跑复杂的模型快得多。
