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

Class HomeostaticMaxEnt

source code

                       object --+                
                                |                
param.parameterized.Parameterized --+            
                                    |            
         base.functionfamily.OutputFn --+        
                                        |        
                        OutputFnWithState --+    
                                            |    
                      OutputFnWithRandomState --+
                                                |
                                               HomeostaticMaxEnt

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 OutputFn 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 the current state of the output function to an internal stack.
source code
 
state_pop(self)
Pop the most recently saved state off the stack.
source code

Inherited from OutputFnWithState: override_plasticity_state, restore_plasticity_state

Inherited from base.functionfamily.OutputFn: __add__

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_dynamic_time_fn, verbose, warning

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

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 the a and b parameters.

Inherited from OutputFnWithRandomState: random_generator

Inherited from OutputFnWithState: plastic

Inherited from base.functionfamily.OutputFn: norm_value

Inherited from param.parameterized.Parameterized: name, 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.OutputFn.__call__

state_push(self)

source code 
Save the current state of the output function to an internal stack.
Overrides: param.parameterized.Parameterized.state_push

state_pop(self)

source code 

Pop the most recently saved state off the stack.

See state_push() for more details.

Overrides: param.parameterized.Parameterized.state_pop

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.""")