这个是不是未来发展方向之一?
Furber教授手捧人脑模型
Furber教授手持人脑模型和SpiNNaker系统电路板
SpiNNaker系统电路板原型
SpiNNaker处理器与内存
SpiNNaker处理器内核
内部采用双Die有线堆叠的方式提高集成度
SpiNNaker处理器内部结构图
SpiNNaker 2D网格互联结构图
大量的SpiNNaker处理器通过以太网连接异步互联
曼彻斯特大学正在从台湾得到最多一百万个特制的ARM处理器核心,将在名为“U.K. Chips”(英国芯片)的研究项目中用于建造一个大规模并行计算机“SpiNNaker”(Spiking Neural Network Architecture/尖峰神经网络架构),试图模拟人类大脑的工作方式。
SpiNNaker是曼彻斯特、南安普顿、剑桥、谢菲尔德等地多所大学和企业机构联合发起的项目,并得到了500万英镑(人民币近5000万元)的政府投资。负责领衔的是曼彻斯特大学教授Steve Furber,从事人脑功能与架构研究很多年,同时也是ARM处理器核心鼻祖Acorn RISC Machine的联合设计师之一。
在这一项目2005年获得批准之后,ARM公司也立即投入了大力支持,向科研团队提供了处理器和物理IP。
人脑中有大约1000亿个神经元和多达1000万亿个连接,即使是一百万颗处理器也只能模拟人脑的1%。神经元彼此通过模拟电子尖峰脉冲的方式传递信息,SpiNNaker则利用描述数据包的方式模拟,并建立虚拟神经元。使用封包的电子数据意味着SpiNNaker能够以更少的物理连接像人脑那样快速传递尖峰脉冲。
我们知道,几乎所有现代计算机都拥有一个中央计时器,负责协调同步所有的三极管、门电路和其它所有CPU零部件,但是大脑却没有这样的计时器,SpiNNaker系统也同样没有。
这就意味着,信号的发出和接收不会经过任何时间同步,这些信号将会相互干扰,输出结果也会随着数百万微小的随机变化因素而发生改变。这听起来似乎会造成混乱,对于数学计算等对精度要求很高的任务来说也确实如此,但是对于那些模糊运算任务,比如你何时该松开手以便丢出一个球,或者用哪个词来作为一句句子的结尾,这一系统就能从容应付,毕竟大脑在处理这类任务时不会被要求要将计算结果精确到小数点后10位,人脑更像是一个混沌系统。
Furber的团队早在2009年就设计了一种测试芯片,而最新的方案每个物理Die上都整合了多达18个ARM处理器核心和一个用于路由节点互联的通信层,以及55个32KB SRAM内存块,与每颗处理器相伴的则是是由美光提供的1Gb DDR SDRAM内存,频率166MHz。这种处理器采用联电130nm CMOS工艺制造,300-BGA封装,尺寸19×19毫米,约有1亿个晶体管。
Furber说:“我们正在进行初期模拟试验,会在接下来的18个月内逐渐扩大规模。……我们知道人脑这个信息处理系统是如何工作的,也根本不需要。希望我们的机器能在这一道路上取得重大进步。”
Furber的团队计划在2013年年底之前完成所有的工作。
不一定啊,如果人工智能真的能搞出来,那么不只是机器人大脑芯片的需求,高速传感器等芯片的大量需求也会极大促进芯片业的发展
能搞出来就不是忽悠了,但是他肯定搞不出来。
初期可以用一个超级计算机作为原型机,不需要多少钱的,
自己搭一个这样的系统工作量很大,效果不一定好
这是未来的趋势,但是这个家伙的做法不是趋势。
神经元网络是未来微电子发展的一大趋势,在算法层面已经相当完善,但是由于科学家可以利用的单元电子元件只有电阻、电容和电感(指的是等效元器件),由于缺少第四个至关重要的元件,所有神经元网络智能停留在原理上。
这第四个至关重要的元件,就是忆阻器,或者叫阻变存储器,memoristor。目前研究很热,并且可以制备,但是重复性不可控,可靠性不高,基理机制尚不清晰。
memoristor一旦突破,变得可以大规模工业化应用的话,那么以后一片wafer就是一个大脑皮层,那是相当的恐怖的~~~~
有两点不是特别认同:
算法层面上并不完善: 目前并没有非常好的验证过的大规模神经网络算法,虽然有些实验室有提出一些基于SNN的PR算法或者motor control算法,也有一些high level的像HMAX、neocognition算法,还有像google前段时间发表的那个提取high level feature的算法等等,但是这些算法没有哪个可以保证规模扩大后效果就一定能够达到可以匹配human cognitive ability的程度。
memristor并不是瓶颈: 实现突触权值的存储方式有很多,crossbar memristor array只是其中的一种可能效率比较高,功耗比较低的方式。目前公司里头HP比较希望用这种方式来实现neuromorphic system,因为memristor是他们的实验室最早实现的;像IBM设计的neurmorphic chip还是用传统的SRAM cell,只不过加了transposable特性来实现突触权值的存储;Intel则是试图用spin device的DWM强度来实现突触强度的存储;还有一些论文有提出用PCM之类的存储单元来做。
neuromorphic system虽然是未来的趋势,也有一些公司像IBM、intel、HP、Qualcomm、HRL和一些研究机构像Stanford的K Boahen的实验室、Caltech以前Carve Mead带头的实验室、埃德尔曼带领的NSI,Berkeley、Cornell、Wisconsin、EPFL、UZH大学的一些实验室在做,有做出一些原型的芯片和小系统,也有一些经费比较多的大项目(DARPA的SyNAPSE,EU FET的HBP等)支撑这个方向的研究,但还都没有哪个团队做出过千万个神经元规模的系统,更不用说接近于大脑皮层规模的系统(十亿到千亿量级),大规模系统中AER通信机制会出现哪些新问题,怎么处理,采用什么样的learning rule,怎么配置大规模系统结构,这些都是未知数。。。所以说这一块还处于萌芽期,还非常不成熟,需要多长时间能够达到商业应用更是未知数。。。
不过有一点可以确定的是像Fuber的这种做法确实不是趋势,一般研究团队的做法都是专门设计底层芯片组件,就算HP这样顽固不化的公司都会在GPU和CPU群的基础上加入memristor阵列来实现neuromorphic system,还真没有像Fuber这样完全用传统的芯片架构搭出一个大系统的,甚至有点怀疑他们的系统里头的AER吞吐率和时间偏差是不是真得能达到跑算法应用的要求。。。估计这老前辈看到别人搞心痒痒,刚好又跟ARM熟,ARM也想借着这个事炒一炒,两边就一拍即合,搞出这么个项目来。。。
总之这一块的研究现在还很不成熟,不过如果真得有一天这一班人搭出一个大系统,然后找到了一些能在这些系统上运行效果非常好的neuromorphic算法,那就真要逆天了。。。。