写点什么

重磅!清华大学张悠慧团队首次提出类脑计算完备性,论文登上《自然》杂志

  • 2020-10-22
  • 本文字数:2996 字

    阅读完需:约 10 分钟

重磅!清华大学张悠慧团队首次提出类脑计算完备性,论文登上《自然》杂志

类脑计算尚处于起步阶段,国际上尚未形成公认的技术标准与方案,清华大学计算机系张悠慧团队首次提出的“类脑计算完备性” 填补了完备性理论与相应系统层次结构方面的空白。这一成果标志着清华大学在类脑计算领域的国际领先地位,《自然》杂志对这一论文进行了解读和评论。InfoQ 中文站翻译并分享。


以大脑为模型的硬件也许能够给计算带来革命性的变化,但要在这种系统上实现算法却是一个挑战。本文所提出的概念框架可以简化实施过程,加快这一领域的研究。


下一代高性能、低功耗的计算机系统可以从大脑得到启发。然而,随着设计师从传统的计算机技术转向受类脑(神经形态)系统时,他们也必须摆脱支撑传统机器的既定形式层次结构——即抽象的框架,该框架大体上定义了软件如何被数字计算机处理,如何转化为在机器硬件上运行的操作。这种层次结构有助于实现计算机性能的快速增长。


张悠慧团队在《自然》杂志上发表的论文《A system hierarchy for brain-inspired computing》中,定义了一种新的层次结构,将算法的要求及其在一系列神经形态系统上的实现形式化,从而为一种结构化的研究方法奠定了基础,在这种研究方法中,类脑计算机的算法和硬件可以分开设计。


按照摩尔定律,在过去 50 年里,传统数字计算机的性能有所提高。根据摩尔定律,技术进步将使集成电路(微芯片)的资源大约每 18~24 个月增加一倍。尽管这些进步使硬件变得越来越强大,但对于想要优化在这些不断变化的设备上执行的算法性能的系统架构师来说,这也带来了一个挑战。


在传统计算机的设计中,有一个重要特点是软件和硬件开发之间缺乏紧密的耦合,从而使得新设备(芯片、存储器等)能够获得最佳性能。通过设定对硬件的最低要求,就可以将高级语言编写的软件程序转化为任何机器所需的精确等价的指令序列,这一过程称为“编译”(图 1)。在这个编译过程中,支持使用代表基本计算操作的指令的计算机被称为图灵完备(Turing complete)。因此,软件代码一般只需编写一次,然后就可以在多个图灵完备的处理器架构上编译并执行,以产生等价的结果。


译注:图灵完备,在可计算性理论里,如果一系列操作数据的规则(如指令集、编程语言、细胞自动机)可以用来模拟单带图灵机,那么它是图灵完备的。这个词源于引入图灵机概念的数学家艾伦·图灵。虽然图灵机会受到存储能力的物理限制,图灵完备通常是指“具有无限存储能力的通用物理机器或编程语言”。



图 1:在计算机硬件上实现算法的层次结构。a. 计算机层次结构大致定义了现代数字计算机如何处理软件。用高级计算机语言编写的算法被分解成基本的计算操作,以产生软件的中间表示。这些操作被转换成硬件的完全等价的中间表示形式:一组指令,然后在硬件上运行。因此,软件可以与硬件分开进行开发。然而,神经形态计算机(那些使用人工神经元网络作为其计算基础的计算机)尚未定义类似的层级结构。b. 张悠慧等人现在提出了神经形态计算机的类似层次结构,其中硬件的中间表示只是软件的中间表示的近似值,克服了在神经形态系统中难以产生精确表示的问题。这种层次结构将允许神经形态计算机的硬件和软件分开进行开发,而不是像现在这样为每个应用程序共同开发。


然而,人们普遍承认,以摩尔定律为特征的进步时代即将结束:数字计算机能力的进步速度似乎正在放缓。此外,数字计算可能是高度耗能的,这就促使人们寻找替代方案。长期以来,科学家们一直对大脑的计算能力着迷,因为大脑不仅有着令人难以置信的能量效率,而且由于其神经元和突触的结构,它还拥有独特的信息处理性能。这激发了神经形态计算领域,该领域研究利用大脑神经网络架构作为下一代计算机的基础。


