1.1.1 A demonstration of a feedforward network with lateral inhibition

Below, you will see an interactive demonstration of a simple two-layer network.

Activations: Each unit's activation (shown numerically as well as by colour) is computed by adding up the incoming activation on each input line multiplied by the corresponding weight.

Weights: the weights or connection strengths are displayed as red circles for excitatory connections and blue circles for inhibitory connections. The size of the circle is proportional to the magnitude of the weight. Inhibitory weights are represented by negative values. The threshold value is not currently used in these simulations.

Architecture: There are eleven units in the input layer, and 9 units in the output layer. The input layer units represent a single horizontal strip of photoreceptors in the retina. The second layer units represent a simplified model of retinal ganglion cells; they have excitatory connections from the corresponding units in the layer below, and inhibitory connections from the adjacent units in the layer below. (In reality there are more than two layers of units in the vertebrate retina.) With the default settings for the excitatory and inhibitory parameters, this pattern of "on-center", "off-surround" connectivity causes each unit in the second layer to become active when the central input differs from the surround, and to remain silent when the input is constant across its three input lines.

Editing the input values: Below each input unit there is an interactive white box. The activity of each input unit can be edited by clicking on the white box beneath it, using the delete and arrow keys, and typing in numeric values. You need to press reset and then cycle a couple of times after you have changed the input states. Note: this demo runs in java and requires the latest version of netscape; unfortunately this version for the macintosh has a bug which causes the values in the input boxes to disappear once they have been edited. However, the demo still works, and you can still see the values appear as the input layer states change.

Adjusting the weights: The inhibitory and excitatory weights can be edited by clicking on the corresponding white boxes, using the delete and arrow keys, and entering numeric values.

Testing the network: Clicking on cycle at the bottom of the display causes the activations to be propagated from the input layer to the output layer for one cycle.

Resetting the states: Clicking the reset button at the bottom of the display resets the states of all the non-input units to zero.





McMaster students: Please report any difficulties with this software to your instructor.