ca.nengo.model.plasticity.impl
Class OutSpikeErrorFunction

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

public class OutSpikeErrorFunction
extends AbstractSpikeLearningFunction

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.AbstractSpikeLearningFunction
myLearningRate
 
Fields inherited from class ca.nengo.math.impl.AbstractFunction
DIMENSION_PROPERTY
 
Constructor Summary
OutSpikeErrorFunction(float[] gain, float[][] encoders)
          Requires information from the post population to modulate learning.
OutSpikeErrorFunction(float[] gain, float[][] encoders, float a2Plus, float a3Plus, float tauPlus, float tauY)
          Requires information from the post population to modulate learning.
OutSpikeErrorFunction(NEFEnsembleImpl ens)
          Extracts information from the post population to modulate learning.
 
Method Summary
 OutSpikeErrorFunction clone()
           
protected  float deltaOmega(float timeSinceDifferent, float timeSinceSame, float currentWeight, float modInput, int postIndex, int preIndex, int dim)
          A learning rule that defines how the connection weight changes when a particular spike happens (either presynaptic spike or postsynaptic).
 
Methods inherited from class ca.nengo.model.plasticity.impl.AbstractSpikeLearningFunction
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

OutSpikeErrorFunction

public OutSpikeErrorFunction(float[] gain,
                             float[][] encoders,
                             float a2Plus,
                             float a3Plus,
                             float tauPlus,
                             float tauY)
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
a2Plus - Amplitude constant (see Pfister & Gerstner 2006)
a3Plus - Amplitude constant (see Pfister & Gerstner 2006)
tauPlus - Time constant (see Pfister & Gerstner 2006)
tauY - Time constant (see Pfister & Gerstner 2006)

OutSpikeErrorFunction

public OutSpikeErrorFunction(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

OutSpikeErrorFunction

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

Parameters:
ens - Post population
Method Detail

deltaOmega

protected float deltaOmega(float timeSinceDifferent,
                           float timeSinceSame,
                           float currentWeight,
                           float modInput,
                           int postIndex,
                           int preIndex,
                           int dim)
Description copied from class: AbstractSpikeLearningFunction
A learning rule that defines how the connection weight changes when a particular spike happens (either presynaptic spike or postsynaptic).

Specified by:
deltaOmega in class AbstractSpikeLearningFunction
Parameters:
timeSinceDifferent - The amount of time passed since the last spike of the different type -- that is, if this is an onInSpike function, it would be the amount of time since the last out spike
timeSinceSame - The amount of time passed since the last spike of the same type -- that is, if this is an onInSpike function, it would be the amount of time since the last in spike
currentWeight - The current connection weight between the pre and post neurons
modInput - The modulatory input, 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
See Also:
AbstractSpikeLearningFunction.deltaOmega(float,float,float,float,int,int,int)

clone

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