神经形态计算的重点通常集中在尖峰神经网络,这是一个由相互连接的人工神经元组成的系统,其中每个神经元在其激活水平达到阈值时都表现出短暂的“尖峰”活动。与现代深度学习应用中常用的人工神经网络相比,这类系统更类似于生物神经网络。神经形态硬件已经以一系列数字和模拟的形式被生产出来。然而,大多数系统都遵循通用的设计原则,例如,内存和处理器的共存。


研究人员在开发神经形态硬件应用时面临的一个挑战是,像图灵完备性这样的正式层次结构目前并不存在。相反,每个新的芯片架构都需要一个定制的软件工具链(一套编程工具)来定义算法,并通过将算法映射到独特的硬件上来定义算法并执行它们。这使得不同的神经形态系统执行相同算法的性能比较变得很困难,因此需要研究人员了解算法和硬件的所有方面,从而获得潜在的类似大脑的性能。


张悠慧等人现在提出了一个突破性的解决方案,他们提出了一个概念,称之为神经形态完备性:在向图灵完备性致敬的同时,旨在实现算法与硬件开发的去耦合。在对传统计算机的层次结构的放宽中,作者提出,如果一个类脑的系统能够以给定的正确率执行一组给定的基本操作,那么它就是神经形态完备的(图 1)。这与图灵完备性有所不同,在图灵完备性中,只有当系统为一组给定的基本运算提供了一个精确且等价的结果时,才能将其定义为完备。


在所提出的神经形态完备框架中的基本运算包括加权和运算和元素整流线性运算,使得硬件系统能够同时支持尖峰和非尖峰人工神经网络。作者展示了他们的类脑计算的层次结构是如何提供一种机制,将给定的算法转换成适合于一系列神经形态完备设备的形式。


新层次结构的一个受欢迎的特征是,它提出了一个完备性的连续体,可以接受不同水平的算法性能,这取决于神经形态系统能够执行基本操作的正确度。这种完备性的连续体意味着新的层次结构可以使用整个范围内所有可用模拟和数字神经形态系统来实现,包括那些为了执行速度或能源效率而牺牲正确率的系统。


完备性的连续体还允许在同一硬件上运行算法的不同实现,例如,探索如何在算法正确率与芯片尺寸之间进行权衡,以降低功耗。张悠慧等人在三个任务(“驾驶”无人自行车、模拟鸟群的运动和执行称为 QR 分解的线性代数分析)的算法执行中展示了他们方法的这一方面。每个任务都使用三个典型的神经形态完备的硬件平台来执行:作者自己的神经形态芯片、传统计算机中使用的图形处理单元(GPU),以及基于称为忆阻器(memristor,又名记忆电阻)的设备的平台,加速神经网络的执行。


所提出的层次结构对该领域来说,是一个受欢迎的步骤,因为它可以比较实现相同算法等价版本的不同硬件平台,以及比较在相同硬件上实现的不同算法。这些都是对神经形态架构进行有效基准测试的关键任务。将传统的图灵完备硬件(GPU)纳入到其原理证明实验中也是非常有价值的,因为这表明该层次结构有望被用来证明神经形态设备在某些应用中优于主流系统。


所提出的层次结构的另一个实质性好处是,它有可能将算法和硬件开发分成独立的研究流。底层神经形态架构的好处在于,算法的规模和复杂度将需要随着时间的推移而增加,因此,这种拆分将有助于研究人员专注于研究问题的具体方面,而非试图寻找整个端到端解决方案,这很可能会使人们更好地理解问题,并为未来性能更高的神经形态系统的设计提供参考。


在神经形态计算领域中,众多工业和学术研究团体所开展的工作正在结合,这方面仍然有许多工作要做。在这个方向上,张悠慧和同事们提出的层次结构是迈出的有益一步。实际的大脑——生物“硬件”,本身是否为完备性的神经形态,还有待观察,但作者提出的方法,仍然可以让我们更接近使用类脑硬件带来的巨大收益。


