ca.nengo.model.plasticity.impl
Class PESTermination
java.lang.Object
ca.nengo.model.impl.EnsembleTermination
ca.nengo.model.plasticity.impl.PlasticEnsembleTermination
ca.nengo.model.plasticity.impl.ModulatedPlasticEnsembleTermination
ca.nengo.model.plasticity.impl.PESTermination
- All Implemented Interfaces:
- Resettable, Termination, java.io.Serializable, java.lang.Cloneable
public class PESTermination
- extends ModulatedPlasticEnsembleTermination
A termination whose transformation evolves according to the PES rule.
The learning rate is defined by an AbstractRealLearningFunction (see its declaration for
the inputs it receives). This learning rate function is applied to each In each case, the presynaptic-variable
input to the function is the corresponding dimension of input to the Termination. The postsynaptic variable is taken
as the corresponding dimension of the Origin NEFEnsemble.X. This implementation supports only a single separate
modulatory variable, though it can be multi-dimensional. This is also user-defined, as some other Termination
onto the same NEFEnsemble.
TODO: test
- See Also:
- Serialized Form
Method Summary |
PESTermination |
clone(Node node)
Clone method that changes necessary parameters to point to a new parent,
for use in cloning ensembles, etc. |
boolean |
getOja()
|
void |
reset(boolean randomize)
|
void |
setOja(boolean oja)
|
void |
updateTransform(float time,
int start,
int end)
|
Methods inherited from class ca.nengo.model.plasticity.impl.PlasticEnsembleTermination |
getInput, getLearning, getLearningRate, getOriginName, getOutputs, getTransform, saveTransform, setLearning, setLearningRate, setOriginName, setOriginState, setTransform |
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
PESTermination
public PESTermination(NEFEnsemble ensemble,
java.lang.String name,
PlasticNodeTermination[] nodeTerminations)
throws StructuralException
- Parameters:
ensemble
- The ensemble this termination belongs toname
- Name of this TerminationnodeTerminations
- Node-level Terminations that make up this Termination. Must be
all LinearExponentialTerminations
- Throws:
StructuralException
- If dimensions of different terminations are not all the same
reset
public void reset(boolean randomize)
- Specified by:
reset
in interface Resettable
- Overrides:
reset
in class ModulatedPlasticEnsembleTermination
- Parameters:
randomize
- True indicates that the object should be reset to a
randomly selected initial state (the object must be aware of the
distribution from which to draw from). False indicates that the
object should be reset to a fixed initial state (which it must
also know). Some objects may not support randomization of the initial
state, in which case a fixed state will be used in either case.- See Also:
Resettable.reset(boolean)
getOja
public boolean getOja()
- Returns:
- Name of Origin from which post-synaptic activity is drawn
setOja
public void setOja(boolean oja)
- Parameters:
oja
- Should this termination use Oja smoothing?
updateTransform
public void updateTransform(float time,
int start,
int end)
throws StructuralException
- Specified by:
updateTransform
in class PlasticEnsembleTermination
- Parameters:
time
- Current timestart
- The start index of the range of transform values to update (for multithreading)end
- The end index of the range of transform values to update (for multithreading)
- Throws:
StructuralException
- if- See Also:
PlasticEnsembleTermination.updateTransform(float, int, int)
clone
public PESTermination clone(Node node)
throws java.lang.CloneNotSupportedException
- Description copied from interface:
Termination
- Clone method that changes necessary parameters to point to a new parent,
for use in cloning ensembles, etc.
- Specified by:
clone
in interface Termination
- Overrides:
clone
in class ModulatedPlasticEnsembleTermination
- Parameters:
node
- New parent node
- Returns:
- A clone of the termination for the new parent ensemble
- Throws:
java.lang.CloneNotSupportedException
- if clone cannot be made