verve::Neuron Class Reference

The basic Neuron class. More...

#include <Neuron.h>

Inheritance diagram for verve::Neuron:

verve::RBFNeuron List of all members.

Public Member Functions

VERVE_DECL Neuron (unsigned int id)
virtual VERVE_DECL ~Neuron ()
virtual VERVE_DECL void VERVE_CALL resetShortTermMemory ()
virtual VERVE_DECL void VERVE_CALL setFiringRate (real value)
virtual VERVE_DECL real VERVE_CALL getFiringRate () const
virtual VERVE_DECL void VERVE_CALL addToSynapticInputSum (real delta)
virtual VERVE_DECL void VERVE_CALL updateFiringRateLinear ()
virtual VERVE_DECL void VERVE_CALL updateFiringRateLinearBoundedNegOneToOne ()
virtual VERVE_DECL void VERVE_CALL updateFiringRateLinearBoundedZeroToOne ()
virtual VERVE_DECL void VERVE_CALL updateFiringRateSigmoid ()
virtual VERVE_DECL void VERVE_CALL addDendrite (Connection *c)
virtual VERVE_DECL unsigned
int VERVE_CALL 
getNumDendrites () const
virtual VERVE_DECL Connection
*VERVE_CALL 
getDendrite (unsigned int i)
virtual VERVE_DECL void VERVE_CALL addAxon (Connection *c)
virtual VERVE_DECL unsigned
int VERVE_CALL 
getNumAxons () const
virtual VERVE_DECL Connection
*VERVE_CALL 
getAxon (unsigned int i)
virtual VERVE_DECL int VERVE_CALL getID () const
virtual VERVE_DECL void VERVE_CALL normalizeInputWeights ()

Protected Attributes

unsigned int mID
real mFiringRate
real mSynapticInputSum
std::vector< Connection * > mDendrites
std::vector< Connection * > mAxons

Detailed Description

The basic Neuron class.

It can update its firing rate based on its pre-synaptic input sum, or it can have its firing rate set explicitly. The synaptic input sum is automatically updated when pre-synaptic Neurons' firing rates change and when pre-synaptic Connections' weights change.

Definition at line 38 of file Neuron.h.


Constructor & Destructor Documentation

verve::Neuron::Neuron unsigned int  id  ) 
 

Definition at line 29 of file Neuron.cpp.

References mFiringRate, mID, and mSynapticInputSum.

verve::Neuron::~Neuron  )  [virtual]
 

Deallocates any dynamically allocated memory.

This object should never be destroyed by the user calling 'delete' because memory allocated within the DLL should also be destroyed within the DLL.

Definition at line 36 of file Neuron.cpp.


Member Function Documentation

void verve::Neuron::addAxon Connection c  )  [virtual]
 

Adds an axon (output Connection) to the Neuron.

Definition at line 249 of file Neuron.cpp.

References mAxons.

Referenced by verve::TDProjection::connectNeurons(), and verve::Projection::connectNeurons().

void verve::Neuron::addDendrite Connection c  )  [virtual]
 

Adds a dendrite (input Connection) to the Neuron.

Definition at line 234 of file Neuron.cpp.

References mDendrites.

Referenced by verve::TDProjection::connectNeurons(), and verve::Projection::connectNeurons().

void verve::Neuron::addToSynapticInputSum real  delta  )  [virtual]
 

Adds to the synaptic input sum.

Definition at line 147 of file Neuron.cpp.

References mSynapticInputSum.

Referenced by verve::Connection::addToWeight(), setFiringRate(), and verve::Connection::setWeight().

Connection * verve::Neuron::getAxon unsigned int  i  )  [virtual]
 

Returns the axon (output Connection) at the given index.

Definition at line 259 of file Neuron.cpp.

References mAxons.

Connection * verve::Neuron::getDendrite unsigned int  i  )  [virtual]
 

Returns the dendrite (input Connection) at the given index.

Definition at line 244 of file Neuron.cpp.

References mDendrites.

real verve::Neuron::getFiringRate  )  const [virtual]
 

Returns the current firing rate.

Definition at line 229 of file Neuron.cpp.

References mFiringRate.

Referenced by verve::Connection::addToWeight(), verve::TDConnection::increaseETrace(), verve::Connection::setWeight(), and verve::RLModule::updateCriticOutput().

