当计算机经过半个世纪的发展仅达到与昆虫相当的智力时,却期望它在未来的几十年里完全成为智能机器,这看起来是很草率的。事实上,正是由于这个原因,许多长期研究人工智能的科学家也都认为几个世纪才是一个更可信的时间。但是我们有充分的理由相信,很多事情在未来50年的发展速度会远远超过过去的50年……1990年以来,人工智能和机器人程序的能力每年增加一倍,到1994年增加到30MIPS,1998年就已经是500 MIPS了。贫瘠的种子也会突然萌发。机器可以读文本、语音识别,甚至可以翻译语言。机器人可以跨国驾驶,可以在火星上爬行,也可以在办公室的走廊里滚动。1996年,一个称为EQP的定理证明程序在阿贡国家实验室50MIPS的计算机上运行了5周,推导出一个赫伯特·鲁宾斯的布尔代数猜想的证明,而这个猜想已经困惑数学家60年了。人工智能还处在万物复苏的春天,等待着它生机勃勃的夏天的来临。
——汉斯·莫拉维茨,《When Will Computer Hardware Match The Human Brain?》,1997年
人脑的计算能力是什么呢?通过复制人脑部分区域的功能,我们已经做出了一些估计。一旦判断出一个特定区域的计算能力,我们就可以推断出这个能力是由大脑哪一部分形成的。这些估计是基于功能模拟得出的,它复制了一个区域的整体功能,而不是模拟该区域每一个神经元及其之间的连接。
虽然不想依赖任何单一的计算,但我们还是发现,对各个不同区域的各种评估都为整个大脑提供了合理的估计。接下来是数量级的估计,这意味着我们正试图确定的适当的数字,与事实也相差10多倍,事实上,通过不同的方式得出同样的答案,进一步证明了这个估计在比较精确的范围内。
对奇点(人类智慧通过与非生物形式的结合而扩展上万亿倍)未来几十年的发展的预测,并不依赖于这些计算的精确性。即使我们对于模拟人脑所需要的计算量的估计太乐观了(即太低了),甚至低了1000倍(这个我认为不可能),奇点的到来也仅仅会延迟8年。34而如果低一百万倍也意味着只有大约15年的延迟,而10亿倍也只延迟大约21年。35
卡内基·梅隆大学的著名机器人专家汉斯·莫拉维茨,已经分析了由视网膜内的神经图像处理电路完成的转换。36视网膜宽约2厘米,厚约0.5毫米。视网膜大部分的厚度是专门用来捕捉图像的,只有1/5是用于图像处理,其中包括区分深色和浅色以及在该图像大约100万个小区域中检测移动。
根据莫拉维茨的分析,视网膜每秒钟执行1000万次的图像边缘检测和移动检测。基于几十年建造机器人视觉系统的经验,他估计每一次重现人类的视觉检测需要机器执行约100条指令,这意味着复制视网膜这一部分的图像处理功能需要1000MIPS。视网膜上这一部分的神经元重量为0.02克,而人类大脑的重量是它的75000倍。因此要实现人脑的全部功能,估计需要每秒钟执行1014条指令。37
另一个估计是劳埃德·瓦特和他的同事们在模拟听觉系统时提出的,这一点我将在第4章进一步讲解。38瓦特开发的软件里有一个功能模块叫做“流分离”,它主要用于远程电话会议或其他远程访问应用(在不同地方的人都可参与到一个远程的音频电话会议中)。瓦特解释道:“要做到这一点,就意味着要精确测量被空间隔开的两个人的通话时间延迟和接收延迟。”这个过程包括采样分析、空间位置、语音线索,甚至是特定语言的线索。人类使用的确定声源位置的方法之一是双耳的时间差(ITD),即声音到达两耳时间的不同。39
瓦特的团队用逆向工程创造了与某些大脑区域功能相同的模块。他估计需要1011cps才能确定声源的位置。听觉皮层至少需要大脑神经元的0.1%来处理这一区域的功能。因此我们大约需要1014cps×103才能实现大脑的计算能力。
然而,另一个来自得克萨斯大学的模拟小脑区域的实验估计,小脑含有104个神经元,这个模拟实验需要108cps,即每个神经元需要104cps。从这个实验推断模拟整个大脑的计算能力需要达到1015cps。
稍后我们会讨论大脑逆向工程的问题,但很显然,与精确地模拟神经元和所有神经组件(发生在每个神经元的复杂的相互作用)的非线性操作相比,我们可以通过更少的计算来模拟大脑区域的功能。我们尝试模拟体内器官的功能时,可以得出同样的结论。例如,模拟人体胰腺调节胰岛素水平的可植入元件正在接受测试。这些装置能够检测血液中的葡萄糖水平并以一种可控的方式来释放胰岛素,从而使葡萄糖水平保持在一定的范围内。 40虽然这个装置采用的是类似胰腺的方法,但是它没有模拟每一个胰腺细胞,当然也没有必要这么做。
这些估计的结果都在某一个区间内(1014~1015cps)。考虑到人类大脑的逆向工程仍处于早期,所以把1016cps这一个保守的估计用于随后的讨论中。
大脑的功能模拟足以重建人类的模式识别能力、智力和情商。另外,若要“上传”某个人的性格(捕获他的所有知识、技能和个性,这一点将在第4章最后的内容中详细地探讨),我们可能需要在单个神经元或神经元组成部分的水平上模拟神经元的处理过程,如神经细胞胞体、轴突(输出接口)、树突(神经细胞的传入连接)和突触(连接轴突和树突的区域)。为此,我们需要研究单个神经元的详细模型。每个神经元的扇出端输数(内部连接数)大约是103,因此估计1011个神经元有1014个连接。而对于5秒的复位时间,则意味着每秒钟有1016个突触传递过程。
神经元模型模拟的结果表明,每个突触传递过程大约需要103次计算来捕捉树突和其他神经区域之间的非线性作用(复杂的相互作用),结果表明,在这个水平上模拟大脑计算需要1019cps。41因此,我们可以认为这是一个上限,但其实在1014~1016cps内就可能实现所有大脑的功能了。
IBM的Blue Gene/L超级计算机目前正在建造之中,预计将每秒钟提供360万亿次的计算(3.6×1014cps)。42这个数字已经超过前面介绍的预期范围的最低值。Blue Gene/L的主存将有大约100万亿字节(约1015比特),已经超过了我们对人类大脑功能仿真所需要的存储估计(详见后面的介绍)。这与我先前的预测一致,超级计算机将达到较为保守的1016的估计,并在未来10年的早期实现人脑仿真。
人脑水平个人计算机的加速实现。今天的个人计算机提供的计算速度超过109cps。根据图2-15所示的预测,到2025年将实现1016cps。但是,有几种方法会让这个时代提前到来。我们可以舍弃通用处理器,而使用专用的集成电路(Application-Specific Integrated Circuits,ASIC)来提供更高性价比的重复计算。这种电路已经在视频游戏的运动图像生成中提供了非常高的重复计算量。ASIC在性价比方面可以提高1000倍,由此使得这个期限提前8年。模拟人脑的不同程序将包括大量的重复计算,例如,小脑需要重复10亿次一种基本布线图,因此我们将会使用ASIC架构来实现这些计算。
我们还可以利用互联网上的闲置计算能力来扩展个人计算机的计算能力。新的通信模式(如网格)把网络中的每个设备看做是节点而不是“发言人”43。换句话说,这些个人计算机不再仅仅在节点中发送信息和接收信息,相反它们自己也可以充当节点彼此进行信息传递。这将创造非常健壮的、自组织的通信网络。这也使个人计算机和其他设备更容易地利用网格区域中闲置设备的CPU周期。
目前,在互联网上,计算机的计算能力即使不是99.9%,至少也有99%是闲置的。有效地利用这些闲置计算能力可以额外提高102~103的性价比。基于这些原因,我们有理由相信,到2020年左右,一台至少在硬件计算水平上等同于人脑计算能力的电脑,其价值将为1000美元。
通过原来的“模拟信号”模式来使用晶体管是另一种加快实现人脑级别个人计算机的方法。人类大脑的许多过程是模拟的,而不是数字的。虽然我们可以以数字信号模拟模拟信号,并且能达到任何计算精度,但是却要损失好几个数量级的效率。单个晶体管可以通过模拟信号完成两个数的乘法,而数字电路要完成这个乘法则需要成千上万的晶体管。加州理工学院的卡福·密德研究所一直在做模拟信号的研究。44他们采用的方法的缺点之一是,模拟信号计算的工程设计所需的时间是漫长的,因此大多数开发大脑模拟软件的人员更期望软件仿真能力能够迅速提升。
人脑存储的能力。人的计算能力和存储能力相比又如何呢?事实证明,如果研究人类存储的需求,我们会发现类似的时帧估计。某一领域的专家掌握的知识块的数量大约是105个。这些块包括模式(如知识面)以及具体的知识。例如,一个世界级的国际象棋大师估计掌握了约10万局棋谱。莎士比亚的词汇量为2.9万,但这些单词所能表达的含义总数接近10万个。医学专家系统的开发表明,人类在某一领域可以掌握大约10万个概念。如果我们估计该“专业”知识只占人的知识的1%,那么人的整体知识块大约是7个。
根据我自己设计系统的经验,在存储类似知识块的系统中,不管是基于规则的专家系统还是自组织的模式识别系统,其中的每个知识块都需要106比特,这样实现人的功能存储需要1013(10万亿)比特。
据ITRS路线图的预测,到2018年左右,1013比特存储器的价格将是1000美元。请记住,这个存储器将比电气化学的存储器快数百万倍,因而会更有效。
同样,如果我们在神经元连接水平上模拟人类的存储,我们会得到稍高一点的估计值。为了存储连接模式和神经递质的浓度,我们可以估计每个神经连接约需要104比特。因此存储1014个神经连接就需要1018比特。
基于以上分析,我们有理由预测,在2020年左右模拟人脑功能的硬件约合1000美元。正如将在第4章讨论的,具有复制功能的软件还将需要大约10年或更长的时间才会出现。不过,硬件的性价比、能力以及速度的指数级增长将在此期间一直延续,所以到2030年的时候,价值1000美元的计算机将会达到一个村庄的人(约1000人)的脑力。而到2050年时,1000美元计算机将超过地球上所有人类大脑的处理能力,当然,也包括那些仍然只应用生物神经元的大脑。
即使人类神经元的创意是非常奇妙的,但是我们不会(也没有)使用同样缓慢的方法进行电路设计。尽管自然选择进化的设计非常巧妙,但是它们的能力还是比我们设计的电路的能力低好几个数量级。当对身体和大脑进行逆向工程时,我们能够创造出比自然进化系统更为持久且速度快100万倍的系统,并且这个速度仍在继续加快。
人类复杂的神经元大部分用于维持生命保障功能,而不是它的信息处理能力。最终,我们会使神经处理过程变得更加适合计算,那时我们的思维空间将不再一直这么小了。