org.simnet.networks
Class Elman

java.lang.Object
  extended by org.simnet.interfaces.Network
      extended by org.simnet.networks.Backprop
          extended by org.simnet.networks.Elman
All Implemented Interfaces:
EventListener, WorldListener

public class Elman
extends Backprop

Elman networks are simple recurrent networks based on the work of Jeff Elman.


Field Summary
 
Fields inherited from class org.simnet.interfaces.Network
CONTINUOUS, DISCRETE
 
Constructor Summary
Elman()
          Default constructor.
 
Method Summary
 void batchIterate()
          Batch train for one iteration.
protected  void buildInitialNetwork()
          Build the default network.
 void buildSnarliNetwork()
          Create the Snarli network.
 void defaultInit()
          Build network and initialize nodes and weights to appropriate values.
 int getNHidden()
           
 int getNInput()
           
 void iterate()
          Iterate Elman network learning.
 void randomize()
          Randomize Elman network (all but weights from hidden to copy).
 void train()
          Train Elman network.
 void update()
          Override update function to update input and copy layer first.
 void updateSimbrainNetwork()
          Update Simbrain network to match SNARLI network after it is trained.
 
Methods inherited from class org.simnet.networks.Backprop
attachInputsAndOutputs, batchTrain, getBiases, getDefaultNeuron, getEpochs, getError, getErrorInterval, getEta, getHid, getInp, getMu, getNInputs, getNOutputs, getOut, getTrainingINFile, getTrainingInputs, getTrainingOUTFile, getTrainingOutputs, setBiases, setEpochs, setError, setErrorInterval, setEta, setHid, setInp, setMu, setNHidden, setNInputs, setNOutputs, setOut, setTrainingINFile, setTrainingInputs, setTrainingOUTFile, setTrainingOutputs
 
Methods inherited from class org.simnet.interfaces.Network
addNetwork, addNetworkList, addNetworkListener, addNeuron, addNeuron, addNeuronList, addWeight, addWeight, changeNeuron, changeSynapse, checkAllBounds, clearActivations, clearInputs, close, deleteNetwork, deleteNeuron, deleteNeuron, deleteWeight, deleteWeight, fireClampChanged, fireCouplingChanged, fireNetworkChanged, fireNeuronAdded, fireNeuronChanged, fireNeuronDeleted, fireSubnetAdded, fireSubnetDeleted, fireSynapseAdded, fireSynapseChanged, fireSynapseDeleted, getClampNeurons, getClampWeights, getCouplingList, getDepth, getFlatNetworkList, getFlatNeuronList, getFlatSynapseList, getId, getIndents, getInputNeurons, getInteractionMode, getListenerList, getNetwork, getNetworkList, getNetworkParent, getNetworkThread, getNeuron, getNeuron, getNeuronCount, getNeuronList, getOutputNeurons, getPrecision, getRoot, getRoundingOff, getState, getSynapse, getTime, getTimeLabel, getTimeStep, getTimeType, getType, getUnits, getWeight, getWeight, getWeight, getWeightCount, getWeightList, getWorkspace, init, initNeurons, initParents, initWeights, isRoot, isRoundOffActivationValues, isUpdateCompleted, randomizeNeurons, randomizeWeights, removeNetworkListener, round, roundAll, setClampNeurons, setClampWeights, setId, setInteractionMode, setLowerBounds, setNetworkList, setNetworkParent, setNetworkThread, setNeuronList, setPrecision, setRoundingOff, setRoundOffActivationValues, setTime, setTimeStep, setUpdateCompleted, setUpperBounds, setWeightList, setWeightsToZero, setWorkspace, toString, updateAllNetworks, updateAllNeurons, updateAllWeights, updateIds, updateInputs, updateTime, updateTimeType, updateTopLevel, updateWorldListeners, updateWorlds, worldChanged
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Elman

public Elman()
Default constructor.

Method Detail

defaultInit

public void defaultInit()
Build network and initialize nodes and weights to appropriate values.

Overrides:
defaultInit in class Backprop

buildInitialNetwork

protected void buildInitialNetwork()
Build the default network.

Overrides:
buildInitialNetwork in class Backprop

buildSnarliNetwork

public void buildSnarliNetwork()
Create the Snarli network. The Simbrain network is used . to set all weights and biases.

Overrides:
buildSnarliNetwork in class Backprop

train

public void train()
Train Elman network.

Overrides:
train in class Backprop

iterate

public void iterate()
Iterate Elman network learning.

Overrides:
iterate in class Backprop

batchIterate

public void batchIterate()
Batch train for one iteration.

Overrides:
batchIterate in class Backprop

updateSimbrainNetwork

public void updateSimbrainNetwork()
Update Simbrain network to match SNARLI network after it is trained.

Overrides:
updateSimbrainNetwork in class Backprop

randomize

public void randomize()
Randomize Elman network (all but weights from hidden to copy).

Overrides:
randomize in class Backprop

update

public void update()
Override update function to update input and copy layer first.

Overrides:
update in class Backprop

getNInput

public int getNInput()
Returns:
Number of input neurons.

getNHidden

public int getNHidden()
Overrides:
getNHidden in class Backprop
Returns:
Number of hidden neurons.