Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

annie::RecurrentNeuron Class Reference

#include <RecurrentNeuron.h>

Inheritance diagram for annie::RecurrentNeuron:

annie::SimpleNeuron annie::Neuron List of all members.

Public Methods

 RecurrentNeuron (int label, bool hasBias=false)
virtual void step ()
virtual real getNextOutput ()
virtual real getOutput ()
virtual real getLastOutput ()
 The output of the neuron at the previous time step. More...

virtual const char * getClassName ()
 Returns "RecurrentNeuron". More...

virtual int getTime ()
virtual void reset (real initialActivation)
virtual void calculateNewWeights (real learningRate)
 Not yet implemented. More...

virtual void update ()
 Not yet implemented. More...

virtual void setDesiredOutput (real desired)
 Not yet implemented. More...


Protected Methods

virtual void _recacheOutput ()
 
See also:
Neuron::_recacheOutput.
More...



Protected Attributes

int _time
 Keeps track of the "time", i.e., number of steps taken by this neuron since the last reset. More...

real _initialOutput
 The output of the neuron at time 0. More...

real _lastOutput
 The last output of the neuron. More...


Detailed Description

A neuron used for recurrent networks. These neurons have a concept of time. Thus, their output starts from an initial state and then as time progresses their output may change.

Recurrent networks allow cycles in the graph formed by connections between neurons, which are not allowed by simple multi-layer networks. For example, consider a network in which a recurrent neuron is connected to itself. Output now becomes time dependent. output(time=0) = an initial, fixed value. output(time=1) = weight_of_link * output(0) output(time=t) = weight_of_link * output(t-1) etc.

A recurrent neuron has all the features of a simple neuron and adds the concept of time, hence the RecurrentNeuron class is a sub-class of the SimpleNeuron class


Constructor & Destructor Documentation

annie::RecurrentNeuron::RecurrentNeuron int    label,
bool    hasBias = false
 

Creates a recurrent neuron. The default initial value is 0, thus at time=0 the output of the neuron will be 0. To change use reset

Parameters:
label  The label to give to the neuron
hasBias  Allow this neuron to have a bias?
See also:
reset


Member Function Documentation

virtual void annie::RecurrentNeuron::_recacheOutput   [protected, virtual]
 

See also:
Neuron::_recacheOutput.

Reimplemented from annie::SimpleNeuron.

virtual void annie::RecurrentNeuron::calculateNewWeights real    learningRate [virtual]
 

Not yet implemented.

virtual const char* annie::RecurrentNeuron::getClassName   [virtual]
 

Returns "RecurrentNeuron".

Reimplemented from annie::SimpleNeuron.

virtual real annie::RecurrentNeuron::getLastOutput   [virtual]
 

The output of the neuron at the previous time step.

virtual real annie::RecurrentNeuron::getNextOutput   [virtual]
 

Steps the neuron in time and returns the next output.

See also:
step , getOutput , getTime
Returns:
The output of the neuron at the next time step

virtual real annie::RecurrentNeuron::getOutput   [virtual]
 

Returns the output of the neuron. At time 0 this will be the initial value which is set using reset(), and which is zero by default. At other times the output will be calculated

Returns:
the output of this neuron at the current time
See also:
getTime

Reimplemented from annie::Neuron.

virtual int annie::RecurrentNeuron::getTime   [virtual]
 

Returns the current time as known by the neuron. Initially 0, this value can change by calls to step and getNextOutput

See also:
step , getNextOutput

virtual void annie::RecurrentNeuron::reset real    initialActivation [virtual]
 

Resets the time to 0.

Parameters:
initialActivation  The activation of the neuron at time 0. The output at time 0 will be the activatation function applied on this value

virtual void annie::RecurrentNeuron::setDesiredOutput real    desired [virtual]
 

Not yet implemented.

Reimplemented from annie::SimpleNeuron.

virtual void annie::RecurrentNeuron::step   [virtual]
 

Updates the time in the neuron by one unit. This updation will ensure that all other neurons providing input to this one (directly by a connection or indirectly through a series of connections) also are brought up to date with the current time

virtual void annie::RecurrentNeuron::update   [virtual]
 

Not yet implemented.

Reimplemented from annie::SimpleNeuron.


Member Data Documentation

real annie::RecurrentNeuron::_initialOutput [protected]
 

The output of the neuron at time 0.

real annie::RecurrentNeuron::_lastOutput [protected]
 

The last output of the neuron.

int annie::RecurrentNeuron::_time [protected]
 

Keeps track of the "time", i.e., number of steps taken by this neuron since the last reset.


The documentation for this class was generated from the following file:
Generated on Wed Apr 23 10:42:36 2003 for BioFilter by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002