Documentation ¶
Index ¶
- Variables
- func AddPFC(nt *axon.Network, name string, nPoolsY, nPoolsX, nNeurY, nNeurX int, ...) (super, ct, maint, out, pulv emer.Layer)
- func AddPFCPy(nt *axon.Network, name string, nPoolsY, nPoolsX, nNeurY, nNeurX int, ...) []emer.Layer
- type MaintLayer
- type OutLayer
- type OutParams
- type PulseClearParams
- type PulseClearer
Constants ¶
This section is empty.
Variables ¶
var KiT_MaintLayer = kit.Types.AddType(&MaintLayer{}, axon.LayerProps)
var KiT_OutLayer = kit.Types.AddType(&OutLayer{}, axon.LayerProps)
Functions ¶
func AddPFC ¶
func AddPFC(nt *axon.Network, name string, nPoolsY, nPoolsX, nNeurY, nNeurX int, pulvLay bool) (super, ct, maint, out, pulv emer.Layer)
AddPFC adds a PFC system including SuperLayer, CT with CTCtxtPrjn, MaintLayer, and OutLayer which is gated by BG. Name is set to "PFC" if empty. Other layers have appropriate suffixes. Optionally creates a TRC Pulvinar for Super. Standard Deep CTCtxtPrjn PoolOneToOne Super -> CT projection, and 1to1 projections Super -> Maint and Maint -> Out class PFCFixed are created by default. CT is placed Behind Super, then Out and Maint, and Pulvinar behind CT if created.
func AddPFCPy ¶
func AddPFCPy(nt *axon.Network, name string, nPoolsY, nPoolsX, nNeurY, nNeurX int, pulvLay bool) []emer.Layer
AddPFCPy adds a PFC system including SuperLayer, CT with CTCtxtPrjn, MaintLayer, and OutLayer which is gated by BG. Name is set to "PFC" if empty. Other layers have appropriate suffixes. Optionally creates a TRC Pulvinar for Super. Standard Deep CTCtxtPrjn PoolOneToOne Super -> CT projection, and 1to1 projections Super -> Maint and Maint -> Out class PFCFixed are created by default. CT is placed Behind Super, then Out and Maint, and Pulvinar behind CT if created. Py is Python version, returns layers as a slice
Types ¶
type MaintLayer ¶
type MaintLayer struct { axon.Layer PulseClear PulseClearParams `desc:"parameters for the synchronous pulse of activation / inhibition that clears NMDA maintenance."` }
MaintLayer is a standard axon layer with stronger NMDA and GABAB to drive more robust active maintenance, simulating the special PFC layer 3 cells with extensive excitatory collaterals.
func AddMaintLayer ¶
func AddMaintLayer(nt *axon.Network, name string, nPoolsY, nPoolsX, nNeurY, nNeurX int) *MaintLayer
AddMaintLayer adds a MaintLayer using 4D shape with pools, and lateral NMDAMaint PoolOneToOne connectivity.
func (*MaintLayer) Defaults ¶
func (ly *MaintLayer) Defaults()
func (*MaintLayer) PulseClearNMDA ¶
func (ly *MaintLayer) PulseClearNMDA()
PulseClearNMDA simulates a synchronous pulse of activation that clears the NMDA and puts the layer into a refractory state by activating the GABAB currents.
type OutLayer ¶
type OutLayer struct { MaintLayer Out OutParams `desc:"Parameters for output layer function"` }
OutLayer is a frontal cortex output layer (L5 PM), which typically is interconnected with Ventral Thalamus (VM / VA etc) for output gating, and also NMDAPrjn maintenance.
func AddOutLayer ¶
AddOutLayer adds a OutLayer using 4D shape with pools, and lateral PoolOneToOne connectivity.
func (*OutLayer) ClearLays ¶
func (ly *OutLayer) ClearLays() ([]PulseClearer, error)
ClearLays returns the Layers by name
func (*OutLayer) PulseClear ¶
PulseClear sends a simulated synchronous pulse of activation / inhibition to clear ClearLays
type OutParams ¶
type OutParams struct { ResetThr float32 `desc:"threshold on activation, above which the ClearLays will be reset"` ClearLays emer.LayNames `desc:"name of corresponding layers that are reset when this layer gets activated"` }
OutParams determine the behavior of OutLayer
type PulseClearParams ¶
type PulseClearParams struct {
GABAB float32 `desc:"GABAB value activated by the inhibitory pulse"`
}
PulseClearParams are parameters for the synchronous pulse of activation / inhibition that clears NMDA maintenance.
func (*PulseClearParams) Defaults ¶
func (pc *PulseClearParams) Defaults()
type PulseClearer ¶
type PulseClearer interface { axon.AxonLayer // PulseClearNMDA simulates a synchronous pulse of activation that // clears the NMDA and puts the layer into a refractory state by // activating the GABAB currents. PulseClearNMDA() }
PulseClearer is an interface for Layers that have the PulseClearNMDA method for clearing NMDA and activating GABAB refractory inhibition