迄今为止,人脑与电脑的恐怕是最值得比较的两件事物了。早在计算机发明的初期,著名数学家冯诺依曼就对当时的电脑和人脑在已知的知识范围内进行了系统性的对比。他发现,生物的大脑与机器相比最大的优势就在于,它能够利用相对落后的零部件在一个充满随机涨落的高度不确定的环境中非常敏捷快速的作出正确的计算,而且还是以一种相当绿色环保的方式——能耗非常低地进行的。恐怕在这一点上,连最厉害的AlphaZero也无法做到。那么,人脑是如何实现的呢?这就是蕴藏在统计与概率之中的大数之道。
冯·诺依曼的手稿《自复制自动机理论》,由人工智能先驱 Arthur Burks 整理成书。集智俱乐部资深粉丝“东方和尚”将全书第一部分翻译成中文,张江做了详细点评。我们将其整理成“冯·诺依曼自动机器理论”系列文章,以飨读者。本文是第五篇。
冯·诺依曼的遗产:寻找人工生命的理论根源
探寻计算的“原力”
神经网络与图灵机的复杂度博弈
人工智能如何掷骰子——三种概率理论
大数之道——人脑与电脑的对比
第五堂课:复杂自动机的一些考量——关于层次与进化的问题
在翻译过程中,做了以下的添加和修改:
1、为了方便阅读,为原文进行了分段,并加上了段标题;
2、为了让读者感觉更亲切,加上了若干副插图。
3、为原文添加了大量的评论,东方和尚的评论和张江老师的评论都会标注出来,另外,因为这本书是冯·诺依曼的助手 Arthur W. Burks(遗传算法之父 John Holland 的博士生导师),所以在框中的文字是编者加的注解。大家要注意分辨。
上两堂课讨论了一般原理之后,我想回到我们所知道的具体自动机的例子上面来。并把以计算机器为例的人工自动机,和以人类神经系统为例的生物自动机进行对比。出于这个目的,请让我先介绍一些单元部件的知识,并把它们的尺度进行比较。
正如我之前提到的,对人的神经系统,科学家还没有足够的研究,但大脑神经元的数量级大致可以确定为 10^10的级别。而身体其他部分的神经元数量大概要比这个数字小很多, 并且它们也源自大脑。最大的大脑周围神经集合是视网膜,从视网膜连到大脑的视觉神经被认为是大脑的一部分[68]。
相比大脑的神经元数量,计算机器用到的电子管个数要小一百万倍。现有最大的计算机器,ENIAC 只有 2×10^4 个电子管。另一台属于 IBM 公司的大型计算机器,SSEC 包括了各 1 万 个电子管和继电器。正在建造中的最快的计算机器,其设计包括了 3 千个电子管。电子管数量的减小是由于对内存的处理手法有所不同,之后我会提到。因此,大致地说,人脑要比大型计算机器复杂 1 百万倍。大脑和这些机器相比,复杂度增加的程度要比这些机器比单个电子管更巨大。即使用更加宽松的对数坐标表示,计算机器也还达不到大脑的一半复杂度。我认为,无论怎么样定义复杂度,这个比例都应该是比一半小得多的[69]。
在这个电脑 vs 人脑的较量中,有一个因素是对于前者有利的:计算机的速度比人脑要快。人脑神经元的反应速度大约是半毫秒。但用这个时间来衡量人脑的速度是不公平的,因为更重要的不是神经的激发时间,而是神经的恢复时间,也就是从一次反应到恢复到能够再次反应的时间长度。神经的恢复时间最快也需要 5 毫秒。对于电子管来说,很难估计速度, 按现在的设计,重复的频率(时钟主频)很难超过每秒一百万次[70]。
左脑与右脑(译者加)
图片来源:http://www.visualcomplexity.com/vc/blog/
因此,神经系统比这些机器的元件数量要多一百万倍。但是机器的每个元件的运算速度却又要比大脑快 5000 倍。这样合计起来,神经系统比现有机器要快 200 倍。但是这个较量起来是自动机略胜一筹,因为机器能力上的增加要远远超过了其体积上的增加。因为一个系统的潜能可以用其元件的相互关系来估计,而这个关系的总量是和元件数量的平方成正比的。此外,什么能做、什么又不能做这件事取决于一个最小的阈值。低于某个最小的复杂度,有的事情就没有办法做到,而一旦高于这个阈值,理论上就是有可行性的。
编者Arthur W. Burks注:
【冯纽曼接着从体积上比较了人类神经系统和计算机的区别。这个区别主要来自于控制和信号放大是怎样实现的。在电子管中间,运算体积实质上是阴极和控制栅极之间的空隙,其尺度约为 1 毫米;而在神经细胞中,运算对应的是神经膜约为 1 微米的厚度。两个尺度的比例是 1000:1,而它们的电压之比也是 1000:1,因此电子管和人脑信号的场强是大致相 当的。这说明,两者之间能量消耗的差异主要来自于体积上的不同。尺度上 1000 倍的区别,换算成体积就要差到 10 亿倍,能量消耗也差不多。请参见冯纽曼著作《计算机和人脑》[71]。
冯纽曼接着计算了“每一步基本信息操作,即每一个二义选择以及每次传送一个基本单位信息所需要产生的能量”,包括三种情形,热力学的最小值、真空管以及神经元[72]。
在第三堂课上,冯纽曼曾提到,热力学信息是由对数方式来测量的。也就是对于所有的可能性用 2 为底来取对数。因此,在二选一情况下的热力学信息等于 1 bit。问题是,bit 不是我们用来测量能量的单位。只有当你指定温度之后,熵和能量才能被联系起来,在低温下运行可以降低消耗能量的下限。”他接着计算了这个热力学信息相对应的最小能量值,也就是 kT logN 尔格。这里 k 是玻尔兹曼常数(1.4×10-16 尔格/度),T 是绝对温度,而 N 则是可能性的数量。对于二进制的基本计算 N=2,室温下 T=300K,对应于 1bit 的热力学能量下限为3×10^(-14)尔格。 冯纽曼估计大脑消耗 25 瓦的能量,具有 10^10 个神经元,因此平均来说,每个神经元每秒激活 10 次,因此每次二进制运算中神经元的能量消耗为3×10^(-3) 尔格。他估计真空管消耗6 瓦,每秒激活 100,000 次,故每次二进制运算中,电子管的能量消耗是 6×10^2 尔格。】[73]
因此,我们现有电路机制的效率要比神经系统低二十万倍。接下来计算机器会不断地改良,可能用能够放大电信号的晶体来替代电子管。但是即便如此,也要比神经元效率低一万倍。值得注意的是,热力学规定的下限(3×10^(-14 )尔格)和实际每次神经激发所消耗的能量(3×10^(-3 )尔格)之间有一千亿倍(10^11)的差距。这说明,关于大脑和智能的本质,仅仅用热力学来分析还是远远不够的。以对数坐标表示的话,生物的神经系统正好处于热力学下限 和我们现有的简陋计算机器的中间位置。我不知道是什么导致了上述差距,有可能是同时要确保操作的可靠性有关系。
因此,自然进化并没有选择物理学上的最小信息单元,即氢原子这样的双稳态系统来表示基本的信息处理。所有的开关元件都采用了相对大很多的装置。如果真的以这些物理学的单元来表示信息的话,那么一个元件仅需要几埃的尺度就足够了[74],而实际上最小的神经元的尺度也要几千甚至几万埃。显然有什么因素限制了神经元的尺度,不能缩小到热力学的。
记忆(译者加)
图片来源:http://bbs.cyol.com/viewthread.php?tid=58309&page=3
【冯纽曼接下来讨论了记忆元件。电子管虽然是开关电路,却也可以当作内存来用。但因为储存一个二进制数字需要用到一对管子,另外还需要一个单独的电子管来输入输出数据,电路繁复,所以用电子管来建造大规模的内存缺乏可行性。“实际我们用来储存数据的设备并不是像电子管这样的大型元件,而是比较微观的装置,信息是以虚拟的形式存在的”,他举了两个储存数据的例子:声波延迟线以及阴极射线管。所谓声波延迟线,是一个装满着水银的管子,两头各有一个压电陶瓷晶片。当有电信号的时候,压电陶瓷把信号转变为声波,并在水银中传送,因为声波的传送速度较慢,经过一段延迟之后,另一端的晶片又把声波信号转回成电信号,经过放大处理,再次返还到发射端晶片去。
这个声-电循环可以无限地重复下去,从而达到储存数据的目的。一个二进制的数字可以用某个时间对应的位置是否有脉冲存在来表示。因为这样的脉冲串不断循环于延迟线系统中间,所以这个数字并不是储存在某一个具体位置。“其记忆没有特定位置”
信息也可以用电荷的形式储存在阴极射线管的内壁上面。用一个具体区域上面的电荷对应二进制数字。这些电荷可以用阴极电子束来放置和检测。因为必须经常给这些内壁充电,而且对应于具体数字的位置可能会发生变化。这种数据储存的方式也是虚拟的。“这种内存从结构上说,也没有确定的位置,而且对于这种内存装置的控制也是虚拟的,因为物理实体并没有发生改变。”】
因此,我们没有理由相信人脑的中枢神经系统是用开关电路(神经元)来直接实现记忆的。人的记忆总量一定是非常巨大的,要比 10^10 bits 要大很多[76]。如果你计算一下一个人一生中的所有记忆以及对他重要的其他关键信息,估计至少需要 10^13 bits 才够。当然,我们不知道这样的估计有多么可靠。但是我认为人大脑的记忆能力,绝对要超过 10^10 bits。我也不知道把我们对于计算机器的初步了解和神经系统相比较是否合理,但是,如果我们的经验说明了什么的话,这就是记忆不太可能是用神经元直接实现的,也不太可能是用任何类似于开关电路的简单粗暴的方式实现的。有人说记忆来自于神经突触上的阈值变化。我不知道这种说法是否成立,但是至少计算机上的内存实现同网络阈值还没有关系。把人工自动机和神经系统做比较,让我们感到后者的记忆实现应该比前者先进的多,虚拟的程度也高得多。因此我认为现在要对人类的记忆机制和其物理位置做出任何猜测,还为时过早[77]。
我还想谈另外一件事,之前我的说法给人一种感觉,好像神经细胞真的就是纯粹的开关元件。但是很多研究神经的专家和生物学家都指出,神经细胞并非纯粹的一个开关,而是可以非常精巧的,工作在连续状态下的器件,它们类似于模拟电路,而并非单纯传送脉冲的中继。对于这个质疑的回答是,很多电子器件,如电子管、电磁继电器[78]同样也不是纯粹的开关元件,因为它们也有连续状态的性质。关键在于,至少有一种方法让这些器件工作在“有或无” 的二元分立状态下,这也决定了它们的性质。重要的是,当生物处于正常情况下,这些元件 是如何运行的。诚然,神经细胞并非总是处于“有或无”的二元状态,比如把刺激强度向应激频率的转换就取决于神经疲劳程度和恢复时间的长短。但是,至少我们清楚地知道,“有或无”是神经系统工作原理的一个重要方面。人类本身当然也不是一台数字设备,虽然人类的一个部分,神经系统具有数字设备的性质。几乎所有的神经刺激最后导致的结果都不是数字的,比如收缩肌肉或者产生内分泌等等。
为了控制这些化学物质的分泌,机体必须精确地微调其扩散的速度,这些工作需要非常精密的模拟过程,要比我们在任何模拟计算机中间用到的都要先进。在人体中间,最重要的控制环路都属于这个性质:一系列的神经脉冲沿着四通八达的控制网络不断前进,控制着像一座大型化工厂那么复杂的生产过程。其中,化学物质的调配依赖于繁杂的液压系统,这些都是纯粹的模拟过程;同时,这些化学过程又产生了神经信号,以数字的方式在神经系统中传播。在以上的环路中间,数字和模拟之间的转换一定发生了很多次[79]这样地看,人体其实是一台数模混合装置,但是,我们首先搞懂其中的数字过程,仍然是非常必要的。
计算机器也并非是纯数字的,现有计算机的输入和输出的确是数字形式的。但显然我们也需要非数字形式的输入和输出。例如有时候我们需要把计算结果以非数字的形式显示,就像示波器上面的曲线一样,这就是模拟输出。此外,我认为计算机未来应用的重要方面是用来控制复杂的机械装置,好像导弹或者飞机的飞行控制。这种情况下,计算机的输入来自一个模拟来源;而其输出则控制一个模拟的过程。这种数模之间的来回转换可能成为每个计算机应用领域的基本性质[80]。
现下我们要强调自动机的数字方面,因为我们现有的逻辑工具能够很好处理数字机制,并且我们对于数字机制的理解要比模拟机制的理解更加透彻。另外,看上去数字是一种更适合处理复杂功能的方式。纯粹的模拟机制通常不能适应太复杂的情形。唯一让模拟机制去处理复杂问题的办法就是把问题拆分成小块,分而治之。而这就是数字化的思想。
现在来到了以下问题:我们制作的人工自动机要比生物自动机功能弱很多很多,构件的数量也小很多很多。但是在体积和耗能上却要高许多许多。为什么会这样?这在现在,我们显然无法给出正确的答案:如果有两样东西,对于其中一件我们只是略有了解,另一件则是一无所知,那我们怎么去比较它们呢?但是如果比较我们所运用的工具,会发现一些明显的差距。这导致我们不能依靠现有的工具走的更远。
同生物细胞不同,我们现在使用的工程材料是不适合小尺度操作的。现有电路,包括导体、绝缘材料和真空管等等,这些元件的稳定性都要比生物体差很多,同时这些材料的强度也是完全随机的。如果生物膜被损坏了,它会自我修补。但是如果电子管的栅极和阳极短路损坏了,它却不能够修好自己。因此,生物材料具有某种工程上的特别稳定特性,而这种稳定性又是同其机械、电子和可靠性要求所匹配的。而我们的人工装置则是一种“凑合”,往往为了达到电子上的指标,结构上却变得多余累赘。我们用到的技术,常常是适合把金属和金属连接在一起,却不适用于把金属和电子管连接起来。在难以触及的真空管中间达到一 毫米的空间已经是一项工程上的壮举了,我们很难把这个尺度再缩小多少。因此,工程自动机和生物细胞尺度上的差距,实质上来自于材料性质上的巨大不同[81]。
【冯纽曼下面谈到了上述差距的深层原因。这是因为很多生物部件是为了保证整个系统可靠运作而存在的。在第三堂课中间曾经讲到,实际的计算过程中,每个单元仅以某一个概率正确地运作,而不是必然如此。在零件较少的小型系统中间,这种整个系统发生故障的可能性相对很小而常被忽略。但是对于大型系统,出错是必然发生的,故随着系统复杂度的升高,对于错误的处理也变得更加重要了起来。
为了证明这条结论,可以做一些计算。假定系统设计要保证单个元件的故障不会导致整 个系统崩溃,可以以元件的平均寿命来计算故障概率。以人类神经系统为例:大脑有 10^10 个神经元,每个神经元平均每秒激发 10 次,在致命故障之间的平均的自由程长度(机体的平均寿命)是 60 年。60 年等于 2×10^9 秒,这些数字乘起来得到人一生神经元的激发总数:2×10^20,因此要保证正常运行,故障概率就应该小于这个数字的倒数,即 0.5×10^(-20),对于数字计算机,电子管、每秒的运行次数以及系统平均正常运行时间分别为:5×10^3、10^5 和 7小时;那么合计起来,故障概率为 10^(-12) 就足够了。在《计算机与人脑》中,有类似的比较82。 他指出了电子管以及一般的电子元件的故障概率还达不到 10^(-13) 的水平,而且神经元可能也达不到。但是,在设计计算机的时候,我们可以把计算机设计成一旦发生错误,就会停机,然后操作员就可找到错误并改正之。举例来说,计算机可以把一个运算计算两次,比较结果,一旦有错误就停机[83]。】
如果按照“有错必纠”的完美主义理念,像生命这样的复杂系统很难持续比几个毫秒更长的时间。实际上,生命应该是同概率完全整合在一起的,它可以在错误里面持续运行。在生命中的误差,不会像在计算过程中那样不断地扩散放大。生命是十分完善且具有适应性的系统,一旦中间发生了某种问题,系统会自动地认识到这个问题的严重程度。如果无关紧要,那么系统就会无视问题,继续运作;如果这个问题对于系统比较重要,系统就会把发生故障的区域封闭来,绕过它,通过其他的候补渠道继续运行等等。然后在有空的时候,系统回头再去修复故障,如果不能修复,那么系统就把这个区域永久地废弃。所以,整个生物体的可靠性长度取决于要多长时间才会出现固定数量的不可修复故障,进行了多少次的调整和永久绕行,以及到最后,要多久才会彻底无计可施,再也无法修复。生命同那种一触即溃,一个错误就会土崩瓦解的系统,完全就是两回事。
为了把埋藏在生命系统中的道理应用到人工自动机中间去,我们必须要对生物这样的复杂机制有更深刻的理解,对错误的性质有更详尽的描述,还要对于生物生存的环境做出更全面的统计。因为自动机是不能同它所处的环境完全分割的,换句话说,如果不先说明自动机所运作的环境,就不能判断它是好是坏、是快是慢、是坚强还是脆弱。如人类生存的环境,就可以用地球表面的状态来粗略地对应,讨论人是否能在海底或者在 1000 度的高温下生存,是没有意义的。根据同样的道理,除非说明了一台计算机器的用途,我们也不能对它的快慢说些什么。不同用途的计算机器可以有巨大的区别。对于不同的数学分析问题、数论、组合数学、文档翻译,这些工作所需要的计算性质都有所不同。我们现在比较了解怎样设计用于典型的 数学分析问题的机器。但是根据我们现有的统计和数论知识,可能还不足以设计很好的机器。同时,对于组合数学和翻译,我们知道的还更少[84]。
计算机能够被应用于数学中,关键的一点就是数学分析的统计性质已经被研究得相当透彻,并且其计算量是比较均匀的。从数学角度看起来差别很大的一些问题,如求解一个 10次方程式的根、求一个 20 阶矩阵的逆矩阵、解一个求值问题或者求一个积分方程、微分方程的数值解等。这些问题从计算的角度看却令人惊奇地相似:比如乘法次数之比、每次乘法所需的内存调用次数、以及为了优化读取时间建立的分级内存结构,都很类似。但是如果进行数论的计算,这些计算过程的统计性质就会有很大的不同。当然,也可能存在某种视角,从这个角度来看,数论计算和数学分析的计算统计性质又会显得一致。但我们现在还不清楚。所以,对于所有的自动机来说,的确只能量体裁衣,按照它们要面对的环境来进行定制。而生物自动机在适应环境方面,要比所有的人工制品都来得强。故实际情况很可能是,我们离生物达到的复杂性阈值已经不远了,生命本身并不知道什么信息论,但它们却自然地超越了复杂性阈值,我们也有可能做到这点。当然,也有可能 5 年以后发现之上的说法显得很荒谬[85]。
【冯纽曼下面说明,为何一旦出现故障,计算机就要停机的原因。因为出现错误后,技术人员就得把错误找出来修改,定位往往是通过二分法进行的,即把机器分成两半,确定故障发生在哪一半中间,如此反复直到找到。但如果有不止一个故障,那么就很难用二分法来定位了。】
但是,生命中是没有“停机检修”这回事的,机器和生命对于故障,采取完全不同的处理方法。这可能同生命的某些特性有关,这些特性是在人造装置中完全找不到的。生命能够在故障率相对很高的情况下仍然生存,而人工自动机却不能,这很可能需要一种非常柔软的适应性,以及一种“观察自己”与自组织的能力,并且,这需要其组成部件具有高度的自治能力。在人类神经系统中间,各个组件相当程度上都是自我控制的,而不像机器,所有的指令都是来自一个中央核心。当各组件能够自治、自组织的时候,一旦发生意外,每个组件 都能够独立地担负控制权;但反过来,组件和组件之间又会发生争夺控制的“对抗”,以至于不能很好的合作,有可能所有这些现象都是相关的[86]。
很赞东方和尚对这一章题目的翻译,原文是:“The Role of High and of Extremely HighComplication”,如果直译为“高以及超高复杂性的角色”,意境全无,不知所云。但是,现在的题目“大数之道”则一下子说出了这一章的精髓,即生命的本质存在于大数的统计规律之中。
首先,冯纽曼对人类大脑和人工自动机在数量级上进行比较(更多的比较可以参考冯纽曼写的一本小册子《计算机与人脑》);其次,他指出人类的大脑是用不可靠的零部件组装出了一个可靠的系统,而冯纽曼时代的计算机(甚至是现在的计算机)则是用可靠的零部件组装出了一个不可靠的系统(这句话的出处是在冯纽曼的文章《Probability Logics and thesynthesis of reliable organisms from unreliable components》,冯纽曼文集 5 中)。由此可见,人工自动机与真实生命并不在于单独零件的好坏,也不在于运算速度的快慢,记忆存储的多少,而在于这种组装的统计规律。也就是说,我们真正不理解的是一种统计上的法则,正是这种法则才导致了真实生命可以将不可靠的零部件组装成可靠的整体;而恰恰是我们对这种统计规律的不认识,才导致我们人类设计的机器虽然在局部上都能保证可靠性,但是当把它们组装成整体的时候却丧失了可靠性。
接下来就要问,这种未知的统计规律究竟是什么呢?冯纽曼的确没有做出正面的回答,但是它在这里对电脑与人脑的比较所使用的方法已经给了我们一些暗示,未知的统计规律可能恰恰蕴含在各种零部件、各种系统组分的数量级(标度)的比例中。无独有偶,这种对标度统计规律性的认识恰恰在近年的复杂性研究中异军突起了,这就是 G.West 以及 J.Brown等人所号召的“代谢生态学”(参见:《流的探索》以及 J.Brown: Toward a Metabolic Theory of Ecology, Ecology, 85(7), 2004, pp. 1771–1789)。
为什么说代谢生态学和我们这里探讨的大数之道有关呢?让我们来看这样一个开放系统的问题:我们知道任何一种开放的复杂系统都需要跟外界进行物质、能量、信息的交换,而且很显然如果系统自身的尺度越大,我们就需要越多的交换,关键的问题是,当给定系统的尺度以后,我们需要多大的开放程度才是最好的呢?
代谢生态学从实际数据出发,对这个问题给出了很好的解答,至少对于现在已知的各种物种来说,物质交换量(新陈代谢 F)与生物体体积(B)会呈现出一种 3/4 的幂律关系,如下图:
横坐标轴是 logB,纵坐标是 logF,则这两个变量构成了一条斜率为 3/4 的直线,这意味着 F 正比于 M3/4,这一法则被人们称为 Kleiber 律。如果我们假设现实的生物已经进化出了一种最优的结构,那么新陈代谢和生物体积之间形成的 3/4 幂律关系就是一种最优的结构。
反过来,这样一种认识也许会帮助我们更好地设计人工系统,例如对于任何计算系统都存在着最优的开放程度,也许这种开放程度就与系统自身的规模存在着 3/4 的幂律关系(参见:Jiang Zhang: Energy Flows in Complex Ecological Systems: A Review; Journal of Systems Science and Complexity 2009 22 (3): 345-359)。
有趣的是,Kleiber 早在 1932 年就发现了生物体的这种统一的标度规律,然而直到 1997年左右,West 和 Brown 等人开始提出生物体的最优输运网络模型才使得人们越来越多地认识到这个问题的重要性(参见:West,G.B., Brown,J.H., Enquist,B.J., A general model for the origin of allometric scaling laws in biology, Science, 1997,276:122 126;Banavar,J.R., Maritan,A., Rinaldo,A., Size and form in efficient transportation networks, Nature,1999,399:130 132。)
进一步,随着对生物体数据的大量积累,人们还发现不仅仅是新陈代谢,所有与时间相联系的变量(例如怀孕时间、生物体的寿命)都与生物体体积呈现 1/4 的幂律关系,而频率相关的变量(如心跳频率、呼吸频率等)都与生物体体积呈现- 1/4 的幂律关系(参考:Brown,J.H., West,G.B., Scaling in biology, Oxford University Press, 2000)。
需要强调的是这个频率与体积的- 1/4 的幂律关系。在冯纽曼的论述中,他特别提到了元件发生错误的概率随着系统规模的增长。我们不妨把原件发生错误的概率也理解为一种广义的频率,那么这种频率就会与系统整体的规模呈现一种幂律关系。我不知道对于目前的人工计算系统来说,是否有人进行过类似的统计分析,但是有理由怀疑如果人工系统的设计达到了某种最优的效率,那么很有可能系统发生错误的频率与系统规模之间的关系会与生物体的频率-体积法则存在着某种联系。
我们的研究还发现,幂律关系普遍存在于复杂系统之中,例如国家、城市,甚至虚拟社区都存在着各种宏观量之间的幂律关系(参考:Jiang Zhang,Tongkui Yu: Allometric Scalingof Countries; Physica A Vol.389(2): 4887-4896;L. Bettencourt, J. Lobo, D. Helbing, C.Kuhnert, G. West, Growth,innovation, scaling, and the pace of life in cities, Proc. Natl.Acad. Sci.U. S. A. 104 (2007) 7301–7306.;Lingfei Wu, Jiang Zhang:Accelerating Growthand Size-dependent Distribution of Collective Human Activities Online,arXiv:1104.0742),只不过幂指数在这些系统中则都不相同。但是,直到今天,我们所给出的这些幂律关系还仍然是类似集邮一样的工作,实际上还不理解所有这些幂律现象背后的大数之道。有趣的是,Geoffrey West于去年刚刚将其一生对不同复杂系统,包括宇宙、生命、城市等的标度率研究全部概括到了一本最新的书中《Scale》。
封面网址:
https://images.penguinrandomhouse.com/cover/9781594205583
以下译者按均指东方和尚的注解
[68]译者注:现代研究发现,人脑约含 15-33×10^9 个神经元。其余部分如小肠的确也有控制消化吸收的神经中枢,被称为“第二大脑”,但其神经元数量仅为大脑的千分之一。
[69]译者注:由于集成电路技术的高速发展,现代多核处理器在小指甲大小的面积中间集成了 10 亿个以上的晶体管。而那些挑战人类智能的大型机是由大量这样的并行计算核心芯片和海量内存所组成的。如 IBM 公司刚刚在智力问答比赛中战胜人类的 Watson 超级电脑,其硬件包括 10 个机柜总共 90 台 Power 750 服务器,而每台服务器又包括 4 颗 Power 7 处理器芯片和 16TB 内存,合计其晶体管数量为90×4×12×10^8=5×10^11,另有数量级约为 1×10^16 Bit 的内存位元;这两个天文数字已经大大超过了人脑的神经元数量,但电脑同人脑的能力相比,仍然是天地悬隔。因此,我们就有必要认真思考上述的问题。生物的大脑,哪怕是已知的最简单的,秀丽杆虫由 302 个神经元组成的大脑,和超级电脑的海量计算单元相比,虽然数量上仅仅是沧海一粟,但究竟是谁的复杂度更高?复杂度又究竟应该如何定义?毕竟,是前者不断地进化,才最后导致了后者的出现。
[70]译者注:现代计算机的计算速度,一般以每秒所做的浮点运算次数来衡量,称为 FLOPS,冯纽曼设计的ENIAC 的 FLOPS 只有 300,也就是每秒仅仅能做 300 次实数乘法,最新的 PC 芯片,Intel I7 的 FLOPS 达到了100G,即每秒可以做一千亿次乘法;有趣的是,电脑中间运算能力最强大的,不是 CPU 而是显卡,较好的显卡的 FLOPS 都要超过 1000G,即每秒做一万亿次乘法。然而 ENIAC 被用来设计原子弹,现在电脑的主要用途却是打游戏。另外,大脑是并行计算的,很难和串行计算的电脑直接进行对比。由于当时电脑还刚刚被发明,难免对它的潜力估计过高。
[71]译者注:无论多么复杂的模拟或者信号电路,其基本元件都是三极管:用一个极上的电压来控制另外两个极上的电流,从而实现信号的放大、处理等功能。例如电子管的阴极用来发射电子,阳极用来吸收阴极所发射的电子,栅极用来控制流到阳极的电子流量。电子管工作时,加热阴极,发射出来的电子穿过栅极金属丝间的空隙而达到阳极,由于栅极比阳极离阴极近得多,因而改变栅极电位对阳极电流有很大影响,这就是电子管的放大作用,换句话说就是栅极电压对阳极电流的控制作用。在神经元中间,整个神经细胞的外膜是由磷脂构成的,由于细胞内外的离子浓度不同,膜之间有一个电压差,维持在十分接近一个称为动作电位的临界电上,一旦受到来自其他神经元的刺激,电压稍稍升高,超过了动作电位,则会导致离子通道开放,钠离子向内涌入细胞中,从而导致电压的进一步升高。这就是神经细胞的信号放大实现方式。神经细胞只有开、关两种状态,因此更类似于数字电路而非模拟过程。
[72]译者注:按照已故 IBM 研究员 Rolf Landauer 对于信息和热力学的比较研究,要处理 1bit 的信息至少需要产生 1bit 的热力学熵,这种信息熵和热力学熵的对应性一般被称为 Landauer 定理。
[73]译者注:在热运动环境下,每个单独个体,无论大小,其热运动的平均能量都是 kT,比如布朗运动中,单个分子的平均能量是 kT,而相对巨大的,在显微镜下作运动的灰尘的能量也是 kT,故至少需要消耗 1kT的能量,才能表示 1个单位的信息,而不至于被热运动所扰乱消灭。此外,根据量子力学,即使在绝对零度下,粒子也具有一个不等于零的,最低的能级,这就相当于 1bit信息对应能量的下限,而不是按照公式代入等于零。总之,处理信息必须付出能量的代价。又,1焦耳合 10^7尔格。现代 CPU其功率约和大脑相当,按照 3G的主频计算,大约每次运算中单个晶体管的等价能量消耗接近 10^(-9)尔格,已经远远低于神经 元的能量消耗了。
[74]译者注:1 埃=0.1 纳米,氢原子的直径为 0.5 埃极限。故而,虽然之前提到的信息和熵的等价性揭示了许多智能的道理,但这还远不是全部的秘密,两者之间还有着千亿倍的差距[75]。
[75]译者注:千亿这个数字很有趣,略作估算,会发现很多大数都处于很接近这个尺度的范围,除了上文提到的神经元激发能量消耗和物理下限之比以外,还包括大脑中的神经元数量、每个神经元在人一生中激发的总次数、每个神经元包括的蛋白质大分子数量、甚至银河系中间恒星的数量。很多生物学家都提到过,宇宙和大脑,有着一种比例关系。千亿的星辰,千亿的光芒。
[76]译者注:一张普通的 CD 光盘,其容量为 600MB,合 4.8×10^9 bits,就是这个数量级,此外,一个人的 DNA所含信息总量,也接近于 10^10 bits,所以这个数字其实不大。
[77]译者注:时至今日,虽然对于大脑的研究已经非常深入详尽,但还停留于具体的案例和局部的机制。对于“记忆究竟是怎样实现的?”这样的整体性问题,今天我们知道的并不比五十年之前多多少。这反而证明了冯纽曼对于记忆的看法的深刻性和预见性。
[78]译者注:继电器是用一个弱电信号开关强电流的设备,一般用来分割电路。
[79]译者按:如之前提到的“第二大脑”肠神经系统,具有大脑十分之一的神经数量,就是专门为了控制人体“化工厂”存在的。
[80]译者按:经过半个世纪的技术发展,数字和模拟电路早已成为每个电子工程师的必修课程,数模转换控制也成为了人类最擅长的技术特长之一。
[81]译者按:DNA 分子的直径约为 2 纳米,而不断提升的现代微处理器的工艺也已经达到了 20 纳米,从尺度上说,已经相当接近。这意味可以在 20 纳米见方的方格上构筑元器件,这相当于把《中国大百科全书》逐字逐句刻在一粒芝麻上!细想一下是令人惊骇的。
[82]译者按:经过不断的工艺改进,现代集成电路其故障率几乎是 0,从可靠性上说,已经超过了人脑,比如CPU,在正常使用情况下,基本不可能发生损坏。
[83]译者按:容错和纠错是信息科学的重要内容,简单地说,预留 10%的容量来纠错,就可以纠正 5%左右的错误,你可以做个试验,在一张 CD 盘上划花或者用记号笔涂黑一点,这个位置的数据当然就无法读取了,但是,一般这张盘的数据还是可以正常读出来,这就是 CD 格式中有好几层的纠错的原因。但当时信息论尚未建立,对纠错问题还没有深入研究。
[84]译者按:现代计算机建立于通用计算之上。这是因为绝大多数科学问题都可以最后归结成一个计算问题。什么样的问题可以用类似性质的计算,又需要多大的计算量,这类问题的研究称为计算理论,例如著名的P=NP?问题,就是把数学计算问题分为多项式和指数两大类。当然,还有那些尚无法单纯归结于计算的问 题,比如上述文字的翻译乃至生命的实现等。
[85]译者按:所谓复杂性阈值,是指达到之后就会复制其自身,并不断地变异进化,跟生命一样生生不息。也即对应生命核心的复杂度最低下限。50 年以后回头看,冯纽曼至少说对了一半,在通用计算上,计算机的确很快超越了阈值,所以同样一台计算机可以用于任何的计算用途。但在像生命一样去适应环境,给自身编程这个方面,却几乎没有进展。
[86]译者按:吾国先哲曰“众必有群,群必有分”,关于从大量独立个体如何产生秩序和组织,这种组织又会如何反过来影响个体。这种自组织的一般规律如何,又能否用这些规律去理解生命和社会等问题,此后成为了一门新兴学科,称为复杂性科学。而以圣塔菲研究所为代表的几代年轻科学家,对这些问题进行了大量有趣的研究,不过还没有出现一般性的理论。目前这方面的研究还在方兴未艾的阶段。正如读者所见, 本书虽然写于半个多世纪前,但还远远没有过时,这说明我们的工作,还刚刚开始!
作者:John von Neumann 20世纪最重要的数学家之一,在现代计算机、博弈论、核武器和生化武器等诸多领域内有杰出建树的最伟大的科学全才之一,被后人称为“计算机之父”和“博弈论之父”。
编者:Arthur W. Burks 冯·诺依曼的助手,遗传算法之父 John Holland 的博士生导师
译者:东方和尚 集智俱乐部神秘粉丝 曾与张江在集智俱乐部的网站上互相过(hu)招(dui)
注者:Jake张江 集智俱乐部创始人,集智AI学园创始人,北师大教授
Nature Commnications论文解读:复杂的城市,简单的规则
人工智能如何掷骰子——三种概率理论
神经网络与图灵机的复杂度博弈
冯·诺依曼:探寻计算的“原力”
冯·诺依曼的遗产:寻找人工生命的理论根源
Google AutoML项目:自创生理论的实践
引力、量子与人工智能的深度对话 | 尤亦庄
为人类编程
量子计算时代的机器学习
人工智能社会学-未来的新兴学科?
语言中隐藏的几何 | 张江
统一之路:量子纠缠、时空几何与机器学习
机器学习、理论物理、计算社会学的碰撞
集智QQ群|292641157
商务合作|zhangqian@swarma.org
投稿转载|wangting@swarma.org
搜索公众号:集智俱乐部
加入“没有围墙的研究所”
让苹果砸得更猛烈些吧!
始发于微信公众号: 集智俱乐部