ANNarchy 4.8.2
  • ANNarchy
  • Installation
  • Tutorial
  • Manual
  • Notebooks
  • Reference

  • Reference
  • Core components
    • Population
    • Projection
    • Neuron
    • Synapse
    • Monitor
    • PopulationView
    • Dendrite
    • Network
  • Configuration
    • setup
    • compile
    • clear
    • reset
    • set_seed
    • get_population
    • get_projection
    • populations
    • projections
    • monitors
  • Simulation
    • simulate
    • simulate_until
    • step
    • parallel_run
    • enable_learning
    • disable_learning
    • get_time
    • set_time
    • get_current_step
    • set_current_step
    • dt
  • Neuron models
    • LeakyIntegrator
    • Izhikevich
    • IF_curr_exp
    • IF_cond_exp
    • IF_curr_alpha
    • IF_cond_alpha
    • HH_cond_exp
    • EIF_cond_alpha_isfa_ista
    • EIF_cond_exp_isfa_ista
  • Synapse models
    • STP
    • STDP
    • Hebb
    • Oja
    • IBCM
  • Inputs
    • InputArray
    • TimedArray
    • PoissonPopulation
    • TimedPoissonPopulation
    • SpikeSourceArray
    • HomogeneousCorrelatedSpikeTrains
    • CurrentInjection
    • DecodingProjection
    • ImagePopulation
    • VideoPopulation
  • IO
    • save
    • load
    • save_parameters
    • load_parameters
  • Utilities
    • report
  • Random Distributions
    • Uniform
    • DiscreteUniform
    • Normal
    • LogNormal
    • Exponential
    • Gamma
    • Binomial
  • Functions and Constants
    • add_function
    • functions
    • Constant
    • get_constant
  • Plotting
    • raster_plot
    • histogram
    • inter_spike_interval
    • coefficient_of_variation
    • population_rate
    • smoothed_rate
  • Callbacks
    • every
    • callbacks_enabled
    • disable_callbacks
    • enable_callbacks
    • clear_all_callbacks
  • Convolution
    • Convolution
    • Pooling
    • Transpose
    • Copy
  • BOLD monitoring
    • BoldMonitor
    • BoldModel
    • balloon_RN
    • balloon_RL
    • balloon_CN
    • balloon_CL
    • balloon_maith2021
    • balloon_two_inputs
  • Tensorboard logging
    • Logger
  • ANN-to-SNN conversion
    • ANNtoSNNConverter

On this page

  • LeakyIntegrator
    • Parameters

LeakyIntegrator

models.Neurons.LeakyIntegrator(
    self,
    tau=10.0,
    B=0.0,
    T=0.0,
    sum='sum(exc) - sum(inh)',
    noise=None,
)

Leaky-integrator rate-coded neuron, optionally noisy.

This simple rate-coded neuron defines an internal variable v(t) which integrates the inputs I(t) with a time constant \tau and a baseline B. An additive noise N(t) can be optionally defined:

\tau \cdot \frac{dv(t)}{dt} + v(t) = I(t) + B + N(t)

The transfer function is the positive (or rectified linear ReLU) function with a threshold T:

r(t) = (v(t) - T)^+

By default, the input I(t) to this neuron is “sum(exc) - sum(inh)”, but this can be changed by setting the sum argument:

neuron = ann.LeakyIntegrator(sum="sum('exc')")

By default, there is no additive noise, but the noise argument can be passed with a specific distribution:

neuron = ann.LeakyIntegrator(noise="Normal(0.0, 1.0)")

Parameters:

  • tau = 10.0 : Time constant in ms of the neuron.
  • B = 0.0 : Baseline value for v.
  • T = 0.0 : Threshold for the positive transfer function.

Variables:

  • v : internal variable (init = 0.0):

    tau * dv/dt + v = sum(exc) - sum(inh) + B + N

  • r : firing rate (init = 0.0):

    r = pos(v - T)

The ODE is solved using the exponential Euler method.

Equivalent code:

LeakyIntegrator = Neuron(
    parameters='''
        tau = 10.0 : population
        B = 0.0
        T = 0.0 : population
    ''', 
    equations='''
        tau * dv/dt + v = sum(exc) - sum(inh) + B : exponential
        r = pos(v - T)
    '''
)

Parameters

Name Type Description Default
tau float Time constant. 10.0
B float Baseline. 0.0
T float Threshold. 0.0
sum str Input sums. 'sum(exc) - sum(inh)'
dt
Izhikevich
 

Copyright Julien Vitay, Helge Ülo Dinkelbach, Fred Hamker