脉冲神经网络(SNNs)作为一类生物启发的网络,通过利用稀疏的、事件驱动的信号来实现低功耗计算,同时本质上模拟时间动态。这些特点与普适计算系统的需求高度契合,普适计算系统通常在资源受限的设备上运行,同时持续监测和处理时间序列传感器数据。尽管脉冲神经网络具有独特且有前景的特点,但它们在普适计算社区中受到了有限的关注,仍然处于未充分探索(或至少未广泛采用)阶段。为了解决这一空白,本文首先介绍了脉冲神经网络的核心组件,包括模型和训练机制。接着,我们系统地回顾了76篇基于SNN的研究,这些研究主要集中在时间序列数据分析,并将其归类为六个主要应用领域。在每个领域中,我们总结了相关的研究成果和后续进展,提炼了核心见解,并为研究人员和实践者提供了关键的启示。为了促进实践中的实验,我们还提供了当前软件框架和类脑硬件平台的全面评审,详细介绍了它们的能力和规格,并根据特定的应用需求提出了开发工具选择的定制建议。最后,我们识别了每个应用领域中的主要挑战,并提出了需要在普适计算社区中进一步探索的未来研究方向。我们的综述强调了脉冲神经网络在促进能源高效的普适感知中所具有的变革潜力,同时也为有意进入这一新兴领域的研究人员提供了必要的介绍。
1 引言
时间序列传感器数据是许多普适计算和机器人应用的基础,涵盖了从使用移动设备和可穿戴设备进行生理健康监测到机器人在动态环境中导航等多个领域。这些应用处理连续的传感器信息流,以做出实时决策【26, 31, 114, 124】,其中的挑战在于平衡推理准确性与资源效率。例如,用于早期检测心血管疾病的可穿戴设备必须处理高频数据流,同时保持电池寿命【179】。类似地,在执行搜救任务的自主机器人需要分析动态的多模态输入,如激光雷达、相机和惯性传感器,同时确保快速响应时间和能源节约【172】。这些场景突显了对于数据处理技术的关键需求,即能够处理流式传感器数据,且在确保准确性的同时具有计算效率,从而能够在资源受限的普适设备上持续执行。 近年来,机器学习模型,特别是像递归神经网络(RNNs)、长短时记忆网络(LSTMs)、卷积神经网络(CNNs)和变换器(Transformers)这样的深度学习架构,在从时间序列数据中提取有意义的模式方面展示了巨大的潜力,有效减轻了来自上下文噪声的干扰【142】。然而,这些模型通常计算密集,可能不适合在资源受限设备上进行实时推理。为此,研究人员探索了各种策略,以适应深度学习模型在普适系统中资源有限的特点,包括模型压缩技术(如剪枝【89, 102, 119, 128, 143】、量化【88, 162, 210】和知识蒸馏【14, 91, 162】)、轻量级架构【94, 193, 235】和低功耗优化【110, 155, 177】。 尽管有这些努力,传统的人工神经网络(ANNs)在有效监控普适计算环境中的上下文方面仍然面临重大挑战。这些挑战主要来源于两个关键因素:(1)离散信息处理——人工神经网络以离散块的方式处理信息,通常会在特定时间段内聚合传感器数据(称为“检测窗口”),并独立处理每个块,而不考虑跨块的时间依赖关系。为了避免漏检,连续窗口通常会重叠,从而导致相同数据被多次处理,增加了计算和能源开销。(2)连续值表示——人工神经网络通常处理连续值数据,通常以浮动点数的形式表示。这种表示方法,加上大量的模型参数和激活函数,会导致显著的能源消耗和内存开销。 相比之下,脉冲神经网络(SNNs)提供了一种根本不同的、生物启发的神经计算模型,能够帮助克服这些挑战【82】。具体来说,SNNs通过使用离散脉冲进行通信和计算,模拟人脑中神经元的行为。与连续值表示不同,脉冲是轻量级的,仅需一个位的信息(1 或 0)。此外,SNN神经元随着时间积累信息,仅在必要时才生成脉冲,从而减少了计算负载和能源消耗。例如,如图1所示,我们实验发现,使用SNN进行跌倒检测(在类脑硬件上实现)时的功耗显著低于使用人工神经网络(在传统微控制器(MCUs)上实现)的功耗(减少了71倍)。这种事件驱动的处理范式与传感器数据的时间性和动态特征高度契合,仅需处理发生在不规则时刻的显著事件或变化。此外,SNNs可以自然地编码时间信息,使其特别适合涉及时间依赖数据和实时数据流的任务【136】。 近年来,SNNs因其卓越的能效和实时处理能力,受到了显著关注,并被视为资源受限和时间敏感应用的有前景的新方向。例如,近期的研究集中于:(a)改进SNN模型训练和架构设计【50, 129】;(b)设计和实现旨在以最小功耗执行不同规模SNN模型的能效类脑硬件【137】;(c)在各种可穿戴和移动应用中应用SNN模型,如手势识别【174】和生理监测【21】,以支持资源受限的低端设备上的持续实时操作。在这些进展的基础上,几篇文章系统性地回顾了SNN的广泛研究领域(总结见表1,按全面性组织),面向机器学习社区。具体来说,许多综述文章提供了SNN组件的全面基础概述,如神经元模型【65, 173】、编码方案【65, 166】和训练方法【35, 49, 65, 154, 160, 166, 173, 199, 217】,为有兴趣从事SNN开发的研究人员提供了通用的理论介绍。一些综述还对SNN的实现所需的软件【173, 217】和硬件【35, 166, 173】平台进行了分类。然而,由于SNN研究的快速发展,一些讨论的平台现在已经过时或不再维护。与此同时,最近的硬件和软件发展提供了更好的支持,适用于实时、低功耗的SNN应用,但尚未得到全面回顾。此外,这些综述中的大多数主要关注图像或视觉数据,只有少数(如【166, 173】)简要涉及时间序列数据。尽管SNNs因其固有的建模和利用时间动态的能力,特别适用于时间序列数据,但现有的综述中没有强烈关注时间序列作为一种模态,这一点在普适计算的背景下尤为局限,因为时间序列传感器数据是核心模态。 因此,在本综述中,我们旨在将SNNs引入到移动感知和普适计算社区,特别关注时间序列数据。对于该社区来说,时间序列传感器数据的高效处理至关重要,而SNNs固有的时间动态和能效特性将使其受益匪浅。为了填补现有SNN综述在普适应用方面的不足,我们回顾了76篇同行评审的文章,涵盖了计算神经学、上下文感知和类脑硬件等多个领域。我们根据与实际应用案例的相关性对这些文献进行了分类,并分析了基于SNN的处理如何与这些需求相契合。接着,我们提供了针对时间序列理解的SNN核心组件(如神经元模型、编码方案和训练方法)的定制概述。 此外,我们为有兴趣进入该领域的研究人员提供了可操作的指导和资源,包括对最新软件库和硬件平台的全面回顾。我们根据它们提供的支持类型(如仿真/开发)以及与特定硬件平台的兼容性,对近期的软件工具链进行了分类回顾。在硬件方面,我们根据平台对网络规模、低功耗操作和当前维护支持的支持情况,对可用平台进行了分类,并对最前沿的类脑芯片组进行了深入分析。最后,我们将应用的分类法扩展到一个前瞻性的视角,提出了普适计算社区未来的研究方向和机会。 本文结构如下:第2节介绍了文献综述的方法论,即列出和选择出版物的方法。第3节介绍了SNN的基础知识,包括与时间序列传感器数据相关的神经元模型、编码技术和训练策略。第4节展示了基于时间序列传感器信号的SNN应用的分类法,重点突出当前趋势和新兴机会。第5节综述了SNN开发的软件和硬件平台的最新进展,重点关注适用于资源受限环境的工具。最后,第6节讨论了SNN在普适感知系统中的未来潜力,概述了关键挑战和有前景的研究方向。