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

Class HomeostaticMaxEnt

source code

                                  object --+            
                                           |            
base.parameterizedobject.ParameterizedObject --+        
                                               |        
                  base.functionfamilies.OutputFn --+    
                                                   |    
                                   OutputFnWithState --+
                                                       |
                                                      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 base.parameterizedobject.ParameterizedObject: __metaclass__

Instance Methods [hide private]
 
__init__(self, **params) source code
 
__call__(self, x) source code

Inherited from OutputFnWithState: override_plasticity_state, restore_plasticity_state

Inherited from base.functionfamilies.OutputFn: __add__

Inherited from base.parameterizedobject.ParameterizedObject: __getstate__, __repr__, __setstate__, __str__, as_uninitialized, debug, defaults, force_new_dynamic_value, get_param_values, get_value_generator, inspect_value, message, print_param_values, script_repr, verbose, warning

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

Class Methods [hide private]

Inherited from base.parameterizedobject.ParameterizedObject: params, print_param_defaults

Class Variables [hide private]
  a_init = Number(default= 13, doc= "Multiplicative parameter co...
Multiplicative parameter controlling the exponential.
  b_init = Number(default=-4, doc= "Additive parameter controlli...
Additive parameter controlling the exponential.
  eta = Number(default= 0.0002, doc= "Learning rate for homeosta...
Learning rate for homeostatic plasticity.
  mu = Number(default= 0.01, doc= "Target average firing rate.")
Target average firing rate.
  smoothing = <topo.base.parameterclasses.Number object at 0x9db...
Weighting of previous activity vs.

Inherited from OutputFnWithState: plastic

Inherited from base.functionfamilies.OutputFn: norm_value

Inherited from base.parameterizedobject.ParameterizedObject: name, print_level

Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

__init__(self, **params)
(Constructor)

source code 
Overrides: OutputFnWithState.__init__

__call__(self, x)
(Call operator)

source code 
Overrides: base.functionfamilies.OutputFn.__call__

Class Variable Details [hide private]

a_init

Multiplicative parameter controlling the exponential.
Value:
Number(default= 13, doc= "Multiplicative parameter controlling the exponential.")

b_init

Additive parameter controlling the exponential.
Value:
Number(default=-4, doc= "Additive parameter controlling the exponential.")

eta

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

smoothing

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