Nature 586, 364-366 (2020)


原文链接:


https://www.nature.com/articles/s41586-020-2782-y


2020-10-22 11:002159
用户头像
刘燕 InfoQ高级技术编辑

发布了 1112 篇内容, 共 544.2 次阅读, 收获喜欢 1978 次。

关注

评论 1 条评论

发布
用户头像
要是能抽象出和图灵机类似的数学概念,就可以开发出真正的人工智能
2020-10-26 15:56
回复
没有更多了
发现更多内容

国内大厂在移动端跨平台的框架接入分析,2021年一起努力应对互联网寒冬吧

android 程序员 移动开发

史上最详Android版kotlin协程入门进阶实战(三),4面字节跳动拿到Offer

android 程序员 移动开发

史上最详Android版kotlin协程入门进阶实战(一),一线互联网公司面经总结

android 程序员 移动开发

回眸重探锁机制,跨平台移动开发的特点

android 程序员 移动开发

因为不了解Android事件分发机制,居然被实习生嘲笑了,天呐

android 程序员 移动开发

图文DEMO并茂讲解RecyclerView滑动时回收和复用触发的时机

android 程序员 移动开发

linux之我常用的系统重要文件备份命令

入门小站

Linux

听我慢慢道来Android-面试中的细节,三年老Android经验面经

android 程序员 移动开发

哭了!失业半年-2020没有风口我也要跳槽,凭本事吃饭有技术到哪都是人才

android 程序员 移动开发

四月字节客户端面经,七月内推请找我,一文带你搞懂Android多线程Handler

android 程序员 移动开发

又来新需求了,急,Android怎么实现时间线效果,成体系化的神级Android进阶笔记

android 程序员 移动开发

反思|Android 事件拦截机制的设计与实现,android串口工具apk

android 程序员 移动开发

只需四点,让你的面试百试百过!,android移动应用基础教程

android 程序员 移动开发

四张图让你玩转Tomcat系统架构!!!,移动应用开发课程设计报告

android 程序员 移动开发

图巨多,手把手教学Android-Studio超详细安装过程,kotlin菜鸟教程

android 程序员 移动开发

在线二进制转文本工具

入门小站

工具

史上最详Android版kotlin协程入门进阶实战(三)(1),面试Android岗

android 程序员 移动开发

史上最详Android版kotlin协程入门进阶实战(四),flutter开源项目商业化

android 程序员 移动开发

反向面试提问,安卓framework层

android 程序员 移动开发

四张图让你玩转Tomcat系统架构!!!(1),android音频面试题

android 程序员 移动开发

双非大三,无实习经历,如何以 hard 模式逆袭字节跳动,androidframework开发书籍

android 程序员 移动开发

双非本,3年时间从外包到阿里P6(Android岗,移动终端软件开发颜色演示

android 程序员 移动开发

只有这些东西?不,学习Android开发只要这些东西,想转行当程序员的必看

android 程序员 移动开发

四面阿里,因为最后一个问题与offer失之交臂,android驱动开发

android 程序员 移动开发

另一种绕过-Android-P以上非公开API限制的办法,安卓多线程面试题

android 程序员 移动开发

可怕!RxHttp2,安卓开发基础

android 程序员 移动开发

[ CloudWeGo 微服务实践 - 05 ] 服务注册(2)

baiyutang

golang 微服务 11月日更

启动速度与执行效率优化项目实战(四),android开发入门与实战网盘

android 程序员 移动开发

反思一次羞愧的阿里面试经历,致Android开发者

android 程序员 移动开发

可能一眼看不懂的几行Kotlin代码,程序员面试防坑宝典

android 程序员 移动开发

史上最全Android性能优化总结,经典收藏,一口气拿了9家公司的offer

android 程序员 移动开发

重磅!清华大学张悠慧团队首次提出类脑计算完备性,论文登上《自然》杂志_AI&大模型_Oliver Rhodes_InfoQ精选文章