《计算机光盘软件与应用》
模仿大脑:下一代计算机
【环球科技】
引言
在过去几年中,人工智能算法取得了巨大的进步。它在我们日常生活中的应用越来越普遍,经常被用于分析文本或图片的内容,理解语音指令,并且效率常常比人类还高。2016年,AlphaGo算法在围棋比赛中击败了来自韩国的世界冠军李世石,而在10年前,没有一个专家预见它能取得这样的成就。但是,为了达到让人瞩目的表现,这些算法需要消耗大量的电能,远远超过我们的大脑完成同类任务所需的能量。举例来说,BERT是一种处理人类语言的人工智能算法,它的训练过程需要消耗数千千瓦时的电能。这相当于人类大脑运行6年耗费的能量。在能耗层面上,大脑的记忆、计算和学习过程比计算机要高效得多。我们有没有可能从大脑中获得启发,制造出表现更出色的设备?答案是肯定的,我们或许可以利用电子的自旋做到这一点。
1、存算分离导致高能耗
目前比较流行的人工智能是一种基于深度神经网络的算法,它的设计灵感来自于大脑结构。但是为什么人类智能和人工智能在能耗上的表现差异如此悬殊?这是因为如今的人工智能程序还在经典的计算机上,或者在与之相似的显卡上运行,它们的结构和运算原理都和大脑明显不同。
为了解决高能耗问题,许多研究机构和企业都在研发新的电子器件,希望让它的运作原理完全模拟大脑。自旋电子学就是方法之一,这个学科研究如何开发利用电子的某些量子性质。借助自旋电子学研发的硬件,我们或许能够模拟大脑中的神经元以及连接神经元的突触的行为。也许我们在短期内还无法利用自旋电子学开发出一套完整的解决方案,并实现产业化,但一些早期成果已经显现出了良好的前景。
对于实际应用中的计算机,要想提升能量的利用效率和运算速度,最大的障碍来自这样一个基本事实:数据被储存在存储器中,和处理器在物理上是相互独立的。处理器是根据程序指令处理数据的设备。而人工智能算法包含数百万甚至数十亿个参数,当这套算法运行时,它必须一刻不停地在存储器中搜索数据,然后在处理器中将其相加或相乘,最后将结果写入存储器。这就构成了一条通过通信线路持续传输的数据流,它消耗的能量十分惊人。
而在大脑中,数据处理的方式大不相同。存储器无处不在,信息被分布和保存在突触中。突触是神经元之间的连接节点,它同时也负责处理数据。平均而言,每个神经元都和1万个突触相连,并且具备进行并行计算的能力。这种将计算和存储并置的方式,再配合并行处理能力,具有十分惊人的能效。
计算本身的性质也在很大程度上决定了设备的能效。电脑处理的是非常精确的数据,用比特的形式编码信息,对这类数据的逻辑运算是以极其严谨的方式进行的。如果是处理将火箭送进太空的过程,这种精确性至关重要。但是,如果要识别一张熟悉的面孔,这样的精确性可能就没那么必要了。而让电路执行一个完美无缺的操作是很耗费能量的,因为它需要消除所有的噪声,纠正所有的错误。
大脑的能源只有我们每天摄入的热量,十分有限,因此,在演化过程中,大脑采用了另一种策略:在信息处理的可信度和能耗之间进行妥协。突触和神经元具备一些随机行为,它们允许一定的误差,所以即使接收到相似的信息,也不一定会输出相同的结果。
另一方面,为了确保信息处理的可靠,大脑使用了多种策略。例如,每个神经元单独看来都不是十分可信,但是大脑中有时会有多个神经元同时放电,处理同一个信号。大脑基于神经元响应的总和,生成一个相关的稳定结果。从结果看来,这种冗余系统的能耗要低于能够有组织地纠正错误的严苛系统。
此外,由突触储存、由神经元处理的信号并不是二进制形式的“0”或“1”,这点和目前的电子元件完全不同。这些信号是一种电信号,它们的取值范围比较宽,每个信号十分相近但又各不相同。可以说,这种信号所包含的信息量大大增加,但对干扰(或者说噪声)也更加敏感。要知道,在处理器中,每个组成元素都是以相同的时钟频率操作的,这确保了操作的同步,但限制了信息处理速度;而大脑的工作方式与之不同,它不以同步的方式运行,每个神经元都以自己的频率释放电信号,用于和其他的神经元高效沟通。有时这种沟通还要跨越不同的脑区。