#include <RBFPopulation.h>
Inheritance diagram for verve::RBFPopulation:
Public Member Functions | |
VERVE_DECL | RBFPopulation () |
virtual VERVE_DECL | ~RBFPopulation () |
virtual VERVE_DECL void VERVE_CALL | init (const RBFInputData &inputData, bool isDynamic) |
virtual VERVE_DECL void VERVE_CALL | resetShortTermMemory () |
virtual VERVE_DECL void VERVE_CALL | updateFiringRatesRBF (const RBFInputData &inputData, bool allowDynamicRBFCreation) |
virtual VERVE_DECL unsigned int VERVE_CALL | getNumActiveNeurons () const |
virtual VERVE_DECL Neuron *VERVE_CALL | getActiveNeuron (unsigned int i) |
virtual VERVE_DECL real VERVE_CALL | computeMaxActivationSum () const |
Protected Member Functions | |
virtual void | clear () |
virtual void | createNeuron (unsigned int id) |
void | makeNewRBF (const RBFInputData &inputData) |
void | connectNewRBFToTargets (Neuron *n) |
Protected Attributes | |
unsigned int | mContinuousResolution |
unsigned int | mNumDiscreteDimensions |
unsigned int | mNumContinuousDimensions |
bool | mIsDynamic |
bool | mSingleState |
real | mStdDevWidth |
std::vector< Neuron * > | mActiveNeurons |
This class can take points represented as a mixture of discrete and continuous data. If an RBFPopulation is created with zero dimensions (in both discrete and continuous space), it becomes a "null" Population with a single, constantly- active Neuron, representing a state space with a single state.
Definition at line 39 of file RBFPopulation.h.
|
Definition at line 31 of file RBFPopulation.cpp. References mContinuousResolution, mIsDynamic, mNumContinuousDimensions, mNumDiscreteDimensions, mSingleState, and mStdDevWidth. |
|
Definition at line 42 of file RBFPopulation.cpp. |
|
Overridden to clear the list of output Projections.
Reimplemented from verve::Population. Definition at line 126 of file RBFPopulation.cpp. References verve::Population::clear(). Referenced by init(). |
|
Computes and returns the maximum sum of activation for this RBFPopulation. This information is useful for scaling the learning rate when training the output Connections to ensure stable learning. Definition at line 239 of file RBFPopulation.cpp. References mNumContinuousDimensions, and verve::globals::pow(). Referenced by verve::RLModule::RLModule(), verve::PredictiveModel::setDeltaLearningRate(), and verve::RLModule::setTDLearningRate(). |
|
Gives a new RBFNeuron its axons to this RBFPopulation's targets.
Definition at line 218 of file RBFPopulation.cpp. References verve::Population::mOutputProjections. |
|
Overridden to create an RBFNeuron.
Reimplemented from verve::Population. Definition at line 185 of file RBFPopulation.cpp. References verve::Population::mNeurons. Referenced by makeNewRBF(). |
|
Returns the active Neuron at the given index in the internal active Neuron list.
Definition at line 234 of file RBFPopulation.cpp. References mActiveNeurons. Referenced by verve::RLModule::updateActiveTDConnectionList(). |
|
Returns the number of currently-active Neurons.
Definition at line 229 of file RBFPopulation.cpp. References mActiveNeurons. Referenced by verve::RLModule::updateActiveTDConnectionList(). |
|
|
Creates a new RBFNeuron and positions it in the input space using the given input data.
Definition at line 191 of file RBFPopulation.cpp. References createNeuron(), mContinuousResolution, verve::Population::mNeurons, and mStdDevWidth. Referenced by init(). |
|
Overridden to handle the case where we have a single, constantly-active Neuron.
Reimplemented from verve::Population. Definition at line 112 of file RBFPopulation.cpp. References mActiveNeurons, verve::Population::mNeurons, mSingleState, and verve::Population::resetShortTermMemory(). |
|
Updates all RBFNeuron firing rates. If the RBFPopulation is dynamic and learning is enabled, adds new RBFs when necessary. Updates the internal list of active Neurons. Definition at line 131 of file RBFPopulation.cpp. References verve::HIGH_ACTIVATION, verve::LOW_ACTIVATION, mActiveNeurons, verve::Population::mNeurons, and mSingleState. Referenced by verve::RLModule::computeValueEstimation(), verve::RLModule::resetState(), verve::RLModule::update(), and verve::RLModule::updatePolicyOnly(). |
|
A list of the currently-active Neurons. This enables us to speed up training by focusing on just the necessary set of Connections. Definition at line 114 of file RBFPopulation.h. Referenced by getActiveNeuron(), getNumActiveNeurons(), resetShortTermMemory(), and updateFiringRatesRBF(). |
|
The number of RBFs per dimension in continuous space.
Definition at line 90 of file RBFPopulation.h. Referenced by init(), makeNewRBF(), and RBFPopulation(). |
|
Determines whether the data space is initially filled with RBFs or if we start with none and add them dynamically as necessary.
Definition at line 101 of file RBFPopulation.h. Referenced by init(), and RBFPopulation(). |
|
The number of dimensions in continuous space.
Definition at line 96 of file RBFPopulation.h. Referenced by computeMaxActivationSum(), init(), and RBFPopulation(). |
|
The number of dimensions in discrete space.
Definition at line 93 of file RBFPopulation.h. Referenced by init(), and RBFPopulation(). |
|
True if this is a "null" Population with a single, constantly-active Neuron.
Definition at line 105 of file RBFPopulation.h. Referenced by init(), RBFPopulation(), resetShortTermMemory(), and updateFiringRatesRBF(). |
|
The distance from the center of an RBF to 1 standard deviation away.
Definition at line 109 of file RBFPopulation.h. Referenced by init(), makeNewRBF(), and RBFPopulation(). |