上岸6

in #diary6 years ago

为何人类大脑如此高效(转自:骆利群)

本篇作者:骆利群博士,USTC少年班1981年毕业,斯坦福大学人文与科学学院教授,神经生物学教授。本文发表于《智库:四十位科学家探索人类经验的生物根源》(Think Tank: Forty Scientists Explore the Biological Roots of Human Experience),由David J. Linden编辑,由耶鲁大学出版社出版。

大脑是复杂的,每个人类大脑包含约1000亿个神经元,能产生100多万亿个连接,常被拿来和另一个复杂系统做比较:电子计算机。它们都具有强大的问题处理能力,都包含大量基本单元——分别是神经元和晶体管,这些基本单元都相连成复杂的环路,处理以电信号形式传输的信息。整体上看,人脑和计算机也有着相似的架构:用于输入、输出、中央处理和记忆存储的环路可以被大致区分开,又能协同工作。

它们谁处理问题的能力更强?人脑还是计算机?考虑到过去几十年计算机技术发展之快,你可能会觉得答案是计算机。的确,通过适当的组装构建和编程,计算机已经能在复杂游戏中打败人类顶尖高手了:上世纪90年代它打败了国际象棋世界冠军,最近Alpha Go打败了围棋顶尖高手,还有百科知识竞赛电视节目《危险边缘》(Jeopardy!)中机器人也获得了胜利。然而,在我落笔之际,人类仍然能在众多日常任务中更胜一筹——例如在拥挤的城市街道上认出一辆自行车或一个特定的人,例如举起茶杯将它平稳地移到嘴边 ——更不用说大脑的概念化能力和创造力。

所以为什么计算机擅长完成某类任务,而人脑在其他方面更为优秀?计算机工程师和神经科学家都曾从计算机和人脑的对比分析中得到过启示。这种对比最早可以追溯到现代计算机时代早期一本简短却影响深远的书:《计算机与人类大脑》(The Computer and the Brain),它的作者,博学家约翰·冯·诺伊曼(John von Neumann)在20世纪40年代开创的计算机系统结构至今仍是大多数现代计算机的基础。[2]

计算机在基本运算速度方面有着人脑难以企及的巨大优势[3]。现在的个人计算机可以以每秒100亿次的速度执行基本的算术运算,比如加法。 我们也可以根据神经元传递信息的基本过程和的通讯速度来估计大脑中基本运算的速度。举个例子,神经元“激起”动作电位(action potential)被称为“放电”,也就是在神经元细胞胞体附近引发电信号的尖峰(spike),尖峰电位沿着称为轴突(axon)的细胞突起传递,轴突末端又与下游神经元相连。信息以这些尖峰的出现时间和出现频率编码。神经元放电的频率最高大约每秒1,000次。 再举个例子,神经元主要通过在轴突终端特定结构——突触(synapse)上释放化学神经递质来将信息传递给下游神经元,后者将其重新转换为电信号——这个过程我们称之为突触传递。突触传输最快大约需要1毫秒。因此无论是尖峰还是突触传递,大脑每秒最多可执行大约1000次基本运算,比计算机慢1000万倍。[4]

计算机在基本运算的精确度方面也占有巨大优势。计算机可以根据分配给每个数字的位(Binary digit,比特,二进制数位,0和1)以期望的任何精度表示数量(数字)。比如,一个32位数字的精度可达2^32分之一,也就是40多亿分之一。实验证据表明,由于生物噪声,神经系统中的大多数物理量,例如神经元发放率(常被用来表征刺激强度),只存在几个百分点的可变性,最好的情况下精确度能达到百分之一,仅是计算机的百万分之一。

职业的网球运动员可以追踪以160英里/小时运行的网球的运动轨迹。

然而,大脑的计算表现既不算慢也不算坏。比如,一个职业的网球选手可以追踪高达160英里/小时速度运行的网球的运动轨迹,移到球场最佳位置,挥动手臂,甩动球拍,将球击回对面,一系列动作发生在几百毫秒之间。此外,大脑完成所有这些任务(在其控制的身体的帮助下),功耗比计算机大约低十倍。大脑是怎么做到的?计算机和大脑之间的一个重要区别是每个系统内部处理信息的模式。计算机任务主要以顺序步骤执行,这点我们可以从工程师创建顺序指令流的编程方式中看出来。对于这种连续级联运算,每个步骤都需要高度精确,因为误差会在连续步骤中积累、放大。大脑也使用连续步骤来处理信息。在网球回击的例子中,信息从眼睛传向大脑,然后传向脊髓,从而控制腿部、躯干、手臂和手腕的肌肉收缩。

