[nengo-user] change current injection on Izhikevich neuron model
Trevor Bekolay
tbekolay at gmail.com
Wed Feb 24 16:46:59 EST 2016
My apologies, I misspoke. Connecting to `e.neurons` instead of `e` doesn't
bypass the gain and bias, only the encoder. If you want to inject current
directly, then you will have to set the gain and bias of the neurons
(Option 2 in the notebook in the gist).
For some more visualizations of how things like max_rates and intercepts
affects neurons' responses to current, see the tuning curve notebook at
http://pythonhosted.org/nengo/examples/tuning_curves.html
- Trevor
On Wed, Feb 24, 2016 at 4:37 PM, Trevor Bekolay <tbekolay at gmail.com> wrote:
> Hi Francesco,
>
> The source of the confusion here is that, by default, we aren't dealing
> with low-level quantities like currents and voltage. Instead, Nengo builds
> network using the principles of the Neural Engineering Framework (NEF). A
> brief summary of the principles of the NEF can be found in this notebook:
> http://pythonhosted.org/nengo/examples/nef_summary.html
>
> In your specific example, the current that you're injecting into the
> neuron in the ensemble `e` is computed as the input signal (the value
> represented in `u`) multiplied by the gain of the neuron, plus the bias.
> Since you have not specified the gain and bias (or the max_rates and
> intercepts), the gain and bias will be essentially random.
>
> If you want to inject current directly, you can connect to `e.neurons`
> instead of `e`. This bypasses the gain and bias. Alternatively, you can set
> the gain and bias so that the amount of current injected is predictable.
> I've shown both of these options in an example notebook:
>
> https://gist.github.com/tbekolay/f871692fc29c9eaed776
>
> Note also that when you probe an ensemble, by default you get the decoded
> value, not the spiking activity of the ensemble. To get the spiking
> activity, you must probe `e.neurons`. I've provided an example of that in
> the notebook as well.
>
> Hope this helps! Let us know if you have more questions!
>
> - Trevor
>
> On Tue, Feb 16, 2016 at 3:26 AM, Francesco Gallo Afflitto <
> acermatch at hotmail.it> wrote:
>
>> Hi, i’m a student of university of Catania (Italy) and i’m using nengo 2.0
>>
>> Following tutorials, i built the model of Izhikevich, but i don’t
>> undestand how to change the input J (the current injection) in the model.
>>
>> - What is the reason for which we put as input a constant value
>> of zero (nengo.Node(0)) ?
>>
>> I would change my input and insert for example a step like this (u =
>> nengo.Node(piecewise({0:0.1,2:10}))). But if i make this change, the output
>> is not a spiking neuron. Why? Because seem to not work well if the input is
>> Greater than 0.3. What i’ve to change?
>>
>> - There is a way to change the initial condition of equation
>> model?
>>
>>
>>
>> The code i used is this:
>>
>>
>>
>> import nengo
>>
>> from nengo.utils.functions import piecewise
>>
>>
>>
>> model = nengo.Network()
>>
>>
>>
>> with model:
>>
>> u = nengo.Node(0)
>>
>>
>>
>>
>>
>> e = nengo.Ensemble(n_neurons=1, dimensions=1,
>>
>> neuron_type=nengo.Izhikevich(
>>
>> tau_recovery=0.02,
>>
>> coupling=0.2,
>>
>> reset_voltage=-55,
>>
>> reset_recovery=4))
>>
>>
>>
>> nengo.Connection(u, e)
>>
>>
>>
>> thanks a lot!
>>
>> _______________________________________________
>> nengo-user mailing list
>> nengo-user at ctnsrv.uwaterloo.ca
>> http://ctnsrv.uwaterloo.ca/mailman/listinfo/nengo-user
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://artsservices.uwaterloo.ca/pipermail/nengo-user/attachments/20160224/774f98ed/attachment-0002.html>
More information about the nengo-user
mailing list