18-07-2013, 01:44 PM
Artificial Neural Networks for Beginners
Artificial Neural Networks.docx (Size: 19.96 KB / Downloads: 21)
Introduction
The scope of this teaching package is to make a brief induction to Artificial Neural
Networks (ANNs) for people who have no previous knowledge of them. We first make a brief
introduction to models of networks, for then describing in general terms ANNs. As an
application, we explain the backpropagation algorithm, since it is widely used and many other
algorithms are derived from it.
The user should know algebra and the handling of functions and vectors. Differential
calculus is recommendable, but not necessary. The contents of this package should be
understood by people with high school education. It would be useful for people who are just
curious about what are ANNs, or for people who want to become familiar with them, so when
they study them more fully, they will already have clear notions of ANNs. Also, people who
only want to apply the backpropagation algorithm without a detailed and formal explanation
of it will find this material useful. This work should not be seen as “Nets for dummies”, but of
course it is not a treatise. Much of the formality is skipped for the sake of simplicity. Detailed
explanations and demonstrations can be found in the referred readings. The included exercises
complement the understanding of the theory. The on-line resources are highly recommended
for extending this brief induction.
Networks
One efficient way of solving complex problems is following the lemma “divide and
conquer”. A complex system may be decomposed into simpler elements, in order to be able
to understand it. Also simple elements may be gathered to produce a complex system (Bar
Yam, 1997). Networks are one approach for achieving this. There are a large number of
different types of networks, but they all are characterized by the following components: a set
of nodes, and connections between nodes.
The nodes can be seen as computational units. They receive inputs, and process them
to obtain an output. This processing might be very simple (such as summing the inputs), or
quite complex (a node might contain another network...)
The connections determine the information flow between nodes. They can be
unidirectional, when the information flows only in one sense, and bidirectional, when the
information flows in either sense.
Artificial neural networks
One type of network sees the nodes as ‘artificial neurons’. These are called artificial
neural networks (ANNs). An artificial neuron is a computational model inspired in the
natural neurons. Natural neuronsreceivesignals through synapses located on the dendrites
or membrane of the neuron. When the signals received are strong enough (surpass a certain
threshold), the neuron is activated and emits a signal though the axon. This signal might be
sent to another synapse, and might activate other neurons.
The complexity of real neurons is highly abstracted when modelling artificial
neurons. These basically consist of inputs (like synapses), which are multiplied by weights
(strength of the respective signals), and then computed by a mathematical function which
determines the activation of the neuron. Another function (which may be the identity)
computes the output of the artificial neuron (sometimes in dependance of a certain
threshold). ANNs combine artificial neurons in order to process information.
Figure 2. An artificial neuronThe higher a weight of an artificial neuron is, the stronger the input which is
multiplied by it will be. Weights can also be negative, so we can say that the signal is
inhibited by the negative weight. Depending on the weights, the computation of the neuron
will be different.
Exercise
This exercise is to become familiar with artificial neural network concepts. Build a
network consisting of four artificial neurons. Two neurons receive inputs to the network,
and the other two give outputs from the network.
There are weights assigned with each arrow, which represent information flow.
These weights are multiplied by the values which go through each arrow, to give more orless strength to the signal which they transmit. The neurons of this network just sum their
inputs. Since the input neurons have only one input, their output will be the input they
received multiplied by a weight. What happens if this weight is negative? What happens if
this weight is zero?
The neurons on the output layer receive the outputs of both input neurons,
multiplied by their respective weights, and sum them. They give an output which is
multiplied by another weight.