Membrane Potential Batch Normalization for Spiking Neural Networks

Yufei Guo, Yuhan Zhang, Y. Chen, Weihang Peng, Xiaode Liu +3 more
8/1/2023

No official code found. Best implementation: yfguo91/MPBN (21 stars, last commit 2023-08-18).

Abstract

As one of the energy-efficient alternatives of conventional neural networks (CNNs), spiking neural networks (SNNs) have gained more and more interest recently. To train the deep models, some effective batch normalization (BN) techniques are proposed in SNNs. All these BNs are suggested to be used after the convolution layer as usually doing in CNNs. However, the spiking neuron is much more complex with the spatio-temporal dynamics. The regulated data flow after the BN layer will be disturbed again by the membrane potential updating operation before the firing function, i.e., the nonlinear activation. Therefore, we advocate adding another BN layer before the firing function to normalize the membrane potential again, called MPBN. To eliminate the induced time cost of MPBN, we also propose a training-inference-decoupled re-parameterization technique to fold the trained MPBN into the firing threshold. With the re-parameterization technique, the MPBN will not introduce any extra time burden in the inference. Furthermore, the MPBN can also adopt the element-wised form, while these BNs after the convolution layer can only use the channel-wised form. Experimental results show that the proposed MPBN performs well on both popular non-spiking static and neuromorphic datasets.

View on arXivView PDF

Code Implementations(1)

yfguo91/MPBNCommunity100%

Membrane Potential Batch Normalization for Spiking Neural Networks

212Shell, PythonAug 16, 20233 years ago

Similar Papers

Cite this paper

@article{guo2023membrane,
  title  = {Membrane Potential Batch Normalization for Spiking Neural Networks},
  author = {Yufei Guo and Yuhan Zhang and Y. Chen and Weihang Peng and Xiaode Liu and Liwen Zhang and Xuhui Huang and Zhe Ma},
  year   = {2023},
  eprint = {2308.08359},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/abs/2308.08359},
  journal = {ICCV 2023 2023}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2308.08359.svg)](https://codeofpaper.com/paper/2308.08359)

Discussion