  Spiking neural networks (SNNs) are promising in a bio-plausible coding for
spatio-temporal information and event-driven signal processing, which is very
suited for energy-efficient implementation in neuromorphic hardware. However,
the unique working mode of SNNs makes them more difficult to train than
traditional networks. Currently, there are two main routes to explore the
training of deep SNNs with high performance. The first is to convert a
pre-trained ANN model to its SNN version, which usually requires a long coding
window for convergence and cannot exploit the spatio-temporal features during
training for solving temporal tasks. The other is to directly train SNNs in the
spatio-temporal domain. But due to the binary spike activity of the firing
function and the problem of gradient vanishing or explosion, current methods
are restricted to shallow architectures and thereby difficult in harnessing
large-scale datasets (e.g. ImageNet). To this end, we propose a
threshold-dependent batch normalization (tdBN) method based on the emerging
spatio-temporal backpropagation, termed "STBP-tdBN", enabling direct training
of a very deep SNN and the efficient implementation of its inference on
neuromorphic hardware. With the proposed method and elaborated shortcut
connection, we significantly extend directly-trained SNNs from a shallow
structure ( < 10 layer) to a very deep structure (50 layers). Furthermore, we
theoretically analyze the effectiveness of our method based on "Block Dynamical
Isometry" theory. Finally, we report superior accuracy results including 93.15
% on CIFAR-10, 67.8 % on DVS-CIFAR10, and 67.05% on ImageNet with very few
timesteps. To our best knowledge, it's the first time to explore the
directly-trained deep SNNs with high performance on ImageNet.
