新型神经网络芯片会对科技领域乃至整个世界产生什么巨大影响
一、与传统计算机的区别1946年美籍匈牙利科学家冯·诺依曼提出存储程序原理,把程序本身当作数据来对待。此后的半个多世纪以来,计算机的发展取得了巨大的进步,但“冯·诺依曼架构”中信息存储器和处理器的设计一直沿用至今,连接存储器和处理器的信息传递通道仍然通过总线来实现。随着处理的数据量海量地增长,总线有限的数据传输速率被称为“冯·诺依曼瓶颈”——尤其是移动互联网、社交网络、物联网、云计算、高通量测序等的兴起,使得‘冯·诺依曼瓶颈’日益突出,而计算机的自我纠错能力缺失的局限性也已成为发展障碍。
结构上的缺陷也导致功能上的局限。例如,从效率上看,计算机运算的功耗较高——尽管人脑处理的信息量不比计算机少,但显然而功耗低得多。为此,学习更多层的神经网络,让计算机能够更好地模拟人脑功能,成为上世纪后期以来研究的热点。
在这些研究中,核心的研究是“冯·诺依曼架构”与“人脑架构”的本质结构区别——与计算机相比,人脑的信息存储和处理,通过突触这一基本单元来实现,因而没有明显的界限。正是人脑中的千万亿个突触的可塑性——各种因素和各种条件经过一定的时间作用后引起的神经变化(可变性、可修饰性等),使得人脑的记忆和学习功能得以实现。
大脑有而计算机没有的三个特性:低功耗(人脑的能耗仅约20瓦,而目前用来尝试模拟人脑的超级计算机需要消耗数兆瓦的能量);容错性(坏掉一个晶体管就能毁掉一块微处理器,但是大脑的神经元每时每刻都在死亡);还有不需为其编制程序(大脑在与外界互动的同时也会进行学习和改变,而不是遵循预设算法的固定路径和分支运行。)
这段描述可以说是“电”脑的最终理想了吧。
注:最早的电脑也是模拟电路实现的,之后发展成现在的只有0、1的数字CPU。
今天的计算机用的都是所谓的冯诺依曼结构,在一个中央处理器和记忆芯片之间以线性计算序列来回传输数据。这种方式在处理数字和执行精确撰写的程序时非常好用,但在处理图片或声音并理解它们的意义时效果不佳。
有件事很说明问题:2012年,谷歌展示了它的人工智能软件在未被告知猫是什么东西的情况下,可以学会识别视频中的猫,而完成这个任务用到了1.6万台处理器。
要继续改善这类处理器的性能,生产商得在其中配备更多更快的晶体管、硅存储缓存和数据通路,但所有这些组件产生的热量限制了芯片的运作速度,尤其在电力有限的移动设备中。这可能会阻碍人们开发出有效处理图片、声音和其他感官信息的设备,以及将其应用于面部识别、机器人,或者交通设备航运等任务中。
神经形态芯片尝试在硅片中模仿人脑以大规模的平行方式处理信息:几十亿神经元和千万亿个突触对视觉和声音刺激物这类感官输入做出反应。
作为对图像、声音等内容的反应,这些神经元也会改变它们相互间连接的方式,我们把这个过程叫做学习。神经形态芯片纳入了受人脑启发的“神经网路”模式,因此能做同样的事。
人工智能的顶尖思想家杰夫·霍金斯(Jeff Hawkins)说,在传统处理器上用专门的软件尝试模拟人脑(谷歌在猫实验中所做的),以此作为不断提升的智能基础,这太过低效了。
霍金斯创造了掌上电脑(Palm Pilot),后来又联合创办了Numenta公司,后者制造从人脑中获得启发的软件。“你不可能只在软件中建造它,”他说到人工智能,“你必须在硅片中建造它。”
现有的计算机计算,程序的执行是一行一行执行的,而神经网络计算机则有所不同。
现行的人工智能程式,基本上都是将大大小小的各种知识写成一句一句的陈述句,再灌进系统之中。当输入问题进去智能程式时,它就会搜寻本身的资料库,再选择出最佳或最近解。2011年时,IBM 有名的 Watson 智能电脑,便是使用这样的技术,在美国的电视益智节目中打败的人类的最强卫冕者。
(神经网络计算机)以这种异步信号发送(因没有能使其同步的中央时钟而得名)处理数据的速度比同步信号发送更快,以为没有时间浪费在等待时钟发出信号上。异步信号发送消耗的能量也更少,这样便满足了迈耶博士理想的计算机的第一个特点。如果有一个处理器坏了,系统会从另一路线绕过它,这样便满足了迈耶博士理想的计算机的第二个特点。正是由于为异步信号发送编程并不容易,所以大多数计算机工程师都无视于此。然而其作为一种模仿大脑的方式堪称完美。功耗方面:
硬件方面,近年来主要是通过对大型神经网络进行仿真,如 Google 的深度学习系统Google Brain,微软的Adam等。但是这些网络需要大量传统计算机的集群。比方说 Google Brain 就采用了 1000 台各带 16 核处理器的计算机,这种架构尽管展现出了相当的能力,但是能耗依然巨大。而 IBM 则是在芯片上的模仿。4096 个内核,100 万个“神经元”、2.56 亿个“突触”集成在直径只有几厘米的方寸(是 2011 年原型大小的 1/16)之间,而且能耗只有不到 70 毫瓦。
IBM 研究小组曾经利用做过 DARPA 的NeoVision2 Tower数据集做过演示。它能够实时识别出用 30 帧每秒的正常速度拍摄自斯坦福大学胡佛塔的十字路口视频中的人、自行车、公交车、卡车等,准确率达到了 80%。相比之下,一台笔记本编程完成同样的任务用时要慢 100 倍,能耗却是 IBM 芯片的 1 万倍。
Ref: A million spiking-neuron integrated circuit with a scalable communication network and interface. Paul A. Merolla et al. Science 345, 668 (2014); DOI: 10.1126/science.1254642
因为需要拥有极多数据的Database 来做training以及需要极强大的计算能力来做prediction,现有的一些Deep learning如Andrew Ng的Google Brain、Apple的Siri等都需要连接网络到云端的服务器。
二、争议:
虽然深度学习已经被应用到尖端科学研究及日常生活当中,而 Google 已经实际搭载在核心的搜寻功能之中。但其他知名的人工智能实验室,对於深度学习技术的反应并不一致。例如艾伦人工智慧中心的执行长 Oren Etzioni,就没有考虑将深度学习纳入当前开发中的人工智慧系统中。该机构目前的研究是以小学程度的科学知识为目标,希望能开发出光是看学校的教科书,就能够轻松应付各类考试的智能程式。Oren Etzioni 以飞机为例,他表示,最成功的飞机设计都不是来自於模仿鸟的结构,所以脑神经的类比并无法保证人工智能的实现,因此他们暂不考虑借用深度学习技术来开发这个系统。
但是从短期来看,情况也许并没有那么乐观。
首先芯片的编程仍然是个大问题。芯片的编程要考虑选择哪一个神经元来连接,以及神经元之间相互影响的程度。比方说,为了识别上述视频中的汽车,编程人员首先要对芯片的仿真版进行必要的设置,然后再传给实际的芯片。这种芯片需要颠覆以往传统的编程思想,尽管 IBM 去年已经发布了一套工具,但是目前编程仍非常困难,IBM 团队正在编制令该过程简单一点的开发库。(当然,如果我们回顾过去编程语言从汇编一路走来的历史,这一点也许不会成为问题。)
其次,在部分专业人士看来,这种芯片的能力仍有待证实。
再者,真正的认知计算应该能从经验中学习,寻找关联,提出假设,记忆,并基于结果学习,而IBM 的演示里所有学习(training)都是在线下的冯诺依曼计算机上进行的。不过目前大多数的机器学习都是离线进行的,因为学习经常需要对算法进行调整,而 IBM 的硬件并不具备调整的灵活性,不擅长做这件事情。
三、人造神经元工作原理及电路实现
人工神经网络
人工神经网络(artificial neural network,缩写ANN),简称神经网络(neural network,缩写NN),是一种模仿生物神经网络的结构和功能的数学模型或计算模型。
神经网络是一种运算模型,由大量的节点(或称“神经元”,或“单元”)和之间相互联接构成。每个节点代表一种特定的输出函数,称为激励函数(activation function)。每两个节点间的连接都代表一个对于通过该连接信号的加权值,称之为权重(weight),这相当于人工神经网络的记忆。网络的输出则依网络的连接方式,权重值和激励函数的不同而不同。而网络自身通常都是对自然界某种算法或者函数的逼近,也可能是对一种逻辑策略的表达。Ref:Wikipedia: 人工神经网络
电路原理
神经递质的分泌反过来又是对动作电位刺激的反应。然而神经元在接收到这些神经递质信号中的一个后便不会再继续发出动作电位。当然,它们会逐渐累加至一个极限值。在神经元接受了一定数量的信号并超过极限值后----从根本上讲是一个模拟进程----然后它们会发出一个动作电位,并自行重置。Spikey的人造神经元也是这么做的,当它们每次受到激发时都会在电容中累积电荷,直至达到限值,电容再进行放电。具体电路结构和分析之后有机会的话再更新。
现阶段硬件的实现方式有数电(IBM、Qualcomm)、模电、数模混合(学界)、GPUs等等,还有各种不是基于硅半导体制程制作的神经元等的device方面的研究。
四、历史
Neuromorphic engineering由老祖宗Carver Mead提出
卡福·米德是加州理工学院的一名工程师,被公认为神经形态计算机之父(当然还发明了“神经形态学”这个词)
神经形态芯片的创意可以追溯到几十年前。加州理工大学的退休教授、集成电路设计的传奇人物卡弗·米德(Carver Mead)在1990年发表的一篇论文中首次提出了这个名称。
这篇论文介绍了模拟芯片如何能够模仿脑部神经元和突触的电活动。所谓模拟芯片,其输出是变化的,就像真实世界中发生的现象,这和数字芯片二进制、非开即关的性质不同。
后来这(大脑研究)成为我毕生的工作,我觉得我可以有所贡献,我尝试离开计算机行业而专注大脑研究。首先我去了MIT的人工智能研究院,我想,我也想设计和制作聪明的机器,但我的想法是先研究大脑怎么运作。而他们说,呃,你不需要这样做,我们只需要计算机编程。而我说,不,你应该先研究大脑。他们说,呃,你错了。而我说,不,你们错了。最后我没被录取。但我真的有点失望,那时候年轻,但我再尝试。几年后再加州的Berkley,这次我尝试去学习生物方面的研究。我开始攻读生物物理博士课程。我在学习大脑了,而我想学理论。而他们说,不,你不可以学大脑的理论,这是不可以的,你不会拿到研究经费,而作为研究生,没有经费是不可以的。我的天。
八卦:老师说neural network这个方向每20年火一次,之前有很长一段时间的沉寂期,甚至因为理论的不完善一度被认为是江湖术士的小把戏,申请研究经费都需要改课题名称才能成功。(这段为小弟的道听途说,请大家看过就忘。后来看相关的资料发现,这段历史可能与2006年Geoffrey E. Hinton提出深度学习的概念这一革命性工作改变了之前的状况有关。)
五、针对IBM这次的工作:
关于 SyNAPSE
美国国防部先进研究项目局的研究项目,由两个大的group组成:IBM team和HRL Team。
Synapse在英文中是突触的意思,而SyNAPSE是Systems of Neuromorphic Adaptive Plastic Scalable Electronics的简称。
Cognitive computing: Neurosynaptic chips
IBM produces first working chips modeled on the human brain
另一个SyNAPSE项目是由IBM阿尔马登实验室(位于圣何塞)的达尔门德拉·穆德哈负责。与四所美国大学(哥伦比亚大学,康奈尔大学,加州大学默塞德分校以及威斯康辛-麦迪逊大学)合作,穆德哈博士及其团队制造了一台神经形态学计算机的原型机,拥有256个“积分触发式”神经元,之所以这么叫是因为这些神经元将自己的输入累加(即积分)直至达到阈值,然后发出一个信号后再自行重置。它们在这一点上与Spikey中的神经元类似,但是电子方面的细节却有所不同,因为它们是由一个数字储存器而非许多电容来记录输入信号的。
Ref: A million spiking-neuron integrated circuit with a scalable communication network and interface. Paul A. Merolla et al. Science 345, 668 (2014); DOI: 10.1126/science.1254642