ICLR 2024 - Spike-driven Transformer V2 - Meta Spiking Neural Network Architecture Inspiring the Des

Spike-driven Transformer V2: Meta Spiking Neural Network Architecture Inspiring the Design of Next-generation Neuromorphic Chips

image.png

神经形态计算(neuromorphic computing),这利用神经形态芯片上脉冲神经网络(Spiking Neural Network,SNN),是传统人工智能的一种有前景的节能替代方案。基于卷积神经网络(CNN)的 SNNs 是当前神经形态计算的主流。相比之下,目前还没有专门为基于 Transformer 的 SNNs 设计的神经形态芯片,这些 SNNs 刚刚出现,它们的表现仅与基于 CNN 的 SNNs 相当,没有明显优势。

这项工作提出了一种通用的基于 Transformer 的 SNN 架构,称为“Meta-SpikeFormer”,其目标是:

  1. 低功耗,支持脉冲驱动范式,网络中只有稀疏的加法运算;
  2. 多功能性,处理各种视觉任务;
  3. 高性能,显示出对基于 CNN 的 SNNs 的压倒性性能优势;
  4. 元架构,为未来下一代基于 Transformer 的神经形态芯片设计提供灵感。

具体来说,本文将 NeurIPS 2023 发表的第一版工作中的脉冲驱动 Transformer 扩展为元架构,并探索了结构、脉冲驱动自注意力和跳跃连接对其性能的影响。在 ImageNet-1K 上,Meta-SpikeFormer 实现了 80.0% 的 top-1 准确率(5500 万参数),超过了当前最先进的(SOTA)SNN 基线(6600 万参数)3.7%。这是第一个可以直接训练的 SNN 骨干网络,能够同时支持分类、检测和分割,获得 SNNs 中的 SOTA 结果。

引言

SNNs 是为了成为传统机器智能的低功耗替代品。独特的脉冲驱动是实现这一宏伟概念的关键,即在神经形态芯片上运行 SNNs 时,只有部分脉冲神经元被激活,以执行稀疏的突触累积(synaptic accumulate,AC)操作。神经形态计算本质上是一种“算法—硬件共同设计”的范式(Bottom-up and top-down approaches for the design of neuromorphic processing systems: Tradeoffs and synergies between natural and artificial intelligence)。生物神经元被建模为脉冲神经元,并在算法层面上以某种方式形成 SNNs。然后,神经形态芯片在硬件层面上配备了脉冲驱动的 SNNs。基于 CNN 的 SNNs 目前是常见的脉冲驱动设计。因此,典型的神经形态芯片,如 TrueNorth、Loihi、Tianjic 等,都支持脉冲驱动的卷积和多层感知器(MLP)操作。几乎所有 CNN 时代的架构,例如 VGG、ResNet 等,都可以开发成相应的 SNN 版本。由于 ANN 中的 Transformer 在各种任务中显示出巨大潜力,在过去两年中,一些基于 Transformer 的设计在 SNNs 中出现。大多数基于 Transformer 的 SNNs 未能利用 SNNs 的低功耗优势,因为它们不是脉冲驱动的。通常,它们保留了由普通 Transformer 主导的能耗高的乘 - 累积(MAC)操作,如缩放点积(Complex dynamic neurons improved spiking transformer network for efficient automatic speech recognition)、softmax(Online transformers with spiking neurons for fast prosthetic hand control)、scale(Spikformer: When spiking neural network meets transformer)等。

本作的第一代中开发了一种脉冲驱动的自注意力操作器,首次将脉冲驱动集成到 Transformer 中。然而,尽管这种脉冲驱动 Transformer 仅通过稀疏 AC 在 ImageNet-1K 上实现了 SOTA 结果,但它尚未显示出对基于卷积的 SNNs 的明显优势。这一版本中,提出的 Meta-SpikeFormer 则在性能和多功能性方面推进了 SNN 领域。由于 Vision Transformer(ViT)显示出出 Transformer 在视觉方面可以表现出色,已经产生了许多研究。最近 MetaFormer 中总结了各种 ViT 变体,并认为通过不指定 token 混合器(自注意力)从 ViTs 中抽象出通用架构。受这项工作的启发,本文研究了 Transformer-based SNNs 的元架构设计,涉及三个方面:网络结构、跳跃连接(skip connection,shortcut)、带有完全 AC 操作的脉冲驱动自注意力(SDSA)。

