Introduction

The following software was written to aid in the teaching of BioNB330, Introduction to Computational Neuroscience. The software is meant to clarify concepts introduced in lecture and to serve as the basis for homework assignments. The programs written are:

Using the Neural model program

This program helps the student investigate simplified, computational models of neurons. The program requires Matlab 6.1 or later to run. Download the program by right-clicking on the above program link.

The user interface is shown below. In summary, you can:

Each interactive control will be explained in following paragraphs. The mathematical basis for the model is explained on a separate page.

Input Sections

There are two inputs to the simulated neuron, each with its own controls. Each input acts as a current-input with a waveform determined by the control settings:

Voltage Function Section

The Voltage Function section sets the membrane parameters, and also allows for measurements and monitoring the details of membrane current. The red bar animates the current membrane voltage, while the box surrounding it animates the threshold (if the threshold changes). There are two subthresold membrane parameters:

Clicking the Measure button stops the simulation. When you click the mouse button in the waveform display, a diamond marker is placed on the screen. This becomes the zero-point for the measurement. As you move the mouse, the difference between the position of the diamond and the position of the mouse is used to calculate a voltage and a time.

Output Function Section

The Output Function section sets the type of neuron (spiking/sigmoid) and the threshold for output. There are also controls for displaying and reseting the interspike interval (ISI) histogram. The neuron can be in one of two output modes:

The threshold may be modified in various ways:

If the neuron is in spike mode, the ISI controls may be used to display an interspike interval histogram. The Reset ISI button clears the spike memory.

Using the Receptive Field model program

This program helps the student investigate a simple receptive field model. The program requires Matlab 6.1 or later to run. Download the program by right-clicking on the above program link. Three sensory inputs drive one output neuron. The three inputs have user-selectable responses to a rotating line. When the line rotates through the receptive field of an input, that input generates a current. The currents are summed at the output neuron to form a response to the rotating line. The line rotates from 0 to 180 degrees, then stops.

The user interface is shown below. In summary, you can:

Each interactive control will be explained in following paragraphs.

Input Sections

There are three inputs to the simulated neuron, each with its own controls. Each input acts as a current-input with an line-angle dependent waveform determined by the control settings:

The initial control settings are shown in the figure above.

Voltage Function Section

The Voltage Function section sets the membrane parameters, and also allows for measurements and monitoring the details of membrane current. The red bar animates the current membrane voltage, while the box surrounding it animates the threshold (if the threshold changes). There are two subthresold membrane parameters:

Clicking the Measure button stops the simulation. When you click the mouse button in the waveform display, a diamond marker is placed on the screen. This becomes the zero-point for the measurement. As you move the mouse, the difference between the position of the diamond and the position of the mouse is used to calculate a voltage and a time.

Output Function Section

The Output Function section sets the type of neuron (spiking/sigmoid) and the threshold for output. There are also controls for displaying and reseting the interspike interval (ISI) histogram. The neuron can be in one of two output modes:

The threshold may be modified in various ways:

If the neuron is in spike mode, the ISI controls may be used to display an interspike interval histogram. The Reset ISI button clears the spike memory.

Using the Lateral Inhibition model program

This program helps the student investigate a receptive field model with coupling between cells. The program requires Matlab 6.1 or later to run. Download the program by right-clicking on the above program link. Three sensory inputs each drive one second-layer neuron. The three second-layer neurons may be cross-coupled and/or drive an output neuron. The three inputs are similar to the previous program. The second-layer neurons and output neuron have linear response to input current (above a settable threshold).

The user interface is shown below. In summary, you can:

Each interactive control will be explained in following paragraphs.

Input Sections

There are three inputs to the simulated neuron, each with its own controls. Each input acts as a current-input with an line-angle dependent waveform determined by the control settings:

Cell Sections

The Cell sections sets the membrane threshold and the cross-coupling weights from each second-layer cell to its neighbors.

Clicking the Measure button stops the simulation. When you click the mouse button in the waveform display, a diamond marker is placed on the screen. This becomes the zero-point for the measurement. As you move the mouse, the difference between the position of the diamond and the position of the mouse is used to calculate a voltage and a time.

Output Cell Section

The Output Cell section sets the threshold for output and the input weights from each of the layer-two neurons. The useful ranges are as above.

Using the Two Cell model program

This program helps the student investigate two interconnected model neurons. The program requires Matlab 6.1 or later to run. Download the program by right-clicking on the above program link. There are a variety of input options to each cell, including connection to the output of the other cell.

The user interface is shown below. In summary, you can:

Each interactive control will be explained in following paragraphs.

Input Sections

There are two input sections corresponding to the two simulated neuron, each with its own controls. Each input acts as a current-input with a waveform determined by the control settings:

Voltage Function Section

The Voltage Function section sets the membrane parameters, and also allows for measurements and monitoring the details of membrane current. The red bar animates the current membrane voltage, while the box surrounding it animates the threshold (if the threshold changes). There are two subthresold membrane parameters:

Clicking the Measure button stops the simulation. When you click the mouse button in the waveform display, a diamond marker is placed on the screen. This becomes the zero-point for the measurement. As you move the mouse, the difference between the position of the diamond and the position of the mouse is used to calculate a voltage and a time.

Output Function Section

The Output Function section sets the type of neuron (spiking/sigmoid) and the threshold for output. There are also controls for displaying and reseting the interspike interval (ISI) histogram. The neuron can be in one of two output modes:

If the neuron is in spike mode, the ISI controls may be used to display an interspike interval histogram. The Reset ISI button clears the spike memory.

Linear Association Learning

This program helps the student investigate a simple learning algorithm. The program requires Matlab 6.1 or later to run. Download the program by right-clicking on the above program link. The user can associate output patterns with input patterns by clicking on the appropriate (binary valued) boxes.

Hebbian Learning

This program helps the student investigate a Hebbian learning algorithm. The program requires Matlab 6.1 or later to run. Download the program by right-clicking on the on the above program link.

A slightly modified version of the program has a subtractive threshold for inputs, so that weights can become negative. There is a new control defined to set the initial weights to non-zero values.

Auto-association Learning

This program helps the student investigate a learning algorithm which allows pattern completion. The program requires Matlab 6.1 or later to run. Download the program by right-clicking on the above program link. The user can enter input patterns by clicking on the appropriate (binary valued) boxes.