I’m still a little unclear what you mean by “transmit information as spikes”. Although there are some abstractions, spiking neural networks in Nengo try to emulate the same processes found in biology. Biologically, at the most simplistic level, input current is injected into a neuron, which causes a neuron to spike. This spike then travels down the axon to a synapse, which causes a release of neurotransmitters, which in turn causes an influx of current (PSC) into the dendrite, and then the whole process repeats itself. To summarize:
input current → neuron → spike → synapse → input current
Nengo does this as well, with a few minor changes. First, instead of operating on individual neurons, Nengo groups them into ensembles (each neuron is still simulated, it’s just that the input and outputs are grouped up). Second, each synapse has a weight associated with it. This is the “connection weight”. So, in essence:
input current → neurons → spikes → synapse → synapse weight → input current
What Nengo does that is special is another layer of abstraction based on the NEF algorithm I mentioned before. You’ll need to watch the Youtube videos I linked to get a better understanding of the NEF, but one of the effects is that the connection weights can be factored in order to make it “compute” functions. The factored components of the connection weights are the encoders and decoders.
input current → neurons → spikes → synapse → decoders → encoders → input current
There are several important things to note about the NEF. First, it operates on the ensemble level, because a larger amount of neurons means a better representation of the function you want to compute. Second, in the NEF (and in Nengo), the decoders are associated with the connection itself, and the encoders are associated with the “post” population. If you want the full connection weight matrix between two populations, you simply to a matrix multiplication of the respective decoders and encoders.
All of the above is to say that in Nengo, whether or not you are connected to the ensembles or to the .neurons
attribute of the ensembles, information is still transmitted through spikes. Whether or not you connect to ensembles or neurons depends on the design of your network. If the network you are making have connections where you can define the function you want to compute, then you’ll want to do the connections from ensembles. If, however, the connection weights are random and learned (or cannot otherwise be factored into encoders and decoders), then you’ll want to connect to the neurons.
I think you mean to ask “what does it mean to bypass the encoders”. In Nengo, if you connect to a .neurons
object, the connection weights do not include the multiplication with the encoders of the “post” population. Thus, they are “bypassed”.