norse.torch.functional.lsnn

norse.torch.functional.lsnn#

Long-short term memory module, building on the work by [G. Bellec, D. Salaj, A. Subramoney, R. Legenstein, and W. Maass](IGITUGraz/LSNN-official).

The LSNN dynamics is similar to the lif equations, but it adds an adaptive term b:

v˙=1/τmem(vleakv+i)i˙=1/τsynib˙=1/τbb

This adaptation is applied in the jump condition when the neuron spikes:

z=Θ(vvth+b)

Contrast this with the regular LIF jump condition:

z=Θ(vvth)

In practice, this means that the LSNN neurons adapt to fire more or less given the same input. The adaptation is determined by the τb time constant.

Functions

ada_lif_step(input_tensor, state, ...[, p, dt])

Euler integration step for LIF Neuron with adaptation.

lsnn_feed_forward_step(input_tensor, state)

Euler integration step for LIF Neuron with threshold adaptation.

lsnn_step(input_tensor, state, ...[, p, dt])

Euler integration step for LIF Neuron with threshold adaptation More specifically it implements one integration step of the following ODE

Classes

LSNNFeedForwardState(v, i, b)

Integration state kept for a lsnn module

LSNNParameters([tau_syn_inv, tau_mem_inv, ...])

Parameters of an LSNN neuron

LSNNState(z, v, i, b)

State of an LSNN neuron