摘要:人们习惯于从不同尺度去描述同一个对象。比如对于一个人类群体,你既可以从社会学经济学角度解释这个系统的现象,也可以从生物学生理过程的层次去描述它,还可以从分子尺度的物理学去描述它。毕竟人的组成来自于一个个器官和细胞,而每一个细胞都有分子组成。这些尺度上的各自规律
摘要
人们习惯于从不同尺度去描述同一个对象。比如对于一个人类群体,你既可以从社会学经济学角度解释这个系统的现象,也可以从生物学生理过程的层次去描述它,还可以从分子尺度的物理学去描述它。毕竟人的组成来自于一个个器官和细胞,而每一个细胞都有分子组成。这些尺度上的各自规律可以独立成立,由此诞生了各个学科。这种分层次的现象一直被哲学家们用因果闭合或因果闭包的概念进行讨论。在Fernando E. Rosas等人的最近研究工作中,这种层次涌现的现象可以被定量化地描述。借助复杂系统涌现理论,我们可以对这种神奇的现象确立共识,并且获取更深刻的洞见。
关键词:层次涌现、信息闭合、因果闭合、因果态、计算闭合
杨明哲 丨作者
梁京昊 丨审校
论文题目:Software in the natural world: A computational approach to hierarchical emergence
论文地址:https://arxiv.org/abs/2402.09090
你是否觉得周围有很多词语原本都是属于计算机的语言?比如有时我们会说,大脑死机了。这实际上就默认了可以把人或人的大脑比做一台计算机。随着计算机技术的普及,日常生活中,计算机随处可见。我们最常用的手机就是一台计算机,你或许正在用手机看这篇文章。但如果你不是手机方面的专家,其实你不知道它具体是如何运行的,比如芯片上具体发生了哪些变化,而这并不影响你正常使用手机的所有功能。 这就是这类计算机很神奇的地方:软件和硬件是可以分开讨论的。 大多数人使用手机,都是在跟软件打交道,不了解硬件的知识,只有在手机出故障的时候才会去找懂硬件的人帮助。同时我们又知道,软件是依附于硬件,软件中每一个计算都离不开硬件上的特定变化。比如下面是一个代码块:
像这样的编程语言是在软件层次上编写和运行的,而我们知道实际发生的只是硬件层次的二进制运算,但我们在写代码时不会去想那些繁杂的二进制语言。如果你之前读过关于因果涌现的文章,会发现相似的现象:我们可以类比硬件是系统的微观层,软件是宏观层。以上的讨论说明,宏观层次上的动力学和因果可以完全脱离微观层的信息来讨论。
因果涌现:用因果量化复杂系统中的涌现|集智百科
研究因果涌现的学者Fernando E. Rosas及其合作者认为[3],除了狭义的计算机外很多系统其实都具备类似的性质。如果一个系统有输入有输出,具备计算的能力,我们就可以把它比作一台机器,然后检验一下看看它是否具有能够和硬件解耦的软件层,或者说软件性(software-ness)。Rosas等人认为,具有这样性质的系统便发生了计算视角下的涌现。
为了进一步说清楚这种软件性,作者们提出信息闭合(information closure)这一概念。信息闭合是指,对于一个粗粒化后的宏观过程,已知其自身过去的信息就足以进行最优预测,进一步引入底层(微观)信息也不能提升预测能力——也就是说,微观的信息对宏观未来的预测是冗余的。所谓一个尺度在某某方面闭合,便是在说这个尺度上系统可以“自给自足”,不需要再考虑其他尺度。
信息闭合的概念其实在之前的研究工作中已经被提出过,而且有对应的形式化表达。在Anil Seth团队的工作中,它叫做动力学解耦[1]。二者在数学表达上是相同的,用互信息或条件互信息来定义:
X和Z分别是微观与宏观变量。读者可参考 因果涌现读书会第二季 23期的内容(下方扫码直达)。从另一个角度来看,这实际上是构成了 的马尔可夫链,即控制 ,得到 与 独立。
但是信息闭合的提出仅是从一个观测者的视角提出的,并未触及该性质实现的底层原理,即因果机制。为此,作者们进一步提出因果闭合(causal closure)的概念,与信息闭合非常相似。还以手机为例,信息闭合是你作为旁观者看别人使用手机,发现软件的运行可以“独立”于硬件层。而因果闭合则是把你自己置于使用者的位置。当你操作手机时,其实是在施加宏观层次的干预。而软件输出的结果只来自于这宏观的干预,与底层硬件无关,这便是因果闭合。如果手机坏了,无论你怎么按键它都不响应,那么你就不得不到硬件层去追究它坏掉的原因,这时候坏掉的手机就是因果不闭合的系统。
现在问题来了,我们要如何形式化表达因果闭合这个概念?早在上个世纪80年代,圣塔菲学者Crutchfield提出了计算力学(Computational Mechanics)这一整套理论,从计算的视角为涌现现象进行了建模。Rosas等人便借鉴计算力学的核心思想,来为因果闭合构建理论基础。如果读者想全面了解计算力学这个理论框架,可参考集智百科词条【 计算力学 】。下面是对相关内容的一个简略介绍。
包括人类在内的智能体,每时每刻都在对周围环境观察,得到大量的观测数据,以时间序列的方式可以形式化表达出来,如下图中的 。
但我们观测到的数据并不代表产生数据的机制本身。而智能体为了生存,必须在自己的内部(大脑中)构建简洁的机制来预测观测数据的变化,这便是上图中的 。而计算力学假设,进化的压力使得智能体构建的预测机制趋向于一个最理想的状态——因果态(Causal States)。
因果态是根据预测等价性来定义的。如下图所示,二进制数字串分别代表不同的状态,右侧的黑色箭头表示它们对未来预测的概率分布。 中两个状态的预测分布完全相同,所以它们属于同一个因果态。而 中的状态对未来的预测与 不同,所以 是另一个因果态。
因果态彼此之间有它们自己的概率转移矩阵。把因果态和概率转移矩阵放在一起,便构成了 机器。对于描述和预测一组观测数据来说, 机器就是最简洁和有效的机制模型,保留了一个计算过程中最有用的那部分信息,同时去除了其他对预测无用的冗余信息。
因果态和 机器有很多非常理想的数学性质,感兴趣的朋友可以参考文献[2]和 因果涌现读书会第三季 第5期。
机器和因果闭合又有什么关系呢?我们来看下图,X和Z分别表示微观和宏观过程。对于这两个尺度,我们可以分别构建关于它们自身的 机器,其因果态为 和 。它们分别是微观预测微观,宏观预测宏观最有效的机制。而作者又定义了 机器,其因果态为图中的 。
从图中箭头关系可以看出, 机器是对微观变量的划分,目的则是对宏观的未来进行预测,也就是说,它是根据对宏观未来的预测等价性对微观状态进行了分组。下面两个式子分别是 机器中关于划分的定义,以及 机器中对于划分的定义:
式子中L表示序列长度,变量上箭头往左代表历史状态,往右代表未来状态。它们的区别只是在于, 机器是对同一个尺度的最有效预测机制, 机器是对更宏观尺度的最有效预测机制。
接下来我们就可以给出因果闭合的定义了。对于一个系统的宏观过程,如果预测未来所使用的 机器和 机器完全等价,即上图中 和 相等,那么我们就说该宏观过程是因果闭合的。其物理意义为, 在宏观上的干预,和微观上与之对应的干预,作用在宏观层面上产生的结果完全相同。因此,我们可以把宏观的结果视为只来自于宏观的干预,与微观无关。
从定性的角度来看,似乎因果闭合和信息闭合是一样的。在给出数学定义后,作者在文章中严格证明了信息闭合和因果闭合确实是等价的。不过这不意味着以上讨论是没有意义的。一方面如前文所述,因果闭合相比于信息闭合是另一种对系统宏观过程更本质的描述;另一方面,当宏观过程因果和信息不闭合的时候,作者还证明了 机器总比 机器掌握更多的信息,是一个更强有力的表征。读者注意,这里的“更强”实际上来自于微观总比宏观有更多可能的信息,这与宏观的 机器在只考虑宏观尺度自身信息时是最有效的预测机制并不矛盾。
作者们的思考到这里还没有结束。其实信息闭合或因果闭合是一个比较强的要求。在历史上,我们也不是一蹴而就发明创造出了智能手机,这里面有很多中间形态。在人类发明机器的早期,我们一方面尝试搭建宏观的编码规则,另一方面我们也需要了解微观原理才能更好地操作机器。在这个阶段,对机器系统的粗粒化依然有好坏之分。对于一台机器,我们肯定希望它的宏观的计算过程要更加的简洁,也就是说宏观的 机器最好是微观的 机器的一种粗粒化。
这就是计算闭合(Computational closure)的定义。难道宏观 机器还可以不是微观 机器的粗粒化吗?粗粒化意味着宏观变量是微观变量的单射。这个映射过程可能引入更多的噪音,导致宏观过程的因果态反而比微观的还要多。我们看下面这样一个例子:
考虑一个马尔可夫链 ,有三个状态 、 和 。假设 和 的所有转移概率向量都相同且为正数。这样,微观 机器 只有两个因果态,分别是 和 。
现在进一步设定, 不能转移到 ,而且 和 的转移概率也不相同。假设我们的粗粒化方案为:若 ,则 ;若 或 ,则 。
可以证明, 不是马尔可夫的。理由是, 连续处于 状态的时间越长, 的概率就越高(因为 的转移被禁止)。由于 和 转移到 的概率不同,因此 的 机器 需要区分以不同长度的 结尾的历史,例如 。显然, 的因果态多于 的因果态,因此 不可能是 的粗粒化。
我们本以为,把底层系统用 机器描述后,宏观层的ϵ-机可能只需把底层 机器的状态合并即可。但事实远非如此。在这个例子中,原始系统有3个状态,但因为 和 看起来完全一样,所以微观 机器只需要区分 和 两种状态。但宏观的粗粒化选择却是,把 和 映射到一个宏观状态上。因为底层动力学的特殊性,想预测下一个 何时出现,宏观ϵ-机需要记住最近连续出现了几个 。也就是说, 宏观行为实际上增加了记忆长度 ,需要无穷多个不同的因果态,而不仅仅是简单的两种状态。所以,这并不是一个好的粗粒化方案。
现在我们用稍微抽象一点的图示来说明一般情况下的计算闭合。如下图所示, 和 分别是两个粗粒化映射。计算闭合的要求,是 希望从微观变量 到宏观因果态 的两条映射路径是可交换的,即 。
如果满足计算闭合的要求,我们就可以从计算模型的角度对一个系统进行多尺度建模,如下图所示。图中的概率分布和有向图表示的都是各个尺度上的 机器,也就是各个尺度上的最佳预测模型。 在考虑多尺度建模的时候,我们只需要关注各个尺度 机器上的粗粒化过程即可。
原文中有很多更复杂的案例分析,因为篇幅有限,我这里仅介绍模块化网络上的随机游走案例。
如下图所示,假设一个网络由好几个“社群”或“模块”组成,每个模块内部的连接很强(容易从一个节点跳到另一个节点),模块之间则连接很弱(一旦进了别的模块,要跳出来很难)。有一个“游走者”(比如一个酒醉的人),每一步会随机决定是否在原地停留、在本社区内乱逛,或者偶尔跳到别的社区。这样的网络在现实中很常见,比如社交网络中的小圈子、功能分区的交通系统等。
从微观到宏观,我们首先进行的粗粒化策略是:只关注“游走者当前在哪个模块/社群”,不关心他在模块内的具体位置,如图中的A、B、C、D、E所示。这种粗粒化有个重要性质:只要你知道现在在第几个社区,未来在哪个社区仅仅取决于现在在的社区,而不取决于在这个社区里的具体点——粗粒化后的社区间转移的动态是因果闭合的。
在更宏观的尺度上,我们可以只关心他所在社区的规模,而不是具体哪一个社区。社区A、B分别有25个节点,C、D、E则分别有9个节点。这便把介观尺度上的5个变量粗粒化得到最宏观的两个变量。这样得到的宏观过程也是因果(信息)闭合的。而且根据作者在文中证明的定理,这多个尺度的过程也都是计算闭合的。三个闭合说明我们可以在不考虑其他尺度的情况下单独为三个尺度上的变化建模,比如微观上的随机游走动力学,介观上社区间的转移动力学,宏观上不同规模社区间的交互规律。
在历史上,对于马尔可夫系统的粗粒化,已经有学者提出成块性(Lumpability)这一概念来约束粗粒化函数的选取。成块性和闭合性都是对粗粒化选取的约束条件,所以我们来做一个概念的梳理与辨析。对于成块性感兴趣的读者,可进一步通过集智百科词条【马尔科夫链的成块性】了解这个概念。 强成块性(Strong Lumpability)是指,无论初始分布怎么选,粗粒化后的宏观过程都是马尔可夫的,转移概率只由当前宏观状态决定。从这个定义不难看出,如果一个粗粒化是满足强成块性的,那么它必然是因果和信息闭合的,也就必然是计算闭合的。
弱成块性(Weak Lumpability)则是说,只在某些初始分布条件下,粗粒化后的宏观过程是马尔可夫的。强弱k阶成块性便是在前面定义的基础上,可以放宽要求,让宏观过程是k阶马尔可夫过程即可。k越大,要求越宽松。从论文[3]中提供的示意图可以看出,除了强成块性以外,闭合性和成块性之间没有必然的包含或被包含的关系。
成块性的提出对于马尔可夫动力系统的多尺度建模非常关键,比如在多主体建模中,底层机制往往是马尔可夫的,我们希望粗粒化出来的宏观规则也能是马尔可夫的。这样研究者可以避免在微观模型上高成本的模拟,可以直接在宏观尺度上进行迭代。而闭合性则更关注宏观的尺度是否能自洽。它们约束的角度不同,但最终可以有一种最理想的粗粒化方式同时满足最高要求的成块性和闭合性。 下表是文中涉及的关键概念的术语表,供读者参考:
来源:小夭看天下