Skip to content

Understanding spiking behavior in Izhikevich nodes and voltage injection #529

@Hananel-Hazan

Description

@Hananel-Hazan
  1. Changing the order of computing in Izhikevich neuron to match other neurons.
  2. Changing the network run tasks order to inject Vmem before executing forward method on layer.

Discussed in #528

Originally posted by peschn December 21, 2021
Hi,
first of all, thanks a lot for this fantastic project.

I got a question around the implementation of the different Nodes (neuron models). In most Nodes (except Izhikevich), state variables like voltage are first updated before spiking is checked. In Izhikevich, it is the other way around, i.e. it is first checked, whether the neurons spikes or not, before state variables are updated. What is the reason for this? To my understanding, it always requires two timesteps in network.run to identify spiking for Izhikevich nodes, i.e. first timestep updates state variables, second timestep checks spiking behavior.

Secondly, when looking at Network.run() it seems like that layers are first updated via layer.forward(...), before voltage is injected to the neurons via layer.v += inject_v. This implies that it requires two timesteps to detect spiking behavior. What is the reason for this behavior?

Thanks a lot and best,

Peter

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions