率清华团队研发“天机芯”登《Nature》封面,他说类脑计算是发展人工通用智能的基石...
整理 | AI科技大本营(ID:rgznai100)
8 月,清华大学教授、类脑计算研究中心主任施路平率队研发的关于“天机芯”的论文登上《Nature》封面,这实现了中国在芯片和人工智能两大领域登上该杂志论文零的突破,引发国内外业界一片轰动。

“天机芯”是一款新型人工智能芯片,采用28纳米工艺制成,整个芯片尺寸为3.8 X 3.8mm2,由156个计算单元(Fcore)组成,包含约40000个神经元和1000万个突触。它能够把人工通用智能的两个主要研究方向,即基于计算机科学和基于神经科学这两种方法集成到一个平台,可以同时支持机器学习算法和现有类脑计算算法。
他们还成功将“天机芯”应用到了无人驾驶自行车中,实现了实时视觉目标探测、目标追踪、自动过障和避障、自适应姿态控制、语音理解控制、自主决策等功能,使其能够根据指令拐弯、加速,还会自动绕开障碍物、跟着主人跑。
在近日举办的2019 腾讯科学 WE 大会上,施路平详细介绍了他们做“天机芯”的来龙去脉。他们希望构建出类脑计算系统,从而发展人工通用智能。他指出,人工通用智能的研究不同于把很多人工智能简单的叠加在一起,而是要把脑的弹性和计算机的刚性结合起来,把数据驱动和知识驱动结合起来,把通用知识和推理结合起来。
在他看来,我们必须向脑学习,借鉴脑科学的基本原理,改造现在的计算机系统,而发展类脑计算是发展人工通用智能的基石。
以下为施路平演讲内容实录,AI科技大本营(ID:rgznai100)整理:
类脑计算是借鉴脑科学的基本原理,面向人工通用智能,基于神经形态工程发展的新的计算技术。为什么我们要发展这样一个技术?
大家知道,现在我们生活在一个数码宇宙,万事万物随时随地联系起来,构成一个万物互联的数码宇宙。这个宇宙成长非常快,信息每两年翻一番,整个宇宙迅速地膨胀,而且从来不退步,这样一个宇宙是基于我们现在的计算机架构,而计算机架构又基于冯·诺依曼架构。
冯·诺依曼架构是我个人认为人类发展史上最简洁、漂亮、对我们影响最大的一个架构,特点是计算和存储分离,计算、存储通过总线来回调度。
大家可以设想一下,来回的调度耗费了很多能量、耽误时间、造成了堵塞,导致有了带宽瓶颈。
所以,计算机领域最高的图灵奖 2017 年的两个得主 Hennessy 和 Patterson,最近写了一个长文,结论是未来的 10 年是计算架构发展的黄金 10 年。因为,过去是用计算机做计算,现在我们用它处理信息,而我们的数码宇宙每两年翻一番,能耗受不了。
当然,还有其它原因,就是我们现在生活在一个人工智能时代,人工智能取得了非常大的成绩,但是我们发现尽管可以用 AlphaGo 战胜世界冠军,但仍然有很多瓶颈,简单来说我们必须满足 5 个条件。
充足的数据
确定性的问题
完备的知识
静态
单一系统
举个例子,如果我们让一个智能机器人从这里出去,不事先编程它是做不到的,因为人用了几年的时间建立起很多概念,在哪里、怎么出去、走门、走窗户,这些都与通用智能有关,所以结论是,我们要发展一个人工通用智能。
我们想象的人工通用智能,是在没有充足的数据甚至是假数据,很多问题也不明确,而且有很多系统交互在一起的情况下,这个系统仍然能够处理。要发展人工通用智能,我们必须向脑学习,因为整个宇宙只有脑是目前唯一的一个通用智能体,我们把脑和电脑做一个比较,会发现电脑强的、人不强,电脑不强的、人强。
我们看过《最强大脑》,那些让人叹为观止的、非常让我们羡慕的选手的能力,其实对于计算机来讲是小儿科。我们发现人脑和电脑两个系统虽然原理不同,但实际上是互补的。
所以,借鉴脑科学的基本原理,改造现在的计算机系统,发展类脑计算是发展人工通用智能的一个非常重要的部分,因为前者是后者的计算基石。
发展人工通用智能不是一个新的想法,如果我们看一下过去图灵、冯·诺依曼这些大科学家早期的文章,会发现这是我们一直以来的梦想。
为什么现在是发展人工通用智能最好的时机?
因为随着精密仪器的发展,我们对脑知道的越来越多,似乎到了一个理解脑的关口,超级计算机的发展可以使我们做很好的模拟仿真,省钱、省力、省时间,大数据、云计算提供了一个像脑一样复杂的系统,和脑交相呼应,我们可以共同研究、互相促进。
另外,纳米器件已经可以使我们去发展像人脑能耗水平的神经元和突触这样的电子器件,所以现在是发展人工通用智能最好的一个时机。
发展类脑计算去支撑人工通用智能,在这里面脑起了非常大的作用,它到底起了一个什么作用?
13 年前有感于摩尔定律在二三十年后要到头,所以我开启了类脑计算的研究,当时我自认为自己做研究还不错,但忽然感到自己不会做研究了,因为没有文献,很多东西需要自己摸索,感到非常的苦恼。
有一次我去爬山,故意让自己钻进森林,走丢了,后来我就根据太阳判断方向,盯着一个方向一直走、一直走,走到高速公路上,截了一辆车。我还找了一个阴天进去了,后来我想了一个办法,一直往高爬,爬到最高的地方,盯住一个点一直走、一直走,走到高速公路,截了个车又回去了。
这两件事情让我思考,脑在这里起的是指南针作用,给我们提供的是方向感,它是唯一所知的通用智能体。
做研究我喜欢做难的,因为我觉得越难的越容易,太容易的话有很多竞争者,你很难领先,如果很难,做着做着旁边就没人了,你反而可以领先,但是有一个前提条件,就是方向必须是正确的,如果你走到错路上,大家都跑了,你是很尴尬的。
人的智能是建立在碳基上的,而在硅基上我们已经建造了现在的数码宇宙,而碳基、硅基的结构非常相近,所以我们有一个信念,碳基上能够实现的,硅基上一定能够实现。
发展类脑计算和人工通用智能真正的挑既不是科学,也不是技术,而是因为我们的学科分布,使得我们没有合适的人做这样的研究,而且脑科学和计算机科学一个探索的是自然世界,另一个更关注应用,它们有不同的文化、语言,目标也不一样,所以多学科融合尤为关键。
清华大学类脑计算研究中心由 7 个院系组成,因为这个领域不仅仅是计算机和脑科学,还有数学、物理、电子、微电子等,7 个院系的老师在一起反复讨论,每周半天的时间,我们用 7 年只做了一件事情,叫融合、融合再融合。
在这个过程当中,我们梳理了一下发展人工通用智能,现在主要是有两条路线:第一,计算机主导的;第二,脑科学主导的。计算机主导的像机器学习,它在图像识别、语音理解、自然语言处理方面取得了辉煌的成绩,但是它很难处理不确定性问题等等。
脑科学神经形态计算,发展的也很快,由于我们不理解脑的机制,极大地阻碍了它的发展,但是两跳技术路线实际上互补,把两者结合起来,是目前我们认为最好的一种方法。发展类脑科学实际上还有两条:1、基于计算机,用脑科学的基本原理来改变计算架构;2、我们用一个“类脑”这样简单又明了的词涵盖了这两个部分。
实际上,这要研究理论芯片、软件、系统,从云脑到应用。但是,大家总是问一个问题,不理解人脑,凭什么你能造出类脑计算系统来?我们思考了很久,后来得到了答案。
答案是这样的:计算机是把多维空间的信息转换成为 0、1 这样一维的信息流,用计算来解决问题,CPU 的主频越来越快,换句话说,这用的是时间复杂度,但问题是什么?当你缩维的时候,相关性丢失了,这就是人很容易确定一个物体是在真实空间里还是在镜子里,计算机则很难,这个是根本原因。
我们不知道脑的基本原理,但我们知道一个神经元连接一千到一万个神经元,换句话说我们在这里把信息扩输了,把相关性增强了,我们用的是空间复杂度。另外,我们的脑还用脉冲来编码,引进了时间因素,我们还利用了时空复杂度,所以是想保持现在的计算机所有的优点,保持时间复杂度,增加一块类脑芯片。
实际上增加的是什么呢?增加的是空间复杂度、时空复杂度。如果我们以这种观点来看现在的技术,你就发现现在的人工神经网络的加速器,是面向深度人工神经网络。
它利用的就是空间复杂度,而像脑一样工作的,神经形态计算,面向的是脉冲神经网络。它利用的是时空复杂度,一个是空间复杂度,一个是时空复杂度,何不把它结合起来呢?
所以,我们想了一个办法提出了天机芯片架构,用了 3% 的代价实现了既支持人工神经网络,又支持像脑一样工作的脉冲神经网络,而且还支持这两者的异构建模。我们还利用类脑芯片,构建了一个人工通用智能的研究平台。
我们的想法是这样,构建一个可以和系统互动的多模态交叉研究平台,利用环境变化逼迫这个系统变化,当它变化的时候,我们观察应用这种变化,系统应该遵循的基本原理,从而帮助我们迭代发展,利用一块天机芯片,我们就实现感知、追踪、过障、避障、自动控制、语音理解、自主决策。
芯片很重要,软件也很重要,因为如果没有软件,应用工程师是不愿意做应用软件开发的,在实验室我们自己开发了一个软件工具链,现在实际上已经搭起了第一代的类脑计算机,我们现在做的是一个类脑云脑。
它和现在的云计算的差别是云计算是把很多技术整合起来,而类脑云脑是面向人工通用智能,因为人工通用智能的研究从基本上来讲,不同于把很多人工智能简单的叠加在一起,我们的想法是把脑的弹性和计算机的刚性结合起来,把数据驱动和知识驱动结合起来,把通用知识和推理结合起来。
当然,这是一个非常具有挑战性的长期研究,我们的策略是循序渐进,大家记住我刚才说的五个条件,我们可以设想一下,我们先专注在一个一个问题的研究上,这个可以称为是第一代,然后两个问题一起研究,这个可以称为第二代,然后第三代、第四代,最后是第五代,从而让我们构建人工通用智能。
我们发展类脑计算,支撑人工通用智能,它可以赋能各行各业,可以有很多的应用。
我们对一个智能教育特别感兴趣,因为我们教育的很多问题都可以通过这样的方式研究解决。比如说高质量的教育资源很稀少,所以造成了教育不公,社会发展从一开始就有不公平的因素,还有因材施教,我们每个人是不一样的,由于经费有限、仪器有限,我们很难做到真正的理论联系实际,还有终生学习等等。
随着类脑计算、人工通用智能的发展,这些都会逐渐解决,然后发展新的系统。但是还有一个非常重要的因素,因为教育最主要的是塑造人。
回顾一下自工业革命以来,我们发展了蒸汽机、发电机、计算机、大数据,还有现在的万物互联,我们一直在改变外部的世界,在改变我们的物质生活。看一下我们现在的世界,贸易纷争,国家、民族、人之间有很多矛盾,我们忽然发现,当我们的物质生活发展很快时,精神生活实际上没有同步发展,现在在智能时代发展类脑计算,我们有机会向内发展,审视内心。
我通常只参加学术活动,这次之所以接受腾讯邀请来做演讲,是因为他们提出了一个“科技向善”的理念,这和我们的理念是相通的。
我们衷心希望人类在发展技术、探索外界世界的同时,也能够研究一下我们的内在世界,内外兼修、共同发展,建设一个美好、和谐的世界。
(*本文为AI科技大本营原创文章,转载请微信联系 1092722531)
◆
精彩推荐
◆
12月6-8日,深圳!2019嵌入式智能国际大会,集聚500+位主流AIoT中坚力量,100+位海内外特邀技术领袖!9场技术论坛布道,更有最新芯片和模组等新品展示!点击链接或扫码,输入本群专属购票优惠码CSDNQRSH,即可享受6.6折早鸟优惠,比原价节省1000元,学生票仅售399元。
推荐阅读
相关文章:

IntelliJ IDEA 12详细开发教程(四) 搭建Android应用开发环境与Android项目创建
今天我要给大家讲的是使用Intellij Idea开发Android应用开发。自我感觉使用Idea来进行Android开发要比在Eclipse下开发简单很多。(一)打开网站:http://developer.android.com/sdk/index.html。从网站上下载SDK下载需要的Android版本ÿ…
Git环境搭建及简单的本地、远程 两库关联
这里讲下我从拿到新的Mac后怎么一步一步搭建Git环境的。 首先让我们打开终端 在终端输入 git 如果说你卡到下面的结果说明你没有安装个git,去安装。 The program git is currently not installed. You can install it by typing: sudo apt-get install git 如果你…

提高C++性能的编程技术笔记:内联+测试代码
内联类似于宏,在调用方法内部展开被调用方法,以此来代替方法的调用。一般来说表达内联意图的方式有两种:一种是在定义方法时添加内联保留字的前缀;另一种是在类的头部声明中定义方法。 虽然内联方法的调用方式和普通方法相同&…

python学习——01循环控制
系统登录:要求输入用户名,判断用户是否存在,若存在,则输入密码,密码正确后登录系统;用户不存在则重新输入用户。密码输错三次后,用户被锁定。#!/usr/bin/env python #codingutf-8 user_dic {pe…

