-
Notifications
You must be signed in to change notification settings - Fork 5
AstrocyteBase and Astrocyte
The AstrocyteBase class sets the properties for the Astrocyte class and translates between used-defined and internal class properties.
The Astrocyte class contains the functions for creating instances of an Astrocyte on Loihi and incorporating it into an SNN.
Within the Astrocyte class, there are 4 compartments created and the connections between them.
- Spike Receiver
- IP3 Integrator
- SIC
- Spike Generator
Note that this documentation follows the Loihi NxNet API.
The network which this Astrocyte should be defined for. Internal compartments within the Astrocyte model would be defined on this network.
i.e. the spike receiver compartment, IP3 integrator, spike generator, etc.
The ip3_sensitivity value is used to influence sensitivity of the IP3 compartment to the spikes from the spike receiver compartment. The value is expected to be at least 1 and less than or equal to 100. (Default=20)
The sic_amplitude value is used to configure the maximum firing rate of spike generator compartment.
Note: the sic_amplitude parameter should be used in conjunction with the sic_window parameter. Otherwise, the provided parameter value will not influence the actual astrocyte instance.
Note: the sic_amplitude parameter is only used as an approximation during the instantiation of the astrocyte.
The sic_window value is used to configure the time between the first and last of the spikes from the spike generator compartment during the burst-spike behavior. The provided value is assumed to be in milliseconds.
Note: the sic_window parameter should be used in conjunction with the sic_amplitude parameter. Otherwise, the provided parameter value will not influence the actual astrocyte instance.
Note: the sic_window parameter is only used as an approximation during the instantiation of the astrocyte.
The srVThMant value is used to influence the threshold for the spike receiver compartment's spike. When the spike receiver compartment's compartmentVoltage exceeds 2^6 * srVThMant then the spike receiver will send a spike to the IP3 integrator compartment. (Default=100)
Decay constant by which the spike receiver compartment's compartmentCurrent decays per time step. (Default=409)
Decay constant by which the spike receiver compartment's compartmentVoltage decays per time step. (Default=1024)
The srActivityImpulse value specifies by how much the spike receiver compartment's activity increases for each spike from the spike receiver. (Default=0)
Decay time constant by which the spike receiver compartment's activity decays approximately exponentially over time. (Default=0)
srMinActivity is the lower threshold below which srVThMant gets decreased to increase the spike receiver compartment's activity. (Default=0)
srMaxActivity is the upper threshold beyond which srVThMant gets increased to decrease the spike reciever compartment's activity. (Default=127)
srHomeostasisGain controls how strongly srVThMant gets modified by the spike receiver compartment's activity leaving the range defined by srMinActivity and srMaxActivity. (Default=0)
srEnableHomeostasis determines whether srVThMant gets updated via activity driven threshold homeostasis. See Intel Loihi's documentation for details. (Default=0)
The ip3VThMant value is used to influence the threshold for the IP3 integrator compartment's spike. When the IP3 integrator compartment's compartmentVoltage exceeds 2^6 * ip3VThMant then the Astrocyte's IP3 integrator compartment will send a spike to the SIC compartment.
(Default=15000)
Decay constant by which the IP3 integrator compartment's compartmentCurrent decays per time step. (Default=4096)
Decay constant by which the IP3 integrator compartment's compartmentVoltage decays per time step. (Default=1)
Decay constant by which the SIC compartment's compartmentCurrent decays per time step. (Default=40)
Decay constant by which the SIC compartment's compartmentVoltage decays per time step. (Default=40)
The sgVThMant value is used to influence the threshold for the spike generator compartment's spikes. When the spike generator compartment's compartmentVoltage exceeds 2^6 * sgVThMant then the Astrocyte's spike generator compartment will send a spike to the output neurons as specified using connectOutputNeurons(outputs, ...).
(Default=5000)
Decay constant by which the spike generator unit's compartmentCurrent decays per time step. (Default=409)
Decay constant by which the spike generator unit's compartmentVoltage decays per time step. (Default=40)
The weight of the connection from the spike receiver compartment to the IP3 integrator compartment in the Astrocyte model.
Min: 1
Max: 127
(Default=20)
The weight of the connection from the IP3 integrator compartment to the SIC compartment in the Astrocyte model.
Min: 1
Max: 127
(Default=20)
Connect pre-synaptic neurons (inputs) to the Astrocyte's spike receiver compartment. Expects num to be equal to the number of neuron compartments provided as inputs.
Parameters:
-
inputs
Pre-synaptic neuron compartments to connect to this Astrocyte -
num
The number of neuron compartments provided -
connectionMask
A connection mask (Numpy ndarray) with shape(1, num)with values0or1to control whether some compartments frominputsare actually connected.If the default integer value is provided then a full connection mask will be created internally to connect all compartments from
inputsto the Astrocyte's spike receiver.(Default=1)
-
weight
Weight(s) of the connection(s) from each of the compartments ininputsto the Astrocyte's spike receiver.If an integer is provided, all connections will have the integer
weightas their weight respectively.A Numpy ndarray of shape
(1, num)can be provided to use varying weights across the different connections formed.(Default=10)
Connect the Astrocyte's spike generator compartment to the post-synaptic neuron compartments (provided as outputs). Expects num to be equal to the number of neuron compartments provided as outputs.
Parameters:
-
outputs
Post-synaptic neuron compartments to connect from the Astrocyte's spike generator -
num
The number of neuron compartments to connect to -
connectionMask
A connection mask (Numpy ndarray) with shape(num, 1)with values0or1to control whether some compartments fromoutputsare actually connected.If the default integer value
1or any other integer is provided then a full connection mask is generated and used internally to connect the spike generator compartment to all of the post-synaptic neuron compartments (outputs) provided.(Default=1)
-
weight
Weight(s) of the connection(s) from the spike generator compartment to each of the compartments inoutputs. This can be used to influence the amount of control the Astrocyte may have on trigger spikes within each of the post-synaptic neuron compartments.If an integer is provided, all connections will have the integer
weightas their weight respectively.A Numpy ndarray of shape
(num, 1)can be provided to use varying weights across the different connections formed.(Default=30)
Retrieve a probe for a property of a particular compartment within the Astrocyte. You can provide a list of enum values to retrieve multiple probes.
Parameters:
-
probeConditions
Either one value or a list of values indicating which property and which compartment to probe within the Astrocyte.All possible enum values are located under
combra.ASTRO_SPIKE_RECEIVER_PROBE,combra.ASTRO_IP3_INTEGRATOR_PROBE,combra.ASTRO_SIC_GENERATOR_PROBE,combra.ASTRO_SPIKE_GENERATOR_PROBEwith each compartment's properties as values within that probe class respectively.Example:
import combra_loihi.api as combra probes['spike_receiver_spikes'] = astrocyte1.probe(combra.ASTRO_SPIKE_RECEIVER_PROBE.SPIKE)
Guangzhi Tang, Arpit Shah, Computational Brain Lab, Computer Science Department, Rutgers University