verve::Population Class Reference

An interface for a group of Neurons of similar function. More...

#include <Population.h>

Inheritance diagram for verve::Population:

verve::RBFPopulation verve::UltraSparseCodePopulation verve::WinnerTakeAllPopulation List of all members.

Public Member Functions

VERVE_DECL Population ()
virtual VERVE_DECL ~Population ()
virtual VERVE_DECL void VERVE_CALL init (unsigned int numNeurons)
virtual VERVE_DECL void VERVE_CALL resetShortTermMemory ()
virtual VERVE_DECL void VERVE_CALL project (Population *pop, InitialWeightMethod initWeightMethod, real maxInputPopActivationSum)
virtual VERVE_DECL void VERVE_CALL projectTD (Population *pop, TDConnectionType type, InitialWeightMethod initWeightMethod, real maxInputPopActivationSum)
virtual VERVE_DECL void VERVE_CALL updateFiringRatesLinear ()
virtual VERVE_DECL void VERVE_CALL updateFiringRatesLinearBoundedNegOneToOne ()
virtual VERVE_DECL void VERVE_CALL updateFiringRatesLinearBoundedZeroToOne ()
virtual VERVE_DECL void VERVE_CALL updateFiringRatesSigmoid ()
virtual VERVE_DECL real VERVE_CALL trainPreDeltaRuleLinear (const real *actualOutputs, real learningFactor)
virtual VERVE_DECL unsigned
int VERVE_CALL 
getNumNeurons () const
virtual VERVE_DECL Neuron
*VERVE_CALL 
getNeuron (unsigned int i)
virtual VERVE_DECL void VERVE_CALL normalizeInputWeights ()
virtual VERVE_DECL void VERVE_CALL setPostETraceDecayFactors (real value)
virtual VERVE_DECL void VERVE_CALL setPostTDDiscountFactors (real value)

Protected Member Functions

virtual void clear ()
virtual void createNeuron (unsigned int id)

Protected Attributes

std::vector< Neuron * > mNeurons
std::vector< Projection * > mOutputProjections

Detailed Description

An interface for a group of Neurons of similar function.

Definition at line 36 of file Population.h.


Constructor & Destructor Documentation

verve::Population::Population  ) 
 

Definition at line 31 of file Population.cpp.

verve::Population::~Population  )  [virtual]
 

Destroys all Neurons in the Population.

Definition at line 35 of file Population.cpp.

References clear().


Member Function Documentation

void verve::Population::clear  )  [protected, virtual]
 

Destroys all Neurons.

Reimplemented in verve::RBFPopulation.

Definition at line 54 of file Population.cpp.

References mNeurons.

Referenced by verve::RBFPopulation::clear(), init(), and ~Population().

void verve::Population::createNeuron unsigned int  id  )  [protected, virtual]
 

Creates a new Neuron with the given ID value.

Reimplemented in verve::RBFPopulation.

Definition at line 227 of file Population.cpp.

References mNeurons.

Referenced by init().

Neuron * verve::Population::getNeuron unsigned int  i  )  [virtual]
 

Returns the Neuron at the given index.

Definition at line 193 of file Population.cpp.

References mNeurons.

Referenced by verve::Projection::createConnections(), verve::Projection::init(), verve::Projection::storeTargetNeuronReferences(), and verve::RLModule::updateCriticOutput().

unsigned int verve::Population::getNumNeurons  )  const [virtual]
 

Returns the number of Neurons in the Population.

Definition at line 188 of file Population.cpp.

References mNeurons.

Referenced by verve::Projection::createConnections(), verve::Projection::init(), verve::Projection::storeTargetNeuronReferences(), and trainPreDeltaRuleLinear().

void verve::Population::init unsigned int  numNeurons  )  [virtual]
 

Creates the given number of Neurons for the Population.

Clears any existing Neurons first. This can be called multiple times during the life of the Population.

Reimplemented in verve::UltraSparseCodePopulation.

Definition at line 40 of file Population.cpp.

References clear(), createNeuron(), and mNeurons.

Referenced by verve::UltraSparseCodePopulation::init(), verve::RBFPopulation::init(), and verve::RLModule::RLModule().

void verve::Population::normalizeInputWeights  )  [virtual]
 

Normalizes the weights of all Neurons' input Connections to keep them within the range [-1, 1].

Definition at line 198 of file Population.cpp.

References mNeurons.

void verve::Population::project Population pop,
InitialWeightMethod  initWeightMethod,
real  maxInputPopActivationSum
[virtual]
 

Creates a new output Projection from this Population to the given Population.