int verve::Neuron::getID  )  const [virtual]
 

Returns the identifier used when saving/loading Neurons to and from files.

Definition at line 264 of file Neuron.cpp.

References mID.

unsigned int verve::Neuron::getNumAxons  )  const [virtual]
 

Returns the number of axons (output Connections).

Definition at line 254 of file Neuron.cpp.

References mAxons.

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

unsigned int verve::Neuron::getNumDendrites  )  const [virtual]
 

Returns the number of dendrites (input Connections).

Definition at line 239 of file Neuron.cpp.

References mDendrites.

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

Normalizes the input weights to keep them within the range [-1, 1].

This does nothing if the Neuron has fewer than two input Connections.

Definition at line 46 of file Neuron.cpp.

References mDendrites.

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

Resets temporary dynamics without affecting learned parameters.

Definition at line 40 of file Neuron.cpp.

References mFiringRate, and mSynapticInputSum.

void verve::Neuron::setFiringRate real  value  )  [virtual]
 

Sets the current firing rate to the given value.

Automatically updates the input sums of all post-synaptic Neurons.

Definition at line 127 of file Neuron.cpp.

References addToSynapticInputSum(), mAxons, and mFiringRate.

Referenced by verve::RBFNeuron::updateFiringRate(), updateFiringRateLinear(), updateFiringRateLinearBoundedNegOneToOne(), updateFiringRateLinearBoundedZeroToOne(), and updateFiringRateSigmoid().

void verve::Neuron::updateFiringRateLinear  )  [virtual]
 

Updates the firing rate using a linear function of the current synaptic input sum.

The resulting firing rate is unbounded. Automatically updates the input sums of all post-synaptic Neurons.

Definition at line 152 of file Neuron.cpp.

References mSynapticInputSum, and setFiringRate().

void verve::Neuron::updateFiringRateLinearBoundedNegOneToOne  )  [virtual]
 

Updates the firing rate using a linear function of the current synaptic input sum.

The resulting firing rate is bounded within [-1, 1].

Definition at line 163 of file Neuron.cpp.

References mSynapticInputSum, and setFiringRate().

void verve::Neuron::updateFiringRateLinearBoundedZeroToOne  )  [virtual]
 

Updates the firing rate using a linear function of the current synaptic input sum.

The resulting firing rate is bounded within [0, 1].

Definition at line 185 of file Neuron.cpp.

References mSynapticInputSum, and setFiringRate().

void verve::Neuron::updateFiringRateSigmoid  )  [virtual]
 

Updates the firing rate using a sigmoid function of the current synaptic input sum.

The resulting firing rate bounded to the range [0, 1]. Automatically updates the input sums of all post-synaptic Neurons.

Definition at line 207 of file Neuron.cpp.

References verve::globals::exp(), mSynapticInputSum, and setFiringRate().


Member Data Documentation

std::vector<Connection*> verve::Neuron::mAxons [protected]
 

A list of the Neuron's output Connections.

Definition at line 128 of file Neuron.h.

Referenced by addAxon(), getAxon(), getNumAxons(), and setFiringRate().

std::vector<Connection*> verve::Neuron::mDendrites [protected]
 

A list of the Neuron's input Connections.

Definition at line 125 of file Neuron.h.

Referenced by addDendrite(), getDendrite(), getNumDendrites(), and normalizeInputWeights().

real verve::Neuron::mFiringRate [protected]
 

The firing rate.

Definition at line 119 of file Neuron.h.

Referenced by getFiringRate(), Neuron(), resetShortTermMemory(), and setFiringRate().

unsigned int verve::Neuron::mID [protected]
 

An identifier used for file saving/loading.

This is a unique ID within a Population.

Definition at line 116 of file Neuron.h.

Referenced by getID(), and Neuron().

real verve::Neuron::mSynapticInputSum [protected]
 

The current sum of signals entering through dendrites.

Definition at line 122 of file Neuron.h.

Referenced by addToSynapticInputSum(), Neuron(), resetShortTermMemory(), updateFiringRateLinear(), updateFiringRateLinearBoundedNegOneToOne(), updateFiringRateLinearBoundedZeroToOne(), and updateFiringRateSigmoid().


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