一种用于低功耗片上学习的混合随机二进制计算批量归一化引擎,适用于脉冲神经网络

《IEEE Transactions on Very Large Scale Integration (VLSI) Systems》:A Hybrid Stochastic-Binary Computing Batch Normalization Engine for Low-Power On-Chip Learning Spiking Neural Networks

【字体: 时间:2025年12月01日 来源:IEEE Transactions on Very Large Scale Integration (VLSI) Systems 3.1

编辑推荐:

  脉冲神经网络中批归一化的混合随机二进制计算引擎设计,提出HBN架构通过融合二进制与随机计算范式,在保持算法精度前提下将浮点运算量减少98.7%,延迟优化98.5%,功耗降低63.7%,FPGA实现验证显示LUT利用率降低74.9%,FF减少83.6%。

  

摘要:

批量归一化(Batch Normalization,BN)已被证明是加速深度学习中深度脉冲神经网络(deep spiking neural networks,SNNs)训练的关键组件。然而,传统的BN实现面临着过高的片外内存带宽需求和复杂的电路设计问题,这限制了其在SNNs片上训练中的应用。本文介绍了一种新型的混合随机二进制计算BN引擎(Hybrid Stochastic-Binary Computing BN Engine,HBN),它在计算效率和硬件资源利用之间取得了最佳平衡,从而实现了SNNs的高效片上学习。虽然传统的二进制模式BN引擎具有时间效率优势,但它们需要大量的硬件资源。相比之下,基于随机计算(Stochastic Computing,SC)的BN方法虽然减少了硬件开销,但引入了延迟问题,并且需要额外的随机数生成(Random Number Generation,RNG)电路。为了克服这些限制,我们提出了一种集成二进制计算和随机计算范式的混合架构。我们共同设计的方法有效平衡了计算延迟和硬件占用。这是通过一种无需舍入的SC乘法器与二进制电路映射的统一实现的,从而消除了延迟和RNG开销。在静态图像数据集和神经形态数据集上的广泛验证表明,HBN在保持算法精确度的同时,实现了前所未有的计算效率。仿真结果显示,与传统BN实现相比,HBN的浮点运算次数(FLOPs)减少了98.7%,延迟降低了98.5%,能耗减少了98.2%。在ZCU102平台上的FPGA实现展示了实际的硬件优势,包括查找表(Look-up Table,LUT)使用率降低了74.9%,触发器(Flip-flop,FF)数量减少了83.6%,块RAM(Block RAM,BRAM)分配减少了13.7%。值得注意的是,该设计与最先进的实现相比,功耗降低了63.7%...

引言

脉冲神经网络(SNNs)作为一种受大脑启发的计算模型,模拟了生物神经元的复杂时空动态。与传统的人工神经网络(Artificial Neural Networks,ANNs)不同,SNNs通过二进制脉冲信号进行通信,提供了更自然的神经过程,并在能效和时间信息处理方面具有潜在优势[1]。传统深度ANN和SNN之间的架构差异分别如图1(a)和(b)所示。SNNs通过基于离散脉冲的通信来捕获时间信息,而不同于连续值的ANNs。这种方法通过用简单的累加替代复杂的乘法操作,简化了卷积层和线性层的计算[2]、[3]。当与批量归一化(BN)结合使用时,SNNs能够实现更大的深度和性能[4]、[5]、[6]、[7]、[8]。

传统深度ANN和SNN之间的架构差异。(a) 传统深度ANN的架构。在传统深度ANN中,不同层之间传输连续值信号。(b) 深度SNN的架构。尽管SNNs主要使用基于脉冲的通信,但某些组件(如BN层)仍可能涉及连续值计算,这可能会消耗大量计算资源。

一、引言

脉冲神经网络(SNNs)作为一种受大脑启发的计算模型,模拟了生物神经元的复杂时空动态。与传统的人工神经网络(ANNs)不同,SNNs通过二进制脉冲信号进行通信,提供了更自然的神经过程,并在能效和时间信息处理方面具有潜在优势[1]。传统深度ANN和SNN之间的架构差异分别如图1(a)和(b)所示。SNNs通过基于离散脉冲的通信来捕获时间信息,而传统ANNs使用连续值信号。这种方法通过用简单的累加替代复杂的乘法操作,简化了卷积层和线性层的计算[2]、[3]。当与批量归一化(BN)结合使用时,SNNs能够实现更大的深度和性能[4]、[5]、[6]、[7]、[8]。

传统深度ANN和SNN之间的架构差异。(a) 传统深度ANN的架构。在传统深度ANN中,不同层之间传输连续值信号。(b) 深度SNN的架构。虽然SNNs主要使用基于脉冲的通信,但某些组件(如BN层)仍可能涉及连续值计算,这可能会消耗大量计算资源。

相关新闻
生物通微信公众号
微信
新浪微博
  • 搜索
  • 国际
  • 国内
  • 人物
  • 产业
  • 热点
  • 科普
  • 急聘职位
  • 高薪职位

知名企业招聘

热点排行

    今日动态 | 人才市场 | 新技术专栏 | 中国科学人 | 云展台 | BioHot | 云讲堂直播 | 会展中心 | 特价专栏 | 技术快讯 | 免费试用

    版权所有 生物通

    Copyright© eBiotrade.com, All Rights Reserved

    联系信箱:

    粤ICP备09063491号