fffb

package
v1.1.42 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 22, 2021 License: BSD-3-Clause Imports: 1 Imported by: 27

Documentation

Overview

Package fffb provides feedforward (FF) and feedback (FB) inhibition (FFFB) based on average (or maximum) excitatory netinput (FF) and activation (FB).

This produces a robust, graded k-Winners-Take-All dynamic of sparse distributed representations having approximately k out of N neurons active at any time, where k is typically 10-20 percent of N.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Inhib

type Inhib struct {
	FFi    float32         `desc:"computed feedforward inhibition"`
	FBi    float32         `desc:"computed feedback inhibition (total)"`
	Gi     float32         `` /* 146-byte string literal not displayed */
	GiOrig float32         `desc:"original value of the inhibition (before pool or other effects)"`
	LayGi  float32         `` /* 127-byte string literal not displayed */
	Ge     minmax.AvgMax32 `desc:"average and max Ge excitatory conductance values, which drive FF inhibition"`
	Act    minmax.AvgMax32 `desc:"average and max Act activation values, which drive FB inhibition"`
}

Inhib contains state values for computed FFFB inhibition

func (*Inhib) Decay

func (fi *Inhib) Decay(decay float32)

Decay reduces inhibition values by given decay proportion

func (*Inhib) Init

func (fi *Inhib) Init()

func (*Inhib) Zero added in v1.1.8

func (fi *Inhib) Zero()

Zero clears inhibition but does not affect Ge, Act averages

type Inhibs added in v1.1.14

type Inhibs []Inhib

Inhibs is a slice of Inhib records

type Params

type Params struct {
	On       bool    `desc:"enable this level of inhibition"`
	Gi       float32 `` /* 226-byte string literal not displayed */
	FF       float32 `` /* 316-byte string literal not displayed */
	FB       float32 `` /* 253-byte string literal not displayed */
	FBTau    float32 `` /* 471-byte string literal not displayed */
	MaxVsAvg float32 `` /* 755-byte string literal not displayed */
	FF0      float32 `` /* 398-byte string literal not displayed */

	FBDt float32 `inactive:"+" view:"-" json:"-" xml:"-" desc:"rate = 1 / tau"`
}

Params parameterizes feedforward (FF) and feedback (FB) inhibition (FFFB) based on average (or maximum) netinput (FF) and activation (FB)

func (*Params) Defaults

func (fb *Params) Defaults()

func (*Params) FBInhib

func (fb *Params) FBInhib(avgAct float32) float32

FBInhib computes feedback inhibition value as function of average activation

func (*Params) FBUpdt

func (fb *Params) FBUpdt(fbi *float32, newFbi float32)

FBUpdt updates feedback inhibition using time-integration rate constant

func (*Params) FFInhib

func (fb *Params) FFInhib(avgGe, maxGe float32) float32

FFInhib returns the feedforward inhibition value based on average and max excitatory conductance within relevant scope

func (*Params) Inhib

func (fb *Params) Inhib(inh *Inhib)

Inhib is full inhibition computation for given inhib state, which must have the Ge and Act values updated to reflect the current Avg and Max of those values in relevant inhibitory pool.

func (*Params) Update

func (fb *Params) Update()

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL