写点什么

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

  • 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:002370
用户头像
刘燕 InfoQ高级技术编辑

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

关注

评论 1 条评论

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

linux 环境安装Flutter

坚果

flutter 安装 11月日更

RabbitMQ不讲武德,发个消息也这么多花招,nginx实现负载均衡原理

Java 程序员 后端

Redis-中会涉及那么多数据结构,那你数据对象的底层实现方式你都了解吗?

Java 程序员 后端

Sentinel:万字详解微服务的哨兵机制,我跪了,mysql编程入门教程

Java 程序员 后端

Peter-Java 8中的Lambda表达式,java领域的相关技术领域

Java 程序员 后端

shiro(三)shiro实战,java面试题项目中的难点

Java 程序员 后端

【架构实战营】模块三

衣谷

架构实战营

Redis 配置文件重要属性介绍,java面试项目经验

Java 程序员 后端

Redis-数据库、键过期的实现,跟面试官侃半小时MySQL事务隔离性

Java 程序员 后端

redis数据迁移之redis-shake,java高级技术经理面试题

Java 程序员 后端

Shiro等权限管理框架本质很简单,一个注解+拦截器就可实现

Java 程序员 后端

Redis 变慢了?那你这样试试,不行就捶我,mybatis工作原理图

Java 程序员 后端

Redis源码剖析——客户端和服务器,springboot入门程序

Java 后端

RocketMQ ACL版本升级过程中的曲折经历(大厂线上环境大规模MQ升级开启ACL实战)

Java 程序员 后端

Redis 笔记之 Java 操作 Redis(Jedis),springcloud实战pdf

Java 程序员 后端

Redis应用之缓存实现,java异步编程实战pdf

Java 程序员 后端

Redis持久化--Redis宕机或者出现意外删库导致数据丢失--解决方案

Java 程序员 后端

Rpc与RMI服务,java面试笔试题代码

Java 程序员 后端

Servlet+JSP(七,java界面开发的三层架构技术

Java 程序员 后端

Spring AOP 源码分析——创建代理对象,绝对干货

Java 程序员 后端

Spring Boot 2(1),蛙课网java教程资源库

Java 程序员 后端

Red5搭建直播平台,java淘宝客教程

Java 程序员 后端

RPC服务和HTTP服务对比,java基础实验报告总结

Java 程序员 后端

RPC框架编写实践——服务治理的基石,这位阿里P7大牛分析总结的属实到位

Java 程序员 后端

Redis常用命令总结,java项目实例教程详细

Java 程序员 后端

Redis分布式锁的原理以及如何续期,java程序设计实验实训教程答案

Java 程序员 后端

Redis的各种用途以及使用场景,mybatis技术原理

Java 程序员 后端

Seata 新特性,APM 支持 SkyWalking,java流式编程原理

Java 程序员 后端

Sentienl 动态数据源架构设计理念与改造实践,阿里P8大牛手把手教你

Java 程序员 后端

Spring Boot Redis 实现分布式锁,真香,kalilinux入侵教程

Java 程序员 后端

Redis、MongoDB及Memcached的区别,老男孩linux运维54期视频

Java 程序员 后端

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