ca.nengo.model.plasticity.impl
Class ErrorLearningFunction

java.lang.Object
  extended by ca.nengo.math.impl.AbstractFunction
      extended by ca.nengo.model.plasticity.impl.AbstractRealLearningFunction
          extended by ca.nengo.model.plasticity.impl.ErrorLearningFunction
All Implemented Interfaces:
Function, java.io.Serializable, java.lang.Cloneable

public class ErrorLearningFunction
extends AbstractRealLearningFunction

A learning function that uses information from the ensemble to modulate the rate of synaptic change.

Author:
Trevor Bekolay
See Also:
Serialized Form

Field Summary
 
Fields inherited from class ca.nengo.model.plasticity.impl.AbstractRealLearningFunction
myLearningRate
 
Fields inherited from class ca.nengo.math.impl.AbstractFunction
DIMENSION_PROPERTY
 
Constructor Summary
ErrorLearningFunction(float[] gain, float[][] encoders)
          Requires information from the post population to modulate learning.
ErrorLearningFunction(float[] gain, float[][] encoders, boolean oja)
          Requires information from the post population to modulate learning.
ErrorLearningFunction(NEFEnsembleImpl ens)
          Extracts information from the post population to modulate learning.
 
Method Summary
 ErrorLearningFunction clone()
           
protected  float deltaOmega(float input, float time, float currentWeight, float modInput, float originState, int postIndex, int preIndex, int dim)
          A learning rule that defines how the connection weight changes on each timestep (or longer, depending on the plasticity interval).
 
Methods inherited from class ca.nengo.model.plasticity.impl.AbstractRealLearningFunction
getLearningRate, map, setLearningRate
 
Methods inherited from class ca.nengo.math.impl.AbstractFunction
getDimension, multiMap
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ErrorLearningFunction

public ErrorLearningFunction(float[] gain,
                             float[][] encoders)
Requires information from the post population to modulate learning.

Parameters:
gain - Gain (scale) of the neurons in the post population
encoders - Encoders (phi tilde) of the neurons in the post population

ErrorLearningFunction

public ErrorLearningFunction(float[] gain,
                             float[][] encoders,
                             boolean oja)
Requires information from the post population to modulate learning.

Parameters:
gain - Gain (scale) of the neurons in the post population
encoders - Encoders (phi tilde) of the neurons in the post population

ErrorLearningFunction

public ErrorLearningFunction(NEFEnsembleImpl ens)
Extracts information from the post population to modulate learning.

Parameters:
ens - Post population
Method Detail

deltaOmega

protected float deltaOmega(float input,
                           float time,
                           float currentWeight,
                           float modInput,
                           float originState,
                           int postIndex,
                           int preIndex,
                           int dim)
Description copied from class: AbstractRealLearningFunction
A learning rule that defines how the connection weight changes on each timestep (or longer, depending on the plasticity interval).

Specified by:
deltaOmega in class AbstractRealLearningFunction
Parameters:
input - The activity coming into the synapse from its inputs
time - The current simulation time
currentWeight - The current connection weight between the pre and post neurons
modInput - The modulatory input, for this particular dimension (see dim)
originState - The state of the origin from the postsynaptic population, for this particular dimension (see dim)
postIndex - The neuron index in the post-synaptic population
preIndex - The neuron index in the pre-synaptic population
dim - The dimension of the modulatory input and the origin state
See Also:
AbstractRealLearningFunction.deltaOmega(float,float,float,float,float,int,int,int)

clone

public ErrorLearningFunction clone()
                            throws java.lang.CloneNotSupportedException
Specified by:
clone in interface Function
Overrides:
clone in class AbstractRealLearningFunction
Throws:
java.lang.CloneNotSupportedException
See Also:
Object.clone()