#include <RecurrentNeuron.h>
Inheritance diagram for annie::RecurrentNeuron:

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 () |
| |
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... | |
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
|
||||||||||||
|
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
|
|
|
Reimplemented from annie::SimpleNeuron. |
|
|
Not yet implemented.
|
|
|
Returns "RecurrentNeuron".
Reimplemented from annie::SimpleNeuron. |
|
|
The output of the neuron at the previous time step.
|
|
|
Steps the neuron in time and returns the next output.
|
|
|
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
Reimplemented from annie::Neuron. |
|
|
Returns the current time as known by the neuron. Initially 0, this value can change by calls to step and getNextOutput
|
|
|
Resets the time to 0.
|
|
|
Not yet implemented.
Reimplemented from annie::SimpleNeuron. |
|
|
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 |
|
|
Not yet implemented.
Reimplemented from annie::SimpleNeuron. |
|
|
The output of the neuron at time 0.
|
|
|
The last output of the neuron.
|
|
|
Keeps track of the "time", i.e., number of steps taken by this neuron since the last reset.
|
1.2.14 written by Dimitri van Heesch,
© 1997-2002