本技术介绍了一种实现高性能和低延迟的深度脉冲神经网络(SNN)转换方法。该方法通过最小的时间步长将网络转换为对应的SNN,借鉴量化感知训练,引入QReL技术以优化训练过程,提升网络性能。
背景技术
近年来,脉冲神经网络(SNN)因其时空信息处理能力、低功耗等优点而引起了研究者的广泛关注,与传统的人工神经网络(ANN)在每个推理步骤中与层间的每个神经元进行通信不同,SNN只在特定神经元被触发时传递稀疏信号。SNN所具有的按需计算特性对低功耗硬件极为友好,这使其非常适合在神经拟态平台上应用,例如基于事件的相机与类脑芯片,这种专用的仿生系统可以显著降低内存的使用和能源消耗,这一特性对于包括物联网(IoT)、自主机器人系统以及自动驾驶车辆在内的众多应用领域而言,展现出了极大的吸引力。尽管具有很好的特性,但训练高性能的深度SNN仍然是一个具有挑战性的问题,因为脉冲事件的不可微性质,使其无法直接应用反向传播的方法。
一类方法通过基于速率的编码方法证明脉冲神经元和修正线性单元(ReLU)函数之间的关系,从而将ANN转换为SNN,基于速率的编码指的是利用通过SNN内每个神经元传输的脉冲序列的速率来衡量网络的输出,这类转换方法的目标一般是在SNN框架中保持人工神经网络的高性能。最近的工作研究了在编码过程中引入的误差,并提出了一种可感知误差的神经网络训练方法,以获得更好的SNN性能,但是这仅仅考虑了舍入带来的误差。很多研究还提出了推理误差,并通过选择更好的转换参数来平衡编码误差和推理误差,但调整转换参数引入了额外的编码误差,进一步限制了转换后SNN的性能。
另一类方法试图通过用其他函数代替阈值函数来近似梯度从而训练SNN,一些工作提出了关于叠加梯度的反向传播方法,这种训练方法展示了不同范围的梯度函数和编码方案,与转换方法相比,能显著减少时间步数。虽然经过反向传播训练的SNN显示出了实现ANN级性能的潜力,然而,准确地训练SNN依然需要付出额外的开销,这导致SNN难以被训练,并且限制了它在现实世界任务上的应用。
最近,组合方法的出现,缓解了转换方法需要更大的时间步长来实现具有竞争性的SNN性能的缺点,这些方法通常包含两个步骤:转换和微调,在第一步中首先将ANN转换成SNN,之后将转化后的SNN进行进一步微调。然而,与转换方法相比,需要额外的开销来微调SNN,此外,反向传播对混合方法施加了额外的约束,这进一步限制了其应用范围。
实现思路