Neural Networks
Neural Networks
Neural Networks
2
Contents:
1. Introduction to Neural Networks
1.1 What is a neural network?
1.2 Historical background
1.3 Why use neural networks?
1.4 Neural networks versus conventional computers - a comparison
3. An Engineering approach
3.1 A simple neuron - description of a simple neuron
3.2 Firing rules - How neurons make decisions
3.3 Pattern recognition - an example
3.4 A more complicated neuron
4. Architecture of neural networks
4.1 Feed-forward (associative) networks
4.2 Feedback (auto associative) networks
4.3 Network layers
4.4 Perceptions
5. The Learning Process
5.1 Transfer Function
5.2 An Example to illustrate the above teaching procedure
5.3 The Back-Propagation Algorithm
5.4 The Back-Propagation Algorithm (non-linear)
References
3
1. Introduction to neural networks
1.1 What is a Neural Network?
Many important advances have been boosted by the use of inexpensive computer
emulations. Following an initial period of enthusiasm, the field survived a period
of frustration and disrepute. During this period when funding and professional
support was minimal, important advances were made by relatively few researchers.
These pioneers were able to develop convincing technology which surpassed the
limitations identified by Minsky and Papert. Minsky and Papert, published a book
(in 1969) in which they summed up a general feeling of frustration (against neural
networks) among researchers, and was thus accepted by most without further
analysis. Currently, the neural network field enjoys a resurgence of interest and a
corresponding increase in funding.
The first artificial neuron was produced in 1943 by the neurophysiologist Warren
McCulloch and the logician Walter Pits. But the technology available at that time
did not allow them to do too much.
4
1.3 Why use neural networks?
5
Neural networks process information in a similar way the human brain does.
The network is composed of a large number of highly interconnected
processing elements (neurones) working in parallel to solve a specific
problem. Neural networks learn by example. They cannot be programmed to
perform a specific task. The examples must be selected carefully otherwise
useful time is wasted or even worse the network might be functioning
incorrectly. The disadvantage is that because the network finds out how to
solve the problem by itself, its operation can be unpredictable.
6
2. Human and Artificial Neurons - investigating the
similarities
2.1 How the Human Brain Learns?
Much is still unknown about how the brain trains itself to process information, so
theories abound. In the human brain, a typical neuron collects signals from others
through a host of fine structures called dendrites. The neuron sends out signals of
electrical activity through a long, thin stand known as an axon, which splits into
thousands of branches. At the end of each branch, a structure called a synapse
converts the activity from the axon into electrical effects that inhibit or excite
activity in the connected neurons. When a neuron receives excitatory input that is
sufficiently large compared with its inhibitory input, it sends a spike of electrical
activity down its axon. Learning occurs by changing the effectiveness of the
synapses so that the influence of one neuron on another changes.
7
2.2 From Human Neurons to Artificial Neurons
We conduct these neural networks by first trying to find the essential features of
neurones and their interconnections. We then typically program a computer to
simulate these features. However because our knowledge of neurones is
incomplete and our computing power is limited, our models are necessarily gross
idealizations of real networks of neurones.
8
] 3. An engineering approach
3.1 A simple neuron
An artificial neuron is a device with many inputs and one output. The neuron has
two modes of operation; the training mode and the using mode. In the training
mode, the neuron can be trained to fire (or not), for particular input patterns. In the
using mode, when a taught input pattern is detected at the input, its associated
output becomes the current output. If the input pattern does not belong in the
taught list of input patterns, the firing rule is used to determine whether to fire or
not.
A simple neuron
The firing rule is an important concept in neural networks and accounts for their
high flexibility. A firing rule determines how one calculates whether a neuron
should fire for any input pattern. It relates to all the input patterns, not only the
ones on which the node was trained.
Take a collection of training patterns for a node, some of which cause it to fire (the
1-taught set of patterns) and others which prevent it from doing so (the 0-taught
set). Then the patterns not in the collection cause the node to fire if, on
comparison , they have more input elements in common with the 'nearest' pattern
in the 1-taught set than with the 'nearest' pattern in the 0-taught set. If there is a tie,
then the pattern remains in the undefined state.
9
For example, a 3-input neuron is taught to output 1 when the input (X1,X2 and X3) is 111 or 101
and to output 0 when the input is 000 or 001. Then, before applying the firing rule, the truth table
is;
X1: 0 0 0 0 1 1 1 1
X2: 0 0 1 1 0 0 1 1
X3: 0 1 0 1 0 1 0 1
As an example of the way the firing rule is applied, take the pattern 010. It differs
from 000 in 1 element, from 001 in 2 elements, from 101 in 3 elements and from
111 in 2 elements. Therefore, the 'nearest' pattern is 000 which belongs in the 0-
taught set. Thus the firing rule requires that the neuron should not fire when the
input is 001. On the other hand, 011 is equally distant from two taught patterns that
have different outputs and thus the output stays undefined (0/1).
By applying the firing in every column the following truth table is obtained;
X1: 0 0 0 0 1 1 1 1
X2: 0 0 1 1 0 0 1 1
X3: 0 1 0 1 0 1 0 1
The difference between the two truth tables is called the generalisation of the
neuron. Therefore the firing rule gives the neuron a sense of similarity and enables
it to respond 'sensibly' to patterns not seen during training.
10
3.3 Pattern Recognition - an example
Figure 1.
For example:
The network of figure 1 is trained to recognize the patterns T and H. The
associated patterns are all black and all white respectively as shown next
11
If we represent black squares with 0 and white squares with 1 then the truth tables
for the 3 neurons after generalization are;
X11: 0 0 0 0 1 1 1 1
X12: 0 0 1 1 0 0 1 1
X13: 0 1 0 1 0 1 0 1
OUT: 0 0 1 1 0 0 1 1
Top neuron
X21: 0 0 0 0 1 1 1 1
X22: 0 0 1 1 0 0 1 1
X23: 0 1 0 1 0 1 0 1
Middle neuron
X21: 0 0 0 0 1 1 1 1
X22: 0 0 1 1 0 0 1 1
X23: 0 1 0 1 0 1 0 1
OUT: 1 0 1 1 0 0 1 0
Bottom neuron
12
From the tables it can be seen the following associations can be extracted:
In this case, it is obvious that the output should be all blacks since the input pattern
is almost the same as the 'T' pattern.
Here also, it is obvious that the output should be all whites since the input pattern
is almost the same as the 'H' pattern.
13
Here, the top row is 2 errors away from the T and 3 from an H. So the top output is
black. The middle row is 1 error away from both T and H so the output is random.
The bottom row is 1 error away from T and 2 away from H. Therefore the output is
black. The total output of the network is still in favour of the T shape.
The addition of input weights and of the threshold makes this neuron a very
flexible and powerful one. The MCP neuron has the ability to adapt to a particular
situation by changing its weights and/or threshold. Various algorithms exist that
cause the neuron to 'adapt'; the most used ones are the Delta rule and the back error
propagation. The former is used in feed-forward networks and the latter in
feedback networks.
14
4 Architecture of neural networks
Feed-forward ANNs (figure 4-1) allow signals to travel one way only; from input
to output. There is no feedback (loops) i.e. the output of any layer does not affect
that same layer. Feed-forward ANNs tend to be straight forward networks that
associate inputs with outputs. They are widely used in pattern recognition. This
type of organization is also referred to as bottom-up or top-down.
Feedback networks (figure 4-2) can have signals travelling in both directions by
introducing loops in the network. Feedback networks are very powerful and can
get extremely complicated. Feedback networks are dynamic; their 'state' is
changing continuously until they reach a balanced point. They remain at the
balanced point until the input changes and a new equilibrium needs to be found.
Feedback architectures are also referred to as interactive or recurrent, although the
latter term is often used to denote feedback connections in single-layer
organizations.
15
Figure 4.1 An example of a simple
feedforward network
The commonest type of artificial neural network consists of three groups, or layers,
of units: a layer of "input" units is connected to a layer of "hidden" units, which is
connected to a layer of "output" units. (Figure 4.1)
The activity of the input units represents the raw information that is fed into the
network.
The activity of each hidden unit is determined by the activities of the input units
and the weights on the connections between the input and the hidden units.
The behavior of the output units depends on the activity of the hidden units and
the weights between the hidden and output units.
16
This simple type of network is interesting because the hidden units are free to
construct their own representations of the input. The weights between the input and
hidden units determine when each hidden unit is active, and so by modifying these
weights, a hidden unit can choose what it represents.
17
4.4 Perceptions
The most effective thing on the work on neural nets in the 60's went under the
heading of 'perceptrons' a term coined by Frank Rosenblatt. The perceptron (figure
4.4) turns out to be an MCP model ( neuron with weighted inputs ) with some
additional, fixed, pre--processing. Units labelled A1, A2, Aj , Ap are called
association units and their task is to extract specific, localized featured from the
input images. Perceptrons mimic the basic idea behind the mammalian visual
system. They were mainly used in pattern recognition even though their
capabilities extended a lot more.
Figure 4.4
In 1969 Minsky and Papert wrote a book in which they described the limitations of
single layer Perceptrons. The impact that the book had was tremendous and caused
a lot of neural network researchers to loose their interest. The book was very well
written and showed mathematically that single layer perceptrons could not do
some basic pattern recognition operations like determining the parity of a shape or
determining whether a shape is connected or not. What they did not realised, until
the 80's, is that given the appropriate training, multilevel perceptrons can do these
operations.
18
5. The Learning Process
The memorization of patterns and the subsequent response of the network can be
categorized into two general paradigms:
Every neural network possesses knowledge which is contained in the values of the
connections weights. Modifying the knowledge stored in the network as a function
of experience implies a learning rule for changing the values of the weights.
19
Information is stored in the weight matrix W of a neural network. Learning is the
determination of the weights. Following the way learning is performed, we can
distinguish two major categories of neural networks:
Adaptive networks which are able to change their weights, ie dW/dt not= 0.
All learning methods used for adaptive neural networks can be classified into two
major categories:
20
Unsupervised learning uses no external teacher and is based upon only local
information. It is also referred to as self-organization, in the sense that it self-
organizes data presented to the network and detects their emergent collective
properties. Paradigms of unsupervised learning are Hebbian learning and
competitive learning.
Ano2.2 From Human Neurons to Artificial Neuronesther aspect of learning
concerns the distinction or not of a separate phase, during which the network is
trained, and a subsequent operation phase. We say that a neural network learns off-
line if the learning phase and the operation phase are distinct. A neural network
learns on-line if it learns and operates at the same time. Usually, supervised
learning is performed off-line, whereas unsupervised learning is performed on-line.
The behavior of an ANN (Artificial Neural Network) depends on both the weights
and the input-output function (transfer function) that is specified for the units. This
function typically falls into one of three categories:
Threshold
Sigmoid
For linear units, the output activity is proportional to the total weighted output.
For threshold units, the output are set at one of two levels, depending on whether
the total input is greater than or less than some threshold value.
For sigmoid units, the output varies continuously but not linearly as the input
changes. Sigmoid units bear a greater resemblance to real neurones than do linear
or threshold units, but all three must be considered rough approximations.
To make a neural network that performs some specific task, we must choose how
the units are connected to one another (see figure 4.1), and we must set the weights
on the connections appropriately. The connections determine whether it is possible
for one unit to influence another. The weights specify the strength of the influence.
21
We can teach a three-layer network to perform a particular task by using the
following procedure:
For each kind of digit recorded by the sensors, the network should produce high
activity in the appropriate output unit and low activity in the other output units.
To train the network, we present an image of a digit and compare the actual activity
of the 10 output units with the desired activity. We then calculate the error, which
is defined as the square of the difference between the actual and the desired
activities. Next we change the weight of each connection so as to reduce the error.
We repeat this training process for many different images of each different images
of each kind of digit until the network classifies every image correctly.
To implement this procedure we need to calculate the error derivative for the
weight (EW) in order to change the weight by an amount that is proportional to the
rate at which the error changes as the weight is changed. One way to calculate the
EW is to perturb a weight slightly and observe how the error changes. But that
method is inefficient because it requires a separate perturbation for each of the
many weights.
In order to train a neural network to perform some task, we must adjust the weights
of each unit in such a way that the error between the desired output and the actual
output is reduced. This process requires that the neural network compute the error
derivative of the weights (EW). In other words, it must calculate how the error
changes as each weight is increased or decreased slightly. The back propagation
algorithm is the most widely used method for determining the EW.
Note that for non-linear units, the back-propagation algorithm includes an extra
step. Before back-propagating, the EA must be converted into the EI, the rate at
which the error changes as the total input received by a unit is changed.
23
5.4The back-propagation Algorithm - a mathematical approach (non-linear)
Units are connected to one another. Connections correspond to the edges of the
underlying directed graph. There is a real number associated with each connection,
which is called the weight of the connection. We denote by Wij the weight of the
connection from unit ui to unit uj. It is then convenient to represent the pattern of
connectivity in the network by a weight matrix W whose elements are the weights
Wij. Two types of connection are usually distinguished: excitatory and inhibitory.
A positive weight represents an excitatory connection whereas a negative weight
represents an inhibitory connection. The pattern of connectivity characterizes the
architecture of the network.
A unit in the output layer determines its activity by following a two step procedure.
First, it computes the total weighted input xj, using the formula:
24
where yi is the activity level of the jth unit in the previous layer and Wij is the
weight of the connection between the ith and the jth unit.
Next, the unit calculates the activity yj using some function of the total weighted
input. Typically we use the sigmoid function:
Once the activities of all output units have been determined, the network computes
the error E, which is defined by the expression:
Where yj is the activity level of the jth unit in the top layer and dj is the desired
output of the jth unit.
1. Compute how fast the error changes as the activity of an output unit is changed.
This error derivative (EA) is the difference between the actual and the desired
activity.
2. Compute how fast the error changes as the total input received by an output unit
is changed. This quantity (EI) is the answer from step 1 multiplied by the rate at
which the output of a unit changes as its total input is changed.
3. Compute how fast the error changes as a weight on the connection into an output
unit is changed. This quantity (EW) is the answer from step 2 multiplied by the
activity level of the unit from which the connection emanates.
25
4. Compute how fast the error changes as the activity of a unit in the previous layer
is changed. This crucial step allows back propagation to be applied to multilayer
networks. When the activity of a unit in the previous layer changes, it affects the
activates of all the output units to which it is connected. So to compute the overall
effect on the error, we add together all these separate effects on output units. But
each effect is simple to calculate. It is the answer in step 2 multiplied by the weight
on the connection to that output unit.
By using steps 2 and 4, we can convert the EAs of one layer of units into EAs for
the previous layer. This procedure can be repeated to get the EAs for as many
previous layers as desired. Once we know the EA of a unit, we can use steps 2 and
3 to compute the EWs on its incoming connections.
26
6. Applications of neural networks
6.1 Neural Networks in Practice
Given this description of neural networks and how they work, what real world
applications are they suited for? Neural networks have broad applicability to real
world business problems. In fact, they have already been successfully applied in
many industries.
Since neural networks are best at identifying patterns or trends in data, they are
well suited for prediction or forecasting needs including:
Weather forecasting
Customer research
Data validation
Risk management
Target marketing
But to give you some more specific examples; ANN are also used in the following
specific paradigms: recognition of speakers in communications; diagnosis of
hepatitis; recovery of telecommunications from faulty software; interpretation of
multimeaning Chinese words; undersea mine detection; texture analysis; three-
dimensional object recognition; hand-written word recognition; and facial
recognition. .
27
6.2 Neural networks in medicine
Artificial Neural Networks (ANN) are currently a 'hot' research area in medicine
and it is believed that they will receive extensive application to biomedical systems
in the next few years. At the moment, the research is mostly on modeling parts of
the human body and recognizing diseases from various scans (e.g. cardiograms,
CAT scans, ultrasonic scans, etc.).
Neural networks are ideal in recognizing diseases using scans since there is no
need to provide a specific algorithm on how to identify the disease. Neural
networks learn by example so the details of how to recognize the disease are not
needed. What is needed is a set of examples that are representative of all the
variations of the disease. The quantity of examples is not as important as the
'quantity'. The examples need to be selected very carefully if the system is to
perform reliably and efficiently.
Another reason that justifies the use of ANN technology is the ability of ANNs to
provide sensor fusion which is the combining of values from several different
28
sensors. Sensor fusion enables the ANNs to learn complex relationships among the
individual sensor values, which would otherwise be lost if the values were
individually analyzed. In medical modeling and diagnosis, this implies that even
though each sensor in a set may be sensitive only to a specific physiological
variable, ANNs are capable of detecting complex medical conditions by fusing the
data from the individual biomedical sensors.
29
work going on. Most work is applying neural networks, such as the Hopfield-Tank
network for optimization and scheduling.
6.3.1 Marketing
There is a marketing application which has been integrated with a neural network
system. The Airline Marketing Tactician (a trademark abbreviated as AMT) is a
computer system made of various intelligent technologies including expert
systems. A feed forward neural network is integrated with the AMT and was
trained using back-propagation to assist the marketing control of airline seat
allocations. The adaptive neural approach was amenable to rule expression.
Additionally, the application's environment changed rapidly and constantly, which
required a continuously adaptive solution. The system is used to monitor and
recommend booking advice for each departure. Such information has a direct
impact on the profitability of an airline and can provide a technological advantage
for users of the system. [Hutchison & Stephens, 1987]
While it is significant that neural networks have been applied to this problem, it is
also important to see that this intelligent technology can be integrated with expert
systems and other approaches to make a functional system. Neural networks were
used to discover the influence of undefined interactions by the various variables.
While these interactions were not defined, they were used by the neural system to
develop useful conclusions. It is also noteworthy to see that neural networks can
influence the bottom line.
30
7. Conclusion
The computing world has a lot to gain from neural networks. Their ability to learn
by example makes them very flexible and powerful. Furthermore there is no need
to devise an algorithm in order to perform a specific task; i.e. there is no need to
understand the internal mechanisms of that task. They are also very well suited for
real time systems because of their fast response and computational times which are
due to their parallel architecture.
Neural networks also contribute to other areas of research such as neurology and
psychology. They are regularly used to model parts of living organisms and to
investigate the internal mechanisms of the brain.
Perhaps the most exciting aspect of neural networks is the possibility that some day
'conscious' networks might be produced. There is a number of scientists arguing
that consciousness is a 'mechanical' property and that 'conscious' neural networks
are a realistic possibility.
Finally, I would like to state that even though neural networks have a huge
potential we will only get the best of them when they are integrated with
computing, AI, fuzzy logic and related subjects.
31
References:
1. An introduction to neural computing. Aleksander, I. and Morton, H. 2nd
edition
2. Neural Networks at Pacific Northwest National Laboratory
http://www.emsl.pnl.gov:2080/docs/cie/neural/neural.homepage.html
3. Industrial Applications of Neural Networks (research reports Esprit,
I.F.Croall, J.P.Mason)
4. A Novel Approach to Modelling and Diagnosing the Cardiovascular System
http://www.emsl.pnl.gov:2080/docs/cie/neural/papers2/keller.wcnn95.abs.
html
5. Artificial Neural Networks in Medicine
http://www.emsl.pnl.gov:2080/docs/cie/techbrief/NN.techbrief.ht
6. Neural Networks by Eric Davalo and Patrick Naim
7. Learning internal representations by error propagation by Rumelhart,
Hinton and Williams (1986).
8. Klimasauskas, CC. (1989). The 1989 Neuro Computing Bibliography.
9. DARPA Neural Network Study (October, 1987-February, 1989). MIT Lincoln
Lab. Neural Networks, Eric Davalo and Patrick Naim
10.Assimov, I (1984, 1950), Robot, Ballatine, New York.
11.Electronic Noses for Telemedicine
http://www.emsl.pnl.gov:2080/docs/cie/neural/papers2/keller.ccc95.abs.ht
ml
12.Pattern Recognition of Pathology Images
http://kopernik-eth.npac.syr.edu:1200/Task4/pattern.html
32