从脑网络到人工智能——类脑计算的机遇与挑战
2016年3月,AlphaGo与职业围棋选手的对局引发了人们对于人工智能的高度关注。计算机在一个公认的非常复杂的计算与智力任务中,打败了人类的顶尖选手,靠的是类人脑的智能吗?从系统的结构看,AlphaGo结合了深度神经网络训练与蒙特卡洛模拟[1]。广义的说,深度神经网络是类脑的计算形式,而蒙特卡洛方法则是发挥机器运算速度的优势,模拟出数量巨大的可能性用以进一步判断,这现在看来不是大脑工作的机制。所以AlphaGo 可以说是结合了类脑与非类脑的计算与智能,完美发挥其各自特长所取得的成功。除了AlphaGo 所运用的深度神经网络之外,现在研究的类脑计算和智能还有哪些方面?可能会在不久的将来带来什么样的突破呢?
什么是类脑计算?
一般地说,类脑计算是指借鉴大脑中进行信息处理的基本规律,在硬件实现与软件算法等多个层面,对于现有的计算体系与系统做出本质的变革,从而实现在计算能耗、计算能力与计算效率等诸多方面的大幅改进。过去几十年来通讯与计算机技术的长足发展带来了信息化革命,但现有计算系统仍然面临2个严重的发展瓶颈:一是系统能耗过高,二是对于人脑能轻松胜任的认知任务(比如语言及复杂场景的理解等)处理能力不足,难以支撑高水平的智能。大脑在这两个方面的明显优势使得借鉴大脑成了一个非常有前景的方向。类脑计算是生命科学,特别是脑科学与信息技术的高度交叉和融合,其技术内涵包括对于大脑信息处理原理的深入理解,在此基础上开发新型的处理器、算法和系统集成架构,并将其运用于新一代人工智能、大数据处理、人机交互等广泛的领域。类脑计算技术有望使人工信息处理系统以非常低的能耗,产生出可以与人脑相比拟的智能。很多人认为,这一方向的实质进展将可能真正开启智能化革命的序幕,从而对社会生产生活带来深刻地变革[2]。
脑信息处理基本规律的研究
类脑计算的研究大致可以分为神经科学的研究、特别是大脑信息处理基本原理的研究,类脑计算器件(硬件)的研究和类脑学习与处理算法(软件)的研究3个方面。在神经科学领域,过去几十年间,特别是过去10年左右的时间,取得了非常快速的发展。现在对于大脑的工作原理已经积累了丰富的知识,这为类脑计算的发展提供了重要的生物学基础。人脑是一个由近千亿的神经元通过数百万亿的接触位点(突触)所构成的复杂网络。感觉、运动、认知等各种脑功能的实现,其物质基础都是信息在这一巨大的网络当中的有序传递与处理。通过几代神经科学家的努力,目前对于单个神经元的结构与功能已经有较多了解。但对于功能相对简单的神经元如何通过网络组织起来,形成我们现在所知的最为高效的信息处理系统,还有很多问题尚待解决。脑网络在微观水平上表现为神经突触所构成的连接,在介观水平上表现为单个神经元之间所构成的连接,在宏观水平上则表现为由脑区和亚区所构成的连接。在不同尺度的脑网络上所进行的信息处理既存在重要差别,又相互紧密联系,是一个统一的整体。目前神经科学的研究热点就主要集中于在上述各层面解析脑网络的结构,观察脑网络的活动,最终阐明脑网络的功能,即信息存储、传递与处理的机制。要实现这一目标,需要突破的关键技术是对于脑网络结构的精确与快速测定,脑网络活动的大规模检测与调控,以及对于这些海量数据的高效分析,此外也亟需在实验数据的约束下,建立适当的模型和理论,形成对脑信息处理的完整认识[3]。
类脑计算硬件的研究
类脑计算器件研究的初衷是在不影响性能的前提下,大大降低功耗,或者在相似功耗下,极大提高速度。现代计算机虽然具有惊人的运算能力与运算速度,但与之相伴的是高昂的能量消耗。大型计算机的功耗往往在兆瓦量级以上,与之相比,成年人大脑的功耗只有大约20 W。巨大的能耗严重限制了系统进一步向微型化的方向发展(因为难以散热),也会使得复杂的嵌入式应用和远程应用,比如宇航探索,缺乏足够的计算能力支持(因为难以携带足够的能源)。现代计算机能耗高的一个重要原因是计算机普遍采用的冯.诺依曼架构。冯氏架构中,信息处理单元与存储单元是分离的,这样在运算过程中,势必要经常将数据在处理单元与存储单元之间进行传递,这一看似简单的过程却能贡献系统近50%的功耗。与之相比,在生物脑中,信息的处理是在神经网络中实现,而数据本身则是分布式的存储于网络的各个节点(比如由神经元内的离子浓度表征)以及节点之间的连接(比如由突触的强弱表征)上,运算和存储在结构上是高度一体化的。这样,用少量甚至单个电子器件模仿单个神经元的功能,而将数量巨大的电子“神经元”以类脑的方式形成大规模并行处理的网络,以进行计算,就成为了非常有吸引力的方向。目前研究的热点包括寻找更适合的器件以模拟单个神经元(比如忆阻器),设计非冯氏体系为基础的处理器等。近来IBM公司研发的TrueNorth芯片是这一领域的代表性进展,由于使用了非冯氏结构体系和其他一系列措施,实现了对于功耗近2个数量级的降低(图1)[4]。另外的重要进展还包括研发专用处理器,针对深度神经网络等类脑算法进行专门优化,以提高速度、降低功耗[5],由于这一领域的算法已在图像、语音识别等方面有成熟的应用,此类专用处理器有望能较早投入实际运用。
类脑学习与处理算法的研究
能够大大降低能耗或是加快速度的类脑的处理器对于实现更高水平的智能无疑会有很大的帮助,但要真正实现类人水平的通用人工智能,除了需要这样的硬件基础外,关键还需要理解生物脑对于信息所做的计算,即类脑的处理及学习算法。对于此研究方向,一个常见的顾虑是:现在神经科学对于大脑工作机制的了解还远远不够,这样是否能够开展有效的类脑算法研究?对此,我们可以从现在获得广泛成功的深度神经网络获得一些启示。从神经元的连接模式到训练规则等很多方面看,深度神经网络距离真实的脑网络还有相当距离,但它在本质上借鉴了脑网络的多层结构(即“深度”一词的来源),而大脑中,特别是视觉通路的多层、分步处理结构是神经科学中早已获得的基本知识。这说明,我们并不需要完全了解了脑的工作原理之后才能研究类脑的算法。相反,真正具有启发意义的,很可能是相对基本的原则。这些原则,有的可能已经为脑科学家所知晓,而有的可能还尚待发现,而每一项基本原则的阐明及其成功的运用于人工信息处理系统,都可能带来类脑计算研究的或大或小的进步。非常重要的是,这一不断发现、转化的过程不仅能促进人工智能的进展,也会同步加深我们对于大脑为何能如此高效进行信息处理这一问题的理解[6],从而形成一个脑科学和人工智能技术相互促进的良性循环。
如果这样来看脑科学与类脑算法研究的关系,我们可能会发现很多可供借鉴的基本规律。下面简单分析几个例子。第一是我们可以向脑学习如何更好地实现算法设计的模块化。模块化设计早已被计算机科学所采用。在这样的设计中,问题的解决分成几个固定的部分(子问题),每一个计算模块(子程序)只负责处理其中的一个。这一设计的优势在于能使算法设计大大简化,易于调试,易于修改,可以逐步完善并增加功能。更重要的是,因为表面上看起来不一样的问题往往能分解成相似的子问题,这使得模块可以重复利用,大大提高了效率并使得高度简并的系统能够胜任复杂多样的任务[7]。模块化设计的优势显而易见,但面对一系列具体问题,应该如何最有效率地划分子问题,这本身是一个困难的任务。而这可能是我们能够向大脑学习的重要知识之一。真实的大脑是模块化设计的一个范例,每个脑区或亚区负责一个信息处理的环节或方面,而具体的模块划分是经过漫长自然选择加以优化的结果,已经适应了高效处理真实世界的实际问题。深度神经网络借鉴的对于视觉信息的多层、分步处理结构,某种意义上就是大脑模块化设计的一个方面。另外近期的一项研究显示,仅仅初步借鉴了非常粗略的脑功能模块划分(包括一系列视觉区域,一个记忆区域,一个决策区域以及一系列运动控制区域等),就能使得一个相对简单的系统胜任多种不同的任务(图2)。
而AlphaGo 存在一个围棋盘面的估值网络和一个独立的走棋网络(虽然我们还不知道这是否是有意的类脑的设计,但这在原理上可能是类脑的划分),也说明了合适的模块化设计可能是其成功的一个重要因素。这些结果令人鼓舞,但我们对于大脑模块化设计的借鉴也许才刚刚开始。现在神经科学的研究正在为我们给出非常详尽的,包含数百个亚区的有关人脑的模块化分区图谱,包括每一个模块和其他模块之间的信息传递通路(图3)[9]。可以预见,这将对类脑信息处理算法的设计提供关键的启示。比如对于语言区的精细亚区划分及其功能的阐明,就可能对于语言处理算法的模块化设计提供有益的借鉴。有关类脑算法设计的第二个例子是我们可以向大脑学习如何调节网络的状态,从而灵活调控信息处理过程,使得系统能够适应不同的功能需求。
脑中除了基本的兴奋与抑制性的神经递质外,还有众多的神经调质,他们的作用在于根据当前的环境与行为目标随时动态调节大范围神经网络的行为,使得相对固定的网络结构能够胜任复杂多变的情况,实现千差万别的任务。近年来对于介观及宏观脑网络动态活动规律的研究发现,脑网络可能自发地组织于一个“临界”状态附近,这一状态使得信息的存储、传递和处理都能实现最优化[10]。重要的是,通过对这一状态的微调,可以迅速调节网络功能,从而适应不同任务的要求。对于神经调质以及网络状态调控等原理的借鉴,有望对设计更加灵活,更有适应能力的人工信息处理系统提供有益启示。我们有可能从大脑的工作原理受到重要启发的第3个例子是如何实现小样本的学习和有效推广。目前取得巨大成功的深度学习依赖于庞大的样本数量,这与大脑卓越的“举一反三”,即小样本学习的能力形成鲜明对比[11]。原理上看,这意味着生物脑的学习过程并非从零开始,而是从学习之初,就拥有并运用了重要的先验知识,这包含了物种在进化过程中学到的(生物学称之为系统发生),以及个体在生活过程中学到的有关真实世界的关键知识[12]。读取这些知识,以及借鉴如何将这些知识作为先验信息注入神经网络结构从而实现小样本学习,可能会是神经科学以及类脑算法设计中一个富于成果的领域。
除了上面举出的几个例子,神经科学可能会对类脑算法设计提供重要启示的领域还包括对于突触可塑性的进一步认识,具体的各项脑功能在神经环路水平的机制等。几乎可以说,每一项脑科学的原理性发现,都可能蕴含着一颗种子,有潜力在人工智能的领域成长为像深度神经网络一样的参天大树。
总结而言,类脑计算是融合了脑科学与计算机科学、信息科学和人工智能等领域的交叉学科,我们有理由期待这一领域的研究将在不久的将来带来更多的令人瞩目的成就,推动智能技术向通用的人类水平的智能,即强人工智能的目标逐渐逼近。
(作者系中国科学院自动化研究所脑网络组研究中心研究员)