ca.nengo.model.plasticity.impl
Class InSpikeErrorFunction

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.InSpikeErrorFunction
All Implemented Interfaces:
Function, java.io.Serializable, java.lang.Cloneable

public class InSpikeErrorFunction
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
InSpikeErrorFunction(float[] gain, float[][] encoders)
          Requires information from the post population to modulate learning.
InSpikeErrorFunction(float[] gain, float[][] encoders, float a2Minus, float a3Minus, float tauMinus, float tauX)
          Requires information from the post population to modulate learning.
InSpikeErrorFunction(NEFEnsembleImpl ens)
          Extracts information from the post population to modulate learning.
 
Method Summary
 InSpikeErrorFunction 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

InSpikeErrorFunction

public InSpikeErrorFunction(float[] gain,
                            float[][] encoders,
                            float a2Minus,
                            float a3Minus,
                            float tauMinus,
                            float tauX)
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
a2Minus - Amplitude constant (see Pfister & Gerstner 2006)
a3Minus - Amplitude constant (see Pfister & Gerstner 2006)
tauMinus - Time constant (see Pfister & Gerstner 2006)
tauX - Time constant (see Pfister & Gerstner 2006)

InSpikeErrorFunction

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

InSpikeErrorFunction

public InSpikeErrorFunction(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 InSpikeErrorFunction clone()
                           throws java.lang.CloneNotSupportedException
Specified by:
clone in interface Function
Overrides:
clone in class AbstractSpikeLearningFunction
Throws:
java.lang.CloneNotSupportedException
See Also:
Object.clone()