org.joone.engine
Class RTRLLearnerFactory.Node

java.lang.Object
  extended by org.joone.engine.RTRLLearnerFactory.Node
All Implemented Interfaces:
java.io.Serializable
Enclosing class:
RTRLLearnerFactory

protected class RTRLLearnerFactory.Node
extends java.lang.Object
implements java.io.Serializable

A node. A node sits inside a joone layer and at a given index. It is initially part of z but later on we will order z into Z and then K will be the index into Z at which this node is to be found. A node that is not an input node can be in U and all output nodes are in T. The sorted Z is indexed by K and has as its first few elements those nodes found in U - thus we can share the K index between these two sets. In order to speed up processing, a bias node is also created and stored inside z and eventually in Z, typically in the final position in either z or Z. The bias node simply fires 1s all the time and is used to optimise the bias weight. It's derivative to anything is zero. Each node has weights attached to it. These weights carry the potential of other nodes into this one and are stored in the weights list. We are specifically interested in those weights that are firing from nodes in U and will store them in a separate list called I. Since we store the weights attached to each node inside the node itself, this then becomes the weight matrix. The matrix is generally sparse since a node is only connected to a few other nodes, and we gain some performance this way, at the cost of a lot of indexing, both here and in the weights themselves. Partly for performance reasons we access members in this class directly rather than via encapsulated messages.

See Also:
Serialized Form

Field Summary
protected  double bias
          The bias if this is a bias node
protected  java.util.List<RTRLLearnerFactory.Weight> I
          The list of weights that carry a signal into this node from a node in U
protected  int index
          The index into the layer at which this node is found
protected  java.util.List<RTRLLearnerFactory.InitialState> initialStates
          The list of initial states that fire into this node, not used at present but maybe for a future version in which the state is also optimised.
protected  boolean inU
          True if this node is in U, false if not
protected  int K
          The node's number in Z and U if it is in U
protected  Layer layer
          The layer at which this node is found
protected  java.util.List<RTRLLearnerFactory.Weight> weights
          The list of weights that carry a signal into this node
 
Constructor Summary
RTRLLearnerFactory.Node(double bias)
          Create a new bias node, typically with a bias value of 1
RTRLLearnerFactory.Node(Layer layer, int index)
          Create a new node from a joone layer
 
Method Summary
 double getDerivative()
          Retrieve the derivative of the node
 double getValue()
          Retrieve the current value of this node
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

bias

protected double bias
The bias if this is a bias node


layer

protected Layer layer
The layer at which this node is found


index

protected int index
The index into the layer at which this node is found


K

protected int K
The node's number in Z and U if it is in U


inU

protected boolean inU
True if this node is in U, false if not


weights

protected java.util.List<RTRLLearnerFactory.Weight> weights
The list of weights that carry a signal into this node


I

protected java.util.List<RTRLLearnerFactory.Weight> I
The list of weights that carry a signal into this node from a node in U


initialStates

protected java.util.List<RTRLLearnerFactory.InitialState> initialStates
The list of initial states that fire into this node, not used at present but maybe for a future version in which the state is also optimised.

Constructor Detail

RTRLLearnerFactory.Node

public RTRLLearnerFactory.Node(double bias)
Create a new bias node, typically with a bias value of 1


RTRLLearnerFactory.Node

public RTRLLearnerFactory.Node(Layer layer,
                               int index)
Create a new node from a joone layer

Method Detail

getValue

public double getValue()
Retrieve the current value of this node


getDerivative

public double getDerivative()
Retrieve the derivative of the node



Submit Feedback to pmarrone@users.sourceforge.net