src.canns.models.brain_inspired.spiking¶
Simple spiking neuron layer for STDP learning.
Classes¶
Simple Leaky Integrate-and-Fire (LIF) spiking neuron layer. |
Module Contents¶
- class src.canns.models.brain_inspired.spiking.SpikingLayer(input_size, output_size, threshold=1.0, v_reset=0.0, leak=0.9, trace_decay=0.95, dt=1.0, **kwargs)[source]¶
Bases:
src.canns.models.brain_inspired._base.BrainInspiredModelSimple Leaky Integrate-and-Fire (LIF) spiking neuron layer.
This model provides a minimal spiking neuron implementation for demonstrating spike-timing-dependent plasticity (STDP). It features: - Leaky integration of input currents - Threshold-based spike generation - Reset mechanism after spiking - Exponential spike traces for STDP learning
- Dynamics:
v[t+1] = leak * v[t] + W @ x[t] spike = 1 if v >= threshold else 0 v = v_reset if spike else v trace = decay * trace + spike
References
Gerstner & Kistler (2002): Spiking Neuron Models
Morrison et al. (2008): Phenomenological models of synaptic plasticity
Initialize the spiking layer.
- Parameters:
input_size (int) – Number of input neurons
output_size (int) – Number of output neurons
threshold (float) – Spike threshold for membrane potential
v_reset (float) – Reset potential after spike
leak (float) – Membrane leak factor (0-1, closer to 1 = less leaky)
trace_decay (float) – Decay factor for spike traces (used in STDP)
dt (float) – Time step size
**kwargs – Additional arguments passed to parent class