2026, August, 19
研究关系的三种视角

研究「关系」有三种互补视角:几何,拓扑和因果。分别关注测量、连通和约束。它们不是并列的学科,而是看待「存在」的三个层层递进的维度。三者共同构成智能系统理解世界的先验地基。

哲学里有一种命题:「存在即关系」,在数理研究中同样也有很深的体现。听起来很抽象,但它其实是对世界本质是什么的一种深刻回答。理解事物不是先存在、再去建立关系,而是事物在建立关系的过程中,才得以成为事物。它最著名的提出者是 20 世纪法国哲学家怀特海(过程哲学),但其思想渊源可以追溯到德国哲学家莱布尼茨(单子论)和古希腊的赫拉克利特(万物流动)。

所以,研究「存在」也是研究「关系」。而关系通常有三种视角:几何、拓扑和因果。

拓扑提供稳健的骨架,几何赋予精细的尺度,因果指明干预的方向。三者共同构成智能系统理解世界的先验地基。更准确的说法或许是:几何和拓扑是关于「关系的静态结构」(分别是度量化的和非度量化的),而因果是关于「关系的动态/生成机制」,它回答的不是「这两者如何关联」,而是「如果我改变一个,另一个会怎样」。

几何(度量结构)

几何关注的是「测量」。基本问题是多接近、多相似,或者一个具体的度量数值。——它需要一个度量结构(距离、内积、相似度函数),通常要求满足对称性、三角不等式等公理。典型例子:嵌入空间里两个向量的余弦相似度、社会心理学里的「亲密度量表」。研究的是关系的强度。几何关系是最重的——信息量最大,但也最脆弱,度量方式一变,结论可能就变。

一个度量空间是二元组 (X,d)(X, d),其中 d:X×XR0d: X \times X \to \mathbb{R}_{\geq 0} 满足:

{d(x,y)=0    x=y,d(x,y)=d(y,x),d(x,z)d(x,y)+d(y,z)\begin{cases} \begin{aligned} &d(x,y) = 0 \iff x = y,\\ &d(x,y) = d(y,x),\\ &d(x,z) \leq d(x,y) + d(y,z) \end{aligned} \end{cases}

三条公理分别对应「可分辨性」「对称性」「三角不等式」。注意对称性是内嵌在定义里的——这一点后面会成为几何/拓扑与因果的分水岭。在 ML 里,我们常用的是更强的结构:内积空间 (X,,)(X, \langle \cdot,\cdot\rangle),度量由内积诱导 d(x,y)=xyd(x,y) = \|x-y\|,这才有了余弦相似度、点积注意力这些操作。度量结构的信息量最大,因为它不仅告诉你「是否有关系」,还告诉你「关系有多强」——但代价是它对表示方式极度敏感:换一个嵌入模型、换一个归一化方式,同一批数据算出来的相似度可以完全不同。

拓扑(连通结构)

拓扑关注的是「连通」。把度量忘掉,只问是否有路径可达、结构是否连通、是否存在环/洞。在同胚变换(连续拉伸、不撕裂)下不变的东西才算拓扑性质。典型例子:社交网络里的连通分量、图的最短路径存在性(而非具体长度)。拓扑关系比几何轻,研究的是关系的骨架,但换来的是更强的稳健性——不在乎具体尺度,只在乎结构骨架。

一个拓扑空间是二元组 (X,τ)(X, \tau)τ\tauXX 的一族「开集」,满足对任意并、有限交封闭,且 ,Xτ\emptyset, X \in \tau。拓扑结构不需要度量:任何度量空间都能诱导出一个拓扑(用开球生成开集),但反过来不成立——拓扑空间不一定可度量化。关键的不变量是在同胚(连续双射且逆映射也连续)下保持不变的性质,比如连通性、紧致性、亏格(洞的个数)。用代数拓扑的语言,贝蒂数 bkb_k 数的是 kk 维「洞」的个数,这是持久同调(persistent homology)在数据分析里常用的工具——它告诉你数据云的「形状骨架」,而完全不关心具体的尺度参数。这解释了为什么拓扑比几何「轻」:它是几何结构经过遗忘函子 U:MetTopU: \mathbf{Met} \to \mathbf{Top} 投影之后剩下的东西。

因果(约束结构)

因果关注的是「约束」。这一支和前两支有本质区别:几何和拓扑通常是对称的(A 到 B 的距离=B 到 A 的距离;A 连着 B 等价于 B 连着 A),而因果关系本质上是非对称的——「X 决定/限制 Y 的取值范围」不等于反过来成立。因果结构需要额外的信息才能识别(干预、反事实、时间先后),单纯的相关性数据(哪怕是几何或拓扑意义上完整的)不足以确定因果方向。这也是 Pearl 那套 do-calculus 要解决的问题。在 ML 中,几何/拓扑模型在独立同分布(i.i.d.)下表现很好,但只要测试分布变了(协变量偏移),它们就会崩。而因果结构(比如有向无环图 DAG)告诉你的是「机制」——只要干预机制不变,哪怕输入分布变了,模型依然能泛化。这也是为什么说因果是稳健性的终极来源。

结构因果模型(SCM)是一个三元组 M=U,V,FM = \langle U, V, F \rangle,其中 UU 是外生变量,V={V1,,Vn}V = \{V_1, \dots, V_n\} 是内生变量,F={f1,,fn}F = \{f_1, \dots, f_n\} 是一组函数,满足

Vi:=fi(Pa(Vi),Ui)V_i := f_i(\mathrm{Pa}(V_i), U_i)

赋值符号 :=:=(而非 ==)是关键——它表示这是一个机制,不是一个可逆的代数等式。这组机制天然诱导一张有向无环图(DAG)GG,边 VjViV_j \to V_i 存在当且仅当 VjPa(Vi)V_j \in \mathrm{Pa}(V_i)。因果推断的核心操作是 do()\mathrm{do}(\cdot) 算子:P(Ydo(X=x))P(Y \mid \mathrm{do}(X=x)) 表示「把 XX 的赋值机制替换为常数 xx,切断它与所有父节点的连接」之后 YY 的分布,这与条件概率 P(YX=x)P(Y \mid X=x)——「观察到 X=xX=x 之后 YY 的分布」——一般是不相等的。两者的差异,正是相关不等于因果的形式化版本。

因果与拓扑

一个自然的问题是:几何遗忘度量得到拓扑,那因果是不是遗忘更多东西之后剩下的更轻的骨架?答案是否定的。

几何到拓扑的「变轻」是同一个信息维度上的压缩——都是对称关系,只是分辨率从「连续的数值」降到了「是否连通」的二值/离散判断。但因果结构引入了一个几何和拓扑都没有的新维度:方向性/非对称性,并且这个方向性原则上不能从纯观测的联合分布 P(V)P(V) 中单独用几何或拓扑手段识别出来。这就是可识别性问题(identifiability):

命题(因果不可从观测唯一识别)。 对于两个变量 X,YX, Y,仅凭观测联合分布 P(X,Y)P(X,Y),一般无法在 XYX \to YYXY \to XXZYX \leftarrow Z \to Y(混杂)等因果结构之间做出唯一判定——它们可以诱导出完全相同的 P(X,Y)P(X,Y)

要打破这种不可识别性,需要额外的信息源:随机对照实验(真正的 do\mathrm{do})、时间先后顺序、结构假设(如可加噪声模型、非高斯性,如 LiNGAM 方法利用非高斯噪声打破对称性)。这说明因果结构不是几何/拓扑那条压缩链上的下一站,而是一个正交的轴——即便你拥有关于系统的完整几何信息(所有点对的精确距离)和完整拓扑信息(所有连通关系),你依然可能无法回答「如果我强行改变 XXYY 会怎样」这个问题。这正是 Pearl 提出因果之梯(Ladder of Causation)的意义所在:

层级问题类型例子所需信息
1. 关联看见(seeing)P(YX)P(Y\mid X)观测数据即可,几何/拓扑视角覆盖此层
2. 干预行动(doing)P(Ydo(X))P(Y\mid \mathrm{do}(X))需要实验或因果图假设
3. 反事实想象(imagining)XX 不同,YY 会怎样需要完整 SCM,包括外生噪声的联合分布

几何和拓扑视角,本质上被限制在第一层;只有引入因果结构,才能爬上第二、第三层。这也是为什么「因果关系需要额外信息才能识别」这句话不是技术细节,而是三种视角在存在论意义上的分界线。

机器学习视角

回到机器学习的语境,三种视角之间的差异直接决定了模型在分布偏移下的表现。可以按「随分布变化保持不变的程度」给三者排一个序:

Geometry    Topology Invariance    Causality\text{Geometry} \;\prec\; \text{Topology Invariance} \;\prec\; \text{Causality}
  • 几何层面的失败:训练集和测试集哪怕只是特征做了不同的归一化,相似度排序就可能整体偏移——这是最脆弱的一层,任何非本质的表示变化都会渗透进度量数值本身。
  • 拓扑层面的稳健性:持久同调等方法对噪声、尺度变化天然不敏感,因为它们本来就是在滤除度量细节之后提取「形状」。但拓扑结构依然是观测分布 P(V)P(V) 的函数——一旦分布本身发生结构性改变(不只是尺度变化,而是变量间依赖关系变了),拓扑不变量也会随之改变,因为它仍然停留在因果之梯的第一层。
  • 因果层面的稳健性:如果 XYX \to Y 的机制 fY(X,UY)f_Y(X, U_Y) 本身不随环境改变(这是很多领域里的物理假设——比如「重力加速度与颜色无关」),那么哪怕 P(X)P(X) 的边际分布因为采样环境不同而剧烈变化,P(Ydo(X))P(Y\mid \mathrm{do}(X)) 这个机制仍然成立,模型依然可以泛化。这正是 Arjovsky 等人提出不变风险最小化方法的出发点:不去拟合在各个环境里都表现最好的相关性,而是寻找在所有环境下都保持不变的预测机制——本质上是把学习目标从「几何/统计上的最优拟合」换成「因果机制上的不变性」。

用一句话概括:几何模型学的是「数据长什么样」,拓扑模型学的是「数据的骨架怎么连」,而因果模型学的是「数据为什么会长成这样、什么力量在背后生成它」。前两者是对现象的描述,后者试图逼近生成现象的机制——这也是为什么协变量偏移能摧毁前两者,却不一定能摧毁后者。

递进的先验

如果用范畴论的语言简单勾勒一下三者的关系:存在遗忘函子 MetTop\mathbf{Met} \to \mathbf{Top},把度量空间的态射(等距同构)松弛成拓扑空间的态射(同胚),信息在这一步单调减少,但依然停留在「对称关系」的范畴里。因果结构则不在这条链上——它是在对象上额外加了一层有向、非对称的生成机制,这层机制无法通过对已有对称结构做进一步遗忘得到,只能通过引入新的认识论工具(干预、时间、结构假设)来「添加」。

所以更准确的图景不是一条线性的「由重到轻」的链条,而是:

几何对称,度量化,最重遗忘度量拓扑对称,非度量化,中等额外的干预/时序信息因果非对称,机制化,最稳健\begin{array}{c} \underbrace{\text{几何}}_{\text{对称,度量化,最重}} \\[8pt] \Big\downarrow \scriptstyle \text{遗忘度量} \\[8pt] \underbrace{\text{拓扑}}_{\text{对称,非度量化,中等}} \\[8pt] \Big\downarrow \scriptstyle \text{额外的干预/时序信息} \\[8pt] \underbrace{\text{因果}}_{\text{非对称,机制化,最稳健}} \end{array}

前两步是同一维度上的信息压缩,第三步是维度的跃迁——从「关系是否存在/多强」跃迁到「关系为什么存在、能否被操控」。这三层构成了一个智能系统理解世界所需的最小先验地基:先要有度量才能比较,有了比较才能抽象出结构骨架,而只有抽出骨架背后的生成机制,系统才能真正做到举一反三——在没见过的分布上依然可靠地行动,而不只是在训练分布的邻域里插值。

这或许也是当前很多「表示学习」范式的天花板所在:无论嵌入空间做得多精细(几何)、图结构建模得多完备(拓扑),只要模型学到的始终是观测层面的关联,它就永远停留在因果之梯的第一级。因果表征学习(causal representation learning)想做的事情,正是把几何/拓扑意义上学到的表示,进一步「提纯」出背后满足机制不变性的潜变量和因果图——这也是几何、拓扑、因果这三种视角在方法论上真正会师的地方。