Package topo :: Package transferfn :: Module basic :: Class HomeostaticMaxEnt
[hide private]
[frames] | no frames]

Class HomeostaticMaxEnt

source code


Implementation of homeostatic intrinsic plasticity from Jochen Triesch, ICANN 2005, LNCS 3696 pp.65-70.

A sigmoid activation function is adapted automatically to achieve desired average firing rate and approximately exponential distribution of firing rates (for the maximum possible entropy).

Note that this TransferFn has state, so the history of calls to it will affect future behavior. The plastic parameter can be used to disable changes to the state.

Also calculates average activity as useful debugging information, for use with ValueTrackingOutoutFn Average activity is calculated as an exponential moving average with a smoothing factor (smoothing). For more information see: NIST/SEMATECH e-Handbook of Statistical Methods, Single Exponential Smoothing http://www.itl.nist.gov/div898/handbook/pmc/section4/pmc431.htm

Nested Classes [hide private]

Inherited from param.parameterized.Parameterized: __metaclass__

Instance Methods [hide private]
 
__init__(self, **params)
x.__init__(...) initializes x; see x.__class__.__doc__ for signature
source code
 
__call__(self, x) source code
 
state_push(self)
Save this instance's state.
source code
 
state_pop(self)
Restore the most recently saved state.
source code

Inherited from TransferFnWithState: override_plasticity_state, restore_plasticity_state

Inherited from param.parameterized.Parameterized: __getstate__, __repr__, __setstate__, __str__, debug, defaults, force_new_dynamic_value, get_param_values, get_value_generator, inspect_value, message, print_param_values, script_repr, set_default, set_dynamic_time_fn, set_param, verbose, warning

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __setattr__, __sizeof__, __subclasshook__

Class Methods [hide private]

Inherited from param.parameterized.Parameterized: params, print_param_defaults

Class Variables [hide private]
  eta = param.Number(default= 0.0002, doc= "Learning rate for ho...
Learning rate for homeostatic plasticity.
  mu = param.Number(default= 0.01, doc= "Target average firing r...
Target average firing rate.
  smoothing = param.Number(default= 0.9997, doc= ...
Weighting of previous activity vs.
  a_init = param.Parameter(default= None, doc= "Multiplicative p...
Multiplicative parameter controlling the exponential.
  b_init = param.Parameter(default= None, doc= "Additive paramet...
Additive parameter controlling the exponential.
  step = param.Number(default= 1, doc= """ How often to update t...
How often to update the a and b parameters.
  name = <param.parameterized.String object at 0xb5897ac>
String identifier for this object.

Inherited from TransferFnWithRandomState: random_generator

Inherited from TransferFnWithState: plastic

Inherited from base.functionfamily.TransferFn: norm_value

Inherited from param.parameterized.Parameterized: print_level

Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

__init__(self, **params)
(Constructor)

source code 
x.__init__(...) initializes x; see x.__class__.__doc__ for signature
Overrides: object.__init__
(inherited documentation)

__call__(self, x)
(Call operator)

source code 
Overrides: base.functionfamily.TransferFn.__call__

state_push(self)

source code 

Save this instance's state.

For Parameterized instances, this includes the state of dynamically generated values.

Subclasses that maintain short-term state should additionally save and restore that state using state_push() and state_pop().

Generally, this method is used by operations that need to test something without permanently altering the objects' state.

Overrides: param.parameterized.Parameterized.state_push
(inherited documentation)

state_pop(self)

source code 

Restore the most recently saved state.

See state_push() for more details.

Overrides: param.parameterized.Parameterized.state_pop
(inherited documentation)

Class Variable Details [hide private]

eta

Learning rate for homeostatic plasticity.
Value:
param.Number(default= 0.0002, doc= "Learning rate for homeostatic plasticity.")

mu

Target average firing rate.
Value:
param.Number(default= 0.01, doc= "Target average firing rate.")

smoothing

Weighting of previous activity vs. current activity when calculating the average.
Value:
param.Number(default= 0.9997, doc= """
        Weighting of previous activity vs. current activity when calculating the a\
verage.""")

a_init

Multiplicative parameter controlling the exponential.
Value:
param.Parameter(default= None, doc= "Multiplicative parameter controlling the expo\
nential.")

b_init

Additive parameter controlling the exponential.
Value:
param.Parameter(default= None, doc= "Additive parameter controlling the exponentia\
l.")

step

How often to update the a and b parameters. For instance, step=1 means to update it every time this OF is called; step=2 means to update it every other time.
Value:
param.Number(default= 1, doc= """ How often to update the a and b parameters.  For\
 instance, step=1 means to update it every time this OF is
        called; step=2 means to update it every other time.""")