Is Nengo build a recurrent SNN or a feedforward SNN?

Dear all,

I came across two simple examples, one is “Two neurons”, and the other one is “Many neurons”:
https://www.nengo.ai/nengo/examples/basic/two-neurons.html

It seems both networks are feedforward networks. The feedforward SNN here I mean:

“minusA = nengo.Ensemble(30, dimensions=1, max_rates=Uniform(80, 100))”

In the code above, a network contains 30 neurons is a feedforward network. The 30 neurons are in a same layer and there is no interconnections between these neurons.

The same manner is applied on dynamics system as well.

Am I right? or there is something I misunderstood?

Thanks a lot.

Best,
Ryan

Hi @Ryan, and welcome to the Nengo forums! :smiley:

You are absolutely correct! The “two neurons” and “many neurons” examples are examples of feed-forward spiking neural networks. In fact, the first recurrent neural network on the examples page is the “integrator” example (under the “building dynamical systems” category)

In the integrator example, there is a piece of code that connects a neural population back to itself:

nengo.Connection(
        A, A, transform=[[1]], synapse=tau
    )  # Using a long time constant for stability

and that makes it a recurrent neural network.

I should note that the dynamical systems neural networks in the Nengo examples are “simple” recurrent neural networks. By this I mean that the recurrence is through one ensemble being connected back to itself. In Nengo, you can also construct larger more complex recurrent networks which have recurrent connections that span more than one ensemble.

1 Like