Sets the Projection's inital Connection weight method and the maximum activation sum of the presynaptic Population (used to determine initial weight noise).

Definition at line 89 of file Population.cpp.

References verve::Projection::init(), and mOutputProjections.

void verve::Population::projectTD Population pop,
TDConnectionType  type,
InitialWeightMethod  initWeightMethod,
real  maxInputPopActivationSum
[virtual]
 

Creates a TDProjection from this Population to the given one.

The new TDProjection will use the given type of TDConnections. Sets the Projection's inital Connection weight method and the maximum activation sum of the presynaptic Population (used to determine initial weight noise).

Definition at line 97 of file Population.cpp.

References verve::Projection::init(), and mOutputProjections.

Referenced by verve::RLModule::RLModule().

void verve::Population::resetShortTermMemory  )  [virtual]
 

Resets temporary dynamics without affecting learned parameters.

Reimplemented in verve::RBFPopulation, and verve::UltraSparseCodePopulation.

Definition at line 74 of file Population.cpp.

References mNeurons.

Referenced by verve::UltraSparseCodePopulation::resetShortTermMemory(), and verve::RBFPopulation::resetShortTermMemory().

void verve::Population::setPostETraceDecayFactors real  value  )  [virtual]
 

Sets the eligibility trace decay factor for all output Projections (which are assumed to be TDProjections).

Definition at line 207 of file Population.cpp.

References mOutputProjections.

Referenced by verve::RLModule::setETraceTimeConstant().

void verve::Population::setPostTDDiscountFactors real  value  )  [virtual]
 

Sets the TD discount factor for all output Projections (which.

Definition at line 217 of file Population.cpp.

References mOutputProjections.

Referenced by verve::RLModule::setTDDiscountTimeConstant().

real verve::Population::trainPreDeltaRuleLinear const real actualOutputs,
real  learningFactor
[virtual]
 

Trains the input Connection weights using a simple delta rule based on the errors between the Population's outputs and the given actual outputs.

Assumes the Neurons are using a linear activation function. The size of the given array of actual output data must match that of the Population. Returns the mean squared error.

Definition at line 141 of file Population.cpp.

References getNumNeurons(), and mNeurons.

void verve::Population::updateFiringRatesLinear  )  [virtual]
 

Updates the firing rates of the Neurons using linear activation.

Definition at line 105 of file Population.cpp.

References mNeurons.

Referenced by verve::RLModule::updateCriticOutput().

void verve::Population::updateFiringRatesLinearBoundedNegOneToOne  )  [virtual]
 

Updates the firing rates of the Neurons using linear activation.

The firing rates are bounded to [-1, 1].

Definition at line 114 of file Population.cpp.

References mNeurons.

void verve::Population::updateFiringRatesLinearBoundedZeroToOne  )  [virtual]
 

Updates the firing rates of the Neurons using linear activation.

The firing rates are bounded to [0, 1].

Definition at line 123 of file Population.cpp.

References mNeurons.

void verve::Population::updateFiringRatesSigmoid  )  [virtual]
 

Updates the firing rates of the Neurons using sigmoid activation.

Definition at line 132 of file Population.cpp.

References mNeurons.


Member Data Documentation

std::vector<Neuron*> verve::Population::mNeurons [protected]
 

A list of all Neurons in the Population.

Definition at line 125 of file Population.h.

Referenced by clear(), verve::WinnerTakeAllPopulation::computeWinnerIndex(), verve::RBFPopulation::createNeuron(), createNeuron(), getNeuron(), getNumNeurons(), verve::RBFPopulation::init(), init(), verve::RBFPopulation::makeNewRBF(), normalizeInputWeights(), verve::RBFPopulation::resetShortTermMemory(), resetShortTermMemory(), verve::UltraSparseCodePopulation::setActiveOutput(), trainPreDeltaRuleLinear(), updateFiringRatesLinear(), updateFiringRatesLinearBoundedNegOneToOne(), updateFiringRatesLinearBoundedZeroToOne(), verve::RBFPopulation::updateFiringRatesRBF(), updateFiringRatesSigmoid(), and verve::WinnerTakeAllPopulation::updateFiringRatesWTA().

std::vector<Projection*> verve::Population::mOutputProjections [protected]
 

A list of all output Projections.

Definition at line 128 of file Population.h.

Referenced by verve::RBFPopulation::connectNewRBFToTargets(), project(), projectTD(), setPostETraceDecayFactors(), and setPostTDDiscountFactors().


The documentation for this class was generated from the following files:
Generated on Tue Jan 24 21:46:39 2006 for Verve by  doxygen 1.4.6-NO