但利用数量众多的神经元和每个神经元发出的大量连接,大脑也同时采用大规模的并行处理。例如,移动的网球会激活视网膜中许多称为光感受器的细胞,它的作用是将光转换为电信号。这些信号随之被并行传送给视网膜中许多不同类型的神经元。只消两个至三个突触传递的时间,球的位置、方向、速度的相关信息已经被不同神经环路提取,并平行地传输到大脑。同样地,运动皮层(大脑中负责有意识运动的部分)会发出平行的指令分别控制腿部、躯干、手臂和手腕的肌肉收缩,这样身体和手臂能同时协调,调整身体到接球的最佳姿势。

这种大规模并行策略是是可行的,因为每个神经元都从许多其他神经元那儿输入、输出信息——一个哺乳动物神经元平均有数以千计的输入和输出。相比之下,计算机每个晶体管仅有三个输入和输出节点。来自单个神经元的信息可以被传递到许多并行的下游路径。与此同时,许多处理相同信息的神经元,可以将它们的输入信息集中到相同的下游神经元。后一种特性对于提高信息处理的精度特别有用。例如,由单个神经元表示的信息可能是“嘈杂”的(比如说,精确度为1/100)。通过取平均值,下游的神经元小伙伴通常能够从100个输入神经元中提取更精确的信息(这种情况下,精确度能到千分之一) [6]。

计算机和大脑相比,基本单元的信号模式也有相同和不同之处。晶体管采用数字信号,使用离散值(0和1)来表示信息。神经元轴突中的峰值也是一个数字信号,因为神经元在任何时间要么处于尖峰状态,要么处于非激活状态。当神经元被激活时,所有尖峰都是差不多相同大小、形状,这一特性有助于实现可靠的远距离尖峰传播。不过,神经元也利用模拟信号,它使用连续的值来表示信息。一些神经元(像我们视网膜中的大多数神经元)是无尖峰的,它们的输出通过分级的电信号传输的(与尖峰信号不同,它的大小可以连续变化),可传输比尖峰信号更多的信息。[7]

你的大脑比计算机慢1000万倍。

回击网球的例子还彰显了大脑另一个显著特点:它可以基于当前状态和历史经验,修改神经元之间的连接强度——神经科学家们普遍认为,这是学习与记忆的基础。重复的训练能使神经元环路为任务优化其连接方式,从而大幅提高速度与精确度。

在过去的几十年里,工程师不断受大脑启发来改进计算机设计。并行处理的原则,还有根据使用情况调整连接强度,都被纳入了现代计算机。比如,增加并行性,即在单个计算机中使用多个核心处理器,已经是当前计算机设计的趋势。又比如,机器学习和人工智能领域的“深度学习”,近年来取得了巨大的成功,计算机和移动设备中的物体识别和语音识别方面的迅速进展都得益于它,其就是受到了哺乳动物视觉系统的启发[8]。和哺乳动物的视觉系统一样,深度学习采用越来越深的层次来表示越来越抽象的特征(比如视觉目标或者言语),不同层次之间的连接权重也通过机器学习动态调整,而不是由工程师手工设计。这些最新进展已经扩展了计算机能够执行的任务的指令表。尽管如此,大脑还是比最先进的计算机具有更高的灵活性、泛化与学习能力。

随着神经科学家发现越来越多关于大脑的秘密(在计算机更得力的辅助下),工程师可以从大脑的工作原理中获得更多灵感,进一步改善计算机的结构和表现。最后,不管特定任务中谁将成为赢家,跨学科交融无疑会促进神经科学和计算机工程的发展。
IMG_0892.JPG

Sort:  

Hi! I am a robot. I just upvoted you! I found similar content that readers might be interested in:
https://neu-reality.com/2018/05/21/human-brain-efficient/