Documentation
¶
Index ¶
- type ActParams
- type SpikeParams
- func (sk *SpikeParams) ActFromISI(isi, timeInc, integ float32) float32
- func (sk *SpikeParams) ActToISI(act, timeInc, integ float32) float32
- func (sk *SpikeParams) AvgFromISI(avg *float32, isi float32)
- func (sk *SpikeParams) Defaults()
- func (sk *SpikeParams) ShouldDisplay(field string) bool
- func (sk *SpikeParams) Update()
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ActParams ¶
type ActParams struct {
leabra.ActParams
// spiking parameters
Spike SpikeParams `display:"inline"`
}
ActParams is full set of activation params including those from base leabra and the additional Spiking-specific ones.
func (*ActParams) CopyFromAct ¶
CopyFromAct copies ActParams from source (e.g., rate-code params)
func (*ActParams) SpikeActFromVm ¶
SpikeActFromVm computes the discrete spiking activation from membrane potential Vm
func (*ActParams) SpikeVmFromG ¶
type SpikeParams ¶
type SpikeParams struct {
// if true, turn on exponential excitatory current that drives Vm rapidly upward for spiking as it gets past its nominal firing threshold (Thr) -- nicely captures the Hodgkin Huxley dynamics of Na and K channels -- uses Brette & Gurstner 2005 AdEx formulation -- this mechanism has an unfortunate interaction with the continuous inhibitory currents generated by the standard FFFB inhibitory function, which cause this mechanism to desensitize and fail to spike
Exp bool `default:"false"`
// slope in Vm (2 mV = .02 in normalized units) for extra exponential excitatory current that drives Vm rapidly upward for spiking as it gets past its nominal firing threshold (Thr) -- nicely captures the Hodgkin Huxley dynamics of Na and K channels -- uses Brette & Gurstner 2005 AdEx formulation -- a value of 0 disables this mechanism
ExpSlope float32 `default:"0.02"`
// membrane potential threshold for actually triggering a spike when using the exponential mechanism
ExpThr float32 `default:"1.2"`
// post-spiking membrane potential to reset to, produces refractory effect if lower than VmInit -- 0.30 is appropriate biologically based value for AdEx (Brette & Gurstner, 2005) parameters
VmR float32 `default:"0.3,0,0.15"`
// post-spiking explicit refractory period, in cycles -- prevents Vm updating for this number of cycles post firing
Tr int `default:"3"`
// for translating spiking interval (rate) into rate-code activation equivalent (and vice-versa, for clamped layers), what is the maximum firing rate associated with a maximum activation value (max act is typically 1.0 -- depends on act_range)
MaxHz float32 `default:"180" min:"1"`
// constant for integrating the spiking interval in estimating spiking rate
RateTau float32 `default:"5" min:"1"`
// rate = 1 / tau
RateDt float32 `display:"-"`
}
SpikeParams contains spiking activation function params. Implements the AdEx adaptive exponential function
func (*SpikeParams) ActFromISI ¶
func (sk *SpikeParams) ActFromISI(isi, timeInc, integ float32) float32
ActFromISI computes rate-code activation from estimated spiking interval
func (*SpikeParams) ActToISI ¶
func (sk *SpikeParams) ActToISI(act, timeInc, integ float32) float32
ActToISI compute spiking interval from a given rate-coded activation, based on time increment (.001 = 1msec default), Act.Dt.Integ
func (*SpikeParams) AvgFromISI ¶
func (sk *SpikeParams) AvgFromISI(avg *float32, isi float32)
AvgFromISI updates spiking ISI from current isi interval value
func (*SpikeParams) Defaults ¶
func (sk *SpikeParams) Defaults()
func (*SpikeParams) ShouldDisplay ¶
func (sk *SpikeParams) ShouldDisplay(field string) bool
func (*SpikeParams) Update ¶
func (sk *SpikeParams) Update()