Documentation ¶
Index ¶
- Variables
- type Rules
- type SynParams
- func (kp *SynParams) CurCa(ctime, stime int32, caM, caP, caD float32) (cCaM, cCaP, cCaD float32)
- func (kp *SynParams) DWt(caP, caD float32) float32
- func (kp *SynParams) Defaults()
- func (kp *SynParams) FmCa(ca float32, caM, caP, caD *float32)
- func (kp *SynParams) FmSpike(spike float32, caM, caP, caD *float32)
- func (kp *SynParams) ISIFmTime(ctime, stime int32) int
- func (kp *SynParams) SynNMDACa(snmdao, rca float32) float32
- func (kp *SynParams) Update()
Constants ¶
This section is empty.
Variables ¶
var KiT_Rules = kit.Enums.AddEnum(RulesN, kit.NotBitFlag, nil)
Functions ¶
This section is empty.
Types ¶
type Rules ¶
type Rules int32
Rules are different options for Kinase-based learning rules
const ( // NeurSpkCa uses neuron-level spike-driven calcium signals // integrated at P vs. D time scales -- this is the original // Leabra and Axon XCAL / CHL learning rule. // It exhibits strong sensitivity to final spikes and thus // high levels of variance. NeurSpkCa Rules = iota // SynSpkCa integrates synapse-level spike-driven calcium signals // starting with a product of pre and post CaM values at the point // of either spike (using neuron level SpkCa params), // which is then integrated at P vs. D time scales. // Basically a synapse version of original learning rule. SynSpkCa // SynNMDACa uses synapse-level NMDA-driven calcium signals // computed according to the very close approximation to the // Urakubo et al (2008) allosteric NMDA dynamics, then // integrated at P vs. D time scales. // This is an abstract version of a biologically realistic model, // very close in many details to a fully biophysically-grounded one. SynNMDACa RulesN )
The time scales
func (*Rules) FromString ¶
func (Rules) MarshalJSON ¶
func (*Rules) UnmarshalJSON ¶
type SynParams ¶
type SynParams struct { Rule Rules `desc:"which learning rule to use"` SpikeG float32 `` /* 364-byte string literal not displayed */ MTau float32 `` /* 203-byte string literal not displayed */ PTau float32 `` /* 314-byte string literal not displayed */ DTau float32 `` /* 299-byte string literal not displayed */ DScale float32 `` /* 208-byte string literal not displayed */ OptInteg bool `` /* 198-byte string literal not displayed */ MaxISI int `def:"100" desc:"maximum ISI for integrating in Opt mode -- above that just set to 0"` MDt float32 `view:"-" json:"-" xml:"-" inactive:"+" desc:"rate = 1 / tau"` PDt float32 `view:"-" json:"-" xml:"-" inactive:"+" desc:"rate = 1 / tau"` DDt float32 `view:"-" json:"-" xml:"-" inactive:"+" desc:"rate = 1 / tau"` }
SynParams has rate constants for averaging over activations at different time scales, to produce the running average activation values that then drive learning.
func (*SynParams) CurCa ¶
CurCa returns the current Ca* values, dealing with updating for optimized spike-time update versions. ctime is current time in msec, and stime is last spike time (-1 if never)
func (*SynParams) FmCa ¶
FmCa computes updates to CaM, CaP, CaD from current calcium level. The SpikeG factor is NOT applied to Ca and should be pre-applied as appropriate.
func (*SynParams) FmSpike ¶
FmSpike computes updates to CaM, CaP, CaD from current spike value. The SpikeG factor determines strength of increase to CaM.
func (*SynParams) ISIFmTime ¶
ISIFmTime returns the inter spike interval from current time and last spike time, which is -1 if never spiked (in which case return ISI is -1)