yuyi
混合ANN-SNN架构:用于低功耗和低延迟的视觉感知 🚀
Asude Aydin, Mathias Gehrig, Daniel Gehrig, Davide Scaramuzza
机器人与感知小组,苏黎世大学,瑞士
摘要 📝
脉冲神经网络(SNNs)通过异步和稀疏处理,为边缘设备带来低功耗和低延迟推理。然而,SNNs在生成与经典人工神经网络(ANNs)相媲美的预测时,依赖于长时间的瞬态状态。这些状态在长时间后才收敛,并在没有输入数据时迅速衰减,导致更高的延迟、功耗和较低的准确性。我们通过使用辅助ANN以低频率初始化SNN状态来解决这个问题。SNN使用该状态生成高时间分辨率的预测,直到下一次初始化阶段。因此,我们的混合ANN-SNN模型结合了两者的优点:由于ANN的存在,它不受长时间状态瞬态和状态衰减的影响;由于SNN的存在,它能生成高时间分辨率、低延迟和低功耗的预测。我们展示了对于基于事件的2D和3D人体姿态估计任务,我们的方法在与完全ANN对应物以相同的推理速率运行时,功耗降低了88%,性能仅下降了4%。此外,与SNN相比,我们的方法实现了74%的更低误差。代码可在此处获取。
引言 📈
近年的深度学习突破加速了计算机视觉任务的进展,但也带来了更高的功耗需求,限制了它们在功率受限场景中的应用。低功耗计算对于边缘设备应用至关重要,可将物联网设备的电池寿命从一天延长到一年,或显著增加自主机器人的任务时间。SNNs通过处理稀疏脉冲序列,比ANNS效率高出几个数量级,并且以异步方式运行,实现快速推理和低功耗。
然而,SNNs在性能上受到限制作,因为它们依赖于需要时间收敛的膜电位,导致高延迟和功耗。我们提出了一种混合ANN-SNN架构,其中ANN定期初始化SNN状态,使SNN能够生成准确的低延迟预测,同时保持低功耗。我们的方法在基于事件的2D和3D人体姿态估计任务中展示了显著的改进。
相关工作 🔍
混合ANN-SNN架构
混合ANN-SNN架构的研究探索了多种结合两者的策略。一些方法使用ANN处理累积的SNN脉冲序列,但需要完整的ANN前向传递,导致高功耗和延迟。我们的方法通过ANN输出初始化SNN状态,利用SNN的低功耗特性,实现了异步、事件驱动的处理。
人体姿态估计 (HPE)
HPE任务从单个或多个相机视图重建3D姿态。传统方法预测2D姿态后进行三角化,或直接回归3D姿态。事件相机因其过滤时间冗余信息的能力,开始在HPE中受到关注。我们的混合模型利用ANN和SNN进行低功耗的姿态估计,展示了其在准确性和能效方面的优越性。
方法论 🔧
概述
我们的方法采用慢速-快速双分支设计,交替进行昂贵但低频的ANN阶段和频繁且成本效益高的SNN阶段。ANN初始化SNN状态,使其能够进行高频率的低延迟更新预测。密集表示(如图像或2D事件直方图)输入到ANN,预测初始状态和输出,然后SNN处理事件流,持续更新预测。
脉冲神经网络 (SNN)
SNNs将单个神经元建模为动态系统,通过整合输入脉冲更新膜电位。当膜电位超过阈值时,生成脉冲并传输到下一层。我们使用泄漏积分与发放(LIF)神经元模型,并通过ANN输出初始化膜电位,显著减少延迟,提高性能。
离散化与训练
SNNs通过前向欧拉近似离散化为循环网络。训练过程中使用时间反向传播(BPTT)和替代梯度处理不可微的脉冲函数。我们首先训练ANN,然后冻结其权重,训练SNN,以优化能效和预测准确性。
实验 🧪
设置
我们在两个数据集上评估模型:DHP19(真实事件数据)和Event-Human3.6M(合成事件数据)。指标包括平均每个关节位置误差(MPJPE)和乘加操作(MAC)与加法操作(AC)数量来衡量能耗。
消融研究
我们分析了状态和输出初始化对性能的影响。结果显示,通过ANN输出初始化SNN状态,显著减少误差和功耗,同时结合两种初始化方法进一步提高准确性。
与最先进技术的比较
我们的混合模型在2D和3D人体姿态估计任务中,在准确性和能效方面超越了现有方法。它在保持竞争性准确性的同时,显著减少了功耗,展示了ANN和SNN集成的优越性。
结论 🏁
我们提出了一种混合ANN-SNN架构,通过ANN初始化SNN状态,实现了快速、准确和低功耗的推理。该方法减少了高达88%的能耗,准确性仅略低于标准ANN。在人体姿态估计任务中,我们的方法展示了显著的改进。我们期望这项研究将激发神经形态工程与传统深度学习交叉领域的更多研究。
致谢 🙏
感谢瑞士国家科学基金会(SNSF)通过国家研究中心(NCCR)机器人技术项目和欧洲研究委员会(ERC)资助的支持。
更多详细信息和附加分析,请参阅补充材料和代码。