swift 中showAlertTitle的使用
不比比 直接上代码 import UIKit class InAndOutViewController: UIViewController,UITextFieldDelegate { let API_selectExitEntryInfo : String "/app/projectAndIdCardQuery_selectBanJianInfo" //输入框 IBOutlet weak var InputTextField: UITextField! //查…

从一张风景照中就学会的SinGAN模型,究竟是什么神操作?| ICCV 2019最佳论文
作者 | 王红成,中国海洋大学-信息科学与工程学院-计算机技术-计算机视觉方向研究生,研二在读,目前专注于生成对抗网络的研究编辑 | Jane出品 | AI科技大本营(ID:rgznai100)【导读】10 月 27 日-11 月 2 日&…

Windows10上编译MXNet源码操作步骤(Python)
1. 按照https://blog.csdn.net/fengbingchun/article/details/84997490 中操作步骤首先在Windows上通过VS2017编译MXNet源代码; 2. 从 https://mxnet.incubator.apache.org/install/windows_setup.html#install-the-mxnet-package-for-python 下载mingw64_dll.zi…

LeetCode:144_Binary Tree Preorder Traversal | 二叉树的前序遍历 | Medium
题目:Binary Tree Preorder Traversal 二叉树的前序遍历,同样使用栈来解,代码如下: 1 struct TreeNode {2 int val;3 TreeNode* left;4 TreeNode* right;5 TreeNode(int x): val(x), left(NULL)…
swift (Singleton)模式
一不安全的单例实现在上一篇文章我们给出了单例的设计模式,直接给出了线程安全的实现方法。单例的实现有多种方法,如下面:?123456789101112class SwiftSingleton { class var shared: SwiftSingleton { if !Inner.instance { Inner.insta…

Ubuntu 14.04上使用CMake编译MXNet源码操作步骤(C++)
MXNet源码版本号为1.3.0,其它依赖库的版本号可参考:https://blog.csdn.net/fengbingchun/article/details/84997490 build.sh脚本内容为: #! /bin/bashreal_path$(realpath $0) dir_namedirname "${real_path}" echo "real_…

十年公务员转行IT,自学AI三年,他淬炼出746页机器学习入门笔记
整理 | Jane 编辑 | Just 出品 | AI科技大本营(ID:rgznai100)近期,梁劲传来该笔记重大更新的消息。《机器学习——从入门到放弃》这本笔记的更新没有停止,在基于上一版的基础上丰富了近 200 页计算机视觉领域的知识内容…

Python实现五子棋人机对战 | CSDN博文精选
作者 | 吴小鹏 来源 | 数据札记倌(ID:Data_Groom)五子棋是常见的一款小游戏,五子棋问题是人工智能中的一个经典问题。这篇文章主要介绍了Python版本五子棋的实现代码,大家可以做个参考,与我的傻儿子对弈一下。简 述虽…

HTTPS协议简介
HTTPS(HyperText Transfer Protocol Secure, 超文本传输安全协议):是一种透过计算机网络进行安全通信的传输协议。HTTPS经由HTTP进行通信,但利用SSL/TLS来加密数据包。HTTPS开发的主要目的,是提供对网站服务器的身份认证,保护交换…

闭包回调的写法
初学swift,封装了NSURLSession的get请求,在请求成功闭包回调的时候程序崩溃了 然后在图中1,2,3位置加上惊叹号“!”,再把4,5,6的惊叹号去掉就闭包回调成功了

错误 1 “System.Data.DataRow.DataRow(System.Data.DataRowBuilder)”不可访问,因为它受保护级别限制...
new DataRow 的方式: DataTable pDataTable new DataTable();DataRow pRow new DataRow(); 正确的方式: DataRow pRowpDataTable.newRow(); 转载于:https://www.cnblogs.com/wangzianan/p/4034892.html

iOS 支付 [支付宝、银联、微信]
这是开头语 前不久做了一个项目,涉及到支付宝和银联支付,支付宝和银联都是业界的老大哥,文档、SDK都是很屌,屌的找不到,屌的看不懂,屌到没朋友(吐槽而已),本文将涉及到的…

base64开源库介绍及使用
网上有一些开源的base64编解码库的实现,下面介绍几个: cppcodec是一个仅包括头文件的C11库,用于编解码RFC 4648中指定的base64, base64url, base32, base32hex等,它的License为MIT,源码在https://github.com/tplgy/cp…

情感识别难?图神经网络创新方法大幅提高性能
作者 | Kevin Shen译者 | Monanfei出品 | AI科技大本营(ID: rgznai100)【导读】最近,深度学习在自然语言处理领域(NLP)取得了很大的进步。随着诸如 Attention 和 Transformers 之类新发明的出现,BERT 和 XL…

Java的学习之路(1)
学过C语言之后,尝试接触Java. 借博文来记录自己学习的过程. Test01:利用循环,输出整数1-999之和 1 //2 //循环计算1到999的整数之和并输出3 //4 package demo;5 6 public class Main {7 8 public static void main(String[] args) {9 int su…

Swift - 使用addSubview()方法将StoryBoard中的视图加载进来
使用 Storyboard 我们可以很方便地搭建好各种复杂的页面,同时通过 segue 连接可以轻松实现页面的跳转。但除了segue,我们还可以使用纯代码的方式实现Storyboard界面的跳转。 比如:使用 presentViewController() 方法将当前页面视图切换成新视…

这项技术厉害了!让旅行者 2 号从星际空间发首批数据!
立即购票:https://dwz.cn/z1jHouwE物联网作为信息系统向物理世界的延伸,极大地拓展了人类认知和控制物理世界的能力,被称为继计算机和互联网之后的世界信息产业的第三次浪潮,正在深刻地改变着人类的生存环境和生活方式。据最新报道…

Ubuntu 14.04上使用CMake编译MXNet源码操作步骤(Python)
MXNet源码版本号为1.3.0,其它依赖库的版本号可参考:https://blog.csdn.net/fengbingchun/article/details/84997490 。 为了通过编译源码支持python接口,这里在 https://blog.csdn.net/fengbingchun/article/details/85162936 的基础上对bui…

近段时间学习html和CSS的一些细碎总结
1、边框圆角属性:border-radius,取值能够是 百分比 / 自己定义长度,不能够取负值。假设是圆,将高度和宽度设置相等,而且将border-radius设置为100% 2、IE6,IE7,IE8,opera,…

Swift:闭包
[objc] view plaincopy print?/* 闭包(Closures) * 闭包是自包含的功能代码块,可以在代码中使用或者用来作为参数传值。 * 在Swift中的闭包与C、OC中的blocks和其它编程语言(如Python)中的lambdas类似。 * 闭包…

Ubuntu下使用CMake编译OpenSSL源码操作步骤(C语言)
OpenSSL的版本为1.0.1g,在ubuntu下通过CMake仅编译c代码不包括汇编代码,脚本内容如下: build.sh内容: #! /bin/bashreal_path$(realpath $0) dir_namedirname "${real_path}" echo "real_path: ${real_path}, di…

从词袋到Transfomer,NLP十年突破史
作者 | Zelros AI译者 | 夕颜出品 | AI科技大本营(ID:rgznai100)【导读】通过 Kaggle 竞赛视角,观察 NLP 十年发展简史。根据上下文(这里指句子的最后一个词),“它”可以指“动物”或“街道”。图源 | Goog…

《千只鹤》--[日]川端康成
《千只鹤》,作者是川端康成 故事梗概: 三谷菊治的父亲是个著名的茶道师匠,他生前与一位叫栗本近子的女人有染,后来又 钟情于太田夫人,而且由于后者而疏远了前者,但前者仍出入于三谷家。在三谷先生去 世四年…
所有接口添加plist文件的写法 swift
第一步 建立plist文件 interface JMTConfigUtils : NSObject /** * 获取配置文件中友盟key * * return NSString */ - (NSString *)umengKey; /** * 微信AppId * * return NSString */ - (NSString *)wxAppId; /** * 微信appSecret * * return NSString */ - (NSString…

提高C++性能的编程技术笔记:标准模板库+测试代码
标准模板库(Standard Template Library, STL)是容器和通用算法的强效组合。 渐近复杂度:算法的渐近复杂度是对算法性能的近似估计。它是算法集到特定性能标准集的映射。如果需要对包含N个整数的向量的所有元素求和,那么每个整数必须且仅需检查一次&…