大脑的本质就是一个 CPU 吗?

大脑的本质就是一个 CPU 吗?

OwlLite,{}

之所以会有“大脑的本质是一个 CPU ”的想法,大概在于我们对大脑了解太少了,我们甚至不能量化我们所了解的部分所占的比例是多少,一些业内研究者甚至暗示“脑科学是 22 世纪的前沿学科[1]. 如果大脑真的像 CPU 这样简单或者类似的结构复杂度,那么它何以能思考自身,并认识现实世界呢——至少现有的 CPU 结构再复杂百倍、构成集群都做不到[2]. 在计算机科学发展的过程中,我们有很多次这样类似的过于乐观的论断,比如在刚做了一点状态机理论和实践之后,很快就有人绘制了计算智能发展的路线图,并预言计算智能的爆发以至于迅速出现替代人类智能的“第五代计算机”[3][4],这种思潮推进了上世纪 80-90 年代的机器人取代人类的科幻热。显然地,“第五代计算机”除了让美国人紧张一番,给当时本已紧张的美 - 日关系火上浇油,并没有产生更大的现实影响力[5]. 几年前出现的“深度学习”又让这种思潮涌起了一番[6],但这次的潮起潮落来的更快一些。

自动机理论的范式和发展路线

说到底,“大脑的本质是一个 CPU”是一个典型的'Not Even Wrong'的论断[7],它无法被否定,在现有的信息和科学框架下,也无法被证实,甚至于,在原教旨主义(Fundamentalism)框架下,永远不能被证实。讨论这个论断本身,我们不如讨论这个论断的两个外延:大脑与 CPU 的相似性和差异性。当然,即便是这两个外延,也是在不断的发展过程中的,其范畴在不断的扩展。需要注意的是,最初设计 CPU 时,并没有考虑让它尽可能地类似于人脑的运作机制[8][9]. 以当时对人脑的了解水平,即便想要这么设计,恐怕也做不到。在 CPU 发展到一定水平,并且人脑研究在过去几十年迅速发展之后,我们才越来越多的观察到这两者之间相似的地方。

CPU 的基本计算单元是逻辑们,包括与门、非门、与或门等,一般时钟前进一次各门进行一次运算。门电路的输入以电平表示为 0 或 1。这是纯数字的,并且计算只对当前时间的输入进行计算,也就是说计算只发生在空间范畴。对应地,如果把神经元作为一个基本的计算单元的话,其特性更像是一系列门的组合,并且每个神经元都有一个微分计算单元(参见 神经自适应性)[10]和一系列非线性计算单元,这使得神经元的计算同时发生在时间和空间范畴,其输出不仅与当前时间的输入状态有关,还与之前一段时间的输入有关。

严格来说,眼底的视网膜也属于大脑。从视网膜、视神经、视交叉到初级视觉皮层以及更高级的视觉皮层,视觉信号经由一系列的处理(参见 视觉信号编码与处理过程). 这些处理结构和功能有些像 ASIC(专用电路,包括 CPLD 和 FPGA 等),其输入信号格式是固定的,对应的结构的功能也是固定的。另外一些则像是更为复杂的通用计算单元,其计算结构和资源可以为其他的计算 / 思维所服用,剩下一些结构则介于这两者之间。小脑不属于严格意义上的“大脑”,虽然在大众眼中是属于的。从结构上来看,小脑是由一系列基础结构单元通过重复的累加组成的(参见 小脑结构和功能),如果说大脑皮层负责通用思维与计算的话,小脑则负责运动、平衡等方面的对时间响应要求高的快速计算[11]。小脑与大脑皮层的功能对应关系 相当于 GPU 之于 CPU. 当然,这种类比是简单化的。被广泛忽视的自主神经系统,负责身体的器官和组织的功能,包括呼吸、心跳、新陈代谢、内分泌等[12],它处理的信息并不直接进入我们的意识领域,不参与大脑的通用计算 / 思维。对于 CPU 来说并不存在这样类似的结构或功能。

当代 CPU 一般设计有多个核心,这是物理上的计算资源。但是在实际计算中由于资源不是时刻占用的,一个核心可以虚拟成支持两个线程。也就是说计算资源是有限的,同时支持的线程数是有限的。对于大脑的“通用计算”来说,其计算资源就更为有限了,只有被注意力锚定的那个“线程”有资格占据大脑的通用计算资源[13],其他思维线程只能等待,有些甚至在等待的过程中被杀死了(被忘记了)(参见 大脑注意力与通用计算). 所以我们在忙碌时很容易忘记做或思考一些事情。

在计算机系统中,CPU 的高速缓存(Cache)用于存储常用资源,从而减少 CPU 访问内存所需的时间。在大脑皮层中,也有广泛存在的“高速缓存”结构,用于存储我们的工作记忆(working memory)[14][15]. 当然,与 CPU 不同的是,大脑的工作记忆存储结构也参与到其他多种任务中,而 CPU 的高速缓存只能作为缓存使用。因为对大脑来说,记忆存储本质上只是神经元之间突触结构的连接、强化以及协同,而大脑中的这种结构是高度活跃可变的(参见 大脑记忆的结构本质)。对 CPU 来说,结构一旦确定(被制造出来),功能也就确定了。大脑微观结构的灵活性使得其结构的多任务性远超人类设计的 CPU. 并且,微观结构的灵活性也构成了大脑可塑性的基础,使得大脑结构在局部损坏之后可以迅速由健康结构进行功能替代。由于老化、代谢等因素,即便是健康人,其大脑内部的结构损坏也在时刻发生,但我们并不总是受这类损伤的影响。

除了认知 / 计算之外,大脑还能调控自身的免疫过程[16]. 对代谢废物进行清理,同时也对很少被使用到的记忆等功能结构进行资源释放[17]。大脑的计算资源是按照认知任务进行即时分配和构建的,具有自主组织能力。在认知任务完成后,计算资源也被迅速释放,进行结构重构[18]。这对 CPU 来说都是不可能的,更不必说,大脑的认知任务可以使用自然语言进行“编程”,而对当代计算智能来说,“自然语言”是一个老大难问题(参见 自然语言理解难在哪儿?)。

我们目前对大脑的了解还处在“捡芝麻”式的积累性研究阶段。对于这个学科,还远远谈不上研究系统的构建。对大脑无知的方面,恐怕是不可估量的多。更重要的是,以上的复杂性、灵活性、智能性、高效性、多任务性、容错性、接口友好性等 是在极为有限的功耗设计下实现的。将大脑和 CPU 比,恐怕是“夏虫不可语冰”。