「芯片大脑」——速度提高20倍,能耗降低200倍
生物学上脉冲神经网络(SNN)的性能在很大程度上取决于模型参数和神经动力学。
近日,阿卜杜拉国王科技大学(KAUST)的研究人员提出了一种提高生物SNN性能的参数优化方案和一个用于数字实现的并行FPGA(现场可编程门阵列)在线学习神经形态平台。与其他神经网络平台相比,该团队的「芯片大脑」速度提高了20倍以上,能耗降低了200倍。
该研究以题为「Toward the Optimal Design and FPGA Implementation of Spiking Neural Networks」的论文发表在《IEEE神经网络与学习系统汇刊》(IEEE Transactions on Neural Networks and Learning Systems)杂志上。

人工智能技术发展迅速,在高级自动化、数据挖掘和解释、医疗保健和市场营销等领域出现了大量新的应用。尽管人工神经网络(ANN)在各种应用中都非常成功,但由于密集的矩阵乘法和内存访问,其神经网络固有地需要大量的计算能力。
研究小组的博士生郭文哲(Wenzhe Guo)说:「ANN是一种抽象的数学模型,与真实的神经系统几乎没有相似之处,并且需要强大的计算能力。」
低成本、低能、高速

图示:SNN的结构(来源:论文)
SNN与生物神经系统的功能相似,广泛应用于图像分类、目标检测、导航和运动控制等领域。
可以将模拟大脑生物学的神经网络加载到微芯片上,以实现更快、更有效的人工智能。
「由于SNN模型非常复杂,我们面临的主要挑战是定制神经网络设置以获得最佳性能。」Guo说, 「然后,我们在考虑成本、速度和能耗之间的平衡的基础上,设计了最佳的硬件架构。」
「我们使用了标准的低成本FPGA(现场可编程门阵列)芯片,并实现了依赖于脉冲时间的可塑性模型,这是在我们的大脑中发现的一种生物学习规则。」Guo说。
KAUST的研究人员基于LIF模型构造SNN,研究了基于FPGA的SNN中用于模式分类的两种不同数值方法(欧拉方法(Euler)和三阶Runge-Kutta(RK3)方法)的性能,并全面比较了分类精度、资源利用、能耗和FPGA运行时间。
研究表明,基于用Euler方法和RK3方法求解LIF神经元方程,Euler方法占用的资源更少,耗能更少,延迟也更小。
此外,基于RK3方法的SNN在具有25个神经元内核的FPGA上实现。研究者通过比较使用Euler方法和RK3方法的实现之间的资源利用率、功率、运行时间和能耗。研究发现RK3方法使用更多的FF(触发器)和LUT(查找表)分别来存储中间变量、实现逻辑。因此,RK3方法会耗散更多的功率来运行网络。
RK3方法和Euler方法在FPGA上每个图像的实际训练运行时间分别为1.36 ms和2.59 ms。说明RK3方法在网络处理图像的速度要快得多。
总之,Euler方法适用于低成本的实现,为推理提供了一种节能的解决方案。RK3方法可以在实时应用中实现准确、快速、低能耗的信息处理,在实时在线训练中具有广阔的应用前景。

图示:用Euler法和RK3法求解LIF神经元方程的结果。(来源:论文)