《A New Kind of Science》书摘


  日常的经验让我们认为一个看起来复杂的事物一定是从复杂的方式构造的。比如说,当我们看见一个复杂的机械设备,我们通常都设想那个设备的建造计划也相应的复杂。
  但是前几部分的结果展示了至少有时候这种设想是错误的。从我们看到的几个用简单方案构建的模式——就告诉我们只用一个黑色元胞开始,不断应用元胞自动机规则就行了。从这个方案产生的展示出相当量级的复杂性。
  所以我们的一般直觉是错在哪里呢?最重要的一点似乎是因为来自建立事物和工程学的经验,这种情况下,人们会避免遇到前面那种复杂系统。
  一般来说,我们会从我们想要的行为开始,然后试图构建起一个能够产生这个行为的系统。为了实现它,我们需要将自身限制到系统中从而理解和预测系统的行为——如果不能预测系统的行为,我们不能确定系统是否能做到我们想要的。
  但和工程学不同,大自然的操作是没有这种约束的。所以没有什么能够阻止像上一节所展示的那样的情况。其实本书最重要的一个结论就是这样的系统在自然中是非常常见的。
  但是因为我们通常对规则或整体行为的感知都是基于构建事物或工程学的,我们没有任何像上一节那样的系统的直觉。
  我们可能会希望能够唤起一种现有的直觉来理解这种基本现象,但是事实是似乎没有这样一种经验提供给我们。所以我们别无选择,只能去尝试开发出一种新的直觉。
  唯一合理的一种方法就是让我们自身经历大量的例子。我们现在看了一小部分例子,都是元胞自动机。但是在接下来几个章节我们将会看到更多例子,不止是元胞自动机还有其他一系列的系统。通过吸收这些例子,我们最终能够开发出一种新的直觉,这种直觉会明显和不可避免地发现我曾发现的基本现象。

  即使早在远古遗物中,都可以看见简单抽象的能描述自然系统的规则。但是目前为止,我们能说出的几种规则只与标准的几何和算法相关。使用这几种规则,只能得到相当简单的行为——充分解释了宇宙中的一些规律,但是不能捕获自然中其他的细节。
  或许正因如此,人们通常认为自然界许多事物是人类无法理解的。但是在 17 世纪末开始的微积分的胜利,推翻了这种信条。在微积分的基础上,我们成功运用了人类的思想创造抽象规则,并使用它们来重现自然界各种现象。但是发现的特定的规则在特点的数学方程上会工作得十分复杂。从这些规则的复杂程度来看,开始产生一种隐含的信息:即在几乎没有任何重要的情况下,更简单的规则在重新产生自然系统的行为方面是有用的。

  然而接下来的这个模式要复杂的多,下一页会演示,虽然几千步的简单增长都是不规律的,但是增长越来越缓慢。而且内部的模式开始消亡。尽管会有偶然爆发的增长,但是最终,8282 步后,模式变为了简单的重复结构。(p69)

  1599 号三色元胞自动机九千步的进化。从最开始一个灰色元胞,每一列都有三千步,进化最终在 8282 步后变得清晰,其模式变成了 31 个简单重复结构。

  在《一种新科学》这本书中,我完成的其中一件事是展示了如何将简单程序作为一种模型,应用于分析各种物理、生物和其他系统的基本特征。书籍出版时,不少人对此持怀疑态度。大家都认为严肃的科学模型应当建立在数学方程基础上,这种延续了 300 多年的学术传统的确非常牢固。
  但在过去的 15 年里,一些惊人的变化已经发生。今天,无论在动物行为模式领域还是网络浏览行为领域,新涌现的模型通常都基于程序而非数学方程。
  年复一年,时间缓慢无声地流逝着。而在这个领域,却发生了戏剧性转变。三个世纪以前,数学方程取代了纯粹的哲学推理。在短短几年内,程序又取代了数学方程。目前来看,程序是实用而高效的:它做得更好,更有用。

  数千年来,人类作为一种文明,一直在探索周遭的道路上前进——无论是用科学解码自然,还是用技术创造环境。然而,要想利用计算型宇宙的丰富资源,我们就必须在一定程度上放弃这条道路。
  过去人们都认为,和人类创造的工具相比,人类大脑拥有更强大的计算力,因此我们总能“理解”他们。但计算等价性原理表明这是错的:计算型宇宙中有很多东西和人类大脑或人造工具一样强大。一旦我们开始使用这些东西,我们就失去了所谓的“护城河(edge)”。
  今天我们仍在想象,我们可以识别出程序中那些不相关的漏洞。但在计算型宇宙中,计算不可化约性遍地都是,人们唯一能够做的只是运行它,看看会发生什么。
  人类本身作为一种生物系统,就是在分子尺度上进行计算的一个绝佳案例,我们身上同样遍布着计算不可化约性(这就是在一些基本层面药物难有成效的原因)。我想这是一种权衡:人们可以将技术运算限定在可被理解的层面上。不过,这无疑会错过计算型宇宙中的诸多丰富性。而我们甚至无法将自身的生物学成就在我们创造的技术中对应起来。

  今天飞速发展的领域显然是机器学习,或者更具体地说是神经网络。我很高兴看到这一趋势。我在 1981 年就开始研究神经网络,甚至早于我开始使用元胞自动机和发现规则 30。但我从没用神经网络做过任何有趣的研究,我认为它们过于复杂,无助于解决我关心的基本问题。
  所以,我把它们简化后,利用元胞自动机做实验。(我受到了统计物理中伊辛模型等的启发,以此类推。)开始时,我认为简化过度了,小型元胞自动机无法进行有趣的实验。后来,我发现了规则 30。自那以后,我一直试图深入理解它的含义。

  神经网络究竟是怎样运转的?它与大脑无关,只是灵感(尽管实际上它与大脑的工作方式可能多少也有些类似)。一个神经网络实际上是一系列对数组进行运算的函数,每个函数从数组中提取相当多的输入变量。它和元胞自动机没有什么不同。除了一点,那就是元胞自动机通常处理的不是像 0.735 一样的任意数字,而是像 0 和 1 这样规则的数字。此外,在元胞自动机中,每个步骤只从一个定义完整的局部区域获取信息,而不是从所有区域获取信息。
  客观地说,现在“卷积神经网络(convolutional neural nets)”研究很常见,它的输入模式和元胞自动机同样有规律。人们逐渐发现,神经网络的运转并不依赖精确数字(比如 32 位),可能只需要几位数就够了。
  神经网络的一大特征是,我们知道如何让它们“学习”。特别是,它们已经从传统数学中学到了许多功能(比如连续编号),无论提供什么样的训练集,都可以使用类似微积分这样的方法,使它们通过逐渐改变参数来适配行为。
  目前还不清楚,需要多少计算量或者多少训练范例。但五年前的突破性发现表明,现代 GPU 和网络收集训练集已经足够用于解决许多重要的实际问题。
  几乎没有人会在一个神经网络中最终明确地设置或“编程”得出一些参数。取而代之的是,它们会自动设定合适的参数。但不同于元胞自动机等简单程序(它们通常穷举所有可能性),神经网络有一种基于微积分的渐进过程,这会逐渐完善网络,类似于生物进化过程中逐步提高有机体“健康”的过程。
  这种训练神经网络的方式效果显著,不过人们也很难理解其内在规律。但从某种意义上说,神经网络依旧大致遵循计算型宇宙的规律:它基本上保持相同的计算结构,并且通过改变参数来改变其行为。
  于我而言,神经网络的成功是对计算型宇宙理论阐释力的认可,也是对《一种新科学》思想的另一种印证。因为它表明,在计算型宇宙中,只要摆脱详细行为能被预测的确定性系统的束缚,马上就能发现各式各样的丰富性和有用的东西。

  是否能在神经网络分析中用上计算型宇宙的全部力量和《一种新科学》的思想?对此,我表示怀疑。实际上,随着对细节的认知愈发清晰,我认为对计算型宇宙的探索将进入高速增长期:进入一个前所未有的繁荣时期。
  在当前的神经网络研究中,存在一种明显的权衡。在神经网络内部,与简单函数(包含基本参数)相似的部分越多,就越容易用微积分的思路来训练网络。但是,神经网络与离散程序或者结构可变的计算越相似,其训练难度就越高。
  值得一提的是,我们现在经常训练的网络在几年前来看是完全做不到的。正是这些数千万亿次的 GPU 高效运算才使得训练可行。即使在增量数值方法不可能到达的领域,有人用非常常见的技术(就比如说,本地全局搜索)做重要的训练,我也不会太惊讶。甚至有可能发明像微积分一样的主要归纳法,并运用在整个计算型宇宙中。(不过,基于对元胞自动机规则空间等事物的几何基本概念的概括性认识,我仍保有一些怀疑。)
  人们能利用它做什么?或许会发现能实现特定计算目标的更简单的系统,也可能诞生超出我们目前可实现的(比如人类大脑范畴)的全新运算层次。
  近期,有个关于建模的趣事。随着神经网络越来越成功,人们开始疑惑:当我们可以为神经网络的结果构建一个黑盒模型时,为什么还要费心模拟系统内部运转过程?如果我们设法让机器学习深入计算型宇宙中,我们就不必再费劲权衡了,它们已经能够学习其模型机制和结果。
  我敢肯定,将完整的计算型宇宙引入机器学习范畴,将会带来惊人的后果。值得一提的是,计算普遍性和计算等价性原则会弱化它的原理性。因为这两个特性表明,即使目前通用型的神经网络也能模仿任何其他系统的功能。

  传统数学方法在物理学和天文学等科学领域的确发挥了重要作用,但在其它一些领域,如生物学、社会科学和语言学等却用途不大。长期以来,我一直坚信,要在这些领域中取得进展,必须要拓展目前使用的各种模型,站在更宏观的计算型宇宙中考虑问题。
  的确,过去 15 年间,这种做法也逐渐取了一些成功。比如,有许多生物和社会系统都在使用由简单程序构建的模型。
  不同于呈现为“可解决状态”的数学模型,进行精确模拟后,计算模型通常呈现出计算不可化约性。这可以成功做出特定预测或应用于技术模型。但这有点像数学定理的自动化论证,人们可能会问:“这真的是科学吗?”
  是,人们可以模拟系统行为,但是否能“理解”它呢?在某种意义上,计算不可化约性意味着人们并不总是能够“理解”事物。在计算模型中,可能没有有用的“故事”可讲,也可能没有“概念性节点”,只有大量的详细计算。
  想象一下,某人正在努力研究大脑如何理解语言——这是语言学的一大目标。也许我们会得到一个精确模型,发现一些决定神经元放电或低水平大脑表现的精确规律。然后我们来看看,在理解整个句集时产生的特定模式。
  如果这些模式看起来像规则 30 的行为呢?或者像循环神经网络的内部结构?我们能讲一个发生了什么的故事吗?要做到这一点,就必须创建某种更高级的符号表示法:在这里有效产生了能表示事件的核心元素的词汇。
  然而,计算不可化约性意味着可能没法创造这些东西。虽然它总能发现一个计算可归约性(computational reducibility),从而使人们可以陈述一些东西。但不会存在一个完整的故事。可能有人会说,这些可归约的科学事实没用。不过,这只是当人们使用(如标题所述)《一种新科学》时会碰到的麻烦之一。

  近年来人们很担心人工智能。他们想知道,当人工智能“比人类更聪明”时会发生什么。计算等价性原理带来一个好消息:从基本层面来说,人工智能永远不会“更聪明”——它们只能进行和人类大脑层次相当的运算,这和简单程序在做的事一样。
  当然从实际来讲,和人类大脑相比,人工智能确实可以更快地处理大量数据。我们也会让它们替人类处理许多事物,比如从医疗设备到中央银行再到运输系统等。
  那么重要的是,我们该如何指导它们做事。一旦我们开始真正应用计算型宇宙,就不可能给人工智能“手把手式”的教导。而是我们只需要为人工智能设定目标,让它们自己找出实现这些目标的最佳路径。
  从某种意义上说,我们已经用 Wolfram 语言这样做很多年了。有一些用来描述任务(诸如画图、数据分类等)的高级功能,之后编程语言会自动寻找最优解完成任务。
  最终,真正的难题是找到一种描述目标的方法。比如,你想寻找一个元胞自动机,用于制作“漂亮的地毯图案”或者“好的边缘检测器”,但这些东西究竟意味着什么?你需要的是一种能帮人类尽可能准确传递其意图的语言。

  今天,我们只是用比日常用语更精确一点的法律术语撰写法律合同。但是用象征语言,我们可以撰写真正的“智能合约(smart contracts)”,用高级术语描述我们的目标,随后机器便可以自动验证或执行合约。
  那人工智能呢?我们要告诉它们,我们希望它们做什么。我们需要和它们签订合约,或许还得为它们制定章程。这些文件都建立在某种象征语言之上,它既允许我们表达目标,也能交由人工智能执行。
  关于人工智能章程应该包含什么,以及如何构建它,从而反映世界政治和文化景观,有很多值得探讨之处。其中一个显而易见的问题是:人工智能章程能会像阿西莫夫的机器人三定律那样简单吗?
  《一种新科学》中蕴藏着答案:不可能。从某种意义上说,章程是一个描述世界的可能性与不可能性的尝试。然而计算不可化约性表明,这需要收集无穷多的分析案例。

  现在,我们人类是以一种生物系统的形式存在的。但在未来,肯定会在技术上以一种数字或者说计算型的形态再现人类大脑的所有过程。因此,只要这些过程能代表人类,就可以在所有计算层面上实现人类的“虚拟化(virtualized)”。我们可以想象,这样发展下去,未来整个文明形态可能会演变成“装有一兆个灵魂的盒子(box of a trillion souls)”。
  盒子里面会以各种计算形式,展现那些“虚拟灵魂”的思想和经历。这些计算反映着宏伟的人类文明,以及我们的一切经历。但在某种程度上,它们并不算多么特殊。
  也许会让人类有点失望,毕竟计算等价性原理已经表明,这些计算并未呈现出比其他系统更复杂的计算性——即使与简单计算相比也是如此——同时也没有呈现出复杂恢弘的文明历史。的确,细节蕴含所有历史。但从某种意义上说,不知道寻找何物或关心何物,你就不能说它有什么特殊之处。
  好吧,但是“灵魂”本身呢?人们是否可以通过观察他们实现的特定意图来理解其行为?在目前的生物形态中,人类有各种各样的限制和特征,它们赋予我们目标和意义。但在虚拟的“上传”形态中,大多数都会消失。
  我曾经思考过,在这种情形下,“人类”的意图会如何演化。当然,在虚拟化形态下,人类和人工智能之间差异不大。未来也可能会让我们失望,“虚拟灵魂”的未来文明为了消磨永恒时光而陷入“玩游戏”效应的陷阱。

  我逐渐认识到,用我们目前对目标和意义的认识来理解未来是行不通的。想象一下,回到一千年前,给古人解释未来的人们每天都在跑步机上行走,或不断地给朋友发照片。关键在于,除非相应的文化框架已经形成,否则这些活动便没有意义。
  当我们试图描述什么是有趣的或可解释的时,会再次发现这些都依赖于一整套“概念性节点”网络的发展。
  我们能想象 100 年后数学的模样吗?它建立在我们不知道的概念上。同理,未来人类的动机也依赖于某些未知的概念。站在今天的人类视角,我们能做出的最好描述,或许是那些“虚拟灵魂”只是在“玩游戏”而已。但是对于未来人类而言,可能存在一整套微妙的动机结构,让他们能通过回溯历史文化发展的每一步来理解。
  此外,如果我们了解物理学基本理论,随后完成虚拟化,那么至少在原则上:我们可以模拟“虚拟灵魂”宇宙的运转。如果这样可行,那就没什么理由必须对人类宇宙进行模拟,它可以模拟计算型宇宙中的任何宇宙。
  正如我提到的,即使在任何宇宙中,也永远不会出现“事情都做完了”和“没什么可发现的了”这样的情况。但我有一些奇思妙想,那些“虚拟灵魂”不会满足于只存在于人类物理宇宙的模拟版本中,可能更乐于(无论这对他们意味着什么)走出牢笼,去探索更广阔的计算型宇宙。因而从某种意义上说,人类未来将是一个无穷尽的探索之旅,而这一切无疑会出现在《一种新的科学》所讨论的语境中。

  很久以前,我们就被迫思考“虚拟灵魂”的问题。我们面临着一种窘境,在人工智能完成大部分劳动的世界里,人类应该做什么。从某种意义上说,这个问题并不新鲜:它只是科技和自动化发展的延伸。但不知为何,这次感觉非同寻常。
  我认为原因在于,计算型宇宙中有那么多丰富、易得的事物。我们可以打造一台能自动完成任务的机器。我们甚至可以建造一台通用计算机,通过编程来完成多样化任务。然而,即使这些自动化程序拓展了人类行动的界限,人类仍旧得在其中投入许多精力。
  现在不一样了,我们只要明确任务目标,剩下一切都会自动完成。各种各样的计算(也就是所谓的“思考”)可能即使没有人类的介入也会持续进行。
  乍看之下,似乎不太对劲。未经耕耘,怎能丰收?这有点像问大自然是如何自身拥有复杂性的。要知道,我们耗费巨大精力制造的物品,本身也并不太复杂。我认为,答案是它正在对计算型宇宙进行挖掘。对我们而言亦是同理:通过挖掘计算型宇宙的潜能,我们基本上达到了无限的自动化水平。
  当今世界上的许多重要资源仍然依赖于物质材料,这些材料通常从地球中开采出来。当然,一些地理和地质上的偶然性决定了合适的开采人员和开采地点。此外,可供开采的资源数量也是有限的。
  然而,计算型宇宙的资源却是取之不尽用之不竭的,任何人都可以开采。在开采方面虽然存在一些技术性问题,不过也有一大堆优秀的开采技术。计算型宇宙拥有面向全球的无限资源,不存在稀缺性,更不“昂贵”。

  如果总是存在着很多不同的历史路径,那么我们如何认为,这个世界上发生了确定的事情?在量子力学的标准形式主义(The standard formalism of quantum mechanics)中,我们是用确定概率的状态的“叠加态”来描述(例如,薛定谔的猫处于“生”与“死”的叠加态,不能简单的说,猫有一半的概率“生”,一半的概率“死”)。但这个说法总是让人迷惑,人们对客观现实的印象似乎是确定的(即猫要么“生”,要么“死”)。
  Wolfram 认为,另一种可能的解释是,某种程度上每一种可能都存在一个现实的分支,而我们只是观测到我们的意识来到的那个分支。
  我们的模型有一个更完整,并且可以说在科学上更让人满意的可能性。从本质上来讲,最终存在一个全局的客观现实(Global objective reality),它拥有不同的路径系统。但是我们的经验局限性(The locality of our experience)造成了我们只能用概率和量子力学的标准形式主义来描述事物。
  没错,尽管从系统“外部”看,会有各种不同的路径系统,但是因果不变性意味着事件之间的因果关系网络始终是完全相同的。
  换句话说,就像相对论一样,即使从系统外部看,似乎有许多可能的“时间线程”,但如果身在其中,从系统内部看,因果不变性在某种程度上最终意味着只有一个时间线程,或者说,实际上最终只有一个客观现实。

  存在着那样一个时间断面——大爆炸奇点,宇宙是十分简单的,甚至比鸡蛋和细菌都简单,比现实中最简单的东西都简单,因为它那时的原子数是零,没有大小,没有结构。我们只需要将奇点模型用软件实现,输入计算机运算就可以了。