1.3 神经形态硬件的需求
基于硬件的神经网络或神经形态硬件的开发与其相应的软件同时开始发展。在一段时间内(20世纪80年代末至20世纪90年代初),人们引入了许多神经形态芯片和硬件系统[15-18]。后来,人们在发现由于突触和神经元的集成水平不足而使神经网络的性能难以与数字计算机保持同步之后,神经网络的硬件研究退居二线,而利用了规模化和摩尔定律的布尔计算的发展则突飞猛进。大约在2006年,当深度学习领域取得突破时,人们对神经网络的硬件实现的研究兴趣随之重燃了。由于摩尔定律的限制,传统的基于冯·诺依曼(von Neumann)架构的计算技术的发展变慢了,因此人们开始探索在实际应用中部署神经形态计算的可能性探索。
如图1.2所示,电子计算设备已经发展了几十年。从图中可以看出两个趋势。第一个趋势是计算设备正在变得越来越小,越来越便宜。实际上,受摩尔定律的驱动,消费电子产品的尺寸和价格正在不断下降。第二个趋势是计算设备处理的信息的种类和数量都在增加。如今,我们的智能手机和可穿戴设备中有各种各样的传感器,例如运动、温度和压力传感器,它们会不断收集数据以做进一步处理。总的来看,我们正在经历从传统的基于规则的计算到数据驱动的计算的过渡。
图1.2 计算设备的发展历史。从早期占据整个实验室的大型计算机到当今无处不在的物联网设备,计算机设备的尺寸在过去几十年中一直在缩小,这在一定程度上是由于摩尔定律的驱动。另外,设备的数量也在持续上涨。因此,由于便携性的提高,越来越多的设备由电池供电
越来越多的低功耗传感器设备和平台被部署到我们的日常生活中,大量数据不断地从这些无处不在的传感器中被收集。我们经常遇到的一个难题是,尽管收集到的数据的量很大,但我们缺少能力去充分利用收集到的信息。我们迫切需要为这些传感器平台提供内置的智能功能,以便它们可以更智能地感知、组织和利用数据。幸运的是,深度学习已成为解决此问题的有力工具[8,19-24]。实际上,机器学习,尤其是深度学习,近来已成为一项热门技术,它对商业世界的运作方式产生了巨大影响。随着越来越多的初创公司和大公司在这一领域进行研究,预计在不久的将来,人工智能(AI)和机器学习的使用将以更快的速度增长。
尽管深度神经网络在小型的应用中取得了成功,但只有在系统中可以集成数百万甚至数十亿个突触的情况下,深度神经网络才能在现实生活中被广泛使用。即使使用高度优化的硬件(例如图形处理单元(GPU)),并且矩阵求解在很大程度上已经并行化[20],训练如此巨大的神经网络通常也要花费数周时间并消耗大量能量。在不久的将来,我们将有越来越多的用于健康和环境监测的超低功耗传感器系统[25-27]、主要依靠从环境中获取能量的移动微型机器人[28-31],以及超过100亿个物联网(IoT)设备[32]。对于所有这些将功耗作为重要考虑因素的应用而言,耗电的GPU和将原始数据发送到进一步分析数据的云计算机都不是可行的选择。为了解决这一难题,产业界和学术界都在低功耗深度学习加速器设计开发方面持续努力。
Google建立了一种定制的专用集成电路(ASIC),称为张量处理单元(TPU),以加速其数据中心的深度学习应用程序[33],而Microsoft则在其深度学习数据中心使用了现场可编程门阵列(FPGA)。与更传统的基于GPU的方法相比,使用FPGA实现深度学习可提供一种经济高效的节能解决方案。Intel则是发布了自己的Nervana芯片。该芯片是Intel开发的神经网络处理器,旨在彻底改变许多不同领域的AI计算。除了工业界的努力之外,近年来学术界也发表了越来越多的论文,讨论了用于构建节能型ANN加速器的各种体系结构和设计技术。随着深度神经网络的日益普及,在不久的将来预计也会有越来越多的创新。
尽管数学计算本身十分简单,基于ANN的学习仍面临可扩展性和电源效率方面的挑战。为了解决这些问题,硬件领域越来越多的研究人员开始研究基于SNN的硬件加速器。这种趋势源于SNN具有许多独特的优势。SNN的事件触发本质可以带来非常省电的计算。基于脉冲的数据编码还有助于神经元之间的通信,从而提供良好的可扩展性。然而构建和利用基于脉冲的专用神经形态硬件仍处于早期阶段,在硬件变得有意义且有用之前,有许多困难需要解决。我们遇到的一个主要挑战是如何正确训练基于脉冲的神经网络。毕竟,是神经网络的学习能力才使得神经形态系统具有可以被许多应用程序利用的智能。