相关工作

脉冲神经网络,可以简单地看作是具有生物启发的空间—时间动态和脉冲(0/1)激活的人工神经网络(ANNs)(Brain inspired computing: A systematic survey and future trends)。基于脉冲的通信使 SNNs 能够脉冲驱动,但传统的反向传播算法不能直接应用,因为脉冲函数不可微分。通常有两种方法来解决这一挑战。

  • 一种是通过神经元等价性将训练好的 ANNs 离散化成相应的 SNNs,即 ANN2SNN。
  • 另一种是直接训练 SNNs,使用替代梯度。本文采用直接训练方法,因为它具有小的时间步长和可适应的架构。

基于卷积的 SNN 的架构受到 ResNet 中残差学习的指导。

  • Going deeper with directly-trained larger spiking neural networks 直接复制了 ResNet 中的快捷方式,并提出了一种 tdBN 方法,将 SNN 从几层扩展到 50 层。
  • 为了解决更深层次 Res-SNN 的退化问题,Deep residual learning in spiking neural networks 和 Advancing spiking neural networks toward deep residual learning 提出了 SEW-Res-SNN 和 MS-Res-SNN,将 SNN 深度提升到超过 100 层。
  • 然后,经典的 ANN 架构可以有一个相应的 SNN 直接训练版本,例如,Attention SNNs(Temporal-wise attention spiking neural networks for event streams classification, Temporal-wise attention spiking neural networks for event streams classification, Inherent redundancy in spiking neural network, Sparser spiking activity can be better: Feature refine-and-mask spiking neural network for event-based visual recognition),Spiking YOLO(Deep directly-trained spiking neural networks for object detection)等。不幸的是,当前基于 CNN 的 SNNs 未能在视觉任务中展示通用性。

视觉 Transformer。在 ViT 展示了有希望的性能之后,对 ViT 的改进和讨论逐渐取代了传统 CNNs 成为主流。一些典型工作包括架构设计(PVT、MLP-Mixer),自注意力的增强(Swin、Twins),训练优化(DeiT、T2T-ViT),高效的 ViT 等。这项工作的目标是参考和探索一种 meta spiking transformer 架构,从现有的笨重的 ViT 变体中,以弥合 SNNs 和 ANNs 之间的差距,并为未来基于 Transformer 的神经形态芯片设计铺平道路。
神经形态芯片。神经形态硬件是一种非冯·诺依曼架构硬件,其结构和功能受到大脑的启发。典型的神经形态芯片特点包括处理和存储的共位、脉冲驱动计算等。从功能上讲,现在市场上的神经形态芯片要么只支持 SNN,要么支持混合 ANN/SNN。前者包括 TrueNorth,Loihi,Darwin 等。后者包括 Tianjic 系列,SpiNNaker 2。所有这些芯片都支持基于 CNN 的 SNNs,但它们都没有设计来支持基于 Transformer 的 SNNs。

所提算法

Spiking Neuron Layer

脉冲神经元层将时空信息包含到了膜电位中(membrane potential),然后将其转换为二值脉冲,以用于下一层的脉冲驱动的计算。本文使用了标准的 Leaky Integrate-and-Fire(LIF)脉冲神经层。

LIF 脉冲神经元的动力学状态

其神经动力学方程如下(t 是脉冲神经元内部的时间步),整体可以理解为神经元在不断地充电,直到达到阈值后放电,放电后重置。之后再不断地“充电 - 放电 - 重置”。

  • 充电: U [ t ] = H [ t − 1 ] + X [ t ] U[t] = H[t-1] + X[t] U[t
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值