Assignment 2

In this assignment you will be creating an artiﬁcial neural network
(ANN). There are
many kinds of ANNs, but they all share one thing in common: they are
represented as a directed
graph in which the nodes are models of biological neurons, and edges
are models of biological
synapses. Henceforth, the terms ‘neurons’ and ‘synapses’ will be used
to describe the elements of
an ANN. The behavior, in addition to the structure of an ANN is also
similar to biological neural
networks: (1) each neuron holds a value which indicates its level of
activation; (2) each directed
edge (synapse) is assigned a value, known as its ‘strength’, which
indicates how much inﬂuence
the source neuron has on the target neuron; and (3) the activation a of
a neuron i at the next time
step is usually expressed as
ai = (
Xn
j=1
wijaj) (1)
where there are n neurons that connect to neuron i, aj
is the activation of the jth neuron that
connects to neuron i, wij is the weight of the synapse connecting
neuron j to neuron i, and () is
a function that keeps the activation of neuron i from growing too large.
In this project you will create an artiﬁcial neural network in Python,
simulate its behavior over
time, and visualize the resulting behavior.