Theta Neuron Class Documentation

Version 9.0

Introduction

The class described in this documentation is available below:

This class encapsulates some of the functionality of a theta neuron. Theta neurons are dynamic neuron models, that is to say their state is a function of time as well as a function of input spikes. Theta neurons represent an excellent trade-off between model complexity and analytical tractability. Other simpler spiking modesl such as the Linear Integrate and Fire model do not capture many important dynamic properties while other more complicated neuron models such as the Izhikevich or Hodgkins-Huxley Model have multiple state variables and are generally too complicated to enable the development of simple gradient-based learning equations. Much more information about theta neurons can be found here.

Basic Theta Neuron Schematic

Basic Theta Neuron Schematic

Theta Neuron Dynamics

In order to understand the functionality of the theta neuron class it is helpful to have at least an overview understanding of the theta neuron dynamics. The trajectory of the state in a theta neuron is described by:

\[ \frac{{d\theta }}{{dt}} = \left( {1 - \cos \theta } \right) + \alpha I\left( t \right)\left( {1 + \cos \theta } \right) \]

where $\theta$ is the neuron phase (state); $\alpha$ is a scaling constant; and $I(t)$ is the input current that drives the dynamics. The input current is composed of the synaptic currents (generated by input spikes) and a baseline line current that determines the neuron dynamic properties. Thus the neuron state changes as a function of time, input spikes and neuron properties. It is important to note that in traditional neural networks used by engineers there is no concept of state, rather the output is instaneously generated from the input, making it difficult to accomdate time-based learning applications.

For a more intuitive approach, a java script tool available here shows the theta neuron phase circle, which graphically summarizes the theta neuron properties. Unfortunetely the web provider used for this site does not allow javascript, thus to run the applet first download the zip file, uncompress it to a local directory and finally open up ThetaNeuronJavaApplet.html in a web browser.

Theta Neuron Simulation

Many machine learning applications are ideal for theta neurons because of their simple yet dynamic nature. However, in order to simulate the theta neuron dynamic equation shown above, an inefficient process called numerical integration is typically used. The inefficiency of this process makes it difficult for theta neurons to be used in embedded applications such as robotics where the real-time response of the system is important. Thus, the theta neuron class also contains two ways to simulate theta neuron dynamics. Besides the numerical method, the Theta Neuon class contains event-driven simulation methods, which through some mathematical tricks only needs to perform calculations when an input spike is received rather than at every time iteration, thus enabling robotic applications such as this one here.

 All Classes Functions Enumerations Enumerator

Generated on Thu Oct 29 14:56:34 2009 for ThNNTest Project Name by  doxygen 1.6.1