This action might not be possible to undo. Are you sure you want to continue?

A DACS State-of-the-Art Report

Contract Number F30602-89-C-0082 (Data & Analysis Center for Software) ELIN: A011 August 20 1992 Prepared for: Rome Laboratory RL/C3C Griffiss AFB, NY 13441-5700

Prepared by: Dave Anderson and George McNeill Kaman Sciences Corporation 258 Genesse Street Utica, New York 13502-4627

TABLE OF CONTENTS 1.0 2.0 Introduction and Purpose ............................................................................. 1 What are Artificial Neural Networks? ...................................................... 2 2.1 Analogy to the Brain ............................................................................. 2 2.2 Artificial Neurons and How They Work ......................................... 3 2.3 Electronic Implementation of Artificial Neurons.......................... 5 2.4 Artificial Network Operations ............................................................ 7 2.5 Training an Artificial Neural Network ............................................ 10 2.5.1 Supervised Training.................................................................. 10 2.5.2 Unsupervised, or Adaptive Training.................................... 11 2.6 How Neural Networks Differ from Traditional Computing and Expert Systems ............................................................................... 12 History of Neural Networks......................................................................... 17 Detailed Description of Neural Network Components and How They Work........................................................................................................ 20 4.1 Major Components of an Artificial Neuron.................................... 22 4.2 Teaching an Artificial Neural Network............................................ 26 4.2.1 Supervised Learning. ................................................................ 26 4.2.2 Unsupervised Learning............................................................ 27 4.2.3 Learning Rates. ........................................................................... 28 4.2.4 Learning Laws............................................................................. 29 Network Selection .......................................................................................... 31 5.1 Networks for Prediction ....................................................................... 32 5.1.1 Feedforward, Back-Propagation. ............................................. 32 5.1.2 Delta Bar Delta. ........................................................................... 35 5.1.3 Extended Delta Bar Delta. ......................................................... 36 5.1.4 Directed Random Search.......................................................... 37 5.1.5 Higher-order Neural Network or Functional-link Network ................................................................................................... 39 5.1.6 Self-Organizing Map into Back-Propagation........................ 40 5.2 Networks for Classification.................................................................. 41 5.2.1 Learning Vector Quantization. ............................................... 41 5.2.2 Counter-propagation Network. .............................................. 43 5.2.3 Probabilistic Neural Network.................................................. 46 5.3 Networks for Data Association ........................................................... 48 5.3.1 Hopfield Network...................................................................... 48 5.3.2 Boltzmann Machine.................................................................. 50 5.3.3 Hamming Network................................................................... 51 5.3.4 Bi-directional Associative Memory. ...................................... 53 5.3.5 Spatio-Temporal Pattern Recognition (Avalanche)........... 54 5.4 Networks for Data Conceptualization............................................... 55 5.4.1 Adaptive Resonance Network................................................ 56 5.4.2 Self-Organizing Map.................................................................. 56

i

3.0 4.0

5.0

5.5 6.0

7.0

8.0 9.0

Networks for Data Filtering................................................................. 58 5.5.1 Recirculation............................................................................... 58 How Artificial Neural Networks Are Being Used................................... 61 6.1 Language Processing.............................................................................. 62 6.2 Character Recognition........................................................................... 62 6.3 Image (data) Compression.................................................................... 63 6.4 Pattern Recognition............................................................................... 63 6.5 Signal Processing.................................................................................... 64 6.6 Financial................................................................................................... 65 6.7 Servo Control.......................................................................................... 65 6.8 How to Determine if an Application is a Neural Network Candidate ................................................................................................. 66 New Technologies that are Emerging ........................................................ 68 7.1 What Currently Exists........................................................................... 68 7.1.1 Development Systems. ............................................................. 68 7.1.2 Hardware Accelerators.............................................................. 69 7.1.3 Dedicated Neural Processors.................................................... 69 7.2 What the Next Developments Will Be............................................. 69 Summary .......................................................................................................... 71 References......................................................................................................... 72

ii

Figure 2.2.1 Figure 2.2.2 Figure 2.2.3 Figure 2.2.4 Figure 2.4.1 Figure 2.4.2 Figure 4.0.1 Figure 4.1.1 Figure 5.0.1 Figure 5.2.1 Figure 5.2.2 Figure 5.2.3 Figure 5.3.1 Figure 5.3.2 Figure 5.3.4 Figure 5.3.5. Figure 5.4.2 Figure 5.5.1

List of Figures A Simple Neuron. .............................................................................. 3 A Basic Artificial Neuron.................................................................. 4 A Model of a "Processing Element"................................................ 6 Sigmoid Transfer Function............................................................... 7 A Simple Neural Network Diagram. ............................................. 8 Simple Network with Feedback and Competition...................... 9 Processing Element............................................................................. 21 Sample Transfer Functions............................................................... 24 An Example Feedforward Back-propagation Network............... 33 An Example Learning Vector Quantization Network................ 42 An Example Counter-propagation Network. ............................... 44 A Probabilistic Neural Network Example. .................................... 47 A Hopfield Network Example.......................................................... 49 A Hamming Network Example....................................................... 52 Bi-directional Associative Memory Example. .............................. 53 A Spatio-temporal Pattern Network Example.............................. 55 An Example Self-organizing Map Network.................................. 57 An Example Recirculation Network. ............................................. 59 List of Tables

Table 2.6.1 Table 2.6.2 Table 5.0.1

Comparison of Computing Approaches........................................ 13 Comparisons of Expert Systems and Neural Networks. ............ 14 Network Selector Table...................................................................... 31

iii

1.0

Introduction and Purpose

This report is intended to help the reader understand what Artificial Neural Networks are, how to use them, and where they are currently being used. Artificial Neural Networks are being touted as the wave of the future in computing. They are indeed self learning mechanisms which don't require the traditional skills of a programmer. But unfortunately, misconceptions have arisen. Writers have hyped that these neuron-inspired processors can do almost anything. These exaggerations have created disappointments for some potential users who have tried, and failed, to solve their problems with neural networks. These application builders have often come to the conclusion that neural nets are complicated and confusing. Unfortunately, that confusion has come from the industry itself. A n avalanche of articles have appeared touting a large assortment of different neural networks, all with unique claims and specific examples. Currently, only a few of these neuron-based structures, paradigms actually, are being used commercially. One particular structure, the feedforward, backpropagation network, is by far and away the most popular. Most of the other neural network structures represent models for "thinking" that are still being evolved in the laboratories. Yet, all of these networks are simply tools and as such the only real demand they make is that they require the network architect to learn how to use them. This report is intended to help that process by explaining these structures, right down to the rules on how to tweak the "nuts and bolts." Also this report discusses what types of applications are currently utilizing the different structures and how some structures lend themselves to specific solutions. In reading this report, a reader who wants a general understanding of neural networks should read sections 2, 3, 6, 7 and 8. These sections provide an understanding of neural networks (section 2), their history (section 3), how they are currently being applied (section 6), the tools to apply them plus the probable future of neural processing (section 7), and a summary of what it all means (section 8). A more serious reader is invited to delve into the inner working of neural networks (section 4) and the various ways neural networks can be structured (section 5).

1

2.0

What are Artificial Neural Networks?

Artificial Neural Networks are relatively crude electronic models based on the neural structure of the brain. The brain basically learns from experience. It is natural proof that some problems that are beyond the scope of current computers are indeed solvable by small energy efficient packages. This brain modeling also promises a less technical way to develop machine solutions. This new approach to computing also provides a more graceful degradation during system overload than its more traditional counterparts. These biologically inspired methods of computing are thought to be the next major advancement in the computing industry. Even simple animal brains are capable of functions that are currently impossible for computers. Computers do rote things well, like keeping ledgers or performing complex math. But computers have trouble recognizing even simple patterns much less generalizing those patterns of the past into actions of the future. Now, advances in biological research promise an initial understanding of the natural thinking mechanism. This research shows that brains store information as patterns. Some of these patterns are very complicated and allow us the ability to recognize individual faces from many different angles. This process of storing information as patterns, utilizing those patterns, and then solving problems encompasses a new field in computing. This field, as mentioned before, does not utilize traditional programming but involves the creation of massively parallel networks and the training of those networks to solve specific problems. This field also utilizes words very different from traditional computing, words like behave, react, self-organize, learn, generalize, and forget. 2.1 Analogy to the Brain

The exact workings of the human brain are still a mystery. Yet, some aspects of this amazing processor are known. In particular, the most basic element of the human brain is a specific type of cell which, unlike the rest of the body, doesn't appear to regenerate. Because this type of cell is the only part of the body that isn't slowly replaced, it is assumed that these cells are what provides us with our abilities to remember, think, and apply previous experiences to our every action. These cells, all 100 billion of them, are known as neurons. Each of these neurons can connect with up to 200,000 other neurons, although 1,000 to 10,000 is typical. The power of the human mind comes from the sheer numbers of these basic components and the multiple connections between them. It also comes from genetic programming and learning.

2

The individual neurons are complicated. They have a myriad of parts, sub-systems, and control mechanisms. They convey information via a host of electrochemical pathways. There are over one hundred different classes of neurons, depending on the classification method used. Together these neurons and their connections form a process which is not binary, not stable, and not synchronous. In short, it is nothing like the currently available electronic computers, or even artificial neural networks. These artificial neural networks try to replicate only the most basic elements of this complicated, versatile, and powerful organism. They do it i n a primitive way. But for the software engineer who is trying to solve problems, neural computing was never about replicating human brains. It is about machines and a new way to solve problems. 2.2 Artificial Neurons and How They Work

The fundamental processing element of a neural network is a neuron. This building block of human awareness encompasses a few general capabilities. Basically, a biological neuron receives inputs from other sources, combines them in some way, performs a generally nonlinear operation o n the result, and then outputs the final result. Figure 2.2.1 shows the relationship of these four parts.

4 Parts of a Typical Nerve Cell

Dendrites: Accept inputs

•

Soma: Process the inputs Axon: Turn the processed inputs into outputs

Synapses: The electrochemical contact between neurons

Figure 2.2.1 A Simple Neuron.

3

Within humans there are many variations on this basic type of neuron, further complicating man's attempts at electrically replicating the process of thinking. Yet, all natural neurons have the same four basic components. These components are known by their biological names - dendrites, soma, axon, and synapses. Dendrites are hair-like extensions of the soma which act like input channels. These input channels receive their input through the synapses of other neurons. The soma then processes these incoming signals over time. The soma then turns that processed value into an output which is sent out to other neurons through the axon and the synapses. Recent experimental data has provided further evidence that biological neurons are structurally more complex than the simplistic explanation above. They are significantly more complex than the existing artificial neurons that are built into today's artificial neural networks. As biology provides a better understanding of neurons, and as technology advances, network designers can continue to improve their systems by building upon man's understanding of the biological brain. But currently, the goal of artificial neural networks is not the grandiose recreation of the brain. On the contrary, neural network researchers are seeking an understanding of nature's capabilities for which people can engineer solutions to problems that have not been solved by traditional computing. To do this, the basic unit of neural networks, the artificial neurons, simulate the four basic functions of natural neurons. Figure 2.2.2 shows a fundamental representation of an artificial neuron.

I= x 0 x

1

∑w 1 x j

Summation

Y = f(I) Transfer

w w

0

i

x2 • • • w

2

Sum

Transfer Output Path

• • • x n

w

n

Processing Element

Inputs

x

.

n

Weights

wn

Figure 2.2.2 A Basic Artificial Neuron. 4

In Figure 2.2.2, various inputs to the network are represented by the mathematical symbol, x(n). Each of these inputs are multiplied by a connection weight. These weights are represented by w(n). In the simplest case, these products are simply summed, fed through a transfer function to generate a result, and then output. This process lends itself to physical implementation on a large scale in a small package. This electronic implementation is still possible with other network structures which utilize different summing functions as well as different transfer functions. Some applications require "black and white," or binary, answers. These applications include the recognition of text, the identification of speech, and the image deciphering of scenes. These applications are required to turn realworld inputs into discrete values. These potential values are limited to some known set, like the ASCII characters or the most common 50,000 English words. Because of this limitation of output options, these applications don't always utilize networks composed of neurons that simply sum up, and thereby smooth, inputs. These networks may utilize the binary properties of ORing and ANDing of inputs. These functions, and many others, can be built into the summation and transfer functions of a network. Other networks work on problems where the resolutions are not just one of several known values. These networks need to be capable of an infinite number of responses. Applications of this type include the "intelligence" behind robotic movements. This "intelligence" processes inputs and then creates outputs which actually cause some device to move. That movement can span an infinite number of very precise motions. These networks do indeed want to smooth their inputs which, due to limitations of sensors, comes in non-continuous bursts, say thirty times a second. To do that, they might accept these inputs, sum that data, and then produce an output by, for example, applying a hyperbolic tangent as a transfer function. In this manner, output values from the network are continuous and satisfy more real world interfaces. Other applications might simply sum and compare to a threshold, thereby producing one of two possible outputs, a zero or a one. Other functions scale the outputs to match the application, such as the values minus one and one. Some functions even integrate the input data over time, creating time-dependent networks. 2.3 Electronic Implementation of Artificial Neurons

In currently available software packages these artificial neurons are called "processing elements" and have many more capabilities than the simple artificial neuron described above. Those capabilities will be discussed later in this report. Figure 2.2.3 is a more detailed schematic of this still simplistic artificial neuron.

5

Summation Function Sum *wo Max Min Inputs *w1 Average Or And *wn etc.

Transfer Function

Hyperbolic Tangent Linear Sigmoid Sine etc. Outputs

Learning and Recall Schedule

Learning Cycle

Figure 2.2.3 A Model of a "Processing Element". In Figure 2.2.3, inputs enter into the processing element from the upper left. The first step is for each of these inputs to be multiplied by their respective weighting factor (w(n)). Then these modified inputs are fed into the summing function, which usually just sums these products. Yet, many different types of operations can be selected. These operations could produce a number of different values which are then propagated forward; values such as the average, the largest, the smallest, the ORed values, the ANDed values, etc. Furthermore, most commercial development products allow software engineers to create their own summing functions via routines coded in a higher level language (C is commonly supported). Sometimes the summing function is further complicated by the addition of an activation function which enables the summing function to operate in a time sensitive way. Either way, the output of the summing function is then sent into a transfer function. This function then turns this number into a real output via some algorithm. It is this algorithm that takes the input and turns it into a zero or a one, a minus one or a one, or some other number. The transfer functions that are commonly supported are sigmoid, sine, hyperbolic tangent, etc. This transfer function also can scale the output or control its value via thresholds. The result of the transfer function is usually the direct output of the processing element. An example of how a transfer function works is shown in Figure 2.2.4. This sigmoid transfer function takes the value from the summation function, called sum in the Figure 2.2.4, and turns it into a value between zero and one.

6

Figure 2.2.4 Sigmoid Transfer Function. Finally, the processing element is ready to output the result of its transfer function. This output is then input into other processing elements, or to an outside connection, as dictated by the structure of the network. All artificial neural networks are constructed from this basic building block - the processing element or the artificial neuron. It is variety and the fundamental differences in these building blocks which partially cause the implementing of neural networks to be an "art." 2.4 Artificial Network Operations

The other part of the "art" of using neural networks revolve around the myriad of ways these individual neurons can be clustered together. This clustering occurs in the human mind in such a way that information can be processed in a dynamic, interactive, and self-organizing way. Biologically, neural networks are constructed in a three-dimensional world from microscopic components. These neurons seem capable of nearly unrestricted interconnections. That is not true of any proposed, or existing, man-made network. Integrated circuits, using current technology, are two-dimensional devices with a limited number of layers for interconnection. This physical reality restrains the types, and scope, of artificial neural networks that can be implemented in silicon. Currently, neural networks are the simple clustering of the primitive artificial neurons. This clustering occurs by creating layers which are then connected to one another. How these layers connect is the other part of the "art" of engineering networks to resolve real world problems.

7

INPUT LAYER

HIDDEN LAYER (there may be several hidden layers)

OUTPUT LAYER

Figure 2.4.1 A Simple Neural Network Diagram. Basically, all artificial neural networks have a similar structure or topology as shown in Figure 2.4.1. In that structure some of the neurons interfaces to the real world to receive its inputs. Other neurons provide the real world with the network's outputs. This output might be the particular character that the network thinks that it has scanned or the particular image it thinks is being viewed. All the rest of the neurons are hidden from view. But a neural network is more than a bunch of neurons. Some early researchers tried to simply connect neurons in a random manner, without much success. Now, it is known that even the brains of snails are structured devices. One of the easiest ways to design a structure is to create layers of elements. It is the grouping of these neurons into layers, the connections between these layers, and the summation and transfer functions that comprises a functioning neural network. The general terms used to describe these characteristics are common to all networks. Although there are useful networks which contain only one layer, or even one element, most applications require networks that contain at least the three normal types of layers - input, hidden, and output. The layer of input neurons receive the data either from input files or directly from electronic sensors in real-time applications. The output layer sends information directly to the outside world, to a secondary computer process, or to other devices such as a mechanical control system. Between these two layers can be many hidden layers. These internal layers contain many of the

8

neurons in various interconnected structures. The inputs and outputs of each of these hidden neurons simply go to other neurons. In most networks each neuron in a hidden layer receives the signals from all of the neurons in a layer above it, typically an input layer. After a neuron performs its function it passes its output to all of the neurons in the layer below it, providing a feedforward path to the output. (Note: in section 5 the drawings are reversed, inputs come into the bottom and outputs come out the top.) These lines of communication from one neuron to another are important aspects of neural networks. They are the glue to the system. They are the connections which provide a variable strength to an input. There are two types of these connections. One causes the summing mechanism of the next neuron to add while the other causes it to subtract. In more human terms one excites while the other inhibits. Some networks want a neuron to inhibit the other neurons in the same layer. This is called lateral inhibition. The most common use of this is in the output layer. For example in text recognition if the probability of a character being a "P" is .85 and the probability of the character being an "F" is .65, the network wants to choose the highest probability and inhibit all the others. It can do that with lateral inhibition. This concept is also called competition. Another type of connection is feedback. This is where the output of one layer routes back to a previous layer. An example of this is shown i n Figure 2.4.2.

Feedback

Inputs

Outputs

Competition (or inhibition)

Feedback

Figure 2.4.2

**Simple Network with Feedback and Competition.
**

9

The way that the neurons are connected to each other has a significant impact on the operation of the network. In the larger, more professional software development packages the user is allowed to add, delete, and control these connections at will. By "tweaking" parameters these connections can be made to either excite or inhibit. 2.5 Training an Artificial Neural Network

Once a network has been structured for a particular application, that network is ready to be trained. To start this process the initial weights are chosen randomly. Then, the training, or learning, begins. There are two approaches to training - supervised and unsupervised. Supervised training involves a mechanism of providing the network with the desired output either by manually "grading" the network's performance or by providing the desired outputs with the inputs. Unsupervised training is where the network has to make sense of the inputs without outside help. The vast bulk of networks utilize supervised training. Unsupervised training is used to perform some initial characterization on inputs. However, in the full blown sense of being truly self learning, it is still just a shining promise that is not fully understood, does not completely work, and thus is relegated to the lab. 2.5.1 Supervised Training.

In supervised training, both the inputs and the outputs are provided. The network then processes the inputs and compares its resulting outputs against the desired outputs. Errors are then propagated back through the system, causing the system to adjust the weights which control the network. This process occurs over and over as the weights are continually tweaked. The set of data which enables the training is called the "training set." During the training of a network the same set of data is processed many times as the connection weights are ever refined. The current commercial network development packages provide tools to monitor how well an artificial neural network is converging on the ability to predict the right answer. These tools allow the training process to go on for days, stopping only when the system reaches some statistically desired point, or accuracy. However, some networks never learn. This could be because the input data does not contain the specific information from which the desired output is derived. Networks also don't converge if there is not enough data to enable complete learning. Ideally, there should be enough data so that part of the data can be held back as a test. Many layered networks with multiple nodes are capable of memorizing data. To monitor the network to determine if the system is simply memorizing its data in some nonsignificant way,

10

supervised training needs to hold back a set of data to be used to test the system after it has undergone its training. (Note: memorization is avoided by not having too many processing elements.) If a network simply can't solve the problem, the designer then has to review the input and outputs, the number of layers, the number of elements per layer, the connections between the layers, the summation, transfer, and training functions, and even the initial weights themselves. Those changes required to create a successful network constitute a process wherein the "art" of neural networking occurs. Another part of the designer's creativity governs the rules of training. There are many laws (algorithms) used to implement the adaptive feedback required to adjust the weights during training. The most common technique is backward-error propagation, more commonly known as back-propagation. These various learning techniques are explored in greater depth later in this report. Yet, training is not just a technique. It involves a "feel," and conscious analysis, to insure that the network is not overtrained. Initially, an artificial neural network configures itself with the general statistical trends of the data. Later, it continues to "learn" about other aspects of the data which may be spurious from a general viewpoint. When finally the system has been correctly trained, and no further learning is needed, the weights can, if desired, be "frozen." In some systems this finalized network is then turned into hardware so that it can be fast. Other systems don't lock themselves in but continue to learn while i n production use. 2.5.2 Unsupervised, or Adaptive Training.

The other type of training is called unsupervised training. In unsupervised training, the network is provided with inputs but not with desired outputs. The system itself must then decide what features it will use to group the input data. This is often referred to as self-organization or adaption. At the present time, unsupervised learning is not well understood. This adaption to the environment is the promise which would enable science fiction types of robots to continually learn on their own as they encounter new situations and new environments. Life is filled with situations where exact training sets do not exist. Some of these situations involve military action where new combat techniques and new weapons might be encountered. Because of this unexpected aspect to life and the human desire to be prepared, there continues to be research into, and hope for, this field.

11

Yet, at the present time, the vast bulk of neural network work is in systems with supervised learning. Supervised learning is achieving results. One of the leading researchers into unsupervised learning is Tuevo Kohonen, an electrical engineer at the Helsinki University of Technology. He has developed a self-organizing network, sometimes called an autoassociator, that learns without the benefit of knowing the right answer. It is an unusual looking network in that it contains one single layer with many connections. The weights for those connections have to be initialized and the inputs have to be normalized. The neurons are set up to compete in a winner-take-all fashion. Kohonen continues his research into networks that are structured differently than standard, feedforward, back-propagation approaches. Kohonen's work deals with the grouping of neurons into fields. Neurons within a field are "topologically ordered." Topology is a branch of mathematics that studies how to map from one space to another without changing the geometric configuration. The three-dimensional groupings often found in mammalian brains are an example of topological ordering. Kohonen has pointed out that the lack of topology in neural network models make today's neural networks just simple abstractions of the real neural networks within the brain. As this research continues, more powerful self learning networks may become possible. But currently, this field remains one that is still in the laboratory. 2.6 How Neural Networks Differ from Traditional Computing and Expert Systems

Neural networks offer a different way to analyze data, and to recognize patterns within that data, than traditional computing methods. However, they are not a solution for all computing problems. Traditional computing methods work well for problems that can be well characterized. Balancing checkbooks, keeping ledgers, and keeping tabs of inventory are well defined and do not require the special characteristics of neural networks. Table 2.6.1 identifies the basic differences between the two computing approaches. Traditional computers are ideal for many applications. They can process data, track inventories, network results, and protect equipment. These applications do not need the special characteristics of neural networks. Expert systems are an extension of traditional computing and are sometimes called the fifth generation of computing. (First generation computing used switches and wires. The second generation occurred because of the development of the transistor. The third generation involved solidstate technology, the use of integrated circuits, and higher level languages like

12

COBOL, Fortran, and "C". End user tools, "code generators," are known as the fourth generation.) The fifth generation involves artificial intelligence. CHARACTERISTICS TRADITIONAL COMPUTING (including Expert Systems) Sequential Logically (left brained) via Rules Concepts Calculations by rules (didactically) Accounting, word processing, math, inventory, digital communications ARTIFICIAL NEURAL NETWORKS

Processing style Functions

Learning Method Applications

Parallel Gestault (right brained) via Images Pictures Controls by example (Socratically) Sensor processing, speech recognition, pattern recognition, text recognition

Table 2.6.1 Comparison of Computing Approaches. Typically, an expert system consists of two parts, an inference engine and a knowledge base. The inference engine is generic. It handles the user interface, external files, program access, and scheduling. The knowledge base contains the information that is specific to a particular problem. This knowledge base allows an expert to define the rules which govern a process. This expert does not have to understand traditional programming. That person simply has to understand both what he wants a computer to do and how the mechanism of the expert system shell works. It is this shell, part of the inference engine, that actually tells the computer how to implement the expert's desires. This implementation occurs by the expert system generating the computer's programming itself, it does that through "programming" of its own. This programming is needed to establish the rules for a particular application. This method of establishing rules is also complex and does require a detail oriented person. Efforts to make expert systems general have run into a number of problems. As the complexity of the system increases, the system simply demands too much computing resources and becomes too slow. Expert systems have been found to be feasible only when narrowly confined. Artificial neural networks offer a completely different approach to problem solving and they are sometimes called the sixth generation of computing. They try to provide a tool that both programs itself and learns o n its own. Neural networks are structured to provide the capability to solve

13

problems without the benefits of an expert and without the need of programming. They can seek patterns in data that no one knows are there. A comparison of artificial intelligence's expert systems and neural networks is contained in Table 2.6.2. Characteristics Von Neumann Architecture Used for Expert Systems VLSI (traditional processors) Artificial Neural Networks Artificial Neural Networks; variety of technologies; hardware development is on going The same Multiple, simultaneously Dynamically self programming Continuously adaptable Significant in the very nature of the interconnected neurons Moderate Self-programming; but network must be properly set up Requires multiple custom-built chips

Processors

Memory Processing Approach

Connections Self learning Fault tolerance

Separate Processes problem one rule at a time; sequential Externally programmable Only algorithmic parameters modified None without special processors None Through a rule based shell; complicated Requires big processors

Use of Neurobiology in design Programming

Ability to be fast

Table 2.6.2 Comparisons of Expert Systems and Neural Networks. Expert systems have enjoyed significant successes. However, artificial intelligence has encountered problems in areas such as vision, continuous speech recognition and synthesis, and machine learning. Artificial intelligence also is hostage to the speed of the processor that it runs on. Ultimately, it is restricted to the theoretical limit of a single processor. Artificial intelligence is also burdened by the fact that experts don't always speak in rules. Yet, despite the advantages of neural networks over both expert systems and more traditional computing in these specific areas, neural nets

14

are not complete solutions. They offer a capability that is not ironclad, such as a debugged accounting system. They learn, and as such, they do continue to make "mistakes." Furthermore, even when a network has been developed, there is no way to ensure that the network is the optimal network. Neural systems do exact their own demands. They do require their implementor to meet a number of conditions. These conditions include: - a data set which includes the information which can characterize the problem. - an adequately sized data set to both train and test the network. - an understanding of the basic nature of the problem to be solved so that basic first-cut decision on creating the network can be made. These decisions include the activization and transfer functions, and the learning methods. - an understanding of the development tools. - adequate processing power (some applications demand real-time processing that exceeds what is available in the standard, sequential processing hardware. The development of hardware is the key to the future of neural networks). Once these conditions are met, neural networks offer the opportunity of solving problems in an arena where traditional processors lack both the processing power and a step-by-step methodology. A number of very complicated problems cannot be solved in the traditional computing environments. For example, speech is something that all people can easily parse and understand. A person can understand a southern drawl, a Bronx accent, and the slurred words of a baby. Without the massively paralleled processing power of a neural network, this process is virtually impossible for a computer. Image recognition is another task that a human can easily do but which stymies even the biggest of computers. A person can recognize a plane as it turns, flies overhead, and disappears into a dot. A traditional computer might try to compare the changing images to a number of very different stored patterns. This new way of computing requires skills beyond traditional computing. It is a natural evolution. Initially, computing was only hardware and engineers made it work. Then, there were software specialists programmers, systems engineers, data base specialists, and designers. Now, there are also neural architects. This new professional needs to be skilled different than his predecessors of the past. For instance, he will need to know statistics in order to choose and evaluate training and testing situations. This

15

skill of making neural networks work is one that will stress the logical thinking of current software engineers. In summary, neural networks offer a unique way to solve some problems while making their own demands. The biggest demand is that the process is not simply logic. It involves an empirical skill, an intuitive feel as to how a network might be created.

16

3.0

History of Neural Networks

The study of the human brain is thousands of years old. With the advent of modern electronics, it was only natural to try to harness this thinking process. The first step toward artificial neural networks came i n 1943 when Warren McCulloch, a neurophysiologist, and a young mathematician, Walter Pitts, wrote a paper on how neurons might work. They modeled a simple neural network with electrical circuits. Reinforcing this concept of neurons and how they work was a book written by Donald Hebb. The Organization of Behavior was written in 1949. It pointed out that neural pathways are strengthened each time that they are used. As computers advanced into their infancy of the 1950s, it became possible to begin to model the rudiments of these theories concerning human thought. Nathanial Rochester from the IBM research laboratories led the first effort to simulate a neural network. That first attempt failed. But later attempts were successful. It was during this time that traditional computing began to flower and, as it did, the emphasis in computing left the neural research in the background. Yet, throughout this time, advocates of "thinking machines" continued to argue their cases. In 1956 the Dartmouth Summer Research Project on Artificial Intelligence provided a boost to both artificial intelligence and neural networks. One of the outcomes of this process was to stimulate research in both the intelligent side, AI, as it is known throughout the industry, and in the much lower level neural processing part of the brain. In the years following the Dartmouth Project, John von Neumann suggested imitating simple neuron functions by using telegraph relays or vacuum tubes. Also, Frank Rosenblatt, a neuro-biologist of Cornell, began work on the Perceptron. He was intrigued with the operation of the eye of a fly. Much of the processing which tells a fly to flee is done in its eye. The Perceptron, which resulted from this research, was built in hardware and is the oldest neural network still in use today. A single-layer perceptron was found to be useful in classifying a continuous-valued set of inputs into one of two classes. The perceptron computes a weighted sum of the inputs, subtracts a threshold, and passes one of two possible values out as the result. Unfortunately, the perceptron is limited and was proven as such during the "disillusioned years" in Marvin Minsky and Seymour Papert's 1969 book Perceptrons. In 1959, Bernard Widrow and Marcian Hoff of Stanford developed models they called ADALINE and MADALINE. These models were named for their use of Multiple ADAptive LINear Elements. MADALINE was the

17

first neural network to be applied to a real world problem. It is an adaptive filter which eliminates echoes on phone lines. This neural network is still i n commercial use. Unfortunately, these earlier successes caused people to exaggerate the potential of neural networks, particularly in light of the limitation in the electronics then available. This excessive hype, which flowed out of the academic and technical worlds, infected the general literature of the time. Disappointment set in as promises were unfilled. Also, a fear set in as writers began to ponder what effect "thinking machines" would have on man. Asimov's series on robots revealed the effects on man's morals and values when machines where capable of doing all of mankind's work. Other writers created more sinister computers, such as HAL from the movie 2001. These fears, combined with unfulfilled, outrageous claims, caused respected voices to critique the neural network research. The result was to halt much of the funding. This period of stunted growth lasted through 1981. In 1982 several events caused a renewed interest. John Hopfield of Caltech presented a paper to the national Academy of Sciences. Hopfield's approach was not to simply model brains but to create useful devices. W i t h clarity and mathematical analysis, he showed how such networks could work and what they could do. Yet, Hopfield's biggest asset was his charisma. He was articulate, likeable, and a champion of a dormant technology. At the same time, another event occurred. A conference was held i n Kyoto, Japan. This conference was the US-Japan Joint Conference o n Cooperative/Competitive Neural Networks. Japan subsequently announced their Fifth Generation effort. US periodicals picked up that story, generating a worry that the US could be left behind. Soon funding was flowing once again. By 1985 the American Institute of Physics began what has become an annual meeting - Neural Networks for Computing. By 1987, the Institute of Electrical and Electronic Engineer's (IEEE) first International Conference o n Neural Networks drew more than 1,800 attendees. By 1989 at the Neural Networks for Defense meeting Bernard Widrow told his audience that they were engaged in World War IV, "World War III never happened," where the battlefields are world trade and manufacturing. The 1990 US Department of Defense Small Business Innovation Research Program named 16 topics which specifically targeted neural networks with an additional 13 mentioning the possible use of neural networks. Today, neural networks discussions are occurring everywhere. Their promise seems very bright as nature itself is the proof that this kind of thing works. Yet, its future, indeed the very key to the whole technology, lies i n hardware development. Currently most neural network development is

18

simply proving that the principal works. This research is developing neural networks that, due to processing limitations, take weeks to learn. To take these prototypes out of the lab and put them into use requires specialized chips. Companies are working on three types of neuro chips - digital, analog, and optical. Some companies are working on creating a "silicon compiler" to generate a neural network Application Specific Integrated Circuit (ASIC). These ASICs and neuron-like digital chips appear to be the wave of the near future. Ultimately, optical chips look very promising. Yet, it may be years before optical chips see the light of day in commercial applications.

19

4.0

Detailed Description of Neural Network Components and How They Work

Now that there is a general understanding of artificial neural networks, it is appropriate to explore them in greater detail. But before jumping into the various networks, a more complete understanding of the inner workings of an neural network is needed. As stated earlier, artificial neural networks are a large class of parallel processing architectures which are useful in specific types of complex problems. These architectures should not be confused with common parallel processing configurations which apply many sequential processing units to standard computing topologies. Instead, neural networks are radically different than conventional Von Neumann computers in that they crudely mimic the fundamental properties of man's brain. As mentioned earlier, artificial neural networks are loosely based o n biology. Current research into the brain's physiology has unlocked only a limited understanding of how neurons work or even what constitutes intelligence in general. Researchers are working in both the biological and engineering fields to further decipher the key mechanisms for how m a n learns and reacts to everyday experiences. Improved knowledge in neural processing helps create better, more succinct artificial networks. It also creates a cornucopia of new, and ever evolving, architectures. Kunihiko Fukushima, a senior research scientist in Japan, describes the give and take of building a neural network model; "We try to follow physiological evidence as faithfully as possible. For parts not yet clear, however, we construct a hypothesis and build a model that follows that hypothesis. We then analyze or simulate the behavior of the model and compare it with that of the brain. If we find any discrepancy in the behavior between the model and the brain, we change the initial hypothesis and modify the model. We repeat this procedure until the model behaves in the same way as the brain." This common process has created thousands of network topologies.

20

Learning Rule i0 w0

wn

Summation Function Sum Max Min Majority Product etc.

Transfer Function Linear Sigmoid Sgn BAM Perception etc.

Scaling

Limiting

Output Function Direct Highest Two Highest Adaline etc.

i1 w1

+

sX+o

Output

in wn

wn

Sum Type

Noise Transfer Type

Noise Generator Rule Type Noise Type

Hebb Delta Rule etc.

**Learning and Recall Schedule
**

Recall Firing Rate Input Clamp Temperature Gain Mod Factor Learing Temperature Coefficients 1,2 & 3

PE Enable

Error

Offset Scale Factor Low Limit

High Limit

Competitive Inputs Network Recall Cycle Counter Learning Cycle Counter

Figure 4.0.1 Processing Element. Neural computing is about machines, not brains. It is the process of trying to build processing systems that draw upon the highly successful designs naturally occuring in biology. This linkage with biology is the reason that there is a common architectural thread throughout today's artificial neural networks. Figure 4.0.1 shows a model of an artificial neuron, or processing element, which embodies a wide variety of network architectures.

21

This figure is adapted from NeuralWare's simulation model used i n NeuralWorks Profession II/Plus. NeuralWare sells a artificial neural network design and development software package. Their processing element model shows that networks designed for prediction can be very similar to networks designed for classification or any other network category. Prediction, classification and other network categories will be discussed later. The point here is that all artificial neural processing elements have common components. 4.1 Major Components of an Artificial Neuron

This section describes the seven major components which make up an artificial neuron. These components are valid whether the neuron is used for input, output, or is in one of the hidden layers. Component 1. Weighting Factors: A neuron usually receives many simultaneous inputs. Each input has its own relative weight which gives the input the impact that it needs on the processing element's summation function. These weights perform the same type of function as do the the varying synaptic strengths of biological neurons. In both cases, some inputs are made more important than others so that they have a greater effect on the processing element as they combine to produce a neural response. Weights are adaptive coefficients within the network that determine the intensity of the input signal as registered by the artificial neuron. They are a measure of an input's connection strength. These strengths can be modified in response to various training sets and according to a network’s specific topology or through its learning rules. Component 2. Summation Function: The first step in a processing element's operation is to compute the weighted sum of all of the inputs. Mathematically, the inputs and the corresponding weights are vectors which can be represented as (i1, i2 . . . in) and (w1, w2 . . . wn). The total input signal is the dot, or inner, product of these two vectors. This simplistic summation function is found by muliplying each component of the i vector by the corresponding component of the w vector and then adding up all the products. Input1 = i1 * w1, input2 = i2 * w2, etc., are added as input1 + input2 + . . . + inputn. The result is a single number, not a multi-element vector. Geometrically, the inner product of two vectors can be considered a measure of their similarity. If the vectors point in the same direction, the inner product is maximum; if the vectors point in opposite direction (180 degrees out of phase), their inner product is minimum. The summation function can be more complex than just the simple input and weight sum of products. The input and weighting coefficients can be combined in many different ways before passing on to the transfer

22

function. In addition to a simple product summing, the summation function can select the minimum, maximum, majority, product, or several normalizing algorithms. The specific algorithm for combining neural inputs is determined by the chosen network architecture and paradigm. Some summation functions have an additional process applied to the result before it is passed on to the transfer function. This process is sometimes called the activation function. The purpose of utilizing an activation function is to allow the summation output to vary with respect to time. Activation functions currently are pretty much confined to research. Most of the current network implementations use an "identity" activation function, which is equivalent to not having one. Additionally, such a function is likely to be a component of the network as a whole rather than of each individual processing element component. Component 3. Transfer Function: The result of the summation function, almost always the weighted sum, is transformed to a working output through an algorithmic process known as the transfer function. In the transfer function the summation total can be compared with some threshold to determine the neural output. If the sum is greater than the threshold value, the processing element generates a signal. If the sum of the input and weight products is less than the threshold, no signal (or some inhibitory signal) is generated. Both types of response are significant. The threshold, or transfer function, is generally non-linear. Linear (straight-line) functions are limited because the output is simply proportional to the input. Linear functions are not very useful. That was the problem i n the earliest network models as noted in Minsky and Papert's book Perceptrons. The transfer function could be something as simple as depending upon whether the result of the summation function is positive or negative. The network could output zero and one, one and minus one, or other numeric combinations. The transfer function would then be a "hard limiter" or step function. See Figure 4.1.1 for sample transfer functions.

23

Ram p in g Fu n ct io n Ha rd L im it e r y 1 x -1 1 X < 0, y= 0 0 ≤ x ≤1, y=x x > 1 , y= 1 y 1

x < 0 , y = -1 x ≥ 0, y = 1

y 1. 0 x

Sig m o id Fu n ct i on s

y 1. 0 x - 1 .0

y = 1 /( 1 + e x )

x ≥ 0, x < 0,

y = 1 -1 /( 1 + x ) y = - 1 + 1 /( 1 -x)

Figure 4.1.1 Sample Transfer Functions. Another type of transfer function, the threshold or ramping function, could mirror the input within a given range and still act as a hard limiter outside that range. It is a linear function that has been clipped to minimum and maximum values, making it non-linear. Yet another option would be a sigmoid or S-shaped curve. That curve approaches a minimum and maximum value at the asymptotes. It is common for this curve to be called a sigmoid when it ranges between 0 and 1, and a hyperbolic tangent when it ranges between -1 and 1. Mathematically, the exciting feature of these curves is that both the function and its derivatives are continuous. This option works fairly well and is often the transfer function of choice. Other transfer functions are dedicated to specific network architectures and will be discussed later. Prior to applying the transfer function, uniformly distributed random noise may be added. The source and amount of this noise is determined by the learning mode of a given network paradigm. This noise is normally referred to as "temperature" of the artificial neurons. The name, temperature, is derived from the physical phenomenon that as people become too hot or cold their ability to think is affected. Electronically, this process is simulated by adding noise. Indeed, by adding different levels of noise to the summation result, more brain-like transfer functions are realized. To more closely mimic nature's characteristics, some experimenters are using a gaussian noise source. Gaussian noise is similar to uniformly distributed noise except that the distribution of random numbers within the temperature range is along a bell curve. The use of temperature is an ongoing research area and is not being applied to many engineering applications.

24

NASA just announced a network topology which uses what it calls a temperature coefficient in a new feed-forward, back-propagation learning function. But this temperature coefficient is a global term which is applied to the gain of the transfer function. It should not be confused with the more common term, temperature, which is simple noise being added to individual neurons. In contrast, the global temperature coefficient allows the transfer function to have a learning variable much like the synaptic input weights. This concept is claimed to create a network which has a significantly faster (by several order of magnitudes) learning rate and provides more accurate results than other feedforward, back-propagation networks. Component 4. Scaling and Limiting: After the processing element's transfer function, the result can pass through additional processes which scale and limit. This scaling simply multiplies a scale factor times the transfer value, and then adds an offset. Limiting is the mechanism which insures that the scaled result does not exceed an upper or lower bound. This limiting is in addition to the hard limits that the original transfer function may have performed. This type of scaling and limiting is mainly used in topologies to test biological neuron models, such as James Anderson's brain-state-in-the-box. Component 5. Output Function (Competition): Each processing element is allowed one output signal which it may output to hundreds of other neurons. This is just like the biological neuron, where there are many inputs and only one output action. Normally, the output is directly equivalent to the transfer function's result. Some network topologies, however, modify the transfer result to incorporate competition among neighboring processing elements. Neurons are allowed to compete with each other, inhibiting processing elements unless they have great strength. Competition can occur at one or both of two levels. First, competition determines which artificial neuron will be active, or provides an output. Second, competitive inputs help determine which processing element will participate in the learning or adaptation process. Component 6. Error Function and Back-Propagated Value: In most learning networks the difference between the current output and the desired output is calculated. This raw error is then transformed by the error function to match a particular network architecture. The most basic architectures use this error directly, but some square the error while retaining its sign, some cube the error, other paradigms modify the raw error to fit their specific purposes. The artificial neuron's error is then typically propagated into the learning function of another processing element. This error term is sometimes called the current error. The current error is typically propagated backwards to a previous layer. Yet, this back-propagated value can be either the current error, the current

25

error scaled in some manner (often by the derivative of the transfer function), or some other desired output depending on the network type. Normally, this back-propagated value, after being scaled by the learning function, is multiplied against each of the incoming connection weights to modify them before the next learning cycle. Component 7. Learning Function: The purpose of the learning function is to modify the variable connection weights on the inputs of each processing element according to some neural based algorithm. This process of changing the weights of the input connections to achieve some desired result can also be called the adaption function, as well as the learning mode. There are two types of learning: supervised and unsupervised. Supervised learning requires a teacher. The teacher may be a training set of data or an observer who grades the performance of the network results. Either way, having a teacher is learning by reinforcement. When there is no external teacher, the system must organize itself by some internal criteria designed into the network. This is learning by doing. 4.2 4.2.1 Teaching an Artificial Neural Network Supervised Learning.

The vast majority of artificial neural network solutions have been trained with supervision. In this mode, the actual output of a neural network is compared to the desired output. Weights, which are usually randomly set to begin with, are then adjusted by the network so that the next iteration, or cycle, will produce a closer match between the desired and the actual output. The learning method tries to minimize the current errors of all processing elements. This global error reduction is created over time by continuously modifying the input weights until an acceptable network accuracy is reached. With supervised learning, the artificial neural network must be trained before it becomes useful. Training consists of presenting input and output data to the network. This data is often referred to as the training set. That is, for each input set provided to the system, the corresponding desired output set is provided as well. In most applications, actual data must be used. This training phase can consume a lot of time. In prototype systems, with inadequate processing power, learning can take weeks. This training is considered complete when the neural network reaches an user defined performance level. This level signifies that the network has achieved the desired statistical accuracy as it produces the required outputs for a given sequence of inputs. When no further learning is necessary, the weights are typically frozen for the application. Some network types allow continual training, at a much slower rate, while in operation. This helps a network to adapt to gradually changing conditions.

26

Training sets need to be fairly large to contain all the needed information if the network is to learn the features and relationships that are important. Not only do the sets have to be large but the training sessions must include a wide variety of data. If the network is trained just one example at a time, all the weights set so meticulously for one fact could be drastically altered in learning the next fact. The previous facts could be forgotten in learning something new. As a result, the system has to learn everything together, finding the best weight settings for the total set of facts. For example, in teaching a system to recognize pixel patterns for the ten digits, if there were twenty examples of each digit, all the examples of the digit seven should not be presented at the same time. How the input and output data is represented, or encoded, is a major component to successfully instructing a network. Artificial networks only deal with numeric input data. Therefore, the raw data must often be converted from the external environment. Additionally, it is usually necessary to scale the data, or normalize it to the network's paradigm. This pre-processing of real-world stimuli, be they cameras or sensors, into machine readable format is already common for standard computers. Many conditioning techniques which directly apply to artificial neural network implementations are readily available. It is then up to the network designer to find the best data format and matching network architecture for a given application. After a supervised network performs well on the training data, then it is important to see what it can do with data it has not seen before. If a system does not give reasonable outputs for this test set, the training period is not over. Indeed, this testing is critical to insure that the network has not simply memorized a given set of data but has learned the general patterns involved within an application. 4.2.2 Unsupervised Learning.

Unsupervised learning is the great promise of the future. It shouts that computers could someday learn on their own in a true robotic sense. Currently, this learning method is limited to networks known as selforganizing maps. These kinds of networks are not in widespread use. They are basically an academic novelty. Yet, they have shown they can provide a solution in a few instances, proving that their promise is not groundless. They have been proven to be more effective than many algorithmic techniques for numerical aerodynamic flow calculations. They are also being used in the lab where they are split into a front-end network that recognizes short, phoneme-like fragments of speech which are then passed on to a backend network. The second artificial network recognizes these strings of fragments as words.

27

This promising field of unsupervised learning is sometimes called selfsupervised learning. These networks use no external influences to adjust their weights. Instead, they internally monitor their performance. These networks look for regularities or trends in the input signals, and makes adaptations according to the function of the network. Even without being told whether it's right or wrong, the network still must have some information about how to organize itself. This information is built into the network topology and learning rules. An unsupervised learning algorithm might emphasize cooperation among clusters of processing elements. In such a scheme, the clusters would work together. If some external input activated any node in the cluster, the cluster's activity as a whole could be increased. Likewise, if external input to nodes in the cluster was decreased, that could have an inhibitory effect on the entire cluster. Competition between processing elements could also form a basis for learning. Training of competitive clusters could amplify the responses of specific groups to specific stimuli. As such, it would associate those groups with each other and with a specific appropriate response. Normally, when competition for learning is in effect, only the weights belonging to the winning processing element will be updated. At the present state of the art, unsupervised learning is not well understood and is still the subject of research. This research is currently of interest to the government because military situations often do not have a data set available to train a network until a conflict arises. 4.2.3 Learning Rates.

The rate at which ANNs learn depends upon several controllable factors. In selecting the approach there are many trade-offs to consider. Obviously, a slower rate means a lot more time is spent in accomplishing the off-line learning to produce an adequately trained system. With the faster learning rates, however, the network may not be able to make the fine discriminations possible with a system that learns more slowly. Researchers are working on producing the best of both worlds. Generally, several factors besides time have to be considered when discussing the off-line training task, which is often described as "tiresome." Network complexity, size, paradigm selection, architecture, type of learning rule or rules employed, and desired accuracy must all be considered. These factors play a significant role in determining how long it will take to train a network. Changing any one of these factors may either extend the training time to an unreasonable length or even result in an unacceptable accuracy.

28

Most learning functions have some provision for a learning rate, or learning constant. Usually this term is positive and between zero and one. If the learning rate is greater than one, it is easy for the learning algorithm to overshoot in correcting the weights, and the network will oscillate. Small values of the learning rate will not correct the current error as quickly, but if small steps are taken in correcting errors, there is a good chance of arriving at the best minimum convergence. 4.2.4 Learning Laws.

Many learning laws are in common use. Most of these laws are some sort of variation of the best known and oldest learning law, Hebb's Rule. Research into different learning functions continues as new ideas routinely show up in trade publications. Some researchers have the modeling of biological learning as their main objective. Others are experimenting with adaptations of their perceptions of how nature handles learning. Either way, man's understanding of how neural processing actually works is very limited. Learning is certainly more complex than the simplifications represented by the learning laws currently developed. A few of the major laws are presented as examples. Hebb's Rule: The first, and undoubtedly the best known, learning rule was introduced by Donald Hebb. The description appeared in his book T h e Organization of Behavior in 1949. His basic rule is: If a neuron receives an input from another neuron, and if both are highly active (mathematically have the same sign), the weight between the neurons should be strengthened. Hopfield Law: It is similar to Hebb's rule with the exception that it specifies the magnitude of the strengthening or weakening. It states, "if the desired output and the input are both active or both inactive, increment the connection weight by the learning rate, otherwise decrement the weight by the learning rate." The Delta Rule: This rule is a further variation of Hebb's Rule. It is one of the most commonly used. This rule is based on the simple idea of continuously modifying the strengths of the input connections to reduce the difference (the delta) between the desired output value and the actual output of a processing element. This rule changes the synaptic weights in the way that minimizes the mean squared error of the network. This rule is also referred to as the Widrow-Hoff Learning Rule and the Least Mean Square (LMS) Learning Rule. The way that the Delta Rule works is that the delta error in the output layer is transformed by the derivative of the transfer function and is then used in the previous neural layer to adjust input connection weights. In other words, this error is back-propagated into previous layers one layer at a time. The process of back-propagating the network errors continues until the

29

first layer is reached. The network type called Feedforward, Back-propagation derives its name from this method of computing the error term. When using the delta rule, it is important to ensure that the input data set is well randomized. Well ordered or structured presentation of the training set can lead to a network which can not converge to the desired accuracy. If that happens, then the network is incapable of learning the problem. The Gradient Descent Rule: This rule is similar to the Delta Rule i n that the derivative of the transfer function is still used to modify the delta error before it is applied to the connection weights. Here, however, an additional proportional constant tied to the learning rate is appended to the final modifying factor acting upon the weight. This rule is commonly used, even though it converges to a point of stability very slowly. It has been shown that different learning rates for different layers of a network help the learning process converge faster. In these tests, the learning rates for those layers close to the output were set lower than those layers near the input. This is especially important for applications where the input data is not derived from a strong underlying model. Kohonen's Learning Law: This procedure, developed by Teuvo Kohonen, was inspired by learning in biological systems. In this procedure, the processing elements compete for the opportunity to learn, or update their weights. The processing element with the largest output is declared the winner and has the capability of inhibiting its competitors as well as exciting its neighbors. Only the winner is permitted an output, and only the winner plus its neighbors are allowed to adjust their connection weights. Further, the size of the neighborhood can vary during the training period. The usual paradigm is to start with a larger definition of the neighborhood, and narrow in as the training process proceeds. Because the winning element is defined as the one that has the closest match to the input pattern, Kohonen networks model the distribution of the inputs. This is good for statistical or topological modeling of the data and is sometimes referred to as self-organizing maps or self-organizing topologies.

30

5.0

Network Selection

Because all artificial neural networks are based on the concept of neurons, connections, and transfer functions, there is a similarity between the different structures, or architectures, of neural networks. The majority of the variations stems from the various learning rules and how those rules modify a network's typical topology. The following sections outline some of the most common artificial neural networks. They are organized in very rough categories of application. These categories are not meant to be exclusive, they are merely meant to separate out some of the confusion over network architectures and their best matches to specific applications. Basically, most applications of neural networks fall into the following five categories: Network type Prediction

**prediction classification data association data conceptualization data filtering
**

Networks - Back-propagation - Delta Bar Delta - Extended delta bar delta - Directed random search - Higher order Neural Networks - Self Organizing Map into Backpropagation - Learning vector quantization - Counter-propagation -Probabalistic neural network - Hopfield - Boltzmann Machine - Hamming network - Bidirectional associative memory -Spatio-temporal pattern recognition - Adaptive resonance Network - Self organizing map Use for network Use input values to predict some output (e.g. pick the best stocks in the stock market, predict the weather, identify people with cancer risks) Use input values to determine the classification (e.g. is the input the letter A, is the blob of video data a plane and what kind of plane is it) Like classification but it also recognizes data that contains errors (e.g. not only identify the characters that were scanned but also identify when the scanner wasn't working properly) Analyze the inputs so that grouping relationships can be inferred (e.g. extract from a data base the names of those most likely to buy a particular product) Smooth an input signal (e.g. take the noise out of a telephone signal)

Classification

Data association

Data conceptualization

Data filtering

- Recirculation Table 5.0.1 Network Selector Table.

Table 5.0.1 shows the differences between these network categories and shows which of the more common network topologies belong to which primary category. This chart is intended as a guide and is not meant to be all inclusive. While there are many other network derivations, this chart only includes the architectures explained within this section of this report. Some

31

of these networks, which have been grouped by application, have been used to solve more than one type of problem. Feedforward back-propagation i n particular has been used to solve almost all types of problems and indeed is the most popular for the first four categories. The next five subsections describe these five network types. 5.1 Networks for Prediction

The most common use for neural networks is to project what will most likely happen. There are many applications where prediction can help in setting priorities. For example, the emergency room at a hospital can be a hectic place. To know who needs the most time critical help can enable a more successful operation. Basically, all organizations must establish priorities which govern the allocation of their resources. This projection of the future is what drove the creation of networks of prediction. 5.1.1 Feedforward, Back-Propagation. The feedforward, back-propagation architecture was developed in the early 1970's by several independent sources (Werbor; Parker; Rumelhart, Hinton and Williams). This independent co-development was the result of a proliferation of articles and talks at various conferences which stimulated the entire industry. Currently, this synergistically developed back-propagation architecture is the most popular, effective, and easy to learn model for complex, multi-layered networks. This network is used more than all others combined. It is used in many different types of applications. This architecture has spawned a large class of network types with many different topologies and training methods. Its greatest strength is in non-linear solutions to illdefined problems. The typical back-propagation network has an input layer, an output layer, and at least one hidden layer. There is no theoretical limit on the number of hidden layers but typically there is just one or two. Some work has been done which indicates that a maximum of four layers (three hidden layers plus an output layer) are required to solve problems of any complexity. Each layer is fully connected to the succeeding layer, as shown in Figure 5.0.1. (Note: all of the drawings of networks in section 5 are from NeuralWare's NeuralWorks Professional II/Plus artificial neural network development tool.) The in and out layers indicate the flow of information during recall. Recall is the process of putting input data into a trained network and receiving the answer. Back-propagation is not used during recall, but only when the network is learning a training set.

32

Figure 5.0.1 An Example Feedforward Back-propagation Network. The number of layers and the number of processing elements per layer are important decisions. These parameters to a feedforward, back-propagation topology are also the most ethereal. They are the "art" of the network designer. There is no quantifiable, best answer to the layout of the network for any particular application. There are only general rules picked up over time and followed by most researchers and engineers applying this architecture to their problems. Rule One: As the complexity in the relationship between the input data and the desired output increases, then the number of the processing elements in the hidden layer should also increase. Rule Two: If the process being modeled is separable into multiple stages, then additional hidden layer(s) may be required. If the process is not separable into stages, then additional layers may simply enable memorization and not a true general solution. Rule Three: The amount of training data available sets an upper bound for the number of processing elements in the hidden layer(s). To calculate this upper bound, use the number of inputoutput pair examples in the training set and divide that number by the total number of input and output processing elements in the network. Then divide that result again by a scaling factor between

33

five and ten. Larger scaling factors are used for relatively noisy data. Extremely noisy data may require a factor of twenty or even fifty, while very clean input data with an exact relationship to the output might drop the factor to around two. It is important that the hidden layers have few processing elements. Too many artificial neurons and the training set will be memorized. If that happens then n o generalization of the data trends will occur, making the network useless on new data sets. Once the above rules have been used to create a network, the process of teaching begins. This teaching process for a feedforward network normally uses some variant of the Delta Rule, which starts with the calculated difference between the actual outputs and the desired outputs. Using this error, connection weights are increased in proportion to the error times a scaling factor for global accuracy. Doing this for an individual node means that the inputs, the output, and the desired output all have to be present at the same processing element. The complex part of this learning mechanism is for the system to determine which input contributed the most to an incorrect output and how does that element get changed to correct the error. An inactive node would not contribute to the error and would have no need to change its weights. To solve this problem, training inputs are applied to the input layer of the network, and desired outputs are compared at the output layer. During the learning process, a forward sweep is made through the network, and the output of each element is computed layer by layer. The difference between the output of the final layer and the desired output is back-propagated to the previous layer(s), usually modified by the derivative of the transfer function, and the connection weights are normally adjusted using the Delta Rule. This process proceeds for the previous layer(s) until the input layer is reached. There are many variations to the learning rules for back-propagation networks. Different error functions, transfer functions, and even the modifying method of the derivative of the transfer function can be used. The concept of "momentum error" was introduced to allow for more prompt learning while minimizing unstable behavior. Here, the error function, or delta weight equation, is modified so that a portion of the previous delta weight is fed through to the current delta weight. This acts, in engineering terms, as a low-pass filter on the delta weight terms since general trends are reinforced whereas oscillatory behavior is cancelled out. This allows a low, normally slower, learning coefficient to be used, but creates faster learning. Another technique that has an effect on convergence speed is to only update the weights after many pairs of inputs and their desired outputs are presented to the network, rather than after every presentation. This is referred to as cumulative back-propagation because the delta weights are not

34

accumulated until the complete set of pairs is presented. The number of input-output pairs that are presented during the accumulation is referred to as an "epoch." This epoch may correspond either to the complete set of training pairs or to a subset. There are limitations to the feedforward, back-propagation architecture. Back-propagation requires lots of supervised training, with lots of inputoutput examples. Additionally, the internal mapping procedures are not well understood, and there is no guarantee that the system will converge to an acceptable solution. At times, the learning gets stuck in a local minima, limiting the best solution. This occurs when the network system finds an error that is lower than the surrounding possibilities but does not finally get to the smallest possible error. Many learning applications add a term to the computations to bump or jog the weights past shallow barriers and find the actual minimum rather than a temporary error pocket. Typical feedforward, back-propagation applications include speech synthesis from text, robot arms, evaluation of bank loans, image processing, knowledge representation, forecasting and prediction, and multi-target tracking. Each month more back-propagation solutions are announced in the trade journals. 5.1.2 Delta Bar Delta. The delta bar delta network utilizes the same architecture as a backpropagation network. The difference of delta bar delta lies in its unique algorithmic method of learning. Delta bar delta was developed by Robert Jacobs to improve the learning rate of standard feedforward, back-propagation networks. As outlined above, the back-propagation procedure is based on a steepest descent approach which minimizes the network's prediction error during the process where the connection weights to each artificial neuron are changed. The standard learning rates are applied on a layer by layer basis and the momentum term is usually assigned globally. Some back-propagation approaches allow the learning rates to gradually decrease as large quantities of training sets pass through the network. Although this method is successful in solving many applications, the convergence rate of the procedure is still too slow to be used on some practical problems. The delta bar delta paradigm uses a learning method where each weight has its own self-adapting learning coefficient. It also does not use the momentum factor of the back-propagation architecture. The remaining operations of the network, such as feedforward recall, are identical to the normal back-propagation architecture. Delta bar delta is a "heuristic" approach to training artificial networks. What that means is that past error values can be used to infer future calculated error values. Knowing the

35

probable errors enables the system to take intelligent steps in adjusting the weights. However, this process is complicated in that empirical evidence suggests that each weight may have quite different effects on the overall error. Jacobs then suggested the common sense notion that back-propagation learning rules should account for these variations in the effect on the overall error. In other words, every connection weight of a network should have its own learning rate. The claim is that the step size appropriate for one connection weight may not be appropriate for all weights in that layer. Further, these learning rates should be allowed to vary over time. By assigning a learning rate to each connection and permitting this learning rate to change continuously over time, more degrees of freedom are introduced to reduce the time to convergence. Rules which directly apply to this algorithm are straight forward and easy to implement. Each connection weight has its own learning rate. These learning rates are varied based on the current error information found with standard back-propagation. When the connection weight changes, if the local error has the same sign for several consecutive time steps, the learning rate for that connection is linearly increased. Incrementing linearly prevents the learning rates from becoming too large too fast. When the local error changes signs frequently, the learning rate is decreased geometrically. Decrementing geometrically ensures that the connection learning rates are always positive. Further, they can be decreased more rapidly in regions where the change in error is large. By permitting different learning rates for each connection weight in a network, a steepest descent search (in the direction of the negative gradient) is no longer being preformed. Instead, the connection weights are updated o n the basis of the partial derivatives of the error with respect to the weight itself. It is also based on an estimate of the "curvature of the error surface" in the vicinity of the current point weight value. Additionally, the weight changes satisfy the locality constraint, that is, they require information only from the processing elements to which they are connected. 5.1.3 Extended Delta Bar Delta. Ali Minai and Ron Williams developed the extended delta bar delta algorithm as a natural outgrowth from Jacob's work. Here, they enhance the delta bar delta by applying an exponential decay to the learning rate increase, add the momentum component back in, and put a cap on the learning rate and momentum coefficient. As discussed in the section on back-propagation, momentum is a factor used to smooth the learning rate. It is a term added to the standard weight change which is proportional to the previous weight change. In this way, good general trends are reinforced, and oscillations are dampened.

36

The learning rate and the momentum rate for each weight have separate constants controlling their increase and decrease. Once again, the sign of the current error is used to indicate whether an increase or decrease is appropriate. The adjustment for decrease is identical in form to that of Delta Bar Delta. However, the learning rate and momentum rate increases are modified to be exponentially decreasing functions of the magnitude of the weighted gradient components. Thus, greater increases will be applied i n areas of small slope or curvature than in areas of high curvature. This is a partial solution to the jump problem of delta bar delta. To take a step further to prevent wild jumps and oscillations in the weights, ceilings are placed on the individual connection learning rates and momentum rates. And finally, a memory with a recovery feature is built into the algorithm. When in use, after each epoch presentation of the training data, the accumulated error is evaluated. If the error is less than the previous minimum error, the weights are saved in memory as the current best. A tolerance parameter controls the recovery phase. Specifically, if the current error exceeds the minimum previous error, modified by the tolerance parameter, than all connection weight values revert stochastically to the stored best set of weights in memory. Furthermore, the learning and momentum rates are decreased to begin the recovery process. 5.1.4 Directed Random Search.

The previous architectures were all based on learning rules, or paradigms, which are based on calculus. Those paradigms use a gradient descent technique to adjust each of the weights. The architecture of the directed random search, however, uses a standard feedforward recall structure which is not based on back-propagation. Instead, the directed random search adjusts the weights randomly. To provide some order to this process a direction component is added to the random step which insures that the weights tend toward a previously successful search direction. All processing elements are influenced individually. This random search paradigm has several important features. Basically, it is fast and easy to use if the problem is well understood and relatively small. The reason that the problem has to be well understood is that the best results occur when the initial weights, the first guesses, are within close proximity to the best weights. It is fast because the algorithm cycles through its training much more quickly than calculus-bases techniques (i.e., the delta rule and its variations), since no error terms are computed for the intermediate processing elements. Only the output error is calculated. This learning rule is easy to use because there are only two key parameters associated with it. But the problem needs to result in a small network because if the number of connections becomes high, then the training process becomes long and cumbersome.

37

To facilitate keeping the weights within the compact region where the algorithm works best, an upper bound is required on the weight's magnitude. Yet, by setting the weight's bounds reasonably high, the network is still allowed to seek what is not exactly known - the true global optimum. The second key parameter to this learning rule involves the initial variance of the random distribution of the weights. In most of the commercial packages there is a vendor recommended number for this initial variance parameter. Yet, the setting of this number is not all that important as the self-adjusting feature of the directed random search has proven to be robust over a wide range of initial variances. There are four key components to a random search network. They are the random step, the reversal step, a directed component, and a self-adjusting variance. Random Step: A random value is added to each weight. Then, the entire training set is run through the network, producing a "prediction error." If this new total training set error is less than the previous best prediction error, the current weight values (which include the random step) becomes the new set of "best" weights. The current prediction error is then saved as the new, best prediction error. Reversal Step: If the random step's results are worse than the previous best, then the same random value is subtracted from the original weight value. This produces a set of weights that is in the opposite direction to the previous random step. If the total "prediction error" is less than the previous best error, the current weight values of the reversal step are stored as the best weights. The current prediction error is also saved as the new, best prediction error. If both the forward and reverse steps fail, a completely new set of random values are added to the best weights and the process is then begun again. Directed Component: To add in convergence a set of directed components is created, based on the outcomes of the forward and reversal steps. These directed components reflect the history of success or failure for the previous random steps. The directed components, which are initialized to zero, are added to the random components at each step in the procedure. Directed components provide a "common sense, let's go this way" element to the search. It has been found that the addition of these directed

38

components provide a dramatic performance improvement to convergence. Self-adjusting Variance: An initial variance parameter is specified to control the initial size (or length) of the random steps which are added to the weights. An adaptive mechanism changes the variance parameter based on the current relative success rate or failure rate. The learning rule assumes that the current size of the steps for the weights is in the right direction if it records several consecutive successes, and it then expands to try even larger steps. Conversely, if it detects several consecutive failures it contracts the variance to reduce the step size. For small to moderately sized networks, a directed random search produces good solutions in a reasonable amount of time. The training is automatic, requiring little, if any, user interaction. The number of connection weights imposes a practical limit on the size of a problem that this learning algorithm can effectively solve. If a network has more than 200 connection weights, a directed random search can require a relatively long training time and still end up yielding an acceptable solution. 5.1.5 Higher-order Neural Network or Functional-link Network.

Either name is given to neural networks which expand the standard feedforward, back-propagation architecture to include nodes at the input layer which provide the network with a more complete understanding of the input. Basically, the inputs are transformed in a well understood mathematical way so that the network does not have to learn some basic math functions. These functions do enhance the network's understanding of a given problem. These mathematical functions transform the inputs via higher-order functions such as squares, cubes, or sines. It is from the very name of these functions, higher-order or functionally linked mappings, that the two names for this same concept were derived. This technique has been shown to dramatically improve the learning rates of some applications. An additional advantage to this extension of backpropagation is that these higher order functions can be applied to other derivations - delta bar delta, extended delta bar delta, or any other enhanced feedforward, back-propagation networks. There are two basic ways of adding additional input nodes. First, the cross-products of the input terms can be added into the model. This is also called the output product or tensor model, where each component of the input pattern multiplies the entire input pattern vector. A reasonable way to do this is to add all interaction terms between input values. For example, for a back-propagation network with three inputs (A, B and C), the cross-products

39

would include: AA, BB, CC, AB, AC, and BC. This example adds second-order terms to the input structure of the network. Third-order terms, such as ABC, could also be added. The second method for adding additional input nodes is the functional expansion of the base inputs. Thus, a back-propagation model with A, B and C might be transformed into a higher-order neural network model with inputs: A, B, C, SIN(A), COS(B), LOG(C), MAX(A,B,C), etc. In this model, input variables are individually acted upon by appropriate functions. Many different functions can be used. The overall effect is to provide the network with an enhanced representation of the input. It is even possible to combine the tensor and functional expansion models together. No new information is added, but the representation of the inputs is enhanced. Higher-order representation of the input data can make the network easier to train. The joint or functional activations become directly available to the model. In some cases, a hidden layer is no longer needed. However, there are limitations to the network model. Many more input nodes must be processed to use the transformations of the original inputs. With higher-order systems, the problem is exacerbated. Yet, because of the finite processing time of computers, it is important that the inputs are not expanded more than is needed to get an accurate solution. Functional-link networks were developed by Yoh-Han Pao and are documented in his book, Adaptive Pattern Recognition and Neura l Networks. Pao draws a distinction between truly adding higher order terms in the sense that some of these terms represent joint activations versus functional expansion which increases the dimension of the representation space without adding joint activations. While most developers recognize the difference, researchers typically treat these two aspects in the same way. Pao has been awarded a patent for the functional-link network, so its commercial use may require royalty licensing. 5.1.6 Self-Organizing Map into Back-Propagation. A hybrid network uses a self-organizing map to conceptually separate the data before that data is used in the normal back-propagation manner. This map helps to visualize topologies and hierarchical structures of higherorder input spaces before they are entered into the feedforward, backpropagation network. The change to the input is similar to having an automatic functional-link input structure. This self-organizing map trains i n an unsupervised manner. The rest of the network goes through its normal supervised training. The self-organizing map, and its unique approach to learning, is described in section 5.4.2

40

5.2

Networks for Classification

The previous section describes networks that attempt to make projections of the future. But understanding trends and what impacts those trends might have is only one of several types of applications. The second class of applications is classification. A network that can classify could be used in the medical industry to process both lab results and doctor-recorded patience symptoms to determine the most likely disease. Other applications can separate the "tire kicker" inquiries from the requests for information from real buyers. 5.2.1 Learning Vector Quantization.

This network topology was originally suggested by Tuevo Kohonen i n the mid 80's, well after his original work in self-organizing maps. Both this network and self-organizing maps are based on the Kohonen layer, which is capable of sorting items into appropriate categories of similar objects. Specifically, Learning Vector Quantization is a artificial neural network model used both for classification and image segmentation problems. Topologically, the network contains an input layer, a single Kohonen layer and an output layer. An example network is shown in Figure 5.2.1. The output layer has as many processing elements as there are distinct categories, or classes. The Kohonen layer has a number of processing elements grouped for each of these classes. The number of processing elements per class depends upon the complexity of the input-output relationship. Usually, each class will have the same number of elements throughout the layer. It is the Kohonen layer that learns and performs relational classifications with the aid of a training set. This network uses supervised learning rules. However, these rules vary significantly from the back-propagation rules. To optimize the learning and recall functions, the input layer should contain only one processing element for each separable input parameter. Higher-order input structures could also be used. Learning Vector Quantization classifies its input data into groupings that it determines. Essentially, it maps an n-dimensional space into an m dimensional space. That is it takes n inputs and produces m outputs. The networks can be trained to classify inputs while preserving the inherent topology of the training set. Topology preserving maps preserve nearest neighbor relationships in the training set such that input patterns which have not been previously learned will be categorized by their nearest neighbors in the training data.

41

Figure 5.2.1. An Example Learning Vector Quantization Network. In the training mode, this supervised network uses the Kohonen layer such that the distance of a training vector to each processing element is computed and the nearest processing element is declared the winner. There is only one winner for the whole layer. The winner will enable only one output processing element to fire, announcing the class or category the input vector belonged to. If the winning element is in the expected class of the training vector, it is reinforced toward the training vector. If the winning element is not in the class of the training vector, the connection weights entering the processing element are moved away from the training vector. This later operation is referred to as repulsion. During this training process, individual processing elements assigned to a particular class migrate to the region associated with their specific class. During the recall mode, the distance of an input vector to each processing element is computed and again the nearest element is declared the winner. That in turn generates one output, signifying a particular class found by the network. There are some shortcomings with the Learning Vector Quantization architecture. Obviously, for complex classification problems with similar objects or input vectors, the network requires a large Kohonen layer with many processing elements per class. This can be overcome with selectively better choices for, or higher-order representation of, the input parameters.

42

The learning mechanisms has some weaknesses which have been addressed by variants to the paradigm. Normally these variants are applied at different phases of the learning process. They imbue a conscience mechanism, a boundary adjustment algorithm, and an attraction function at different points while training the network. The simple form of the Learning Vector Quantization network suffers from the defect that some processing elements tend to win too often while others, in effect, do nothing. This particularly happens when the processing elements begin far from the training vectors. Here, some elements are drawn in close very quickly and the others remain permanently far away. To alleviate this problem, a conscience mechanism is added so that a processing element which wins too often develops a "guilty conscience" and is penalized. The actual conscience mechanism is a distance bias which is added to each processing element. This distance bias is proportional to the difference between the win frequency of an element and the average processing element win frequency. As the network progresses along its learning curve, this bias proportionality factors needs to be decreased. The boundary adjustment algorithm is used to refine a solution once a relatively good solution has been found. This algorithm effects the cases when the winning processing element is in the wrong class and the second best processing element is in the right class. A further limitation is that the training vector must be near the midpoint of space joining these two processing elements. The winning wrong processing element is moved away from the training vector and the second place element is moved toward the training vector. This procedure refines the boundary between regions where poor classifications commonly occur. In the early training of the Learning Vector Quantization network, it is some times desirable to turn off the repulsion. The winning processing element is only moved toward the training vector if the training vector and the winning processing element are in the same class. This option is particularly helpful when a processing element must move across a region having a different class in order to reach the region where it is needed. 5.2.2 Counter-propagation Network.

Robert Hecht-Nielsen developed the counter-propagation network as a means to combine an unsupervised Kohonen layer with a teachable output layer. This is yet another topology to synthesize complex classification problems, while trying to minimize the number of processing elements and training time. The operation for the counter-propagation network is similar to that of the Learning Vector Quantization network in that the middle Kohonen layer acts as an adaptive look-up table, finding the closest fit to an input stimulus and outputting its equivalent mapping.

43

The first counter-propagation network consisted of a bi-directional mapping between the input and output layers. In essence, while data is presented to the input layer to generate a classification pattern on the output layer, the output layer in turn would accept an additional input vector and generate an output classification on the network's input layer. The network got its name from this counter-posing flow of information through its structure. Most developers use a uni-flow variant of this formal representation of counter-propagation. In other words. there is only one feedforward path from input layer to output layer. An example network is shown in Figure 5.2.2. The uni-directional counter-propagation network has three layers. If the inputs are not already normalized before they enter the network., a fourth layer is sometimes added. The main layers include an input buffer layer, a self-organizing Kohonen layer, and an output layer which uses the Delta Rule to modify its incoming connection weights. Sometimes this layer is called a Grossberg Outstar layer.

Figure 5.2.2. An Example Counter-propagation Network.

44

The size of the input layer depends upon how many separable parameters define the problem. With too few, the network may not generalize sufficiently. With too many, the processing time takes too long. For the network to operate properly, the input vector must be normalized. This means that for every combination of input values, the total "length" of the input vector must add up to one. This can be done with a preprocessor, before the data is entered into the counter-propagation network. Or, a normalization layer can be added between the input and Kohonen layers. The normalization layer requires one processing element for each input, plus one more for a balancing element. This layer modifies the input set before going to the Kohonen layer to guarantee that all input sets combine to the same total. Normalization of the inputs is necessary to insure that the Kohonen layer finds the correct class for the problem. Without normalization, larger input vectors bias many of the Kohonen processing elements such that weaker value input sets cannot be properly classified. Because of the competitive nature of the Kohonen layer, the larger value input vectors overpower the smaller vectors. Counter-propagation uses a standard Kohonen paradigm which self-organizes the input sets into classification zones. It follows the classical Kohonen learning law described in section 4.2 of this report. This layer acts as a nearest neighbor classifier in that the processing elements in the competitive layer autonomously adjust their connection weights to divide up the input vector space in approximate correspondence to the frequency with which the inputs occur. There needs to be at least as many processing elements in the Kohonen layer as output classes. The Kohonen layer usually has many more elements than classes simply because additional processing elements provide a finer resolution between similar objects. The output layer for counter-propagation is basically made up of processing elements which learn to produce an output when a particular input is applied. Since the Kohonen layer includes competition, only a single output is produced for a given input vector. This layer provides a way of decoding that input to a meaningful output class. It uses the Delta Rule to back-propagate the error between the desired output class and the actual output generated with the training set. The errors only adjust the connection weights coming into the output layer. The Kohonen layer is not effected. Since only one output from the competitive Kohonen layer is active at a time and all other elements are zero, the only weight adjusted for the output processing elements are the ones connected to the winning element in the competitive layer. In this way the output layer learns to reproduce a certain pattern for each active processing element in the competitive layer. If several competitive elements belong to the same class, that output processing

45

element will evolve weights in response to those competitive processing elements and zero for all others. There is a problem which could arise with this architecture. The competitive Kohonen layer learns without any supervision. It does not know what class it is responding to. This means that it is possible for a processing element in the Kohonen layer to learn to take responsibility for two or more training inputs which belong to different classes. When this happens, the output of the network will be ambiguous for any inputs which activate this processing element. To alleviate this problem, the processing elements in the Kohonen layer could be pre-conditioned to learn only about a particular class. 5.2.3 Probabilistic Neural Network.

The probabilistic neural network was developed by Donald Specht. His network architecture was first presented in two papers, Probabilistic Neura l Networks for Classification, Mapping or Associative Memory and Probabilistic Neural Networks, released in 1988 and 1990, respectively. This network provides a general solution to pattern classification problems by following an approach developed in statistics, called Bayesian classifiers. Bayes theory, developed in the 1950's, takes into account the relative likelihood of events and uses a priori information to improve prediction. The network paradigm also uses Parzen Estimators which were developed to construct the probability density functions required by Bayes theory. The probabilistic neural network uses a supervised training set to develop distribution functions within a pattern layer. These functions, in the recall mode, are used to estimate the likelihood of an input feature vector being part of a learned category, or class. The learned patterns can also be combined, or weighted, with the a priori probability, also called the relative frequency, of each category to determine the most likely class for a given input vector. If the relative frequency of the categories is unknown, then all categories can be assumed to be equally likely and the determination of category is solely based on the closeness of the input feature vector to the distribution function of a class. An example of a probabilistic neural network is shown in Figure 5.2.3. This network has three layers. The network contains an input layer which has as many elements as there are separable parameters needed to describe the objects to be classified. It has a pattern layer, which organizes the training set such that each input vector is represented by an individual processing element. And finally, the network contains an output layer, called the summation layer, which has as many processing elements as there are classes to be recognized. Each element in this layer combines via processing elements within the pattern layer which relate to the same class and prepares

46

that category for output. Sometimes a fourth layer is added to normalize the input vector, if the inputs are not already normalized before they enter the network. As with the counter-propagation network, the input vector must be normalized to provided proper object separation in the pattern layer.

Figure 5.2.3. A Probabilistic Neural Network Example. As mentioned earlier, the pattern layer represents a neural implementation of a version of a Bayes classifier, where the class dependent probability density functions are approximated using a Parzen estimator. This approach provides an optimum pattern classifier in terms of minimizing the expected risk of wrongly classifying an object. With the estimator, the approach gets closer to the true underlying class density functions as the number of training samples increases, so long as the training set is an adequate representation of the class distinctions. In the pattern layer, there is a processing element for each input vector in the training set. Normally, there are equal amounts of processing elements for each output class. Otherwise, one or more classes may be skewed incorrectly and the network will generate poor results. Each processing element in the pattern layer is trained once. An element is trained to generate a high output value when an input vector matches the training vector. The training function may include a global smoothing factor to better generalize classification results. In any case, the training vectors do not have to be in any special order in the training set, since the category of a particular vector is specified by the desired output of the input. The learning function

47

simply selects the first untrained processing element in the correct output class and modifies its weights to match the training vector. The pattern layer operates competitively, where only the highest match to an input vector wins and generates an output. In this way, only one classification category is generated for any given input vector. If the input does not relate well to any patterns programmed into the pattern layer, n o output is generated. The Parzen estimation can be added to the pattern layer to fine tune the classification of objects, This is done by adding the frequency of occurrence for each training pattern built into a processing element. Basically, the probability distribution of occurrence for each example in a class is multiplied into its respective training node. In this way, a more accurate expectation of an object is added to the features which make it recognizable as a class member. Training of the probabilistic neural network is much simpler than with back-propagation. However, the pattern layer can be quite huge if the distinction between categories is varied and at the same time quite similar is special areas. There are many proponents for this type of network, since the groundwork for optimization is founded in well known, classical mathematics. 5.3 Networks for Data Association

The previous class of networks, classification, is related to networks for data association. In data association, classification is still done. For example, a character reader will classify each of its scanned inputs. However, an additional element exists for most applications. That element is the fact that some data is simply erroneous. Credit card applications might have been rendered unreadable by water stains. The scanner might have lost its light source. The card itself might have been filled out by a five year old. Networks for data association recognize these occurrances as simply bad data and they recognize that this bad data can span all classifications. 5.3.1 Hopfield Network.

John Hopfield first presented his cross-bar associative network in 1982 at the National Academy of Sciences. In honor of Hopfield's success and his championing of neural networks in general, this network paradigm is usually referred to as a Hopfield Network. The network can be conceptualized i n terms of its energy and the physics of dynamic systems. A processing element in the Hopfield layer, will change state only if the overall "energy" of the state space is reduced. In other words, the state of a processing element will vary depending whether the change will reduce the overall "frustration level" of the network. Primary applications for this sort of network have included

48

associative, or content-addressable, memories and a whole set of optimization problems, such as the combinatoric best route for a traveling salesman. The Figure 5.3.1 outlines a basic Hopfield network. The original network had each processing element operate in a binary format. This is where the elements compute the weighted sum of the inputs and quantize the output to a zero or one. These restrictions were later relaxed, in that the paradigm can use a sigmoid based transfer function for finer class distinction. Hopfield himself showed that the resulting network is equivalent to the original network designed in 1982.

Figure 5.3.1. A Hopfield Network Example. The Hopfield network uses three layers; an input buffer, a Hopfield layer, and an output layer. Each layer has the same number of processing elements. The inputs of the Hopfield layer are connected to the outputs of the corresponding processing elements in the input buffer layer through variable connection weights. The outputs of the Hopfield layer are connected back to the inputs of every other processing element except itself. They are also connected to the corresponding elements in the output layer. In normal recall operation, the network applies the data from the input layer through the learned connection weights to the Hopfield layer. The Hopfield layer oscillates until some fixed number of cycles have been completed, and the current state of that layer is passed on to the output layer. This state matches a pattern already programmed into the network. The learning of a Hopfield network requires that a training pattern be impressed on both the input and output layers simultaneously. The recursive nature of the Hopfield layer provides a means of adjusting all of the

49

connection weights. The learning rule is the Hopfield Law, where connections are increased when both the input and output of an Hopfield element are the same and the connection weights are decreased if the output does not match the input. Obviously, any non-binary implementation of the network must have a threshold mechanism in the transfer function, or matching input-output pairs could be too rare to train the network properly. The Hopfield network has two major limitations when used as a content addressable memory. First, the number of patterns that can be stored and accurately recalled is severely limited. If too many patterns are stored, the network may converge to a novel spurious pattern different from all programmed patterns. Or, it may not converge at all. The storage capacity limit for the network is approximately fifteen percent of the number of processing elements in the Hopfield layer. The second limitation of the paradigm is that the Hopfield layer may become unstable if the common patterns it shares are too similar. Here an example pattern is considered unstable if it is applied at time zero and the network converges to some other pattern from the training set. This problem can be minimized by modifying the pattern set to be more orthogonal with each other. 5.3.2 Boltzmann Machine.

The Boltzmann machine is similar in function and operation to the Hopfield network with the addition of using a simulated annealing technique when determining the original pattern. The Boltzmann machine incorporates the concept of simulated annealing to search the pattern layer's state space for a global minimum. Because of this, the machine will gravitate to an improved set of values over time as data iterates through the system. Ackley, Hinton, and Sejnowski developed the Boltzmann learning rule in 1985. Like the Hopfield network, the Boltzmann machine has an associated state space energy based upon the connection weights in the pattern layer. The processes of learning a training set full of patterns involves the minimization of this state space energy. Because of this, the machine will gravitate to an improved set of values for the connection weights while data iterates through the system. The Boltzmann machine requires a simulated annealing schedule, which is added to the learning process of the network. Just as in physical annealing, temperatures start at higher values and decreases over time. The increased temperature adds an increased noise factor into each processing element in the pattern layer. Typically, the final temperature is zero. If the network fails to settle properly, adding more iterations at lower temperatures may help to get to a optimum solution. A Boltzmann machine learning at high temperature behaves much like a random model and at low temperatures it behaves like a deterministic

50

model. Because of the random component in annealed learning, a processing element can sometimes assume a new state value that increases rather than decreases the overall energy of the system. This mimics physical annealing and is helpful in escaping local minima and moving toward a global minimum. As with the Hopfield network, once a set of patterns are learned, a partial pattern can be presented to the network and it will complete the missing information. The limitation on the number of classes, being less than fifteen percent of the total processing elements in the pattern layer, still applies. 5.3.3 Hamming Network.

The Hamming network is an extension of the Hopfield network in that it adds a maximum likelihood classifier to the frond end. This network was developed by Richard Lippman in the mid 1980's. The Hamming network implements a classifier based upon least error for binary input vectors, where the error is defined by the Hamming distance. The Hamming distance is defined as the number of bits which differ between two corresponding, fixedlength input vectors. One input vector is the noiseless example pattern, the other is a pattern corrupted by real-world events. In this network architecture, the output categories are defined by a noiseless, pattern-filled training set. In the recall mode any incoming input vectors are then assigned to the category for which the distance between the example input vectors and the current input vector is minimum. The Hamming network has three layers. There is an example network shown in Figure 5.3.2. The network uses an input layer with as many nodes as there are separate binary features. It has a category layer, which is the Hopfield layer, with as many nodes as there are categories, or classes. This differs significantly from the formal Hopfield architecture, which has as many nodes in the middle layer as there are input nodes. And finally, there is an output layer which matches the number of nodes in the category layer. The network is a simple feedforward architecture with the input layer fully connected to the category layer. Each processing element in the category layer is connected back to every other element in that same layer, as well as to a direct connection to the output processing element. The output from the category layer to the output layer is done through competition.

51

Figure 5.3.2. A Hamming Network Example. The learning of a Hamming network is similar to the Hopfield methodology in that it requires a single-pass training set. However, in this supervised paradigm, the desired training pattern is impressed upon the input layer while the desired class to which the vector belongs is impressed upon the output layer. Here the output contains only the category output to which the input vector belongs. Again, the recursive nature of the Hopfield layer provides a means of adjusting all connection weights. The connection weights are first set in the input to category layer such that the matching scores generated by the outputs of the category processing elements are equal to the number of input nodes minus the Hamming distances to the example input vectors. These matching scores range from zero to the total number of input elements and are highest for those input vectors which best match the learned patterns. The category layer's recursive connection weights are trained in the same manner as in the Hopfield network. In normal feedforward operation an input vector is applied to the input layer and must be presented long enough to allow the matching score outputs of the lower input to category subnet to settle. This will initialize the input to the Hopfield function in the category layer and allow that portion of the subnet to find the closest class to which the input vector belongs. This layer is competitive, so only one output is enabled at a time. The Hamming network has a number of advantages over the Hopfield network. It implements the optimum minimum error classifier when input bit errors are random and independent. So, the Hopfield with its random set

52

up nature can only be as good a solution as the Hamming, or it can be worse. Fewer processing elements are required for the Hamming solution, since the middle layer only requires one element per category, instead of an element for each input node. And finally, the Hamming network does not suffer from spurious classifications which may occur in the Hopfield network. All in all, the Hamming network is both faster and more accurate than the Hopfield network. 5.3.4 Bi-directional Associative Memory.

This network model was developed by Bart Kosko and again generalizes the Hopfield model. A set of paired patterns are learned with the patterns represented as bipolar vectors. Like the Hopfield, when a noisy version of one pattern is presented, the closest pattern associated with it is determined.

Figure 5.3.4. Bi-directional Associative Memory Example. A diagram of an example bi-directional associative memory is shown in Figure 5.3.4. It has as many inputs as output processing nodes. The two hidden layers are made up of two separate associated memories and represent the size of two input vectors. The two lengths need not be the same, although this examples shows identical input vector lengths of four each. The middle layers are fully connected to each other. The input and output layers are for implementation purposes the means to enter and retrieve information from the network. Kosko original work targeted the bi53

directional associative memory layers for optical processing, which would not need formal input and output structures. The middle layers are designed to store associated pairs of vectors. When a noisy pattern vector is impressed upon the input, the middle layers oscillate back and forth until a stable equilibrium state is reached. This state, providing the network is not over trained, corresponds to the closest learned association and will generate the original training pattern on the output. Like the Hopfield network, the bi-directional associative memory network is susceptible to incorrectly finding a trained pattern when complements of the training set are used as the unknown input vector. 5.3.5 Spatio-Temporal Pattern Recognition (Avalanche).

This network as shown in Figure 5.3.5 came out of Stephen Grossberg's work in the early 1970's. It basically was developed to explain certain cognitive processes for recognizing time varying sequences of events. In his work at the time he called this network paradigm an "Avalanche" network. Robert Hecht-Nielsen became interested in how this network could be applied to engineering applications. The outcome was the spatio-temporal pattern recognition network. Here, specific patterns, for example audio signals, are memorized and then used as a basis to classify incoming repetitive signals. This network has parameters which allow tuning to accommodate detection of time varying signals. There is a global bias term attached to each processing element. This term is used to normalize the overall activity in the network. It sets a variable threshold against which processing elements must compete, and insures that the best match wins. The learning paradigm for the network uses a variant of the Kohonen rule and adds a time varying component to the learning function, called the attack function. This function is also used in the recall mode, to provide a latency to the history of signals passing through the network. The primary application of spatio-temporal pattern networks appears to be in the area of recognizing repetitive audio signals. One group i n General Dynamics has applied this network to classify types of ships based o n the sounds their propellers make. Another characteristic of the network is that because of the slow decay of the attack function, even though the periodicity of the input signal varied by as much as a factor of two, the network was still able to correctly classify the propeller signals.

54

Figure 5.3.5. A Spatio-temporal Pattern Network Example. 5.4 Networks for Data Conceptualization

Another network type is data conceptualization. In many applications data is not just classified, for not all applications involve data that can fit within a class, not all applications read characters or identify diseases. Some applications need to group data that may, or may not be, clearly definable. A n example of this is in the processing of a data base for a mailing list of potential customers. Customers might exist within all classifications, yet they might be concentrated within a certain age group and certain income levels. Also, i n real life, other information might stretch and twist the region which contains the vast majority of potential buyers. This process is data conceptualization. It simply tries to identify a group as best as it can.

55

5.4.1

Adaptive Resonance Network.

Developed by Stephen Grossberg in the mid 1970's, the network creates categories of input data based on adaptive resonance. The topology is biologically plausible and uses an unsupervised learning function. It analyses behaviorally significant input data and detects possible features or classifies patterns in the input vector. This network was the basis for many other network paradigms, such as counter-propagation and bi-directional associative memory networks. The heart of the adaptive resonance network consists of two highly interconnected layers of processing elements located between an input and output layer. Each input pattern to the lower resonance layer will induce an expected pattern to be sent from the upper layer to the lower layer to influence the next input. This creates a "resonance" between the lower and upper layers to facilitate network adaption of patterns. The network is normally used in biological modelling, however, some engineering applications do exist. The major limitation to the network architecture is its noise susceptibility. Even a small amount of noise on the input vector confuses the pattern matching capabilities of a trained network. The adaptive resonance theory network topology is protected by a patent held by the University of Boston. 5.4.2 Self-Organizing Map. Developed by Teuvo Kohonen in the early 1980's, the input data is projected to a two-dimensional layer which preserves order, compacts sparce data, and spreads out dense data. In other words, if two input vectors are close, they will be mapped to processing elements that are close together i n the two-dimensional Kohonen layer that represents the features or clusters of the input data. Here, the processing elements represent a two-dimensional map of the input data. The primary use of the self-organizing map is to visualize topologies and hierarchical structures of higher-order dimensional input spaces. The self-organizing network has been used to create area-filled curves in twodimensional space created by the Kohonen layer. The Kohonen layer can also be used for optimization problems by allowing the connection weights to settle out into a minimum energy pattern. A key difference between this network and many other networks is that the self-organizing map learns without supervision. However, when the topology is combined with other neural layers for prediction or categorization, the network first learns in an unsupervised manner and then switches to a supervised mode for the trained network to which it is attached.

56

An example self-organizing map network is shown in Figure 5.4.2. The self-organizing map has typically two layers. The input layer is fully connected to a two-dimensional Kohonen layer. The output layer shown here is used in a categorization problem and represents three classes to which the input vector can belong. This output layer typically learns using the delta rule and is similar in operation to the counter-propagation paradigm.

Figure 5.4.2. An Example Self-organizing Map Network. The Kohonen layer processing elements each measure the Euclidean distance of its weights from the incoming input values. During recall, the Kohonen element with the minimum distance is the winner and outputs a one to the output layer, if any. This is a competitive win, so all other processing elements are forced to zero for that input vector. Thus the winning processing element is, in a measurable way, the closest to the input value and thus represents the input value in the Kohonen two-dimensional map. So the input data, which may have many dimensions, comes to be represented by a two-dimensional vector which preserves the order of the higher dimensional input data. This can be thought of as an order-perserving projection of the input space onto the two-dimensional Kohonen layer.

57

During training, the Kohonen processing element with the smallest distance adjusts its weight to be closer to the values of the input data. The neighbors of the winning element also adjust their weights to be closer to the same input data vector. The adjustment of neighboring processing elements is instrumental in preserving the order of the input space. Training is done with the competitive Kohonen learning law described in counterpropagation. The problem of having one processing element take over for a region and representing too much input data exists in this paradigm. As with counter-propagation, this problem is solved by a conscience mechanism built into the learning function. The conscience rule depends on keeping a record of how often each Kohonen processing element wins and this information is then used during training to bias the distance measurement. This conscience mechanism helps the Kohonen layer achieve its strongest benefit. The processing elements naturally represent approximately equal information about the input data set. Where the input space has sparse data, the representation is compacted in the Kohonen space, or map. Where the input space has high density, the representative Kohonen elements spread out to allow finer discrimination. In this way the Kohonen layer is thought to mimic the knowledge representation of biological systems. 5.5 Networks for Data Filtering

The last major type of network is data filtering. An early network, the MADALINE, belongs in this category. The MADALINE removed the echoes from a phone line through a dynamic echo cancellation circuit. More recent work has enabled modems to work reliably at 4800 and 9600 baud through dynamic equalization techniques. Both of these applications utilize neural networks which were incorporated into special purpose chips. 5.5.1 Recirculation.

Recirculation networks were introduced by Geoffrey Hinton and James McClelland as a biologically plausible alternative to back-propagation networks. In a back-propagation network, errors are passed backwards through the same connections that are used in the feedforward mechanism with an additional scaling by the derivative of the feedforward transfer function. This makes the back-propagation algorithm difficult to implement in electronic hardware. In a recirculation network, data is processed in one direction only and learning is done using only local knowledge. In particular, the knowledge comes from the state of the processing element and the input value on the particular connection to be adapted. Recirculation networks use unsupervised learning so no desired output vector is required to be presented

58

at the output layer. The network is auto-associative, where there are the same number of outputs as inputs. This network has two layers between the input and output layers, called the visible and hidden layers. The purpose of the learning rule is to construct in the hidden layer an internal representation of the data presented at the visible layer. An important case of this is to compress the input data by using fewer processing elements in the hidden layer. In this case, the hidden representation can be considered a compressed version of the visible representation. The visible and hidden layers are fully connected to each other in both directions. Also, each element in both the hidden and visible layers are connected to a bias element. These connections have variable weights which learn in the same manner as the other variable weights in the network.

Figure 5.5.1. An Example Recirculation Network. The learning process for this network is similar to the bi-directional associative memory technique. Here, the input data is presented to the visible layer and passed on to the hidden layer. The hidden layer passes the incoming data back to the visible, which in turn passes the results back to the hidden layer and beyond to the output layer. It is the second pass through the hidden layer where learning occurs. In this manner the input data is recirculated through the network architecture. During training, the output of the hidden layer at the first pass is the encoded version of the input vector. The output of the visible layer on the next pass is the reconstruction of the original input vector from the encoded

59

vector on the hidden layer. The aim of the learning is to reduce the error between the reconstructed vector and the input vector. This error is also reflected in the difference between the outputs of the hidden layer at the first and final passes since a good reconstruction will mean that the same values are passed to the hidden layer both times around. Learning seeks to reduce the reconstruction error at the hidden layer also. In most applications of the network, an input data signal is smoothed by compressing then reconstructing the input vector on the output layer. The network acts as a low bandpass filter whose transition point is controlled by the number of hidden nodes.

60

6.0

How Artificial Neural Networks Are Being Used

Artificial neural networks are undergoing the change that occurs when a concept leaves the academic environment and is thrown into the harsher world of users who simply want to get a job done. Many of the networks now being designed are statistically quite accurate but they still leave a bad taste with users who expect computers to solve their problems absolutely. These networks might be 85% to 90% accurate. Unfortunately, few applications tolerate that level of error. While researchers continue to work on improving the accuracy of their "creations," some explorers are finding uses for the current technology. In reviewing this state of the art, it is hard not to be overcome by the bright promises or tainted by the unachieved realities. Currently, neural networks are not the user interface which translates spoken works into instructions for a machine, but some day they will. Someday, VCRs, home security systems, CD players, and word processors will simply be activated by voice. Touch screen and voice editing will replace the word processors of today while bringing spreadsheets and data bases to a level of usability pleasing to most everyone. But for now, neural networks are simply entering the marketplace in niches where their statistical accuracy is valuable as they await what will surely come. Many of these niches indeed involve applications where answers are nebulous. Loan approval is one. Financial institutions make more money by having the lowest bad loan rate they can achieve. Systems that are "90% accurate" might be an improvement over the current selection process. Indeed, some banks have proven that the failure rate on loans approved by neural networks is lower than those approved by some of their best traditional methods. Also, some credit card companies are using neural networks in their application screening process. This newest method of seeking the future by analyzing past experiences has generated its own unique problems. One of those problems is to provide a reason behind the computer-generated answer, say as to why a particular loan application was denied. As mentioned throughout this report, the inner workings of neural networks are "black boxes." Some people have even called the use of neural networks "voodoo engineering." To explain how a network learned and why it recommends a particular decision has been difficult. To facilitate this process of justification, several neural network tool makers have provided programs which explain which input through which node dominates the decision making process. From that information, experts in the application should be able to infer the reason that a particular piece of data is important.

61

Besides this filling of niches, neural network work is progressing i n other more promising application areas. The next section of this report goes through some of these areas and briefly details the current work. This is done to help stimulate within the reader the various possibilities where neural networks might offer solutions, possibilities such as language processing, character recognition, image compression, pattern recognition among others. 6.1 Language Processing

Language processing encompasses a wide variety of applications. These applications include text-to-speech conversion, auditory input for machines, automatic language translation, secure voice keyed locks, automatic transcription, aids for the deaf, aids for the physically disabled which respond to voice commands, and natural language processing. Many companies and universities are researching how a computer, via ANNs, could be programmed to respond to spoken commands. The potential economic rewards are a proverbial gold mine. If this capability could be shrunk to a chip, that chip could become part of almost any electronic device sold today. Literally hundreds of millions of these chips could be sold. This magic-like capability needs to be able to understand the 50,000 most commonly spoken words. Currently, according to the academic journals, most of the hearing-capable neural networks are trained to only one talker. These one-talker, isolated-word recognizers can recognize a few hundred words. Within the context of speech, with pauses between each word, they can recognize up to 20,000 words. Some researchers are touting even greater capabilities, but due to the potential reward the true progress, and methods involved, are being closely held. The most highly touted, and demonstrated, speech-parsing system comes from the Apple Corporation. This network, according to an April 1992 Wall Street Journal article, can recognize most any person's speech through a limited vocabulary. This works continues in Corporate America (particularly venture capital land), in the universities, and in Japan. 6.2 Character Recognition

Character recognition is another area in which neural networks are providing solutions. Some of these solutions are beyond simply academic curiosities. HNC Inc., according to a HNC spokesman, markets a neural network based product that can recognize hand printed characters through a scanner. This product can take cards, like a credit card application form, and put those recognized characters into a data base. This product has been out for

62

two and a half years. It is 98% to 99% accurate for numbers, a little less for alphabetical characters. Currently, the system is built to highlight characters below a certain percent probability of being right so that a user can manually fill in what the computer could not. This product is in use by banks, financial institutions, and credit card companies. Odin Corp., according to a press release in the November 4, 1991 Electronic Engineering Times, has also proved capable of recognizing characters, including cursive. This capability utilizes Odin's propriatory Quantum Neural Network software package called, QNspec. It has proven uncannily successful in analyzing reasonably good handwriting. It actually benefits from the cursive stroking. The largest amount of research in the field of character recognition is aimed at scanning oriental characters into a computer. Currently, these characters requires four or five keystrokes each. This complicated process elongates the task of keying a page of text into hours of drudgery. Several vendors are saying they are close to commercial products that can scan pages. 6.3 Image (data) Compression

A number of studies have been done proving that neural networks can do real-time compression and decompression of data. These networks are auto associative in that they can reduce eight bits of data to three and then reverse that process upon restructuring to eight bits again. However, they are not lossless. Because of this losing of bits they do not favorably compete with more traditional methods. 6.4 Pattern Recognition

Recently, a number of pattern recognition applications have been written about in the general press. The Wall Street Journal has featured a system that can detect bombs in luggage at airports by identifying, from small variances, patterns from within specialized sensor's outputs. Another article reported on how a physician had trained a back-propagation neural network on data collected in emergency rooms from people who felt that they were experiencing a heart attack to provide a probability of a real heart attack versus a false alarm. His system is touted as being a very good discriminator in an arena where priority decisions have to be made all the time. Another application involves the grading of rare coins. Digitized images from an electronic camera are fed into a neural network. These images include several angles of the front and back. These images are then compared against known patterns which represent the various grades for a coin. This system has enabled a quick evaluation for about $15 as opposed to the standard three-person evaluation which costs $200. The results have

63

shown that the neural network recommendations are as accurate as the people-intensive grading method. Yet, by far the biggest use of neural networks as a recognizer of patterns is within the field known as quality control. A number of automated quality applications are now in use. These applications are designed to find that one in a hundred or one in a thousand part that is defective. Human inspectors become fatigued or distracted. Systems now evaluate solder joints, welds, cuttings, and glue applications. One car manufacturer is now even prototyping a system which evaluates the color of paints. This system digitizes pictures of new batches of paint to determine if they are the right shades. Another major area where neural networks are being built into pattern recognition systems is as processors for sensors. Sensors can provide so much data that the few meaningful pieces of information can become lost. People can lose interest as they stare at screens looking for "the needle in the haystack." Many of these sensor-processing applications exist within the defense industry. These neural network systems have been shown successful at recognizing targets. These sensor processors take data from cameras, sonar systems, seismic recorders, and infrared sensors. That data is then used to identify probable phenomenon. Another field related to defense sensor processing is the recognition of patterns within the sensor data of the medical industry. A neural network is now being used in the scanning of PAP smears. This network is trying to do a better job at reading the smears than can the average lab technician. Missed diagnoses is a too common problem throughout this industry. In many cases, a professional must perceive patterns from noise, such as identifying a fracture from an X-ray or cancer from a X-ray "shadow." Neural networks promise, particularly when faster hardware becomes available, help in many areas of the medical profession where data is hard to read. 6.5 Signal Processing

Neural networks' promise for signal processing has resulted in a number of experiments in various university labs. Neural networks have proven capable of filtering out noise. Widrow's MADALINE was the first network applied to a real-world problem. It eliminates noise from phone lines. Another application is a system that can detect engine misfire simply from the noise. This system, developed by Odin Corp, works on engines up to 10,000 RPMS. The Odin system satisfies the California Air Resources Board's mandate that by 1994 new automobiles will have to detect misfire i n real time. Misfires are suspected of being a leading cause of pollution. The

64

Odin solution requires 3 kbytes of software running on a Motorola 68030 microprocessor. 6.6 Financial

Neural networks are making big inroads into the financial worlds. Banking, credit card companies, and lending institutions deal with decisions that are not clear cut. They involve learning and statistical trends. The loan approval process involves filling out forms which hopefully can enable a loan officer to make a decision. The data from these forms is now being used by neural networks which have been trained on the data from past decisions. Indeed, to meet government requirements as to why applications are being denied, these packages are providing information o n what input, or combination of inputs, weighed heaviest on the decision. Credit card companies are also using similar back-propagation networks to aid in establishing credit risks and credit limits. In the world of direct marketing, neural networks are being applied to data bases so that these phone peddlers can achieve higher ordering rates from those annoying calls that most of us receive at dinner time. (A probably more lucrative business opportunity awaits the person who can devise a system which will tailor all of the data bases in the world so that certain phone numbers are never selected.) Neural networks are being used in all of the financial markets - stock, bonds, international currency, and commodities. Some users are cackling that these systems just make them "see green," money that is. Indeed, neural networks are reported to be highly successful in the Japanese financial markets. Daiichi Kangyo Bank has reported that for government bond transactions, neural networks have boosted their hit rate from 60% to 75%. Daiwa research Institute has reported a neural net system which has scored 20% better than the Nikkei average. Daiwa Securities' stock prediction system has boosted the companies hit rate from 70% to 80%. 6.7 Servo Control

Controlling complicated systems is one of the more promising areas of neural networks. Most conventional control systems model the operation of all the system's processes with one set of formulas. To customize a system for a specific process, those formulas must be manually tuned. It is an intensive process which involves the tweaking of parameters until a combination is found that produces the desired results. Neural networks offer two advantages. First, the statistical model of neural networks is more complex that a simple set of formulas, enabling it to handle a wider variety of operating conditions without having to be retuned. Second, because neural

65

networks learn on their own, they don't require control system's experts, just simply enough historical data so that they can adequately train themselves. Within the oil industry a neural network has been applied to the refinery process. The network controls the flow of materials and is touted to do that in a more vigilant fashion than distractible humans. NASA is working on a system to control the shuttle during in-flight maneuvers. This system is known as Martingale's Parametric Avalanche (a spatio-temporal pattern recognition network as explained in section 5.3.5). Another prototype application is known as ALVINN, for Autonomous Land Vehicle in a Neural Network. This project has mounted a camera and a laser range finder on the roof of a vehicle which is being taught to stay in the middle of a winding road. British Columbia Hydroelectric funded a prototype network to control operations of a power-distribution substation that was so successful at optimizing four large synchronous condensors that it refused to let its supplier, Neural Systems, take it out. 6.8 How to Determine if an Application is a Neural Network Candidate

As seen by the sections above, neural networks are being successfully applied in a number of areas. Each of these applications can be grouped into two broad categories. These categories offer a test for anyone who is considering using neural networks. Basically, a potential application should be examined for the following two criteria: - Can a neural network replace existing technologies in an area where small improvements in performance can result in a major economic impact? Examples of applications which meet this criteria are: - loan approvals - credit card approvals - financial market predictions - potential customer analysis for the creation of mailing lists - Can a neural network be used in an area where current technologies have proven inadequate to making a system viable? Examples of applications which meet this criteria are: - speech recognition - text recognition

66

- target analysis (Another example where other technologies failed was in explosive detection at airports. Previous systems could not achieve the FAA mandated level of performance, but by adding a neural network the system not only exceeded the performance, it allowed the replacement of a $200,000 component.) The most successful applications have been focused on a single problem in a high value, high volume, or a strategically important application. The easiest implementation of neural networks occur in solutions where they can be made to be "plug compatible" with existing systems. To simply replace an existing element of a system with a neural network eases an installation. It also increases the likelihood of success. These "plug compatible" solutions might be at the front end of many systems where neural networks can recognize patterns and classify data.

67

7.0

Emerging Technologies

If the 21st Century is to be the age of intelligent machines, then artificial neural networks will become an integral part of life. In order that software engineers can lead us to this "promised life" they must begin by utilizing the emerging technology of Neural Networks. To do that they must optimize their time by using already implemented hardware and commercial software packages while anticipating what is still to come. To accomplish this understanding, this section is broken into two pieces what currently exists and what implementors think the next developments will be. 7.1 What Currently Exists

Currently, a number of vendors exist within the marketplace. These vendors are each seeking a share of the neural network business. Some of them do that by hitching their wagon to other packages within the industry. Neural network products exist which are simply add-ons to the popular data bases and spreadsheets. Other products are geared for particular operating systems on particular machines. There are vendors of neural network development tools for most machines. The most popular tools work o n either Apple's Macintosh or the IBM PC standard. Some of these packages are geared toward particular applications such as image processing. Others are general but lack good data routing capabilities. Each of these companies are identifying their weaknesses and are working on them. It is an exciting time for them, with both the rewards and risks high. In choosing a development tool a software engineer needs to beware of this emerging field. Most products are not evolved into the user friendly routines that draw raves. This is a young field. Its very volatility has created a confusing set of offerings, and features within offerings, which will ultimately be relegated to the trash. 7.1.1 Development Systems.

Good development systems allow an user to prototype a network, train it, tweak it, and use it. These systems run on the standard range of computers. These packages usually don't run on specialized hardware, although some vendors have packaged fast RISC processors into special neural processing boards. Usually, these packages are simply tools which create networks that prove concepts but may be way too slow to run. One of the more complete lists of these vendors is published in the November 1991 issue of Personal Engineering & Instrumentation News.

68

7.1.2

Hardware Accelerators.

The key to the continued evolution of neural networking lies in the hardware. Traditional hardware does not enable the massive parallelism that is required by neural networks. There are several approaches that are being worked on. One is to develop a processor which is specifically tailored to performing the tasks of individual artificial neurons. Another approach is to package fast processors, primarily RISCs, onto a hardware accelerator. These processors can be packed many to a board to facilitate the parallel nature of neural networks. Other accelerator boards simply provide more horsepower for sequential processing. Accelerator board products are being developed both independently and by the makers of neural network development systems. Each have specific characteristics that lend themselves to particular resolutions. 7.1.3 Dedicated Neural Processors. Dedicated neural processors are processors with specific capabilities that enable their use in neural networks. Several of the large chip manufacturers have developed neural processors. Some of these processors were created specifically for the development system vendors. Some of these chips package a number of simplistic neurons onto one chip. Others incorporate proprietary concepts, such as creating a specific type of fuzzy neuron. These chips come in many broad technologies - analog, digital, hybrid, and optical. There is no clear winner to date. 7.2 What the Next Developments Will Be

The vendors within the industry predict that migration from tools to applications will continue. In particular, the trend is to move toward hybrid systems. These systems will encompass other types of processes, such as fuzzy logic, expert systems, and kinetic algorithms. Indeed, several manufactures are working on "fuzzy neurons." The greatest interest is on merging fuzzy logic with neural networks. Fuzzy logic incorporates the inexactness of life into mathematics. In life most pieces of data do not exactly fit into certain categories. For instance, a person is not just short or tall. He can be kinda short, pretty tall, a little above average, or very tall. Fuzzy logic takes these real-world variations into account. In potential application of neural networks, in systems which solve real problems, this fuzziness is a large part of the problem. In automating a car, to stop is not to slam on the brakes, to speed up is not to "burn rubber." To help neural networks accomodate this fuzziness of life, some researchers are developing fuzzy neurons. These neurons do not simply give yes/no answers. They provide a more fuzzy answer.

69

Systems built with fuzzy neurons may be initialized to what an expert thinks are the rules and the weights for a given application. This merging of expert systems and fuzzy logic with neural networks utilizes the strength of all three disciplines to provide a better system than either can provide themselves. Expert systems have the problem that most experts don't exactly understand all of the nuances of an application and, therefore, are unable to clearly state rules which define the entire problem to someone else. But the neural network doesn't care that the rules are not exact, for neural networks can then learn, and then correct, the expert's rules. It can add nodes for concepts that the expert might not understand. It can tailor the fuzzy logic which defines states like tall, short, fast, or slow. It can tweak itself until it can meet the user identified state of being a workable tool. In short, hybrid systems are the future.

70

8.0

Summary

In summary, artificial neural networks are one of the promises for the future in computing. They offer an ability to perform tasks outside the scope of traditional processors. They can recognize patterns within vast data sets and then generalize those patterns into recommended courses of action. Neural networks learn, they are not programmed. Yet, even though they are not traditionally programmed, the designing of neural networks does require a skill. It requires an "art." This art involves the understanding of the various network topologies, current hardware, current software tools, the application to be solved, and a strategy to acquire the necessary data to train the network. This art further involves the selection of learning rules, transfer functions, summation functions, and how to connect the neurons within the network. Then, the art of neural networking requires a lot of hard work as data is fed into the system, performances are monitored, processes tweaked, connections added, rules modified, and on and on until the network achieves the desired results. These desired results are statistical in nature. The network is not always right. It is for that reason that neural networks are finding themselves in applications where humans are also unable to always be right. Neural networks can now pick stocks, cull marketing prospects, approve loans, deny credit cards, tweak control systems, grade coins, and inspect work. Yet, the future holds even more promises. Neural networks need faster hardware. They need to become part of hybrid systems which also utilize fuzzy logic and expert systems. It is then that these systems will be able to hear speech, read handwriting, a n d formulate actions. They will be able to become the intelligence behind robots who never tire nor become distracted. It is then that they will become the leading edge in an age of "intelligent" machines.

71

9.0

References

[Aarts, 89] Aarts, Emile, and Korst, Jan, Simulated Annealing and B o l t z m a n n Machines, A Stochastic Approach to Combinatorial Optimization and Neur a l Computing, Wiley, Tiptree Essex GB, 1989. [Abu-Mostafa, 85] Abu-Mostafa, Y.S., and St. Jacques, J.M., "Information Capacity of the Hopfield Model", IEEE Transactions on Information Theory, Volume IT-31, Number 4, July 1989. [Ackley, 85] Ackley, D.H., Hinton, G.E., and Sejnowski, T.J., "A Learning Algorithm for Boltzmann Machines", Cognitive Science, Volume 9, 1985. [Ahmad,90] Ahmad, Z., "Improving the Solution of the Inverse Kinematic Problem in Robotics Using Neural Networks", Journal of Neural N e t w o r k Computing, Vol. 1 Num. 4, Spring 1990. [Anderson, 72] Anderson, James A., "A Simple Neural Network Generating an Interactive Memory", Mathematical Biosciences, Volume 14, 1972. [Anderson, 77] Anderson, James A., Silverstein, Jack W., Ritzx, Stephen A., and Jones, Randall S., "Distinctive Features, Categorical Perception, and Probability Learning: Some Applications of a Neural Model", Psychological Review, Volume 84, Number 5, September 1977. [Anderson, 83] Anderson, James A., "Cognitive and Psychological Computation with Neural Models", IEEE Transactions on Systems, Man, a n d Cybernetics, Volume SMC-13, Number 5, September 9183. [Anderson, 86a] Anderson, James A., and Murphy, Gregory L., "Psychological Concepts in a Parallel System", Physical 22D, 1986. [Anderson, 86b] Anderson, James A., "Cognitive Capabilities of a Parallel System", Springer-Verlag, 1986. [Anderson,88] Anderson, J.A. and Rosenfeld,E., eds., "Neurocomputing: Foundations of Research, MIT Press, Boston, MA 1988, page 125. [Antognetti,91] Antognetti, P. and Milutinovic, V., Neural Networks: Concepts, Applications, and Implementations (Eds.) Volumes I-IV, Prentice Hall, Englewood Cliffs, NJ., 1991. [Baba, 77] Baba, Norio, Shoman, T., and Sawaragi, Y., "A Modified Convergence Theorem for a Random Optimization Method", Information Sciences, Volume 13, 1977.

72

[Baba, 89] Baba, Norio, "A New Approach for Finding the Global Minimum of Error Function of Neural Networks", Neural Networks, Volume 2, 1989. [Barto, 81] Barto, A.G., and Sutton, R.S., "Goal Seeding Components for Adaptive Intelligence: An Initial Assessment", Air Force Wright Aeronautical Laboratories/Avionics Laboratory Technical Report A F W A L TR-18-1070, Ohio, Wright-Patterson AFB, 1981. [Batchelor, 74] Batchelor, B.G., Practical Approach To Pattern Recognition, Plenum Press, New York, 1974. [Bernstein, 81] Bernstein, J., "Profiles: Marvin Minsky", The New Yorker, December 1981. [Brown, 87] Brown, Robert J., "An Artificial Neural Network Experiment", Dr. Dobbs Journal, April 1987. [Burr, 88] Burr, D.J., "An Improved Elastic Net Method for the Traveling Salesman Problem", Proc. of the IEEE First International Conference o n Neural Networks, Volume 1, June 1988. (California,88) California Scientific Software, "Brainmaker User Guide and Reference Manual", California Scientific Software, 1988. [Carpenter, 87a] Carpenter, Gail A., and Grossberg, Stephen, "A Massively Parallel Architecture for a Self-Organizing Neural Pattern Recognition Machine", Computer Vision, Graphics and Image Processing 37, 1987. [Carpenter, 87b] Carpenter, Gail A., and Grossberg, Stephen, "ART 2: SelfOrganization of Stable Category Recognition Codes for Analog Input Patterns", Applied Optics, 1987. [Carpenter, 87c] Carpenter, Gail, A., and Grossberg, Stephen, "ART 3: Hierarchical Search Using Chemical Transmitters in Self-Organizing Pattern Recognition Architectures", Neural Networks, Volume 3, 1987. [Carpenter, 88] Carpenter, Gail A., and Grossberg, Stephen, "The ART of Adaptive Pattern Recognition by a Self-Organizing Neural Network", Computer, March, 1988. [Carpenter, 91] Carpenter, Gail, A., Grossberg, Stephen, and Rosen, D.B., "ART-2A: An Adaptive Resonance Algorithm for Rapid Category Learning And Recognition", Neural Networks, Volume 4, 1991.

73

[Caudill, 90] Caudill, Maureen, and Butler, Charles, Naturally Intelligent Systems, The MIT Press, ISBN 0-262-03156-6, 1990. [Cohen, 83] Cohen, Michael A., and Grossberg, Stephen, "Absolute Stability of Global Pattern Formation and Parallel Memory Storage by Competitive Neural Networks", IEEE Transactions on Systems, Man and Cybernetics, Volume SMC-13, 1983. [Cottrell, 87] Cottrell, G.W., Munro, P., and Zipser D., "Learning Internal Representations form Gray-Scale Images: An Example of Extensional Programming", In Proc. 9th Annual Conference of the Cognitive Science Society, 1987. [DeSieno, 88] DeSieno, D., "Adding a Conscience to Competitive Learning", Proc. of the Second Annual IEEE International Conference on Neura l Networks, Volume 1, 1988. [Durbin, 87] Durbin, R., and Willshaw, D., "An Analog Approach to the Traveling Salesman Problem Using an Elastic Net Method", Nature, Volume 326, April 1987. [Eberhart, 90] Eberhart, Russell C., and Dobbins, Roy W., Neural Network PC Tools: A Practical Guide, Academic Press, ISBN 0-12-228640-5, 1990. [Fahlmann, 88] Fahlmann, Scott E. "An Empirical Study of Learning Speed i n Back-Propagation Networks", CMU Technical Report, CMU-CS-88-162, June 1988. [Fukushima, 75] Fukushima, Kuniko, "Cognitron: A Self-Organizing Multilayered Neural Network", Biological Cybernetics, Volume 20, 1975. [Fukushima, 80] Fukushima, Kuniko, "Neocognitron: A Self-Organizing Neural Network Model for a Mechanism of Pattern Recognition Unaffected by Shift in Position", Biological Cybernetics, Volume 36, 1980. [Fukushima,83] Fukushima, Kuniko, and Takayuki, I., "Neocognition: A Neural Network Model for a Mechanism of Visual Pattern Recognition", IEEE Transactions on Systems, Man, and Cybernetics 13(5), September/October 1983, pp. 826-34. [Fukushima, 88] Fukushima, Kuniko, "Neocognitron: A Hierarchical Neural Network Capable of Visual Pattern Recognition", Neural Networks, Volume 1, 1988. [Fukushima, 89] Fuksushima, Kuniko, "Analysis of the Process of Visual Pattern Recognition by the Neocognitron", Neural Networks, Volume 2, 1989.

74

[Galland, 88] Galland, C., "Biologically Plausible Learning Procedures i n Connectionist Networks", M.S. Thesis, Department of Physics, University of Toronto, 1988. [Gaudiano, 91] Gaudiano, P., and Grossberg, Stephen, "Vector Associative Maps: Unsupervised Real-Time Error-Based Learning and Control of Movement Trajectories", Neural Networks, Volume 4, 1991. [Glover, 88] Glover, David E., "A Hybrid Optical Fourier/Electronic Neurocomputer Machine Vision Inspection System", Proc. Vision '88 Conference, SME/MVA, 1988. [Glover, 89] Glover, David E., "Optical Processing and Neurocomputing in an Automated Inspection System", Journal of Neural Network Computing, Fall 1989. [Golden, 86] Golden, Richard M., "Brain-State-in-a-Box Neural Model is a Gradient Descent Algorithm", Journal of Mathematical Psychology, 1986. [Gorman, 88] Gorman, R.P., and Sejnowski, T.J., "Analysis of Hidden Units in a Layered Network Trained to Classify Sonar Targets", Neural Networks, Volume 1, 1988. [Grossberg, 69a] Grossberg, Stephen, "Embedding Fields: A Theory of Learning with Physiological Implications", Journal of Mathematical Psychology, Volume 6, 1969. [Grossberg, 69b] Grossberg, Stephen, "Some Networks That Can Learn, Remember, and Reproduce any Number of Complicated Space-Time Patterns, I", Journal of Mathematics and Mechanics, Volume 19, 1969. [Grossberg, 70] Grossberg, Stephen, "Some Networks That Can Learn, Remember, and Reproduce any Number of Complicated Space-Time Patterns, II", Studies in Applied Mathematics, Volume 49, 1970. [Grossberg, 71] Grossberg, Stephen, "Embedding Fields: Underlying Philosophy, Mathematics, and Applications to Psychology, Physiology, and Anatomy", Journal of Cybernetics, Volume 1, 1971. [Grossberg, 76] Grossberg, Stephen, "Adaptive Pattern Classification and Universal Recoding: I. Parallel Development and coding of Neural Feature Detectors", Biological Cybernetics, Volume 23, 1976.

75

[Grossberg, 85] Grossberg, Stephen, and Mingolla, E., "Neural Dynamics of Perceptual Grouping: Textures, Boundaries, and Emergent Segmentations", Perception and Psychophysics, Volume 38, 1985. [Grossberg, 89] Grossberg, Stephen, and Rudd, M.E., "A Neural Network for Visual Motion Perception: Group and Element Apparent Motion", Neur a l Networks, Volume 2, 1989. [Hebb, 49] Hebb, D. O., The Organization of Behavior, Wile, New York, New York, 1949. [Hecht-Nielsen, 86] Hecht-Nielsen, Robert, "Nearest Matched Filter Classification of Spatio-temporal Patterns", special report published by HechtNielsen Neuro-Computer Corporation, San Diego, California, June 1986. [Hecht-Nielsen, 87] Hecht-Nielsen, Robert, "Counter-Propagation Networks", IEEE First International Conference on Neural Networks, Volume II, 1987. [Hecht-Nielsen,88] Hect-Nielsen, Robert, "Neurocomputing: Picking the Human Brain", IEEE Spectrum 25(3), March 1988, pp. 36-41. [Hecht-Nielsen, 90] Hecht-Nielsen, Robert, Neurocomputing, AddisonWesley, ISBN 0-201-09255-3, 1990. [Hegde, 88] Hegde, S.V., Sweet, J.L., and Levy, W.B., "Determination of Parameters in a Hopfield/Tank Computational Network", Proc. of the IEEE First International Conference on Neural Networks, Volume 2, June 1987. [Hinton, 87] Hinton, Geoffrey E., and Sejnowski, Terrence J., "Neural Network Architectures for AI", Tutorial Number MP2, National Conference on Artificial Intelligence (AAAI-87), July 1987. [Hinton, 88] Hinton, G.E., and McClelland, J.L., "Learning Representations by Recirculation", Proc. of the IEEE Conference on Neural Information Processing Systems, November 1988. [Hopfield, 82] Hopfield, John J., "Neural Networks and Physical Systems with Emergent Collective Computational Abilities", Proceedings of the National Academy of Sciences, Volume 79, April 1982. [Hopfield, 83] Hopfield, John J., Feinstein, D.I., and Palmer, R.G., "Unlearning has a Stabilizing Effect in Collective Memories", Nature, Volume 304, July 1983. [Hopfield, 84] Hopfield, John J., and Tank, David W., "Neural Computation of Decisions in Optimization Problems", Biological Cybernetics, Volume 52, 1985.

76

[Hopfield, 86a] Hopfield, John J., "Physics, Biological Computation and Complimentarity", The Lessons of Quantum Theory, Elsevier Science Publishers, B.B., 1986. [Hopfield, 86b] Hopfield, John J., and Tank, David W., "Collective Computation with Continuous Variables", Disordered Systems and Biological Organization, Springer-Verlag, 1986. [Isik, 91] Isik, C. and Uhrig, R. E., "Neural Networks and Power Utility Applications", EPRI Knowledge Based Technology Applications Seminar, September 1991. [Jacobs, 88] Jacobs, R.A., "Increased Rates of Convergence Through Learning Rate Adaptation", Neural Networks, Volume 1, 1988. [Johnson,89] Johnson, R. Colin, "Neural Nose to Sniff Out Explosives at JFK Airport", Electronic Engineering Times, May 1, 1989. [Johnson,91a] Johnson, R. Colin, "Moto Readies Odin Neural Net", Electrical Engineering Times, November 4, 1991. [Johnson,91b] Johnson, R. Colin, "Darpa Continues Neural Funding", Electrical Engineering Times, August 5, 1991. [Johnson,92a] Johnson, R. Colin, "Odin Delivers Neural Pack", Electrical Engineering Times, March 9, 1992. [Johnson,92b] Johnson, R. Colin, "Gap Closing Between Fuzzy, Neural Nets", Electronic Engineering Times, April 13, 1992. [Jorgensen, 86] Jorgensen, C., and Matheus, C., "Catching Knowledge i n Neural Nets", AI Expert, December 1986. [Kirpatrick, 83] Kirpatrick, S., Gelatt Jr., C.D., and Vecchi, M.P., "Optimization by Simulated Annealing", Science, Volume 220, 1983. [Klimasauskas, 91] Klimasauskas, Casimir, "Applying Neural Networks: Parts I-VI", PC AI, January-December 1991. [Kohnen, 82] Kohonen, T., "Self-Organization Formation of Topologically Correct Feature Maps", Biological Cybernetics, Volume 43, 1982. [Kohonen, 88a] Kohonen, T., Self-Organization and Associative Memory, Second Edition, Springer-Verlag, New York, 1988.

77

[Kohonen, 88b] Kohonen, T., et al., "Statistical Pattern Recognition with Neural Networks: Benchmark Studies", Proc. of the Second Annual IEEE International Conference on Neural Networks, Volume 1, 1988. [Kosko, 87] Kosko, Bart, "Adaptive Bidirectional Associative Memories", Applied Optics, Volume 26, 1987. [Kosko, 92] Kosko, Bart, Neural Networks and Fuzzy Systems, Prentice Hall, Englewood Cliffs, NJ, 1992. [Lapedes, 87] Lapedes, A., and Farber, R., "Non-Linear Signal Processing Using Neural Networks: Prediction and System Modeling", Los A l a m o s National Laboratory Report LA-UR-87-2662, 1987. [Lippman, 87] Lippmann, Richard P., "An Introduction to Computing with Neural Nets", IEEE ASSP Magazine, April 1987. [Maren, 90] Maren, Alianna, and Harston, Craig, and Pap, Robert, H a n d b o o k of Neural Computing Applications, Academic Press, ISBN 0-12-546090-2, 1990. [Matyas, 65] Matyas, J., "Random Optimization", Automation and R e m o t e Control, Volume 26, 1965. [McClelland, 87] McClelland, J.L., and St. John, M., "Three Short Papers o n Language and Connectionism", Carnegie-Mellon University Technical Report AIP-1, 1987. [McCord, 91] McCord-Nelson, Marilyn, and Illingworth, W.T., Wesley, ISBN-0-201-52376-0, 1991. Addison-

[McCulloch, 43] McCulloch, Warren S., and Pitts, Walter H., "A Logical Calculus of the Ideas Immanent in Neural Nets", Bulletin of Mathematical Biophysics, Volume 5, 1943. [McEliece, 86] McEliece, R.J., Posner, E.C., Rodemich, E.R., and Venkatesh, S.S., "Capacity of the Hopfield Associative Memory", California Institute o f Technology Internal Report, 1986. [Miller, 91a] Miller, Donald L., and Pekny, Joseph F., "Exact Solution of Large Asymmetric Traveling Salesman Problems", Science, Volume 251, February 1991. [Miller, 91b] Miller, W. Thomas, Sutton, Richard S., and Werbos, Paul J., Neural Networks for Control, MIT Press, ISBN 0-262-13261-3, 1991.

78

[Minia, 90a] Minai, A.A., and Williams, R.D., "Acceleration of BackPropagation through Learning Rate and Momentum Adaptation", International Joint Conference on Neural Networks, Volume 1, January 1990. [Minsky, 69] Minsky, Marvin L., and Papert, Seymour S., Perceptrons: A n Introduction to Computational Geometry, MIT Press, Cambridge, MA 1969. [Miyazaki,91] Miyazaki, Noboyuki, "Neural Networks Go to Work in Japan", Electronic Engineering Times, January 28, 1991. [Nelson,91] Nelson, M. McCord and Illingworth, W. T., A Practical Guide t o Neural Nets, Addison-Wesley, Reading, MA, 1991. [NeuralWare, 91] Neural Computing, authored by NeuralWare, Inc. employees for their NeuralWorks Professional II/Plus ANN Development Software, Pittsburg, PA, 1991. [North,91] North, Robert, "Are Neural Networks Practical Engineering Tools or Ivory-tower Technology?", Personal Engineering & Instrumentation News, October 1991. [Olson, 89] Olson, Willard W., and Huang, Yee-Wei, "Toward Systemic Neural Network Modeling", IJCNN-89 Proceedings, IEEE Cat. #89CH2765-6, June 1989. [Parker, 85] Parker, David B., "Learning-logic", Report TR-47, Cambridge, MA: Massachusetts Institute of Technology, Center for Computational Research i n Economics and Management Science, 1985. [Pao, 89] Pao, Yoh-Han, Adaptive Pattern Recognition and Neural Networks, Addison-Wesley, 1989. [Parker, 87] Parker, D.B., "Optimal Algorithms for Adaptive Networks: Second Order Back Propagation, Second Order Direct Propagation and Second Order Hebbian Learning", Proc. of the 1st ICNN, Volume II, 1987. [Porter,91] Porter, Michael L., "Neural Nets Offer Real Solutions - Not Smoke and Mirrors", Personal Engineering & Instrumentation News, November 1991. [Reece, 87] Reece, Peter, "Perceptrons and Neural Nets", AI Expert, Volume 2, 1987. [Reed, 89] Reed, F., "USPS Investigated Neural Nets", (p. 10) and "Neural Networks Fall Short of Miraculous But Still Work" (p. 28), Federal Computer Week, January 23, 1989.

79

[Reeke, 87] Reeke, G.N., and Edelman, G.M., "Selective Neural Networks and Their Implications for Recognition Automata", International Journal o f Supercomputer Applications, Volume 1, 1987. [Rosenberg, 87] Rosenberg, Charles R., "Revealing the Structure of NETtalk's Internal Representations", In Proc. 9th Annual Conference of the Cognitive Science Society, 1987. [Rosenblatt, 58] Rosenblatt, F., "The Perceptron: A Probabilistic Model for Information Storage and Organization in the Brain", Psychological Review, Volume 65, 1958. [Rumelhart, 85] Rumelhart, D.E., Hinton, G.E., and Williams, R.J., "Learning Internal Representations by Error Propagation", Institute for Cognitive Science Report 8506, San Diego, University of California, 1985. [Rumelhart, 86] Rumelhart, D.E., and McClelland, J.L., editors, "Parallel Distributed Processing : Explorations in the Microstructure of Cognition", Foundations,, Volume 1, MIT Press, 1986. [Samad, 89] Samad, Tariq, "Back-Propagation Extensions", Honeywell SSDC Technical Report, Golden Valley, MN, 1989. [Saridis, 70] Saridis, G.N., "Learning Applied to Successive Approximation Algorithms", IEEE Transaction on Systems Science and Cybernetics, Volume SSC-6, 1970. [Schalkoff,92] Schalkoff, R. J., Pattern Recognition: Statistical, Structural, a n d Neural Approaches, John Wiley & Sons, New York, NY, 1992. [Scheff, 90] Scheff, K. and Szu, H. "Gram-Schmidt Orthogonalization Neural Networks for Optical Character Recognition", Journal of Neural N e t w o r k Computing, Winter, 1990. [Schrack, 76] Schrack, G., and Choit, M., "Optimized Relative Step Size Random Searches", Mathematical Programming, Volume 10, 1976. [Scofield, 88] Scofield, C.L., "Learning Internal Prepresentations in the Coulomb Energy Network", ICNN-88 Proceedings, IEEE Cat. #88CH2632-8, July 1988. [Sejnowski, 87] Sejnowski, T.J., and Rosenberg, C.R., "Parallel Networks that Learn to Pronounce English Text", Complex Systems, Volume 1, 1987. [Solis, 81] Solis, F.J., and Wets, R.J.B., "Minimization by Random Search Techniques", Mathematics of Operations Research, Volume 6, 1981.

80

[Specht, 88] Specht, D.F., "Probabilistic Neural Networks for Classification, Mapping or Associative Memory", ICNN-88 Conference Proceedings, 1988. [Specht, 90] Specht, D.F., "Probabilistic Neural Networks", Neural Networks, November 1990. [Stanley,88] Stanely,Jeannette, "Introduction Californian Scientific Software, 1988. to Neural Networks",

[Stork, 88] Stork, David G., "Counter-Propagation Networks: Adaptive Hierarchical Networks for Near-Optimal Mappings", Synapse Connection, Volume 1, Number 2, 1988. [Szu, 87] Szu, H., and Hartley, R., "Fast Simulated Annealing", Physics Letters 1222(3,4), 1987. [Szu, 88] Szu, Harold, "Fast TSP Algorithm Based on Binary Neuron Output and Analog Neuron Input Using the Zero-Diagonal Interconnect Matrix and Necessary and Sufficient Constraints of the Permutation Matrix", Proc. of t h e IEEE First International Conference on Neural Networks, Volume 2, June, 1987. [Tank, 86] Tank, David W., and Hopfield, John J., "Simple Neural Optimization Networks: An A/D Converter, Signal Decision Circuit, and a Linear Programming Circuit", IEEE Transactions on Circuits and Systems, Volume CAS-33, Number 5, May 1986. [Uttley, 66] Uttley, Albert M., "The Transmission of Information and the Effect of Local Feedback in Theoretical and Neural Networks", Brain Research, Volume 2, 1966. [Van den Bout, 88] Van den Bout, D.E., and Miller, T.K., "A Traveling Salesman Objective Function That Works", Proc. of the IEEE First International Conference on Neural Networks, Volume 2, June 1987. [Wassermann, 88] Wassermann, Philip D., "Combined BackPropagation/Cauchy Machine, Neural Networks", Abstracts of the First I N N S Meeting, Volume 1, Pergamon Press, 1988. [Wassermann, 89] Wassermann, Philip D., Neural Computing, Theory a n d Practice, Van Nostrand, NY, 1989. [Watanabe, 85] Watanabe, S., "Theorem of the Ugly Duckling", Pattern Recognition: Human and Mechanical, Wiley, 1985.

81

[Waltrous, 87] Waltrous, R.L., "Learning Algorithms for Connectionist Networks: Applied Gradient Methods of Nonlinear Optimization", Proc. o f the 1st ICNN, Volume II, 1987. [Widrow, 60a] Widrow, Bernard, and Hoff, Marcian, "Adaptive Switching Circuits", 1960 IRE WESCON Convention Record, Part 4, August 1960. [Widrow, 60b] Widrow, Bernard, "An Adaptive 'Adaline' Neuron Using Chemical 'Memistors'", Technical Report Number 1553-2, Stanford Electronics Laboratories, October 1960. [Widrow, 63] Widrow, Bernard, and Smith, Fred W., "Pattern-Recognizing Control Systems", Computer and Informations Sciences S y m p o s i u m Proceedings, Spartan Books, Washington, DC, 1963. [Widrow, 64] Widrow, Bernard, "Pattern Recognition and Adaptive Control", Applications and Industry, September 1964. [Widrow, 73] Widrow, Bernard, Bupta, Narendra K., and Maitra, Sidharha, "Punish/Reward: Learning with a Critic in Adaptive Threshold Systems", IEEE Transactions on Systems, Man, and Cybernetics, Volume SMC-3, Number 5, September 1973. [Widrow, 75] Widrow, Bernard, Glover, John R., McCool, John M., Kaunitz, John, Williams, Charles S., Hearn, Robert H., Zeidler, James R., Dong, Eugene, and Goodlin, Robert C., "Adaptive Noise Canceling: Principles and Applications", Proceedings of the IEEE, Volume 63, Number 12, December 1975. [Widrow, 88] Widrow, Bernard, editor, DARPA Neural Network AFCEA International Press, ISBN 0-916159-17-5, 1988. Study,

[Willshaw, 76] Willshaw, D.J., and Von Der Malsberg, C., "How Patterned Neural Connections Can Be Set Up by Self-Organization", Proc. R. Soc. London, Brit., Volume 194, 1976. [Wilson, 88] Wilson, G.V., and Pawley, G.S., "On the Stability of the Traveling Salesman Problem Algorithm of Hopfield and Tank", Biological Cybernetics, 1988. [Wright,91] Wright, Maury, "Neural-network IC Architectures Define Suitable Applications", EDN, July 4,1991. [Yager, 80] Yager, R.R., "A Measurement - Information Discussion of Fuzzy Union and Intersection", International Journal of Man-Machine Studies, 1980.

82

[Zadeh, 65] Zadeh, L.A., "Fuzzy Sets", Information and Control, 1965. [Zornetzer, 90] Zornetzer, Steven, F., Davis, Joel L., and Lau, Clifford, A n Introduction to Neural and Electronic Networks, Academic Press, ISBN-0-12781881-2, 1990.

83

**An introduction to Neural
**

.. Ben Krose

Networks

Patrick van der Smagt

November 1996

Eighth edition

2

c 1996 The University of Amsterdam. Permission is granted to distribute single copies of this book for non-commercial use, as long as it is distributed as a whole in its original form, and the names of the authors and the University of Amsterdam are mentioned. Permission is also granted to use this book for non-commercial courses, provided the authors are noti ed of this beforehand. The authors can be reached at: Ben Krose Faculty of Mathematics & Computer Science University of Amsterdam Kruislaan 403, NL{1098 SJ Amsterdam THE NETHERLANDS Phone: +31 20 525 7463 Fax: +31 20 525 7490 email: krose@fwi.uva.nl URL: http://www.fwi.uva.nl/research/neuro/ Patrick van der Smagt Institute of Robotics and System Dynamics German Aerospace Research Establishment P. O. Box 1116, D{82230 Wessling GERMANY Phone: +49 8153 282400 Fax: +49 8153 281134 email: smagt@dlr.de URL: http://www.op.dlr.de/FF-DR-RS/

Contents

Preface 9

I FUNDAMENTALS

1 Introduction 2 Fundamentals

2.1 A framework for distributed representation 2.1.1 Processing units : : : : : : : : : : : 2.1.2 Connections between units : : : : : 2.1.3 Activation and output rules : : : : : 2.2 Network topologies : : : : : : : : : : : : : : 2.3 Training of arti cial neural networks : : : : 2.3.1 Paradigms of learning : : : : : : : : 2.3.2 Modifying patterns of connectivity : 2.4 Notation and terminology : : : : : : : : : : 2.4.1 Notation : : : : : : : : : : : : : : : : 2.4.2 Terminology : : : : : : : : : : : : :

11

: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :

13 15

15 15 16 16 17 18 18 18 18 19 19

II THEORY

3 Perceptron and Adaline

3.1 Networks with threshold activation functions : : : : : : 3.2 Perceptron learning rule and convergence theorem : : : 3.2.1 Example of the Perceptron learning rule : : : : : 3.2.2 Convergence theorem : : : : : : : : : : : : : : : 3.2.3 The original Perceptron : : : : : : : : : : : : : : 3.3 The adaptive linear element (Adaline) : : : : : : : : : : 3.4 Networks with linear activation functions: the delta rule 3.5 Exclusive-OR problem : : : : : : : : : : : : : : : : : : : 3.6 Multi-layer perceptrons can do everything : : : : : : : : 3.7 Conclusions : : : : : : : : : : : : : : : : : : : : : : : : : 4.1 Multi-layer feed-forward networks : : : : 4.2 The generalised delta rule : : : : : : : : 4.2.1 Understanding back-propagation 4.3 Working with back-propagation : : : : : 4.4 An example : : : : : : : : : : : : : : : : 4.5 Other activation functions : : : : : : : : 3

21

: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :

23

23 24 25 25 26 27 28 29 30 31

4 Back-Propagation

: : : : : :

: : : : : :

: : : : : :

: : : : : :

: : : : : :

: : : : : :

: : : : : :

: : : : : :

: : : : : :

33

33 33 35 36 37 38

4 4.6 De ciencies of back-propagation : : : : : : : : : : : : 4.7 Advanced algorithms : : : : : : : : : : : : : : : : : : 4.8 How good are multi-layer feed-forward networks? : : 4.8.1 The e ect of the number of learning samples 4.8.2 The e ect of the number of hidden units : : : 4.9 Applications : : : : : : : : : : : : : : : : : : : : : : :

CONTENTS

: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :

: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :

: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :

: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :

: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :

: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :

: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :

: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :

: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :

: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :

: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :

: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :

: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :

: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :

: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :

: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :

39 40 42 43 44 45

5 Recurrent Networks

5.1 The generalised delta-rule in recurrent networks : : : 5.1.1 The Jordan network : : : : : : : : : : : : : : 5.1.2 The Elman network : : : : : : : : : : : : : : 5.1.3 Back-propagation in fully recurrent networks 5.2 The Hop eld network : : : : : : : : : : : : : : : : : 5.2.1 Description : : : : : : : : : : : : : : : : : : : 5.2.2 Hop eld network as associative memory : : : 5.2.3 Neurons with graded response : : : : : : : : : 5.3 Boltzmann machines : : : : : : : : : : : : : : : : : : 6.1 Competitive learning : : : : : : : : : : : : : : : : : : 6.1.1 Clustering : : : : : : : : : : : : : : : : : : : : 6.1.2 Vector quantisation : : : : : : : : : : : : : : 6.2 Kohonen network : : : : : : : : : : : : : : : : : : : : 6.3 Principal component networks : : : : : : : : : : : : : 6.3.1 Introduction : : : : : : : : : : : : : : : : : : 6.3.2 Normalised Hebbian rule : : : : : : : : : : : 6.3.3 Principal component extractor : : : : : : : : 6.3.4 More eigenvectors : : : : : : : : : : : : : : : 6.4 Adaptive resonance theory : : : : : : : : : : : : : : : 6.4.1 Background: Adaptive resonance theory : : : 6.4.2 ART1: The simpli ed neural network model : 6.4.3 ART1: The original model : : : : : : : : : : : 7.1 The critic : : : : : : : : : : : : : : : : : : : : : 7.2 The controller network : : : : : : : : : : : : : : 7.3 Barto's approach: the ASE-ACE combination : 7.3.1 Associative search : : : : : : : : : : : : 7.3.2 Adaptive critic : : : : : : : : : : : : : : 7.3.3 The cart-pole system : : : : : : : : : : : 7.4 Reinforcement learning versus optimal control :

47

47 48 48 50 50 50 52 52 54

6 Self-Organising Networks

57

57 57 61 64 66 66 67 68 69 69 69 70 72

7 Reinforcement learning

: : : : : : :

: : : : : : :

: : : : : : :

75

75 76 77 77 78 79 80

III APPLICATIONS

8 Robot Control

8.1 End-e ector positioning : : : : : : : : : : : : : : : : : : : : : 8.1.1 Camera{robot coordination is function approximation 8.2 Robot arm dynamics : : : : : : : : : : : : : : : : : : : : : : : 8.3 Mobile robots : : : : : : : : : : : : : : : : : : : : : : : : : : : 8.3.1 Model based navigation : : : : : : : : : : : : : : : : : 8.3.2 Sensor based control : : : : : : : : : : : : : : : : : : :

83

: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :

85

86 87 91 94 94 95

CONTENTS

5

9 Vision

9.1 Introduction : : : : : : : : : : : : : : : : : : : : : : 9.2 Feed-forward types of networks : : : : : : : : : : : 9.3 Self-organising networks for image compression : : 9.3.1 Back-propagation : : : : : : : : : : : : : : : 9.3.2 Linear networks : : : : : : : : : : : : : : : : 9.3.3 Principal components as features : : : : : : 9.4 The cognitron and neocognitron : : : : : : : : : : 9.4.1 Description of the cells : : : : : : : : : : : : 9.4.2 Structure of the cognitron : : : : : : : : : : 9.4.3 Simulation results : : : : : : : : : : : : : : 9.5 Relaxation types of networks : : : : : : : : : : : : 9.5.1 Depth from stereo : : : : : : : : : : : : : : 9.5.2 Image restoration and image segmentation : 9.5.3 Silicon retina : : : : : : : : : : : : : : : : :

: : : : : : : : : : : : : :

: : : : : : : : : : : : : :

: : : : : : : : : : : : : :

: : : : : : : : : : : : : :

: : : : : : : : : : : : : :

: : : : : : : : : : : : : :

: : : : : : : : : : : : : :

: : : : : : : : : : : : : :

: : : : : : : : : : : : : :

: : : : : : : : : : : : : :

: : : : : : : : : : : : : :

: : : : : : : : : : : : : :

: : : : : : : : : : : : : :

: : : : : : : : : : : : : :

: : : : : : : : : : : : : :

: : : : : : : : : : : : : :

: : : : : : : : : : : : : :

97 97 98 99 99 99 100 100 101 102 103 103 105 105

97

IV IMPLEMENTATIONS

10 General Purpose Hardware

10.1 The Connection Machine : : : : : : : : 10.1.1 Architecture : : : : : : : : : : : 10.1.2 Applicability to neural networks 10.2 Systolic arrays : : : : : : : : : : : : : : 11.1 General issues : : : : : : : : : : : : : 11.1.1 Connectivity constraints : : : 11.1.2 Analogue vs. digital : : : : : 11.1.3 Optics : : : : : : : : : : : : : 11.1.4 Learning vs. non-learning : : 11.2 Implementation examples : : : : : : 11.2.1 Carver Mead's silicon retina : 11.2.2 LEP's LNeuro chip : : : : : :

107

: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :

111

112 112 113 114

11 Dedicated Neuro-Hardware

: : : : : : : :

: : : : : : : :

115

115 115 116 116 117 117 117 119

References Index

123 131

6

CONTENTS

List of Figures

2.1 The basic components of an arti cial neural network. : : : : : : : : : : : : : : : : 16 2.2 Various activation functions for a unit. : : : : : : : : : : : : : : : : : : : : : : : : 17 3.1 3.2 3.3 3.4 3.5 3.6 3.7 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 5.1 5.2 5.3 5.4 5.5 Single layer network with one output and two inputs. : : : : : : : : : : : Geometric representation of the discriminant function and the weights. : Discriminant function before and after weight update. : : : : : : : : : : The Perceptron. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : The Adaline. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Geometric representation of input space. : : : : : : : : : : : : : : : : : : Solution of the XOR problem. : : : : : : : : : : : : : : : : : : : : : : : :

6.1 6.2 6.3 6.4 6.5 6.6 A network combining a vector quantisation layer with a 1-layer feed-forward neural network. This network can be used to approximate functions from <2 to <2 , the input space <2 is discretised in 5 disjoint subspaces. : : : : : : : : : : : : : : 6.7 Gaussian neuron distance function. : : : : : : : : : : : : : : : : : : : : : : : : : : 6.8 A topology-conserving map converging. : : : : : : : : : : : : : : : : : : : : : : : 6.9 The mapping of a two-dimensional input space on a one-dimensional Kohonen network. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 7

::::: ::::: ::::: ::::: ::::: ::::: ::::: A multi-layer network with l layers of units. : : : : : : : : : : : : : : : : : : : : : The descent in weight space. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Example of function approximation with a feedforward network. : : : : : : : : : The periodic function f (x) = sin(2x) sin(x) approximated with sine activation functions. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : The periodic function f (x) = sin(2x) sin(x) approximated with sigmoid activation functions. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Slow decrease with conjugate gradient in non-quadratic systems. : : : : : : : : : E ect of the learning set size on the generalization : : : : : : : : : : : : : : : : : E ect of the learning set size on the error rate : : : : : : : : : : : : : : : : : : : E ect of the number of hidden units on the network performance : : : : : : : : : E ect of the number of hidden units on the error rate : : : : : : : : : : : : : : : The Jordan network : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : The Elman network : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Training an Elman network to control an object : : : : : : : : : : : : : : : : : : : Training a feed-forward network to control an object : : : : : : : : : : : : : : : : The auto-associator network. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : A simple competitive learning network. : : : : : : : : : : : : : : : : : : : : : : : Example of clustering in 3D with normalised vectors. : : : : : : : : : : : : : : : : Determining the winner in a competitive learning network. : : : : : : : : : : : : Competitive learning for clustering data. : : : : : : : : : : : : : : : : : : : : : : : Vector quantisation tracks input density. : : : : : : : : : : : : : : : : : : : : : : :

23 24 25 27 27 29 30 34 37 38 39 40 42 44 44 45 45 48 49 49 50 51 58 59 59 61 62 62 65 65 66

8 6.10 6.11 6.12 6.13 6.14 7.2 7.3

LIST OF FIGURES

: : : : : 7.1 Reinforcement learning scheme. :

Mexican hat : : : : : : : : : : : Distribution of input samples. : The ART architecture. : : : : : The ART1 neural network. : : An example ART run. : : : : :

8.1 8.2 8.3 8.4 8.5 8.6 8.7 The desired joint pattern for joints 1. Joints 2 and 3 have similar time patterns. 8.8 Schematic representation of the stored rooms, and the partial information which is available from a single sonar scan. : : : : : : : : : : : : : : : : : : : : : : : : : 8.9 The structure of the network for the autonomous land vehicle. : : : : : : : : : : 9.1 9.2 9.3 9.4 9.5 9.6 10.1 10.2 10.3 11.1 11.2 11.3 11.4 11.5 Input image for the network. : : : : : : : : : : Weights of the PCA network. : : : : : : : : : : The basic structure of the cognitron. : : : : : : Cognitron receptive regions. : : : : : : : : : : : Two learning iterations in the cognitron. : : : : Feeding back activation values in the cognitron.

: : : : : : Architecture of a reinforcement learning scheme with critic element : The cart-pole system. : : : : : : : : : : : : : : : : : : : : : : : : : : An exemplar robot manipulator. : : : : : : : : : : : : : : : : : : : : Indirect learning system for robotics. : : : : : : : : : : : : : : : : : : The system used for specialised learning. : : : : : : : : : : : : : : : : A Kohonen network merging the output of two cameras. : : : : : : : The neural model proposed by Kawato et al. : : : : : : : : : : : : : The neural network used by Kawato et al. : : : : : : : : : : : : : : :

: : : : : :

: : : : : :

: : : : : :

: : : : : :

: : : : : :

: : : : : :

: : : : : :

: : : : : :

: : : : : :

: : : : : :

: : : : : :

: : : : : :

: : : : : :

: : : : : :

: : : : : :

: : : : : :

: : : : : :

: : : : : :

: : : : : :

: : : : : : : : : : : : : :

: : : : : : : : : : : : : :

: : : : : : : : : : : : : :

: : : : : : : : : : : : : :

: : : : : : : : : : : : : :

: : : : : : : : : : : : : :

: : : : : : : : : : : : : :

66 67 70 71 72 75 78 80 85 88 89 90 92 92 93 95 95 100 100 101 102 103 104 113 114 114 115 117 118 119 120

:::: :::: :::: :::: :::: :::: The Connection Machine system organisation. : : : : : Typical use of a systolic array. : : : : : : : : : : : : : The Warp system architecture. : : : : : : : : : : : : : Connections between M input and N output neurons. Optical implementation of matrix multiplication. : : : The photo-receptor used by Mead. : : : : : : : : : : :

: : : : : : : : : : : : The resistive layer (a) and, enlarged, a single node (b). : The LNeuro chip. : : : : : : : : : : : : : : : : : : : : : :

: : : : : : : : : : : : : :

: : : : : : : : : : : : : :

: : : : : : : : : : : : : :

: : : : : : : : : : : : : :

: : : : : : : : : : : : : :

: : : : : : : : : : : : : :

: : : : : : : : : : : : : :

: : : : : : : : : : : : : :

: : : : : : : : : : : : : :

: : : : : : : : : : : : : :

: : : : : : : : : : : : : :

: : : : : : : : : : : : : :

: : : : : : : : : : : : : :

: : : : : : : : : : : : : :

Preface

This manuscript attempts to provide the reader with an insight in arti cial neural networks. Back in 1990, the absence of any state-of-the-art textbook forced us into writing our own. However, in the meantime a number of worthwhile textbooks have been published which can be used for background and in-depth information. We are aware of the fact that, at times, this manuscript may prove to be too thorough or not thorough enough for a complete understanding of the material therefore, further reading material can be found in some excellent text books such as (Hertz, Krogh, & Palmer, 1991 Ritter, Martinetz, & Schulten, 1990 Kohonen, 1995 Anderson & Rosenfeld, 1988 DARPA, 1988 McClelland & Rumelhart, 1986 Rumelhart & McClelland, 1986). Some of the material in this book, especially parts III and IV, contains timely material and thus may heavily change throughout the ages. The choice of describing robotics and vision as neural network applications coincides with the neural network research interests of the authors. Much of the material presented in chapter 6 has been written by Joris van Dam and Anuj Dev at the University of Amsterdam. Also, Anuj contributed to material in chapter 9. The basis of chapter 7 was form by a report of Gerard Schram at the University of Amsterdam. Furthermore, we express our gratitude to those people out there in Net-Land who gave us feedback on this manuscript, especially Michiel van der Korst and Nicolas Maudit who pointed out quite a few of our goof-ups. We owe them many kwartjes for their help. The seventh edition is not drastically di erent from the sixth one we corrected some typing errors, added some examples and deleted some obscure parts of the text. In the eighth edition, symbols used in the text have been globally changed. Also, the chapter on recurrent networks has been (albeit marginally) updated. The index still requires an update, though. Amsterdam/Oberpfa enhofen, November 1996 Patrick van der Smagt Ben Krose

9

10

LIST OF FIGURES

Part I

FUNDAMENTALS

11

1

Introduction

A rst wave of interest in neural networks (also known as `connectionist models' or `parallel distributed processing') emerged after the introduction of simpli ed neurons by McCulloch and Pitts in 1943 (McCulloch & Pitts, 1943). These neurons were presented as models of biological neurons and as conceptual components for circuits that could perform computational tasks. When Minsky and Papert published their book Perceptrons in 1969 (Minsky & Papert, 1969) in which they showed the de ciencies of perceptron models, most neural network funding was redirected and researchers left the eld. Only a few researchers continued their e orts, most notably Teuvo Kohonen, Stephen Grossberg, James Anderson, and Kunihiko Fukushima. The interest in neural networks re-emerged only after some important theoretical results were attained in the early eighties (most notably the discovery of error back-propagation), and new hardware developments increased the processing capacities. This renewed interest is re ected in the number of scientists, the amounts of funding, the number of large conferences, and the number of journals associated with neural networks. Nowadays most universities have a neural networks group, within their psychology, physics, computer science, or biology departments. Arti cial neural networks can be most adequately characterised as `computational models' with particular properties such as the ability to adapt or learn, to generalise, or to cluster or organise data, and which operation is based on parallel processing. However, many of the abovementioned properties can be attributed to existing (non-neural) models the intriguing question is to which extent the neural approach proves to be better suited for certain applications than existing models. To date an equivocal answer to this question is not found. Often parallels with biological systems are described. However, there is still so little known (even at the lowest cell level) about biological systems, that the models we are using for our arti cial neural systems seem to introduce an oversimpli cation of the `biological' models. In this course we give an introduction to arti cial neural networks. The point of view we take is that of a computer scientist. We are not concerned with the psychological implication of the networks, and we will at most occasionally refer to biological neural models. We consider neural networks as an alternative computational scheme rather than anything else. These lecture notes start with a chapter in which a number of fundamental properties are discussed. In chapter 3 a number of `classical' approaches are described, as well as the discussion on their limitations which took place in the early sixties. Chapter 4 continues with the description of attempts to overcome these limitations and introduces the back-propagation learning algorithm. Chapter 5 discusses recurrent networks in these networks, the restraint that there are no cycles in the network graph is removed. Self-organising networks, which require no external teacher, are discussed in chapter 6. Then, in chapter 7 reinforcement learning is introduced. Chapters 8 and 9 focus on applications of neural networks in the elds of robotics and image processing respectively. The nal chapters discuss implementational aspects.

13

14

CHAPTER 1. INTRODUCTION

2

Fundamentals

The arti cial neural networks which we describe in this course are all variations on the parallel distributed processing (PDP) idea. The architecture of each network is based on very similar building blocks which perform the processing. In this chapter we rst discuss these processing units and discuss di erent network topologies. Learning strategies|as a basis for an adaptive system|will be presented in the last section.

**2.1 A framework for distributed representation
**

An arti cial network consists of a pool of simple processing units which communicate by sending signals to each other over a large number of weighted connections. A set of major aspects of a parallel distributed model can be distinguished (cf. Rumelhart and McClelland, 1986 (McClelland & Rumelhart, 1986 Rumelhart & McClelland, 1986)): a set of processing units (`neurons,' `cells') a state of activation yk for every unit, which equivalent to the output of the unit connections between the units. Generally each connection is de ned by a weight wjk which determines the e ect which the signal of unit j has on unit k a propagation rule, which determines the e ective input sk of a unit from its external inputs an activation function Fk , which determines the new level of activation based on the e ective input sk (t) and the current activation yk (t) (i.e., the update) an external input (aka bias, o set) k for each unit a method for information gathering (the learning rule) an environment within which the system must operate, providing input signals and|if necessary|error signals. Figure 2.1 illustrates these basics, some of which will be discussed in the next sections. Each unit performs a relatively simple job: receive input from neighbours or external sources and use this to compute an output signal which is propagated to other units. Apart from this processing, a second task is the adjustment of the weights. The system is inherently parallel in the sense that many units can carry out their computations at the same time. Within neural systems it is useful to distinguish three types of units: input units (indicated by an index i) which receive data from outside the neural network, output units (indicated by 15

2.1.1 Processing units

16

CHAPTER 2. FUNDAMENTALS

k w w sk = Pj wjk yj wjk +k w j yj

k

Fk

yk

Figure 2.1: The basic components of an arti cial neural network. The propagation rule used here is the `standard' weighted summation.

an index o) which send data out of the neural network, and hidden units (indicated by an index h) whose input and output signals remain within the neural network. During operation, units can be updated either synchronously or asynchronously. With synchronous updating, all units update their activation simultaneously with asynchronous updating, each unit has a (usually xed) probability of updating its activation at a time t, and usually only one unit will be able to do this at a time. In some cases the latter model has some advantages.

**2.1.2 Connections between units
**

In most cases we assume that each unit provides an additive contribution to the input of the unit with which it is connected. The total input to unit k is simply the weighted sum of the separate outputs from each of the connected units plus a bias or o set term k :

sk (t) =

X

j

wjk (t) yj (t) + k (t):

(2.1)

The contribution for positive wjk is considered as an excitation and for negative wjk as inhibition. In some cases more complex rules for combining inputs are used, in which a distinction is made between excitatory and inhibitory inputs. We call units with a propagation rule (2.1) sigma units. A di erent propagation rule, introduced by Feldman and Ballard (Feldman & Ballard, 1982), is known as the propagation rule for the sigma-pi unit:

sk (t) =

X

j

wjk (t)

Y

m

yjm (t) + k (t):

(2.2)

Often, the yjm are weighted before multiplication. Although these units are not frequently used, they have their value for gating of input, as well as implementation of lookup tables (Mel, 1990).

**2.1.3 Activation and output rules
**

We also need a rule which gives the e ect of the total input on the activation of the unit. We need a function Fk which takes the total input sk (t) and the current activation yk (t) and produces a new value of the activation of the unit k:

yk (t + 1) = Fk (yk (t) sk (t)):

(2.3)

2.2. NETWORK TOPOLOGIES Often, the activation function is a nondecreasing function of the total input of the unit:

17

0 1 X yk (t + 1) = Fk (sk (t)) = Fk @ wjk (t) yj (t) + k (t)A

j

(2.4)

although activation functions are not restricted to nondecreasing functions. Generally, some sort of threshold function is used: a hard limiting threshold function (a sgn function), or a linear or semi-linear function, or a smoothly limiting threshold (see gure 2.2). For this smoothly limiting function often a sigmoid (S-shaped) function like yk = F (sk ) = 1 + 1 ;sk (2.5) e is used. In some applications a hyperbolic tangent is used, yielding output values in the range ;1 +1].

sgn

i

semi-linear

i

sigmoid

i

Figure 2.2: Various activation functions for a unit.

In some cases, the output of a unit can be a stochastic function of the total input of the unit. In that case the activation is not deterministically determined by the neuron input, but the neuron input determines the probability p that a neuron get a high activation value: 1 p(yk 1) = (2.6) 1 + e;sk =T in which T (cf. temperature) is a parameter which determines the slope of the probability function. This type of unit will be discussed more extensively in chapter 5. In all networks we describe we consider the output of a neuron to be identical to its activation level.

2.2 Network topologies

In the previous section we discussed the properties of the basic processing unit in an arti cial neural network. This section focuses on the pattern of connections between the units and the propagation of data. As for this pattern of connections, the main distinction we can make is between: Feed-forward networks, where the data ow from input to output units is strictly feedforward. The data processing can extend over multiple (layers of) units, but no feedback connections are present, that is, connections extending from outputs of units to inputs of units in the same layer or previous layers. Recurrent networks that do contain feedback connections. Contrary to feed-forward networks, the dynamical properties of the network are important. In some cases, the activation values of the units undergo a relaxation process such that the network will evolve to a stable state in which these activations do not change anymore. In other applications, the change of the activation values of the output neurons are signi cant, such that the dynamical behaviour constitutes the output of the network (Pearlmutter, 1990).

18

CHAPTER 2. FUNDAMENTALS

Classical examples of feed-forward networks are the Perceptron and Adaline, which will be discussed in the next chapter. Examples of recurrent networks have been presented by Anderson (Anderson, 1977), Kohonen (Kohonen, 1977), and Hop eld (Hop eld, 1982) and will be discussed in chapter 5.

**2.3 Training of arti cial neural networks
**

A neural network has to be con gured such that the application of a set of inputs produces (either `direct' or via a relaxation process) the desired set of outputs. Various methods to set the strengths of the connections exist. One way is to set the weights explicitly, using a priori knowledge. Another way is to `train' the neural network by feeding it teaching patterns and letting it change its weights according to some learning rule.

2.3.1 Paradigms of learning

We can categorise the learning situations in two distinct sorts. These are: Supervised learning or Associative learning in which the network is trained by providing it with input and matching output patterns. These input-output pairs can be provided by an external teacher, or by the system which contains the network (self-supervised). Unsupervised learning or Self-organisation in which an (output) unit is trained to respond to clusters of pattern within the input. In this paradigm the system is supposed to discover statistically salient features of the input population. Unlike the supervised learning paradigm, there is no a priori set of categories into which the patterns are to be classi ed rather the system must develop its own representation of the input stimuli. Both learning paradigms discussed above result in an adjustment of the weights of the connections between units, according to some modi cation rule. Virtually all learning rules for models of this type can be considered as a variant of the Hebbian learning rule suggested by Hebb in his classic book Organization of Behaviour (1949) (Hebb, 1949). The basic idea is that if two units j and k are active simultaneously, their interconnection must be strengthened. If j receives input from k, the simplest version of Hebbian learning prescribes to modify the weight wjk with wjk = yj yk (2.7) where is a positive constant of proportionality representing the learning rate. Another common rule uses not the actual activation of unit k but the di erence between the actual and desired activation for adjusting the weights: wjk = yj (dk ; yk ) (2.8) in which dk is the desired activation provided by a teacher. This is often called the Widrow-Ho rule or the delta rule, and will be discussed in the next chapter. Many variants (often very exotic ones) have been published the last few years. In the next chapters some of these update rules will be discussed.

2.3.2 Modifying patterns of connectivity

**2.4 Notation and terminology
**

Throughout the years researchers from di erent disciplines have come up with a vast number of terms applicable in the eld of neural networks. Our computer scientist point-of-view enables us to adhere to a subset of the terminology which is less biologically inspired, yet still con icts arise. Our conventions are discussed below.

2.4. NOTATION AND TERMINOLOGY

19

2.4.1 Notation

We use the following notation in our formulae. Note that not all symbols are meaningful for all networks, and that in some cases subscripts or superscripts may be left out (e.g., p is often not necessary) or added (e.g., vectors can, contrariwise to the notation below, have indices) where necessary. Vectors are indicated with a bold non-slanted font:

j , k, : : : the unit j , k, : : : i an input unit h a hidden unit o an output unit xp the pth input pattern vector xp the j th element of the pth input pattern vector j

**sp the input to a set of neurons when input pattern vector p is clamped (i.e., presented to the
**

network) often: the input of the network by clamping input pattern vector p

dp the desired output of the network when input pattern vector p was input to the network

dp the j th element of the desired output of the network when input pattern vector p was input j

to the network

yp the activation values of the network when input pattern vector p was input to the network

yjp the activation values of element j of the network when input pattern vector p was input to

the network

W the matrix of connection weights

**wj the weights of the connections which feed into unit j
**

wjk the weight of the connection from unit j to unit k Fj the activation function associated with unit j jk the learning rate associated with weight wjk

the biases to the units

j

the bias input to unit j

Uj the threshold of unit j in Fj E p the error in the output of the network when input pattern vector p is input

E the energy of the network.

2.4.2 Terminology

Output vs. activation of a unit. Since there is no need to do otherwise, we consider the

output and the activation value of a unit to be one and the same thing. That is, the output of each neuron equals its activation value.

20

CHAPTER 2. FUNDAMENTALS

input but adapted by the learning rule) term which is input to a unit. They may be used interchangeably, although the latter two terms are often envisaged as a property of the activation function. Furthermore, this external input is usually implemented (and can be written) as a weight from a unit with activation value 1.

Bias, o set, threshold. These terms all refer to a constant (i.e., independent of the network

**Number of layers. In a feed-forward network, the inputs perform no computation and their
**

layer is therefore not counted. Thus a network with one input layer, one hidden layer, and one output layer is referred to as a network with two layers. This convention is widely though not yet universally used.

Representation vs. learning. When using a neural network one has to distinguish two issues

which in uence the performance of the system. The rst one is the representational power of the network, the second one is the learning algorithm. The representational power of a neural network refers to the ability of a neural network to represent a desired function. Because a neural network is built from a set of standard functions, in most cases the network will only approximate the desired function, and even for an optimal set of weights the approximation error is not zero. The second issue is the learning algorithm. Given that there exist a set of optimal weights in the network, is there a procedure to (iteratively) nd this set of weights?

Part II

THEORY

21

3

Perceptron and Adaline

This chapter describes single layer neural networks, including some of the classical approaches to the neural computing and learning problem. In the rst part of this chapter we discuss the representational power of the single layer networks and their learning algorithms and will give some examples of using the networks. In the second part we will discuss the representational limitations of single layer networks. Two `classical' models will be described in the rst part of the chapter: the Perceptron, proposed by Rosenblatt (Rosenblatt, 1959) in the late 50's and the Adaline, presented in the early 60's by by Widrow and Ho (Widrow & Ho , 1960).

**3.1 Networks with threshold activation functions
**

A single layer feed-forward network consists of one or more output neurons o, each of which is connected with a weighting factor wio to all of the inputs i. In the simplest case the network has only two inputs and a single output, as sketched in gure 3.1 (we leave the output index o out). The input of the neuron is the weighted sum of the inputs plus the bias term. The output

x1 x2

w1 w2

+1

y

Figure 3.1: Single layer network with one output and two inputs.

of the network is formed by the activation of the output neuron, which is some function of the input: !

y=F

2 X

The activation function F can be linear so that we have a linear network, or nonlinear. In this section we consider the threshold (or Heaviside or sgn) function:

i=1

wi xi +

(3.1)

can now be used for a classi cation task: it can decide whether an input pattern belongs to one of two classes. If the total input is positive, the pattern will be assigned to class +1, if the 23

F(s) = 1 1 if s > 0 (3.2) ; otherwise. The output of the network thus is either +1 or ;1, depending on the input. The network

24

CHAPTER 3. PERCEPTRON AND ADALINE

total input is negative, the sample will be assigned to class ;1. The separation between the two classes in this case is a straight line, given by the equation:

w1 x1 + w2 x2 + = 0

(3.3)

and we see that the weights determine the slope of the line and the bias determines the `o set', i.e. how far the line is from the origin. Note that also the weights can be plotted in the input space: the weight vector is always perpendicular to the discriminant function.

The single layer network represents a linear discriminant function. A geometrical representation of the linear threshold neural network is given in gure 3.2. Equation (3.3) can be written as w (3.4) x2 = ; w1 x1 ; w

2 2

x2 w1 w2

; kw k

x1

Figure 3.2: Geometric representation of the discriminant function and the weights.

Now that we have shown the representational power of the single layer network with linear threshold units, we come to the second issue: how do we learn the weights and biases in the network? We will describe two learning methods for these types of networks: the `perceptron' learning rule and the `delta' or `LMS' rule. Both methods are iterative procedures that adjust the weights. A learning sample is presented to the network. For each weight the new value is computed by adding a correction to the old value. The threshold is updated in a same way:

wi (t + 1) = wi (t) + wi(t) (t + 1) = (t) + (t):

The learning problem can now be formulated as: how do we compute wi (t) and to classify the learning patterns correctly?

(3.5) (3.6) (t) in order

3.2 Perceptron learning rule and convergence theorem

Suppose we have a set of learning samples consisting of an input vector x and a desired output d (x ). For a classi cation task the d(x ) is usually +1 or ;1. The perceptron learning rule is very simple and can be stated as follows: 1. Start with random weights for the connections 2. Select an input vector x from the set of training samples 3. If y 6= d (x ) (the perceptron gives an incorrect response), modify all connections wi according to: wi = d (x )xi

3.2. PERCEPTRON LEARNING RULE AND CONVERGENCE THEOREM

25

4. Go back to 2. Note that the procedure is very similar to the Hebb rule the only di erence is that, when the network responds correctly, no connection weights are modi ed. Besides modifying the weights, we must also modify the threshold . This is considered as a connection w0 between the output neuron and a `dummy' predicate unit which is always on: x0 = 1. Given the perceptron learning rule as stated above, this threshold is modi ed according to: = 0 (x ) if the perceptron responds correctly (3.7) d otherwise. A perceptron is initialized with the following weights: w1 = 1 w2 = 2 = ;2. The perceptron learning rule is used to learn a correct discriminant function for a number of samples, sketched in gure 3.3. The rst sample A, with values x = (0:5 1:5) and target value d (x ) = +1 is presented to the network. From eq. (3.1) it can be calculated that the network output is +1, so no weights are adjusted. The same is the case for point B, with values x = (;0:5 0:5) and target value d (x ) = ;1 the network output is negative, so no change. When presenting point C with values x = (0:5 0:5) the network output will be ;1, while the target value d(x ) = +1. According to the perceptron learning rule, the weight changes are: w1 = 0:5, w2 = 0:5, = 1. The new weights are now: w1 = 1:5, w2 = 2:5, = ;1, and sample C is classi ed correctly. In gure 3.3 the discriminant function before and after this weight update is shown.

3.2.1 Example of the Perceptron learning rule

x2

2

**original discriminant function after weight update
**

A

1

B

C

1 2

x1

Figure 3.3: Discriminant function before and after weight update.

3.2.2 Convergence theorem

**For the perceptron learning rule there exists a convergence theorem, which states the following:
**

mation y = d (x ), the perceptron learning rule will converge to some solution (which may or may not be the same as w ) in a nite number of steps for any initial choice of the weights. Proof Given the fact that the length of the vector w does not play a role (because of the sgn operation), we take kw k = 1. Because w is a correct solution, the value jw x j, where denotes dot or inner product, will be greater than 0 or: there exists a > 0 such that jw xj > for all inputs x 1 . Now de ne cos w w =kwk. When according to the perceptron learning 1 Technically this need not to be true for any w w x could in fact be equal to 0 for a w which yields no misclassi cations (look at de nition of F ). However, another w can be found for which the quantity will not be 0. (Thanks to: Terry Regier, Computer Science, UC Berkeley)

Theorem 1 If there exists a set of connection weights w which is able to perform the transfor-

26

**CHAPTER 3. PERCEPTRON AND ADALINE
**

rule, connection weights are modi ed at a given input x , we know that weight after modi cation is w 0 = w + w . From this it follows that:

w = d (x)x, and the

w0 w

= =

>

w w w w w w

+ d (x; w ) + sgn w +

x xw x

kw 0 k2 = kw + d (x ) x k2

=

<

=

After t modi cations we have:

**w2 + 2d(x) w x + x2 w2 + x2 (because d (x) = ; sgn w x] !!) w2 + M: w(t) w kw (t)k2
**

> <

w w +t w2 + tM w w(t) kw (t)k w w+t : p 2 w + tM

p

such that

cos (t) =

>

From this follows that limt!1 cos (t) = limt!1 pM t = 1, while by de nition cos 1! The conclusion is that there must be an upper limit tmax for t. The system modi es its connections only a limited number of times. In other words: after maximally tmax modi cations of the weights the perceptron is correctly performing the mapping. tmax will be reached when cos = 1. If we start with connections w = 0,

tmax = M

2

:

(3.8)

The Perceptron, proposed by Rosenblatt (Rosenblatt, 1959) is somewhat more complex than a single layer network with threshold activation functions. In its simplest form it consist of an N -element input layer (`retina') which feeds into a layer of M `association,' `mask,' or `predicate' units h , and a single output unit. The goal of the operation of the perceptron is to learn a given transformation d : f;1 1gN ! f;1 1g using learning samples with input x and corresponding output y = d (x ). In the original de nition, the activity of the predicate units can be any function h of the input layer x but the learning procedure only adjusts the connections to the output unit. The reason for this is that no recipe had been found to adjust the connections between x and h. Depending on the functions h, perceptrons can be grouped into di erent families. In (Minsky & Papert, 1969) a number of these families are described and properties of these families have been described. The output unit of a perceptron is a linear threshold element. Rosenblatt (1959) (Rosenblatt, 1959) proved the remarkable theorem about perceptron learning and in the early 60s perceptrons created a great deal of interest and optimism. The initial euphoria was replaced by disillusion after the publication of Minsky and Papert's Perceptrons in 1969 (Minsky & Papert, 1969). In this book they analysed the perceptron thoroughly and proved that there are severe restrictions on what perceptrons can represent.

3.2.3 The original Perceptron

3.3. THE ADAPTIVE LINEAR ELEMENT (ADALINE)

27

φ1

Ω

φn

Ψ

Figure 3.4: The Perceptron.

**3.3 The adaptive linear element (Adaline)
**

An important generalisation of the perceptron training algorithm was presented by Widrow and Ho as the `least mean square' (LMS) learning procedure, also known as the delta rule. The main functional di erence with the perceptron training rule is the way the output of the system is used in the learning rule. The perceptron learning rule uses the output of the threshold function (either ;1 or +1) for learning. The delta-rule uses the net output without further mapping into output values ;1 or +1. The learning rule was applied to the `adaptive linear element,' also named Adaline 2, developed by Widrow and Ho (Widrow & Ho , 1960). In a simple physical implementation ( g. 3.5) this device consists of a set of controllable resistors connected to a circuit which can sum up currents caused by the input voltage signals. Usually the central block, the summer, is also followed by a quantiser which outputs either +1 of ;1, depending on the polarity of the sum.

+1 −1 +1 w1 w2 w3 gains

Σ

+1

level w0 output

summer

error

−

Σ

−1

quantizer

input pattern switches

+ −1 +1 reference switch

Figure 3.5: The Adaline.

Although the adaptive process is here exempli ed in a case when there is only one output, it may be clear that a system with many parallel outputs is directly implementable by multiple units of the above kind. If the input conductances are denoted by wi , i = 0 1 : : : n, and the input and output signals

this acronym was changed to ADAptive LINear Element.

2 ADALINE rst stood for ADAptive LInear NEuron, but when arti cial neurons became less and less popular

28

CHAPTER 3. PERCEPTRON AND ADALINE

by xi and y , respectively, then the output of the central block is de ned to be

y=

n X i=1

wixi +

(3.9)

where w0 . The purpose of this device is to yield a given value y = dp at its output when the set of values xp, i = 1 2 : : : n, is applied at the inputs. The problem is to determine the i coe cients wi , i = 0 1 : : : n, in such a way that the input-output response is correct for a large number of arbitrarily chosen signal sets. If an exact mapping is not possible, the average error must be minimised, for instance, in the sense of least squares. An adaptive operation means that there exists a mechanism by which the wi can be adjusted, usually iteratively, to attain the correct values. For the Adaline, Widrow introduced the delta rule to adjust the weights. This rule will be discussed in section 3.4.

**3.4 Networks with linear activation functions: the delta rule
**

For a single layer network with an output unit with a linear activation function the output is simply given by X y = wj xj + : (3.10) Such a simple network is able to represent a linear relationship between the value of the output unit and the value of the input units. By thresholding the output value, a classi er can be constructed (such as Widrow's Adaline), but here we focus on the linear relationship and use the network for a function approximation task. In high dimensional input spaces the network represents a (hyper)plane and it will be clear that also multiple output units may be de ned. Suppose we want to train the network such that a hyperplane is tted as well as possible to a set of training samples consisting of input values xp and desired (or target) output values dp. For every given input sample, the output of the network di ers from the target value dp by (dp ; yp ), where yp is the actual output for this pattern. The delta-rule now uses a cost- or error-function based on these di erences to adjust the weights. The error function, as indicated by the name least mean square, is the summed squared error. That is, the total error E is de ned to be

j

E=

X

p

1 Ep = 2

X

p

(dp ; yp )2

(3.11)

where is a constant of proportionality. The derivative is

where the index p ranges over the set of input patterns and E p represents the error on pattern p. The LMS procedure nds the values of all the weights that minimise the error function by a method called gradient descent. The idea is to make a change in the weight proportional to the negative of the derivative of the error as measured on the current pattern with respect to each weight: p wj = ; @E (3.12) p @w

j

**@E p = @E p @yp : @wj @yp @wj
**

Because of the linear units (eq. (3.10)),

(3.13)

@yp = x @wj j

(3.14)

3.5. EXCLUSIVE-OR PROBLEM and such that

29

@E p = ;(dp ; yp) @yp

p wj

(3.15)

= p xj (3.16) where p = dp ; yp is the di erence between the target output and the actual output for pattern p. The delta rule modi es weight appropriately for target and actual outputs of either polarity and for both continuous and binary input and output units. These characteristics have opened up a wealth of new applications.

3.5 Exclusive-OR problem

In the previous sections we have discussed two learning algorithms for single layer networks, but we have not discussed the limitations on the representation of these networks.

;1 ;1 ;1 ;1 1 1 1 ;1 1 1 1 ;1

Table 3.1: Exclusive-or truth table. One of Minsky and Papert's most discouraging results shows that a single layer perceptron cannot represent a simple exclusive-or function. Table 3.1 shows the desired relationships between inputs and output units for this function. In a simple network with two inputs and one output, as depicted in gure 3.1, the net input is equal to: s = w1 x1 + w2 x2 + : (3.17) According to eq. (3.1), the output of the perceptron is zero when s is negative and equal to one when s is positive. In gure 3.6 a geometrical representation of the input domain is given. For a constant , the output of the perceptron is equal to one on one side of the dividing line which is de ned by: w1 x1 + w2 x2 = ; (3.18) and equal to zero on the other side of this line.

x0 x1

d

x1

(−1,1)

x1

(1,1)

x1

x2

(−1,−1)

x2

(1,−1)

? ?

x2

AND

OR

XOR

Figure 3.6: Geometric representation of input space.

30

CHAPTER 3. PERCEPTRON AND ADALINE

To see that such a solution cannot be found, take a loot at gure 3.6. The input space consists of four points, and the two solid circles at (1 ;1) and (;1 1) cannot be separated by a straight line from the two open circles at (;1 ;1) and (1 1). The obvious question to ask is: How can this problem be overcome? Minsky and Papert prove in their book that for binary inputs, any transformation can be carried out by adding a layer of predicates which are connected to all inputs. The proof is given in the next section. For the speci c XOR problem we geometrically show that by introducing hidden units, thereby extending the network to a multi-layer perceptron, the problem can be solved. Fig. 3.7a demonstrates that the four input points are now embedded in a three-dimensional space de ned by the two inputs plus the single hidden unit. These four points are now easily separated by

(1,1,1)

1 1 1 1 (-1,-1,-1) −0.5 −2 −0.5

a.

b.

Figure 3.7: Solution of the XOR problem. a) The perceptron of g. 3.1 with an extra hidden unit. With the indicated values of the weights wij (next to the connecting lines) and the thresholds i (in the circles) this perceptron solves the XOR problem. b) This is accomplished by mapping the four points of gure 3.6 onto the four points indicated here clearly, separation (by a linear manifold) into the required groups is now possible.

a linear manifold (plane) into two groups, as desired. This simple example demonstrates that adding hidden units increases the class of problems that are soluble by feed-forward, perceptronlike networks. However, by this generalisation of the basic architecture we have also incurred a serious loss: we no longer have a learning rule to determine the optimal weights!

**3.6 Multi-layer perceptrons can do everything
**

In the previous section we showed that by adding an extra hidden unit, the XOR problem can be solved. For binary units, one can prove that this architecture is able to perform any transformation given the correct connections and weights. The most primitive is the next one. For a given transformation y = d (x ), we can divide the set of all possible input vectors into two classes: X + = f x j d (x ) = 1 g and X ; = f x j d (x ) = ;1 g: (3.19) Since there are N input units, the total number of possible input vectors x is 2N . For every p 2 X + a hidden unit h can be reserved of which the activation y is 1 if and only if the speci c x h pattern p is present at the input: we can choose its weights wih equal to the speci c pattern xp and the bias h equal to 1 ; N such that

p yh = sgn

X

i

1 wihxp ; N + 2 i

!

(3.20)

3.7. CONCLUSIONS

31

is equal to 1 for xp = wh only. Similarly, the weights to the output neuron can be chosen such that the output is one as soon as one of the M predicate neurons is one:

p yo = sgn M X h=1

yh + M ; 1 : 2

!

(3.21)

This perceptron will give yo = 1 only if x 2 X + : it performs the desired mapping. The problem is the large number of predicate units, which is equal to the number of patterns in X +, which is maximally 2N . Of course we can do the same trick for X ; , and we will always take the minimal number of mask units, which is maximally 2N ;1 . A more elegant proof is given in (Minsky & Papert, 1969), but the point is that for complex transformations the number of required units in the hidden layer is exponential in N .

3.7 Conclusions

In this chapter we presented single layer feedforward networks for classi cation tasks and for function approximation tasks. The representational power of single layer feedforward networks was discussed and two learning algorithms for nding the optimal weights were presented. The simple networks presented here have their advantages and disadvantages. The disadvantage is the limited representational power: only linear classi ers can be constructed or, in case of function approximation, only linear functions can be represented. The advantage, however, is that because of the linearity of the system, the training algorithm will converge to the optimal solution. This is not the case anymore for nonlinear systems such as multiple layer networks, as we will see in the next chapter.

32

CHAPTER 3. PERCEPTRON AND ADALINE

4

Back-Propagation

As we have seen in the previous chapter, a single-layer network has severe restrictions: the class of tasks that can be accomplished is very limited. In this chapter we will focus on feed-forward networks with layers of processing units. Minsky and Papert (Minsky & Papert, 1969) showed in 1969 that a two layer feed-forward network can overcome many restrictions, but did not present a solution to the problem of how to adjust the weights from input to hidden units. An answer to this question was presented by Rumelhart, Hinton and Williams in 1986 (Rumelhart, Hinton, & Williams, 1986), and similar solutions appeared to have been published earlier (Werbos, 1974 Parker, 1985 Cun, 1985). The central idea behind this solution is that the errors for the units of the hidden layer are determined by back-propagating the errors of the units of the output layer. For this reason the method is often called the back-propagation learning rule. Back-propagation can also be considered as a generalisation of the delta rule for non-linear activation functions1 and multilayer networks.

**4.1 Multi-layer feed-forward networks
**

A feed-forward network has a layered structure. Each layer consists of units which receive their input from units from a layer directly below and send their output to units in a layer directly above the unit. There are no connections within a layer. The Ni inputs are fed into the rst layer of Nh 1 hidden units. The input units are merely `fan-out' units no processing takes place in these units. The activation of a hidden unit is a function Fi of the weighted inputs plus a bias, as given in in eq. (2.4). The output of the hidden units is distributed over the next layer of Nh 2 hidden units, until the last layer of hidden units, of which the outputs are fed into a layer of No output units (see gure 4.1). Although back-propagation can be applied to networks with any number of layers, just as for networks with binary units (section 3.6) it has been shown (Hornik, Stinchcombe, & White, 1989 Funahashi, 1989 Cybenko, 1989 Hartman, Keeler, & Kowalski, 1990) that only one layer of hidden units su ces to approximate any function with nitely many discontinuities to arbitrary precision, provided the activation functions of the hidden units are non-linear (the universal approximation theorem). In most applications a feed-forward network with a single layer of hidden units is used with a sigmoid activation function for the units.

**4.2 The generalised delta rule
**

Since we are now using units with nonlinear activation functions, we have to generalise the delta rule which was presented in chapter 3 for linear functions to the set of non-linear activation

single-layer network.

1 Of course, when linear activation functions are used, a multi-layer network is not more powerful than a

33

34

CHAPTER 4. BACK-PROPAGATION

h Ni Nh 1 Nh l;1 Nh l;2

o No

Figure 4.1: A multi-layer network with l layers of units.

**functions. The activation is a di erentiable function of the total input, given by p yk = F(sp ) k in which X sp = wjk yjp + k : k
**

j

(4.1) (4.2)

The error measure E p

To get the correct generalisation of the delta rule as presented in the previous chapter, we must set @E p (4.3) p wjk = ; @w : is de ned as the total quadratic error for pattern p at the output units:

jk

Ep = 1 2

No X

o=1

p (dp ; yo )2 o

(4.4)

where dp is the desired output for unit o when pattern p is clamped. We further set E = E p o p as the summed squared error. We can write By equation (4.2) we see that the second factor is When we de ne

X

**@E p = @E p @sp : k @wjk @sp @wjk k @sp = yp: k @wjk j
**

p = ; @E p k @sp k

(4.5) (4.6) (4.7)

we will get an update rule which is equivalent to the delta rule as described in the previous chapter, resulting in a gradient descent on the error surface if we make the weight changes according to: p p (4.8) pwjk = k yj : p should be for each unit k in the network. The interesting The trick is to gure out what k result, which we now derive, is that there is a simple recursive computation of these 's which can be implemented by propagating error signals backward through the network.

4.2. THE GENERALISED DELTA RULE

35

p To compute k we apply the chain rule to write this partial derivative as the product of two factors, one factor re ecting the change in error as a function of the output of the unit and one re ecting the change in the output as a function of changes in the input. Thus, we have

@E p p k = ; @sp k

k = ; @Ep @yp : @y @s k k

p

p

(4.9)

**Let us compute the second factor. By equation (4.1) we see that
**

p @yk = F0 (sp ) k @sp k

(4.10)

which is the same result as we obtained with the standard delta rule. Substituting this and equation (4.10) in equation (4.9), we get

p p p 0 p o = (do ; yo ) Fo (so )

which is simply the derivative of the squashing function F for the kth unit, evaluated at the net input sp to that unit. To compute the rst factor of equation (4.9), we consider two cases. k First, assume that unit k is an output unit k = o of the network. In this case, it follows from the de nition of E p that @E p = ;(dp ; yp) (4.11) o o @yp

o

(4.12)

for any output unit o. Secondly, if k is not an output unit but a hidden unit k = h, we do not readily know the contribution of the unit to the output error of the network. However, the error measure can be written as a function of the net inputs from hidden to output layer E p = E p (sp sp : : : sp : : :) and we use the chain rule to write 1 2 j

Nh No No No No @E p = X @E p @sp = X @E p @ X w yp = X @E p w = ; X p w : o p p p o ho @yh o=1 @sp @yh o=1 @sp @yh j =1 ko j o=1 @sp ho o o o o=1

(4.13)

**Substituting this in equation (4.9) yields
**

No p = F 0 (sp ) X p w : o ho h h o=1

(4.14)

Equations (4.12) and (4.14) give a recursive procedure for computing the 's for all units in the network, which are then used to compute the weight changes according to equation (4.8). This procedure constitutes the generalised delta rule for a feed-forward network of non-linear units. The equations derived in the previous section may be mathematically correct, but what do they actually mean? Is there a way of understanding back-propagation other than reciting the necessary equations? The answer is, of course, yes. In fact, the whole back-propagation process is intuitively very clear. What happens in the above equations is the following. When a learning pattern is clamped, the activation values are propagated to the output units, and the actual network output is compared with the desired output values, we usually end up with an error in each of the output units. Let's call this error eo for a particular output unit o. We have to bring eo to zero.

4.2.1 Understanding back-propagation

36

CHAPTER 4. BACK-PROPAGATION

The simplest method to do this is the greedy method: we strive to change the connections in the neural network in such a way that, next time around, the error eo will be zero for this particular pattern. We know from the delta rule that, in order to reduce an error, we have to adapt its incoming weights according to who = (do ; yo )yh : (4.15) That's step one. But it alone is not enough: when we only apply this rule, the weights from input to hidden units are never changed, and we do not have the full representational power of the feed-forward network as promised by the universal approximation theorem. In order to adapt the weights from input to hidden units, we again want to apply the delta rule. In this case, however, we do not have a value for for the hidden units. This is solved by the chain rule which does the following: distribute the error of an output unit o to all the hidden units that is it connected to, weighted by this connection. Di erently put, a hidden unit h receives a delta from each output unit o equal to the delta of that output unit weighted with (= multiplied P by) the weight of the connection between those units. In symbols: h = o o who . Well, not exactly: we forgot the activation function of the hidden unit F 0 has to be applied to the delta, before the back-propagation process can continue.

**4.3 Working with back-propagation
**

The application of the generalised delta rule thus involves two phases: During the rst phase the input x is presented and propagated forward through the network to compute the output p values yo for each output unit. This output is compared with its desired value do , resulting in p an error signal o for each output unit. The second phase involves a backward pass through the network during which the error signal is passed to each unit in the network and appropriate weight changes are calculated.

Weight adjustments with sigmoid activation function. The results from the previous section can be summarised in three equations: The weight of a connection is adjusted by an amount proportional to the product of an error signal , on the unit k receiving the input and the output of the unit j sending this signal along the connection: p p (4.16) p wjk = k yj :

If the unit is an output unit, the error signal is given by p p p 0 p o = (do ; yo ) F (so ): Take as the activation function F the `sigmoid' function as de ned in chapter 2: yp = F (sp) = 1 + 1 ;sp : e In this case the derivative is equal to @ F0 (sp) = @sp 1 +1 ;sp e 1 = (1 + e;sp )2 (;e;sp ) (4.17) (4.18)

**e;sp = (1 + e;sp ) (1 + e;sp ) = yp(1 ; yp):
**

1

(4.19)

**4.4. AN EXAMPLE such that the error signal for an output unit can be written as:
**

p p p p p o = (do ; yo ) yo (1 ; yo ):

37

(4.20)

The error signal for a hidden unit is determined recursively in terms of error signals of the units to which it directly connects and the weights of those connections. For the sigmoid activation function:

No No p = F 0 (sp ) X p w = yp (1 ; yp ) X p w : o ho o ho h h h h o=1 o=1

(4.21)

Learning rate and momentum. The learning procedure requires that the change in weight

is proportional to @E p =@w . True gradient descent requires that in nitesimal steps are taken. The constant of proportionality is the learning rate . For practical purposes we choose a learning rate that is as large as possible without leading to oscillation. One way to avoid oscillation at large , is to make the change in weight dependent of the past weight change by adding a momentum term: p wjk (t + 1) = k yjp + wjk (t) (4.22) where t indexes the presentation number and is a constant which determines the e ect of the previous weight change. The role of the momentum term is shown in gure 4.2. When no momentum term is used, it takes a long time before the minimum has been reached with a low learning rate, whereas for high learning rates the minimum is never reached because of the oscillations. When adding the momentum term, the minimum will be reached faster.

b a

c

Figure 4.2: The descent in weight space. a) for small learning rate b) for large learning rate: note the oscillations, and c) with large learning rate and momentum term added.

gradient descent on the total error only if the weights are adjusted after the full set of learning patterns has been presented, more often than not the learning rule is applied to each pattern separately, i.e., a pattern p is applied, E p is calculated, and the weights are adapted (p = 1 2 : : : P ). There exists empirical indication that this results in faster convergence. Care has to be taken, however, with the order in which the patterns are taught. For example, when using the same sequence over and over again the network may become focused on the rst few patterns. This problem can be overcome by using a permuted training method.

Learning per pattern. Although, theoretically, the back-propagation algorithm performs

4.4 An example

A feed-forward network can be used to approximate a function from examples. Suppose we have a system (for example a chemical process or a nancial market) of which we want to know

38

CHAPTER 4. BACK-PROPAGATION

the characteristics. The input of the system is given by the two-dimensional vector x and the output is given by the one-dimensional vector d . We want to estimate the relationship d = f (x ) from 80 examples fxp dp g as depicted in gure 4.3 (top left). A feed-forward network was

1 0 −1 1 0 −1 −1 0 1 0 −1 1 0 −1 −1 0

1

1

1 0 −1 1 0 −1 −1 0

1 0 −1 1 0 −1 −1 0

1

1

Figure 4.3: Example of function approximation with a feedforward network. Top left: The original learning samples Top right: The approximation with the network Bottom left: The function which generated the learning samples Bottom right: The error in the approximation.

programmed with two inputs, 10 hidden units with sigmoid activation function and an output unit with a linear activation function. Check for yourself how equation (4.20) should be adapted for the linear instead of sigmoid activation function. The network weights are initialized to small values and the network is trained for 5,000 learning iterations with the back-propagation training rule, described in the previous section. The relationship between x and d as represented by the network is shown in gure 4.3 (top right), while the function which generated the learning samples is given in gure 4.3 (bottom left). The approximation error is depicted in gure 4.3 (bottom right). We see that the error is higher at the edges of the region within which the learning samples were generated. The network is considerably better at interpolation than extrapolation.

**4.5 Other activation functions
**

Although sigmoid functions are quite often used as activation functions, other functions can be used as well. In some cases this leads to a formula which is known from traditional function approximation theories. For example, from Fourier analysis it is known that any periodic function can be written as a in nite sum of sine and cosine terms (Fourier series):

f (x) =

1 X

n=0

(an cos nx + bn sin nx):

(4.23)

**4.6. DEFICIENCIES OF BACK-PROPAGATION We can rewrite this as a summation of sine terms
**

1 X

39

f (x) = a0 +

with cn = (a2 + b2 ) and n = arctan(b=a). This can be seen as a feed-forward network with n n a single input unit for x a single output unit for f (x) and hidden units with an activation function F = sin(s ). The factor a0 corresponds with the bias of the output unit, the factors cn correspond with the weighs from hidden to output unit the phase factor n corresponds with the bias term of the hidden units and the factor n corresponds with the weights between the input and hidden layer. The basic di erence between the Fourier approach and the back-propagation approach is that the in the Fourier approach the `weights' between the input and the hidden units (these are the factors n) are xed integer numbers which are analytically determined, whereas in the back-propagation approach these weights can take any value and are typically learning using a learning heuristic. To illustrate the use of other activation functions we have trained a feed-forward network with one output unit, four hidden units, and one input with ten patterns drawn from the function f (x) = sin(2x) sin(x). The result is depicted in Figure 4.4. The same function (albeit with other learning points) is learned with a network with eight (!) sigmoid hidden units (see gure 4.5). From the gures it is clear that it pays o to use as much knowledge of the problem at hand as possible.

+1

p

n=1

cn sin(nx + n)

(4.24)

-4

-2 -0.5

2

4

6

8

Figure 4.4: The periodic function f (x) = sin(2x) sin(x) approximated with sine activation functions. (Adapted from (Dastani, 1991).)

**4.6 De ciencies of back-propagation
**

Despite the apparent success of the back-propagation learning algorithm, there are some aspects which make the algorithm not guaranteed to be universally useful. Most troublesome is the long training process. This can be a result of a non-optimum learning rate and momentum. A lot of advanced algorithms based on back-propagation learning have some optimised method to adapt this learning rate, as will be discussed in the next section. Outright training failures generally arise from two sources: network paralysis and local minima. The total input of a hidden unit or output unit can therefore reach very high (either positive or negative) values, and because of the sigmoid activation function the unit will have an activation very close to zero or very close to one. As is clear from equations (4.20) and (4.21), the weight

Network paralysis. As the network trains, the weights can be adjusted to very large values.

40

+1

CHAPTER 4. BACK-PROPAGATION

-4

2

4

6

-1

Figure 4.5: The periodic function f (x) = sin(2x) sin(x) approximated with sigmoid activation functions. (Adapted from (Dastani, 1991).)

p p adjustments which are proportional to yk (1 ; yk ) will be close to zero, and the training process can come to a virtual standstill.

Local minima. The error surface of a complex network is full of hills and valleys. Because

of the gradient descent, the network can get trapped in a local minimum when there is a much deeper minimum nearby. Probabilistic methods can help to avoid this trap, but they tend to be slow. Another suggested possibility is to increase the number of hidden units. Although this will work because of the higher dimensionality of the error space, and the chance to get trapped is smaller, it appears that there is some upper limit of the number of hidden units which, when exceeded, again results in the system being trapped in local minima.

4.7 Advanced algorithms

Many researchers have devised improvements of and extensions to the basic back-propagation algorithm described above. It is too early for a full evaluation: some of these techniques may prove to be fundamental, others may simply fade away. A few methods are discussed in this section. Maybe the most obvious improvement is to replace the rather primitive steepest descent method with a direction set minimisation method, e.g., conjugate gradient minimisation. Note that minimisation along a direction u brings the function f at a place where its gradient is perpendicular to u (otherwise minimisation along u is not complete). Instead of following the gradient at every step, a set of n directions is constructed which are all conjugate to each other such that minimisation along one of these directions uj does not spoil the minimisation along one of the earlier directions ui , i.e., the directions are non-interfering. Thus one minimisation in the direction of ui su ces, such that n minimisations in a system with n degrees of freedom bring this system to a minimum (provided the system is quadratic). This is di erent from gradient descent, which directly minimises in the direction of the steepest descent (Press, Flannery, Teukolsky, & Vetterling, 1986). Suppose the function to be minimised is approximated by its Taylor series

f (x) = f (p) +

i p i 1 xT Ax ; bT x + c 2

X @f X @2f xi + 1 @x @x xixj + 2 @x

ij i j p

4.7. ADVANCED ALGORITHMS where T denotes transpose, and

41

@f (4.25) A]ij @x @x : i j p A is a symmetric positive de nite2 n n matrix, the Hessian of f at p. The gradient of f is rf = Ax ; b (4.27) such that a change of x results in a change of the gradient as (rf ) = A( x): (4.28) Now suppose f was minimised along a direction ui to a point where the gradient ;gi+1 of f is perpendicular to ui , i.e., uT gi+1 = 0 (4.29) i and a new direction ui+1 is sought. In order to make sure that moving along ui+1 does not spoil minimisation along ui we require that the gradient of f remain perpendicular to ui , i.e., uT gi+2 = 0 (4.30) i otherwise we would once more have to minimise in a direction which has a component of ui . c f (p)

b ;rf jp

2

Combining (4.29) and (4.30), we get

When eq. (4.31) holds for two vectors ui and ui+1 they are said to be conjugate. Now, starting at some point p0 , the rst minimisation direction u0 is taken equal to g0 = ;rf (p0 ), resulting in a new point p1. For i 0, calculate the directions where i is chosen to make uT Aui;1 = 0 and the successive gradients perpendicular, i.e., i

i=

0 = uT (gi+1 ; gi+2 ) = uT (rf ) = uT Aui+1 : i i i

(4.31)

ui+1 = gi+1 + iui

(4.32)

gT+1 gi+1 with g = ;rf j for all k 0: i (4.33) k pk gT gi i Next, calculate pi+2 = pi+1 + i+1 ui+1 where i+1 is chosen so as to minimise f (pi+2 )3 . It can be shown that the u's thus constructed are all mutually conjugate (e.g., see (Stoer

& Bulirsch, 1980)). The process described above is known as the Fletcher-Reeves method, but there are many variants which work more or less the same (Hestenes & Stiefel, 1952 Polak, 1971 Powell, 1977). Although only n iterations are needed for a quadratic system with n degrees of freedom, due to the fact that we are not minimising quadratic systems, as well as a result of round-o errors, the n directions have to be followed several times (see gure 4.6). Powell introduced some improvements to correct for behaviour in non-quadratic systems. The resulting cost is O(n) which is signi cantly better than the linear convergence4 of steepest descent. 2 A matrix A is called positive de nite if 8y 6= 0, yT Ay > 0: (4.26)

super-linear convergence (see footnote 4). 4 A method is said to converge linearly if E i+1 = cE i with c < 1. Methods which converge with a higher power, i.e., E i+1 = c(E i )m with m > 1 are called super-linear.

3 This is not a trivial problem (see (Press et al., 1986).) However, line minimisation methods exist with

42

CHAPTER 4. BACK-PROPAGATION

gradient u i+1

ui

a very slow approximation

Figure 4.6: Slow decrease with conjugate gradient in non-quadratic systems. The hills on the left are very steep, resulting in a large search vector ui . When the quadratic portion is entered the new search direction is constructed from the previous direction and the gradient, resulting in a spiraling minimisation. This problem can be overcome by detecting such spiraling minimisations and restarting the algorithm with u0 = ;rf .

Some improvements on back-propagation have been presented based on an independent adaptive learning rate parameter for each weight. Van den Boomgaard and Smeulders (Boomgaard & Smeulders, 1989) show that for a feedforward network without hidden units an incremental procedure to nd the optimal weight matrix W needs an adjustment of the weights with

W (t + 1) = (t + 1) (d (t + 1) ; W (t) x (t + 1)) x (t + 1)

(4.34)

in which is not a constant but an variable (Ni + 1) (Ni + 1) matrix which depends on the input vector. By using a priori knowledge about the input signal, the storage requirements for can be reduced. Silva and Almeida (Silva & Almeida, 1990) also show the advantages of an independent step size for each weight in the network. In their algorithm the learning rate is adapted after every learning pattern:

8 +1) t < u (t) if @E (tjk and @E (jk) have the same signs @w @w (t + 1) = : jk jk +1) t d jk (t) if @E (tjk and @E (jk) have opposite signs. @w @w

(4.35)

where u and d are positive constants with values slightly above and below unity, respectively. The idea is to decrease the learning rate in case of oscillations.

**4.8 How good are multi-layer feed-forward networks?
**

From the example shown in gure 4.3 is is clear that the approximation of the network is not perfect. The resulting approximation error is in uenced by: 1. The learning algorithm and number of iterations. This determines how good the error on the training set is minimized.

4.8. HOW GOOD ARE MULTI-LAYER FEED-FORWARD NETWORKS?

43

2. The number of learning samples. This determines how good the training samples represent the actual function. 3. The number of hidden units. This determines the `expressive power' of the network. For `smooth' functions only a few number of hidden units are needed, for wildly uctuating functions more hidden units will be needed. In the previous sections we discussed the learning rules such as back-propagation and the other gradient based learning algorithms, and the problem of nding the minimum error. In this section we particularly address the e ect of the number of learning samples and the e ect of the number of hidden units. We rst have to de ne an adequate error measure. All neural network training algorithms try to minimize the error of the set of learning samples which are available for training the network. The average error per learning sample is de ned as the learning error rate error rate:

E learning = P

learning

1

Plearning X p=1

Ep

in which E p is the di erence between the desired output value and the actual network output for the learning samples: No X p E p = 1 (dp ; yo )2 : o 2 This is the error which is measurable during the training process. It is obvious that the actual error of the network will di er from the error at the locations of the training samples. The di erence between the desired output value and the actual network output should be integrated over the entire input domain to give a more realistic error measure. This integral can be estimated if we have a large set of samples: the test set. We now de ne the test error rate as the average error of the test set:

o=1

E test = P 1

Ptest X

test p=1

Ep:

In the following subsections we will see how these error measures depend on learning set size and number of hidden units. A simple problem is used as example: a function y = f (x) has to be approximated with a feedforward neural network. A neural network is created with an input, 5 hidden units with sigmoid activation function and a linear output unit. Suppose we have only a small number of learning samples (e.g., 4) and the networks is trained with these samples. Training is stopped when the error does not decrease anymore. The original (desired) function is shown in gure 4.7A as a dashed line. The learning samples and the approximation of the network are shown in the same gure. We see that in this case E learning is small (the network output goes perfectly through the learning samples) but E test is large: the test error of the network is large. The approximation obtained from 20 learning samples is shown in gure 4.7B. The E learning is larger than in the case of 5 learning samples, but the E test is smaller. This experiment was carried out with other learning set sizes, where for each learning set size the experiment was repeated 10 times. The average learning and test error rates as a function of the learning set size are given in gure 4.8. Note that the learning error increases with an increasing learning set size, and the test error decreases with increasing learning set size. A low

4.8.1 The e ect of the number of learning samples

44

A 1 0.8 0.6

**CHAPTER 4. BACK-PROPAGATION
**

B 1 0.8 0.6

y

0.4 0.2 0 0 0.5 x 1

y

0.4 0.2 0 0 0.5 x 1

error rate

Figure 4.7: E ect of the learning set size on the generalization. The dashed line gives the desired function, the learning samples are depicted as circles and the approximation by the network is shown by the drawn line. 5 hidden units are used. a) 4 learning samples. b) 20 learning samples.

learning error on the (small) learning set is no guarantee for a good network performance! With increasing number of learning samples the two error rates converge to the same value. This value depends on the representational power of the network: given the optimal weights, how good is the approximation. This error depends on the number of hidden units and the activation function. If the learning error rate does not converge to the test error rate the learning procedure has not found a global minimum.

test set

learning set

number of learning samples

Figure 4.8: E ect of the learning set size on the error rate. The average error rate and the average test error rate as a function of the number of learning samples.

4.8.2 The e ect of the number of hidden units

The same function as in the previous subsection is used, but now the number of hidden units is varied. The original (desired) function, learning samples and network approximation is shown in gure 4.9A for 5 hidden units and in gure 4.9B for 20 hidden units. The e ect visible in gure 4.9B is called overtraining. The network ts exactly with the learning samples, but because of the large number of hidden units the function which is actually represented by the network is far more wild than the original one. Particularly in case of learning samples which contain a certain amount of noise (which all real-world data have), the network will ` t the noise' of the learning samples instead of making a smooth approximation.

4.9. APPLICATIONS

A 1 0.8 0.6 1 0.8 0.6 B

45

y

0.4 0.2 0 0 0.5 x 1

y

0.4 0.2 0 0 0.5 x 1

error rate

Figure 4.9: E ect of the number of hidden units on the network performance. The dashed line gives the desired function, the circles denote the learning samples and the drawn line gives the approximation by the network. 12 learning samples are used. a) 5 hidden units. b) 20 hidden units.

This example shows that a large number of hidden units leads to a small error on the training set but not necessarily leads to a small error on the test set. Adding hidden units will always lead to a reduction of the E learning . However, adding hidden units will rst lead to a reduction of the E test , but then lead to an increase of E test . This e ect is called the peaking e ect. The average learning and test error rates as a function of the learning set size are given in gure 4.10.

test set

learning set number of hidden units

Figure 4.10: The average learning error rate and the average test error rate as a function of the number of hidden units.

4.9 Applications

Back-propagation has been applied to a wide variety of research applications. Sejnowski and Rosenberg (1987) (Sejnowski & Rosenberg, 1986) produced a spectacular success with NETtalk, a system that converts printed English text into highly intelligible speech. A feed-forward network with one layer of hidden units has been described by Gorman and Sejnowski (1988) (Gorman & Sejnowski, 1988) as a classi cation machine for sonar signals. Another application of a multi-layer feed-forward network with a back-propagation training algorithm is to learn an unknown function between input and output signals from the presen-

46

CHAPTER 4. BACK-PROPAGATION

tation of examples. It is hoped that the network is able to generalise correctly, so that input values which are not presented as learning patterns will result in correct output values. An example is the work of Josin (Josin, 1988), who used a two-layer feed-forward network with back-propagation learning to perform the inverse kinematic transform which is needed by a robot arm controller (see chapter 8).

5

Recurrent Networks

The learning algorithms discussed in the previous chapter were applied to feed-forward networks: all data ows in a network in which no cycles are present. But what happens when we introduce a cycle? For instance, we can connect a hidden unit with itself over a weighted connection, connect hidden units to input units, or even connect all units with each other. Although, as we know from the previous chapter, the approximational capabilities of such networks do not increase, we may obtain decreased complexity, network size, etc. to solve the same problem. An important question we have to consider is the following: what do we want to learn in a recurrent network? After all, when one is considering a recurrent network, it is possible to continue propagating activation values ad in nitum, or until a stable point (attractor) is reached. As we will see in the sequel, there exist recurrent network which are attractor based, i.e., the activation values in the network are repeatedly updated until a stable point is reached after which the weights are adapted, but there are also recurrent networks where the learning rule is used after each propagation (where an activation value is transversed over each weight only once), while external inputs are included in each propagation. In such networks, the recurrent connections can be regarded as extra inputs to the network (the values of which are computed by the network itself). In this chapter recurrent extensions to the feed-forward network introduced in the previous chapters will be discussed|yet not to exhaustion. The theory of the dynamics of recurrent networks extends beyond the scope of a one-semester course on neural networks. Yet the basics of these networks will be discussed. Subsequently some special recurrent networks will be discussed: the Hop eld network in section 5.2, which can be used for the representation of binary patterns subsequently we touch upon Boltzmann machines, therewith introducing stochasticity in neural computation.

**5.1 The generalised delta-rule in recurrent networks
**

The back-propagation learning rule, introduced in chapter 4, can be easily used for training patterns in recurrent networks. Before we will consider this general case, however, we will rst describe networks where some of the hidden unit activation values are fed back to an extra set of input units (the Elman network), or where output values are fed back into hidden units (the Jordan network). A typical application of such a network is the following. Suppose we have to construct a network that must generate a control command depending on an external input, which is a time series x (t), x (t ; 1), x (t ; 2), : : :. With a feed-forward network there are two possible approaches: 1. create inputs x1 , x2 , : : :, xn which constitute the last n values of the input vector. Thus a `time window' of the input vector is input to the network. 2. create inputs x , x 0 , x ", : : :. Besides only inputting x (t), we also input its rst, second, etc. 47

48

CHAPTER 5. RECURRENT NETWORKS derivatives. Naturally, computation of these derivatives is not a trivial task for higher-order derivatives.

The disadvantage is, of course, that the input dimensionality of the feed-forward network is multiplied with n, leading to a very large network, which is slow and di cult to train. The Jordan and Elman networks provide a solution to this problem. Due to the recurrent connections, a window of inputs need not be input anymore instead, the network is supposed to learn the in uence of the previous time steps itself.

**5.1.1 The Jordan network
**

One of the earliest recurrent neural network was the Jordan network (Jordan, 1986a, 1986b). An exemplar network is shown in gure 5.1. In the Jordan network, the activation values of the

input units

h

o

state units

Figure 5.1: The Jordan network. Output activation values are fed back to the input layer, to a set of extra neurons called the state units.

output units are fed back into the input layer through a set of extra input units called the state units. There are as many state units as there are output units in the network. The connections between the output and state units have a xed weight of +1 learning takes place only in the connections between input and hidden units as well as hidden and output units. Thus all the learning rules derived for the multi-layer perceptron can be used to train this network.

**5.1.2 The Elman network
**

The Elman network was introduced by Elman in 1990 (Elman, 1990). In this network a set of context units are introduced, which are extra input units whose activation values are fed back from the hidden units. Thus the network is very similar to the Jordan network, except that (1) the hidden units instead of the output units are fed back and (2) the extra input units have no self-connections. The schematic structure of this network is shown in gure 5.2. Again the hidden units are connected to the context units with a xed weight of value +1. Learning is done as follows: 1. the context units are set to 0 t = 1

**5.1. THE GENERALISED DELTA-RULE IN RECURRENT NETWORKS
**

output layer hidden layer

49

input layer

context layer

Figure 5.2: The Elman network. With this network, the hidden unit activation values are fed back to the input layer, to a set of extra neurons called the context units.

2. pattern xt is clamped, the forward calculations are performed once 3. the back-propagation learning rule is applied 4. t

t + 1 go to 2.

The context units at step t thus always have the activation value of the hidden units at step t ; 1.

Example

As we mentioned above, the Jordan and Elman networks can be used to train a network on reproducing time sequences. The idea of the recurrent connections is that the network is able to `remember' the previous states of the input values. As an example, we trained an Elman network on controlling an object moving in 1D. This object has to follow a pre-speci ed trajectory x d . To control the object, forces F must be applied, since the object su ers from friction and perhaps other external forces. To tackle this problem, we use an Elman net with inputs x and x d , one output F , and three hidden units. The hidden units are connected to three context units. In total, ve units feed into the hidden layer. The results of training are shown in gure 5.3. The same test can be done with an ordinary 4 2 0 100 200 300 400 500

;2 ;4

Figure 5.3: Training an Elman network to control an object. The solid line depicts the desired trajectory x d the dashed line the realised trajectory. The third line is the error.

50

CHAPTER 5. RECURRENT NETWORKS

feed-forward network with sliding window input. We tested this with a network with ve inputs, four of which constituted the sliding window x;3 , x;2 , x;1 , and x0 , and one the desired next position of the object. Results are shown in gure 5.4. The disappointing observation is that 4 2 00 100 200 300 400 500

;2 ;4

Figure 5.4: Training a feed-forward network to control an object. The solid line depicts the desired trajectory x d the dashed line the realised trajectory. The third line is the error.

the results are actually better with the ordinary feed-forward network, which has the same complexity as the Elman network.

5.1.3 Back-propagation in fully recurrent networks

More complex schemes than the above are possible. For instance, independently of each other Pineda (Pineda, 1987) and Almeida (Almeida, 1987) discovered that error back-propagation is in fact a special case of a more general gradient learning method which can be used for training attractor networks. However, also when a network does not reach a xpoint, a learning method can be used: back-propagation through time (Pearlmutter, 1989, 1990). This learning method, the discussion of which extents beyond the scope of our course, can be used to train a multi-layer perceptron to follow trajectories in its activation values.

**5.2 The Hop eld network
**

One of the earliest recurrent neural networks reported in literature was the auto-associator independently described by Anderson (Anderson, 1977) and Kohonen (Kohonen, 1977) in 1977. It consists of a pool of neurons with connections between each unit i and j , i 6= j (see gure 5.5). All connections are weighted. In 1982, Hop eld (Hop eld, 1982) brings together several earlier ideas concerning these networks and presents a complete mathematical analysis based on Ising spin models (Amit, Gutfreund, & Sompolinsky, 1986). It is therefore that this network, which we will describe in this chapter, is generally referred to as the Hop eld network. The Hop eld network consists of a set of N interconnected neurons ( gure 5.5) which update their activation values asynchronously and independently of other neurons. All neurons are both input and output neurons. The activation values are binary. Originally, Hop eld chose activation values of 1 and 0, but using values +1 and ;1 presents some advantages discussed below. We will therefore adhere to the latter convention.

5.2.1 Description

5.2. THE HOPFIELD NETWORK

51

Figure 5.5: The auto-associator network. All neurons are both input and output neurons, i.e., a pattern is clamped, the network iterates to a stable state, and the output of the network consists of the new activation values of the neurons.

The state of the system is given by the activation values1 y = (yk ). The net input sk (t + 1) of a neuron k at cycle t + 1 is a weighted sum X sk (t + 1) = yj (t) wjk + k : (5.1) A simple threshold function ( gure 2.2) is applied to the net input to obtain the new activation value yi (t + 1) at time t + 1: 8 +1 if s (t + 1) > Uk < k yk (t + 1) = : ;1 if sk (t + 1) < Uk (5.2) yk (t) otherwise, i.e., yk (t + 1) = sgn(sk (t + 1)). For simplicity we henceforth choose Uk = 0, but this is of course not essential. A neuron k in the Hop eld network is called stable at time t if, in accordance with equations (5.1) and (5.2), yk (t) = sgn(sk (t ; 1)): (5.3) A state is called stable if, when the network is in state , all neurons are stable. A pattern xp is called stable if, when xp is clamped, all neurons are stable. When the extra restriction wjk = wkj is made, the behaviour of the system can be described with an energy function 1 XXy y w ; X y : (5.4) E = ;2 k k j k jk

j 6=k

Theorem 2

using rule (5.2) has stable limit points. Proof First, note that the energy expressed in eq. (5.4) is bounded from below, since the yk are bounded from below and the wjk and k are constant. Secondly, E is monotonically decreasing when state changes occur, because

k A recurrent network with connections wjk = wkj in which the neurons are updated

j 6=k

0 1 X E = ; yk @ yj wjk + k A

j 6=k

(5.5)

**is always negative when yk changes according to eqs. (5.1) and (5.2).
**

1 Often, these networks are described using the symbols used by Hop eld: Vk for activation of unit k, Tjk for the connection weight between units j and k, and Uk for the external input of unit k. We decided to stick to the more general symbols yk , wjk , and k .

52

CHAPTER 5. RECURRENT NETWORKS

The advantage of a +1=;1 model over a 1=0 model then is symmetry of the states of the network. For, when some pattern x is stable, its inverse is stable, too, whereas in the 1=0 model this is not always true (as an example, the pattern 00 00 is always stable, but 11 11 need not be). Similarly, both a pattern and its inverse have the same energy in the +1=;1 model. Removing the restriction of bidirectional connections (i.e., wjk = wkj ) results in a system that is not guaranteed to settle to a stable state.

5.2.2 Hop eld network as associative memory

A primary application of the Hop eld network is an associative memory. In this case, the weights of the connections between the neurons have to be thus set that the states of the system corresponding with the patterns which are to be stored in the network are stable. These states can be seen as `dips' in energy space. When the network is cued with a noisy or incomplete test pattern, it will render the incorrect or missing data by iterating to a stable state which is in some sense `near' to the cued pattern. The Hebb rule can be used (section 2.3.2) to store P patterns:

i.e., if xp and xp are equal, wjk is increased, otherwise decreased by one (note that, in the original j k Hebb rule, weights only increase). It appears, however, that the network gets saturated very quickly, and that about 0:15N memories can be stored before recall errors become severe. There are two problems associated with storing too many patterns: 1. the stored patterns become unstable 2. spurious stable states appear (i.e., stable states which do not correspond with stored patterns). The rst of these two problems can be solved by an algorithm proposed by Bruce et al. (Bruce, Canning, Forrest, Gardner, & Wallace, 1986):

8X >P pp < wjk = > p=1 xj xk if j 6= k :0 otherwise,

(5.6)

1 otherwise. Now modify wjk by wjk = yj yk ( j + k ) if j 6= k. Repeat this procedure until all patterns are stable. It appears that, in practice, this algorithm usually converges. There exist cases, however, where the algorithm remains oscillatory (try to nd one)! The second problem stated above can be alleviated by applying the Hebb rule in reverse to the spurious stable state, but with a low learning factor (Hop eld, Feinstein, & Palmer, 1983). Thus these patterns are weakly unstored and will become unstable again. The network described in section 5.2.1 can be generalised by allowing continuous activation values. Here, the threshold activation function is replaced by a sigmoid. As before, this system can be proved to be stable when a symmetric weight matrix is used (Hop eld, 1984).

h i Algorithm 1 Given a starting weight matrix W = wjk , for each pattern xp to be stored and each element xp in xp de ne a correction k such that k 0 if yk is stable and xp is clamped (5.7) k=

5.2.3 Neurons with graded response

5.2. THE HOPFIELD NETWORK

53

**Hop eld networks for optimisation problems
**

An interesting application of the Hop eld network with graded response arises in a heuristic solution to the NP-complete travelling salesman problem (Garey & Johnson, 1979). In this problem, a path of minimal distance must be found between n cities, such that the begin- and end-points are the same. Hop eld and Tank (Hop eld & Tank, 1985) use a network with n n neurons. Each row in the matrix represents a city, whereas each column represents the position in the tour. When the network is settled, each row and each column should have one and only one active neuron, indicating a speci c city occupying a speci c position in the tour. The neurons are updated using rule (5.2) with a sigmoid activation function between 0 and 1. The activation value yXj = 1 indicates that city X occupies the j th place in the tour. An energy function describing this problem can be set up as follows. To ensure a correct solution, the following energy must be minimised:

E =

A XXXy y Xj Xk 2 X j k6=j XX X +B yXj yY j 2 j X X 6=Y 0 12 XX +C@ yXj ; nA 2 X j

(5.8)

where A, B , and C are constants. The rst and second terms in equation (5.8) are zero if and only if there is a maximum of one active neuron in each row and column, respectively. The last term is zero if and only if there are exactly n active neurons. To minimise the distance of the tour, an extra term

D X X X dXY y (y Xj Y j +1 + yY j ;1) 2 X Y 6=X j

(5.9)

is added to the energy, where dXY is the distance between cities X and Y and D is a constant. For convenience, the subscripts are de ned modulo n. The weights are set as follows:

wXj Y k = ;A XY (1 ; jk ) inhibitory connections within each row ;B jk (1 ; XY ) inhibitory connections within each column (5.10) ;C global inhibition ;DdXY ( k j+1 + k j;1) data term where jk = 1 if j = k and 0 otherwise. Finally, each neuron has an external bias input Cn.

Discussion

Although this application is interesting from a theoretical point of view, the applicability is limited. Whereas Hop eld and Tank state that, in a ten city tour, the network converges to a valid solution in 16 out of 20 trials while 50% of the solutions are optimal, other reports show less encouraging results. For example, (Wilson & Pawley, 1988) nd that in only 15% of the runs a valid result is obtained, few of which lead to an optimal or near-optimal solution. The main problem is the lack of global information. Since, for an N -city problem, there are N ! possible tours, each of which may be traversed in two directions as well as started in N points, the number of di erent tours is N !=2N . Di erently put, the N -dimensional hypercube in which the solutions are situated is 2N degenerate. The degenerate solutions occur evenly within the

54

CHAPTER 5. RECURRENT NETWORKS

hypercube, such that all but one of the nal 2N con gurations are redundant. The competition between the degenerate tours often leads to solutions which are piecewise optimal but globally ine cient.

5.3 Boltzmann machines

The Boltzmann machine, as rst described by Ackley, Hinton, and Sejnowski in 1985 (Ackley, Hinton, & Sejnowski, 1985) is a neural network that can be seen as an extension to Hop eld networks to include hidden units, and with a stochastic instead of deterministic update rule. The weights are still symmetric. The operation of the network is based on the physics principle of annealing. This is a process whereby a material is heated and then cooled very, very slowly to a freezing point. As a result, the crystal lattice will be highly ordered, without any impurities, such that the system is in a state of very low energy. In the Boltzmann machine this system is mimicked by changing the deterministic update of equation (5.2) in a stochastic update, in which a neuron becomes active with a probability p, 1 p(yk +1) = 1 + e; Ek =T (5.11) where T is a parameter comparable with the (synthetic) temperature of the system. This stochastic activation function is not to be confused with neurons having a sigmoid deterministic activation function. In accordance with a physical system obeying a Boltzmann distribution, the network will eventually reach `thermal equilibrium' and the relative probability of two global states and will follow the Boltzmann distribution

P = e;(E ;E P

)=T

(5.12)

where P is the probability of being in the th global state, and E is the energy of that state. Note that at thermal equilibrium the units still change state, but the probability of nding the network in any global state remains constant. At low temperatures there is a strong bias in favour of states with low energy, but the time required to reach equilibrium may be long. At higher temperatures the bias is not so favourable but equilibrium is reached faster. A good way to beat this trade-o is to start at a high temperature and gradually reduce it. At high temperatures, the network will ignore small energy di erences and will rapidly approach equilibrium. In doing so, it will perform a search of the coarse overall structure of the space of global states, and will nd a good minimum at that coarse level. As the temperature is lowered, it will begin to respond to smaller energy di erences and will nd one of the better minima within the coarse-scale minimum it discovered at high temperature. As multi-layer perceptrons, the Boltzmann machine consists of a non-empty set of visible and a possibly empty set of hidden units. Here, however, the units are binary-valued and are updated stochastically and asynchronously. The simplicity of the Boltzmann distribution leads to a simple learning procedure which adjusts the weights so as to use the hidden units in an optimal way (Ackley et al., 1985). This algorithm works as follows. First, the input and output vectors are clamped. The network is then annealed until it approaches thermal equilibrium at a temperature of 0. It then runs for a xed time at equilibrium and each connection measures the fraction of the time during which both the units it connects are active. This is repeated for all input-output pairs so that each connection can measure hyj yk iclamped , the expected probability, averaged over all cases, that units j and k are simultaneously active at thermal equilibrium when the input and output vectors are clamped.

5.3. BOLTZMANN MACHINES

55

Similarly, hyj yk ifree is measured when the output units are not clamped but determined by the network. In order to determine optimal weights in the network, an error function must be determined. Now, the probability P free (yp ) that the visible units are in state yp when the system is running freely can be measured. Also, the desired probability P clamped (yp) that the visible units are in state yp is determined by clamping the visible units and letting the network run. Now, if the weights in the network are correctly set, both probabilities are equal to each other, and the error E in the network must be 0. Otherwise, the error must have a positive value measuring the discrepancy between the network's internal mode and the environment. For this e ect, the `asymmetric divergence' or `Kullback information' is used:

E=

X

p

**P clamped(yp ) log P P free(y(py ) )
**

clamped

p

(5.13)

Now, in order to minimise E using gradient descent, we must change the weights according to

@E wjk = ; @w : jk

It is not di cult to show that

(5.14) (5.15) (5.16)

@E = ; 1 hy y iclamped ; hy y ifree : j k @wjk T jk wjk =

Therefore, each weight is updated by

hyj yk iclamped ; hyj yk ifree :

56

CHAPTER 5. RECURRENT NETWORKS

6

Self-Organising Networks

In the previous chapters we discussed a number of networks which were trained to perform a mapping F : <n ! <m by presenting the network `examples' (xp dp) with dp = F (xp ) of this mapping. However, problems exist where such training data, consisting of input and desired output pairs are not available, but where the only information is provided by a set of input patterns xp . In these cases the relevant information has to be found within the (redundant) training samples xp . Some examples of such problems are: clustering: the input data may be grouped in `clusters' and the data processing system has to nd these inherent clusters in the input data. The output of the system should give the cluster label of the input pattern (discrete output) vector quantisation: this problem occurs when a continuous space has to be discretised. The input of the system is the n-dimensional vector x , the output is a discrete representation of the input space. The system has to nd optimal discretisation of the input space dimensionality reduction: the input data are grouped in a subspace which has lower dimensionality than the dimensionality of the data. The system has to learn an optimal mapping, such that most of the variance in the input data is preserved in the output data feature extraction: the system has to extract features from the input signal. This often means a dimensionality reduction as described above. In this chapter we discuss a number of neuro-computational approaches for these kinds of problems. Training is done without the presence of an external teacher. The unsupervised weight adapting algorithms are usually based on some form of global competition between the neurons. There are very many types of self-organising networks, applicable to a wide area of problems. One of the most basic schemes is competitive learning as proposed by Rumelhart and Zipser (Rumelhart & Zipser, 1985). A very similar network but with di erent emergent properties is the topology-conserving map devised by Kohonen. Other self-organising networks are ART, proposed by Carpenter and Grossberg (Carpenter & Grossberg, 1987a Grossberg, 1976), and Fukushima's cognitron (Fukushima, 1975, 1988).

6.1.1 Clustering

6.1 Competitive learning

Competitive learning is a learning procedure that divides a set of input patterns in clusters that are inherent to the input data. A competitive learning network is provided only with input 57

58

CHAPTER 6. SELF-ORGANISING NETWORKS

vectors x and thus implements an unsupervised learning procedure. We will show its equivalence to a class of `traditional' clustering algorithms shortly. Another important use of these networks is vector quantisation, as discussed in section 6.1.2.

o wio i

Figure 6.1: A simple competitive learning network. Each of the four outputs o is connected to all inputs i.

An example of a competitive learning network is shown in gure 6.1. All output units o are connected to all input units i with weights wio . When an input pattern x is presented, only a single output unit of the network (the winner) will be activated. In a correctly trained network, all x in one cluster will have the same winner. For the determination of the winner and the corresponding learning rule, two methods exist.

Winner selection: dot product

For the time being, we assume that both input vectors x and weight vectors wo are normalised to unit length. Each output unit o calculates its activation value yo according to the dot product of input and weight vector: X yo = wio xi = wo T x: (6.1) In a next pass, output neuron k is selected with maximum activation

i

8o 6= k :

yo yk :

(6.2)

Activations are reset such that yk = 1 and yo6=k = 0. This is is the competitive aspect of the network, and we refer to the output layer as the winner-take-all layer. The winner-take-all layer is usually implemented in software by simply selecting the output neuron with highest activation value. This function can also be performed by a neural network known as MAXNET (Lippmann, 1989). In MAXNET, all neurons o are connected to other units o0 with inhibitory links and to itself with an excitatory link: 0 wo o0 = ; if o 6= o (6.3) +1 otherwise. It can be shown that this network converges to a situation where only the neuron with highest initial activation survives, whereas the activations of all other neurons converge to zero. From now on, we will simply assume a winner k is selected without being concerned which algorithm is used. Once the winner k has been selected, the weights are updated according to: w (t) + (x(t) ; w (t)) wk (t + 1) = kwk (t) + (x(t) ; wk (t))k (6.4) k k where the divisor ensures that all weight vectors w are normalised. Note that only the weights of winner k are updated. The weight update given in equation (6.4) e ectively rotates the weight vector wo towards the input vector x . Each time an input x is presented, the weight vector closest to this input is

6.1. COMPETITIVE LEARNING

59

weight vector pattern vector

w1 w2 w3

Figure 6.2: Example of clustering in 3D with normalised vectors, which all lie on the unity sphere. The three weight vectors are rotated towards the centres of gravity of the three di erent input clusters.

selected and is subsequently rotated towards the input. Consequently, weight vectors are rotated towards those areas where many inputs appear: the clusters in the input. This procedure is visualised in gure 6.2.

w1x w2 x

w1

w2

b.

a.

Figure 6.3: Determining the winner in a competitive learning network. a. Three normalised vectors. b. The three vectors having the same directions as in a., but with di erent lengths. In a., vectors x and w1 are nearest to each other, and their dot product xT w1 = jxjjw1 j cos is larger than the dot product of x and w2 . In b., however, the pattern and weight vectors are not normalised, and in this case w2 should be considered the `winner' when x is applied. However, the dot product xT w1 is still larger than xT w2 .

Previously it was assumed that both inputs x and weight vectors w were normalised. Using the the activation function given in equation (6.1) gives a `biological plausible' solution. In gure 6.3 it is shown how the algorithm would fail if unnormalised vectors were to be used. Naturally one would like to accommodate the algorithm for unnormalised input data. To this end, the winning neuron k is selected with its weight vector wk closest to the input pattern x , using the

Winner selection: Euclidean distance

60 Euclidean distance measure:

CHAPTER 6. SELF-ORGANISING NETWORKS

k : kwk ; x k kwo ; x k 8o:

(6.5)

It is easily checked that equation (6.5) reduces to (6.1) and (6.2) if all vectors are normalised. The Euclidean distance norm is therefore a more general case of equations (6.1) and (6.2). Instead of rotating the weight vector towards the input as performed by equation (6.4), the weight update must be changed to implement a shift towards the input:

wk (t + 1) = wk (t) + (x(t) ; wk (t)):

(6.6)

Again only the weights of the winner are updated. A point of attention in these recursive clustering techniques is the initialisation. Especially if the input vectors are drawn from a large or high-dimensional input space, it is not beyond imagination that a randomly initialised weight vector wo will never be chosen as the winner and will thus never be moved and never be used. Therefore, it is customary to initialise weight vectors to a set of input patterns fx g drawn from the input set at random. Another more thorough approach that avoids these and other problems in competitive learning is called leaky learning. This is implemented by expanding the weight update given in equation (6.6) with

wl (t + 1) = wl (t) + 0(x(t) ; wl (t))

8l 6= k

(6.7)

with 0 the leaky learning rate. A somewhat similar method is known as frequency sensitive competitive learning (Ahalt, Krishnamurthy, Chen, & Melton, 1990). In this algorithm, each neuron records the number of times it is selected winner. The more often it wins, the less sensitive it becomes to competition. Conversely, neurons that consistently fail to win increase their chances of being selected winner.

Cost function

Earlier it was claimed, that a competitive network performs a clustering process on the input data. I.e., input patterns are divided in disjoint clusters such that similarities between input patterns in the same cluster are much bigger than similarities between inputs in di erent clusters. Similarity is measured by a distance function on the input vectors, as discussed before. A common criterion to measure the quality of a given clustering is the square error criterion, given by X E = kwk ; xpk2 (6.8) where k is the winning neuron when input xp is presented. The weights w are interpreted as cluster centres. It is not di cult to show that competitive learning indeed seeks to nd a minimum for this square error by following the negative gradient of the error-function:

p

**Theorem 3 The error function for pattern xp
**

Ep =

1 2

i

X

(wki ; xp )2 i

(6.9)

where k is the winning unit, is minimised by the weight update rule in eq. (6.6). Proof As in eq. (3.12), we calculate the e ect of a weight change on the error function. So we have that @E p (6.10) p wio = ; where is a constant of proportionality. Now, we have to determine the partial derivative of E p :

@E p n wio ; xp if unit o wins i = @wio 0 otherwise @wio

(6.11)

6.1. COMPETITIVE LEARNING

such that

p

61

(6.12)

which is eq. (6.6) written down for one element of wo . Therefore, eq. (6.8) is minimised by repeated weight updates using eq. (6.6).

wio = ; (wio ; xp ) = (xp ; wio ) o i

An almost identical process of moving cluster centres is used in a large family of conventional clustering algorithms known as square error clustering methods, e.g., k-means, FORGY, ISODATA, CLUSTER.

Example

In gure 6.4, 8 clusters of each 6 data points are depicted. A competitive learning network using Euclidean distance to select the winner was initialised with all weight vectors wo = 0. The network was trained with = 0:1 and a 0 = 0:001 and the positions of the weights after 500 iterations are shown.

1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 −0.5

0

0.5

1

Figure 6.4: Competitive learning for clustering data. The data are given by \+". The positions of the weight vectors after 500 iterations is given by \o".

6.1.2 Vector quantisation

Another important use of competitive learning networks is found in vector quantisation. A vector quantisation scheme divides the input space in a number of disjoint subspaces and represents each input vector x by the label of the subspace it falls into (i.e., index k of the winning neuron). The di erence with clustering is that we are not so much interested in nding clusters of similar data, but more in quantising the entire input space. The quantisation performed by the competitive learning network is said to `track the input probability density function': the density of neurons and thus subspaces is highest in those areas where inputs are most likely to appear, whereas a more coarse quantisation is obtained in those areas where inputs are scarce. An example of tracking the input density is sketched in gure 6.5. Vector quantisation through competitive

62

CHAPTER 6. SELF-ORGANISING NETWORKS

x2 x1 : input pattern : weight vector

Figure 6.5: This gure visualises the tracking of the input density. The input patterns are drawn from <2 the weight vectors also lie in <2 . In the areas where inputs are scarce, the upper part of the gure, only few (in this case two) neurons are used to discretise the input space. Thus, the upper part of the input space is divided into two large separate regions. The lower part, however, where many more inputs have occurred, ve neurons discretise the input space into ve smaller subspaces.

learning results in a more ne-grained discretisation in those areas of the input space where most input have occurred in the past. In this way, competitive learning can be used in applications where data has to be compressed such as telecommunication or storage. However, competitive learning has also be used in combination with supervised learning methods, and be applied to function approximation problems or classi cation problems. We will describe two examples: the \counterpropagation" method and the \learning vector quantization".

Counterpropagation

In a large number of applications, networks that perform vector quantisation are combined with another type of network in order to perform function approximation. An example of such a

vector quantisation feedforward

i wih

h o who

y

Figure 6.6: A network combining a vector quantisation layer with a 1-layer feed-forward neural network. This network can be used to approximate functions from <2 to <2 , the input space <2 is discretised in 5 disjoint subspaces.

6.1. COMPETITIVE LEARNING

63

network is given in gure 6.6. This network can approximate a function f : <n ! <m by associating with each neuron o a function value w1o w2o : : : wmo ]T which is somehow representative for the function values f (x ) of inputs x represented by o. This way of approximating a function e ectively implements a `look-up table': an input x is assigned to a table entry k with 8o 6= k: kx ; wk k kx ; wo k, and the function value w1k w2k : : : wmk ]T in this table entry is taken as an approximation of f (x ). A well-known example of such a network is the Counterpropagation network (Hecht-Nielsen, 1988). Depending on the application, one can choose to perform the vector quantisation before learning the function approximation, or one can choose to learn the quantisation and the approximation layer simultaneously. As an example of the latter, the network presented in gure 6.6 can be supervisedly trained in the following way: 1. present the network with both input x and function value d = f (x ) 2. perform the unsupervised quantisation step. For each weight vector, calculate the distance from its weight vector to the input pattern and nd winner k. Update the weights wih with equation (6.6) 3. perform the supervised approximation step: wko(t + 1) = wko (t) + (do ; wko(t)): (6.13) P y w = w when k is the winning neuron and the This is simply the -rule with yo = h h ho ko desired output is given by d = f (x ). If we de ne a function g(x k) as : ( g(x k) = 1 if k is winner (6.14) 0 otherwise it can be shown that this learning procedure converges to

who =

Z

I.e., each table entry converges to the mean function value over all inputs in the subspace represented by that table entry. As we have seen before, the quantisation scheme tracks the input probability density function, which results in a better approximation of the function in those areas where input is most likely to appear. Not all functions are represented accurately by this combination of quantisation and approximation layers. E.g., a simple identity or combinations of sines and cosines are much better approximated by multilayer back-propagation networks if the activation functions are chosen appropriately. However, if we expect our input to be (a subspace of) a high dimensional input space <n and we expect our function f to be discontinuous at numerous points, the combination of quantisation and approximation is not uncommon and probably very e cient. Of course this combination extends itself much further than the presented combination of the presented single layer competitive learning network and the single layer feed-forward network. The latter could be replaced by a reinforcement learning procedure (see chapter 7). The quantisation layer can be replaced by various other quantisation schemes, such as Kohonen networks (see section 6.2) or octree methods (Jansen, Smagt, & Groen, 1994). In fact, various modern statistical function approximation methods (CART, MARS (Breiman, Friedman, Olshen, & Stone, 1984 Friedman, 1991)) are based on this very idea, extended with the possibility to have the approximation layer in uence the quantisation layer (e.g., to obtain a better or locally more ne-grained quantisation). Recent research (Rosen, Goodwin, & Vidal, 1992) also investigates in this direction.

y g(x h) <n o

dx :

(6.15)

64

CHAPTER 6. SELF-ORGANISING NETWORKS

It is an unpleasant habit in neural network literature, to also cover Learning Vector Quantisation (LVQ) methods in chapters on unsupervised clustering. Granted that these methods also perform a clustering or quantisation task and use similar learning rules, they are trained supervisedly and perform discriminant analysis rather than unsupervised clustering. These networks attempt to de ne `decision boundaries' in the input space, given a large set of exemplary decisions (the training set) each decision could, e.g., be a correct class label. A rather large number of slightly di erent LVQ methods is appearing in recent literature. They are all based on the following basic algorithm: 1. with each output neuron o, a class label (or decision of some other kind) yo is associated p 2. a learning sample consists of input vector xp together with its correct class label yo 3. using distance measures between weight vectors wo and input vector xp , not only the winner k1 is determined, but also the second best k2 :

Learning Vector Quantisation

kxp ; wk1 k < kxp ; wk2 k < kxp ; wik

8o 6= k1 k2

p p 4. the labels yk1 , yk2 are compared with dp . The weight update rule given in equation (6.6) is used selectively based on this comparison. An example of the last step is given by the LVQ2 algorithm by Kohonen (Kohonen, 1977), using the following strategy: p p if yk1 6= dp and dp = yk2 and kxp ; wk2 k ; kxp ; wk1 k < then wk2 (t + 1) = wk2 + (x ; wk2 (t)) and wk1 (t + 1) = wk1 (t) ; (x ; wk1 (t)) I.e., wk2 with the correct label is moved towards the input vector, while wk1 with the incorrect label is moved away from it. The new LVQ algorithms that are emerging all use di erent implementations of these di erent steps, e.g., how to de ne class labels yo , how many `next-best' winners are to be determined, how to adapt the number of output neurons i and how to selectively use the weight update rule.

6.2 Kohonen network

The Kohonen network (Kohonen, 1982, 1984) can be seen as an extension to the competitive learning network, although this is chronologically incorrect. Also, the Kohonen network has a di erent set of applications. In the Kohonen network, the output units in S are ordered in some fashion, often in a twodimensional grid or array, although this is application-dependent. The ordering, which is chosen by the user1 , determines which output neurons are neighbours. Now, when learning patterns are presented to the network, the weights to the output units are thus adapted such that the order present in the input space <N is preserved in the output, i.e., the neurons in S . This means that learning patterns which are near to each other in the input space (where `near' is determined by the distance measure used in nding the winning unit)

& Schulten, 1991 Fritzke, 1991).

1 Of course, variants have been designed which automatically generate the structure of the network (Martinetz

6.2. KOHONEN NETWORK

65

must be mapped on output units which are also near to each other, i.e., the same or neighbouring units. Thus, if inputs are uniformly distributed in <N and the order must be preserved, the dimensionality of S must be at least N . The mapping, which represents a discretisation of the input space, is said to be topology preserving. However, if the inputs are restricted to a subspace of <N , a Kohonen network can be used of lower dimensionality. For example: data on a twodimensional manifold in a high dimensional input space can be mapped onto a two-dimensional Kohonen network, which can for example be used for visualisation of the data. Usually, the learning patterns are random samples from <N . At time t, a sample x (t) is generated and presented to the network. Using the same formulas as in section 6.1, the winning unit k is determined. Next, the weights to this winning unit as well as its neighbours are adapted using the learning rule wo (t + 1) = wo(t) + g(o k) (x (t) ; wo(t)) 8o 2 S: (6.16) Here, g(o k) is a decreasing function of the grid-distance between units o and k, such that g(k k) = 1. For example, for g() a Gaussian function can be used, such that (in one dimension!) ; g(o k) = exp ;(o ; k)2 (see gure 6.7). Due to this collective learning scheme, input signals

1

h(i,k)

0.75 5 0.5 5 0.25 25 0 -2 -1 0 1 2 -2 -1

2 1 0

Figure 6.7: Gaussian neuron distance function g(). In this case, g() is shown for a two-dimensional grid because it looks nice.

which are near to each other will be mapped on neighbouring neurons. Thus the topology inherently present in the input signals will be preserved in the mapping, such as depicted in gure 6.8.

Iteration 0

Iteration 200

Iteration 600

Iteration 1900

Figure 6.8: A topology-conserving map converging. The weight vectors of a network with two inputs and 8 8 output neurons arranged in a planar grid are shown. A line in each gure connects weight wi (o1 o2 ) with weights wi (o1 +1 o2 ) and wi (i1 i2+1) . The leftmost gure shows the initial weights the rightmost when the map is almost completely formed.

If the intrinsic dimensionality of S is less than N , the neurons in the network are `folded' in the input space, such as depicted in gure 6.9.

66

CHAPTER 6. SELF-ORGANISING NETWORKS

Figure 6.9: The mapping of a two-dimensional input space on a one-dimensional Kohonen network.

The topology-conserving quality of this network has many counterparts in biological brains. The brain is organised in many places so that aspects of the sensory environment are represented in the form of two-dimensional maps. For example, in the visual system, there are several topographic mappings of visual space onto the surface of the visual cortex. There are organised mappings of the body surface onto the cortex in both motor and somatosensory areas, and tonotopic mappings of frequency in the auditory cortex. The use of topographic representations, where some important aspect of a sensory modality is related to the physical locations of the cells on a surface, is so common that it obviously serves an important information processing function. It does not come as a surprise, therefore, that already many applications have been devised of the Kohonen topology-conserving maps. Kohonen himself has successfully used the network for phoneme-recognition (Kohonen, Makisara, & Saramaki, 1984). Also, the network has been used to merge sensory data from di erent kinds of sensors, such as auditory and visual, `looking' at the same scene (Gielen, Krommenhoek, & Gisbergen, 1991). Yet another application is in robotics, such as shown in section 8.1.1. To explain the plausibility of a similar structure in biological networks, Kohonen remarks that the lateral inhibition between the neurons could be obtained via e erent connections between those neurons. In one dimension, those connection strengths form a `Mexican hat' (see gure 6.10).

excitation

lateral distance

Figure 6.10: Mexican hat. Lateral interaction around the winning neuron as a function of distance: excitation to nearby neurons, inhibition to farther o neurons.

**6.3 Principal component networks
**

The networks presented in the previous sections can be seen as (nonlinear) vector transformations which map an input vector to a number of binary output elements or neurons. The weights are adjusted in such a way that they could be considered as prototype vectors (vectorial means) for the input patterns for which the competing neuron wins. The self-organising transform described in this section rotates the input space in such a way that the values of the output neurons are as uncorrelated as possible and the energy or variances of the patterns is mainly concentrated in a few output neurons. An example is shown

6.3.1 Introduction

6.3. PRINCIPAL COMPONENT NETWORKS

67

x2 e1 dx2 e2

de2 de1

x1

dx1

Figure 6.11: Distribution of input samples.

in gure 6.11. The two dimensional samples (x1 x2 ) are plotted in the gure. It can be easily seen that x1 and x2 are related, such that if we know x1 we can make a reasonable prediction of x2 and vice versa since the points are centered around the line x1 = x2 . If we rotate the axes over =4 we get the (e1 e2 ) axis as plotted in the gure. Here the conditional prediction has no use because the points have uncorrelated coordinates. Another property of this rotation is that the variance or energy of the transformed patterns is maximised on a lower dimension. This can be intuitively veri ed by comparing the spreads (dx1 dx2 ) and (de1 de2 ) in the gures. After the rotation, the variance of the samples is large along the e1 axis and small along the e2 axis. This transform is very closely related to the eigenvector transformation known from image processing where the image has to be coded or transformed to a lower dimension and reconstructed again by another transform as well as possible (see section 9.3.2). The next section describes a learning rule which acts as a Hebbian learning rule, but which scales the vector length to unity. In the subsequent section we will see that a linear neuron with a normalised Hebbian learning rule acts as such a transform, extending the theory in the last section to multi-dimensional outputs. The model considered here consists of one linear(!) neuron with input weights w . The output

6.3.2 Normalised Hebbian rule

yo(t) of this neuron is given by the usual inner product of its weight w and the input vector x : yo (:t) = w (t)T x (t) (6.17)

As seen in the previous sections, all models are based on a kind of Hebbian learning. However, the basic Hebbian rule would make the weights grow uninhibitedly if there were correlation in the input patterns. This can be overcome by normalising the weight vector to a xed length, typically 1, which leads to the following learning rule ( ( w(t + 1) = L w(t()t)+ yyt)xxt))) (6.18) (w + (t) (t where L( ) indicates an operator which returns the vector length, and is a small learning parameter. Compare this learning rule with the normalised learning rule of competitive learning. There the delta rule was normalised, here the standard Hebb rule is.

68

CHAPTER 6. SELF-ORGANISING NETWORKS

Now the operator which computes the vector length, the norm of the vector, can be approximated by a Taylor expansion around = 0:

L (w(t) + y (t)x (t)) = 1 + @L @

=0

+ O( 2 ):

(6.19)

When we substitute this expression for the vector length in equation (6.18), it resolves for small to2 !

w(t + 1) = (w(t) + y (t)x (t)) 1 ; @L @

=0

+ O( 2 ) :

(6.20)

Since L j

=0 = y (t)2 , discarding the

higher order terms of leads to (6.21)

w (t + 1) = w(t) + y (t) (x(t) ; y (t)w (t))

which is called the `Oja learning rule' (Oja, 1982). This learning rule thus modi es the weight in the usual Hebbian sense, the rst product terms is the Hebb rule yo (t)x (t), but normalises its weight vector directly by the second product term ;yo (t)yo (t)w (t). What exactly does this learning rule do with the weight vector? Remember probability theory? Consider an N -dimensional signal x (t) with mean = E (x (t)) correlation matrix R = E ((x (t) ; )(x (t) ; )T ). In the following we assume the signal mean to be zero, so = 0. From equation (6.21) we see that the expectation of the weights for the Oja learning rule equals E (w (t + 1)jw (t)) = w (t) + Rw (t) ; w (t)T Rw (t) w(t) (6.22) which has a continuous counterpart

6.3.3 Principal component extractor

d w(t) = Rw (t) ; w (t)T Rw (t) w(t): dt

(6.23)

i

Theorem 1 Let the eigenvectors ei of R be ordered with descending associated eigenvalues such that 1 > 2 > : : : > N . With equation (6.23) the weights w (t) will converge to e1 .

decomposed as

N X i

Proof 1 Since the eigenvectors of R span the N -dimensional space, the weight vector can be

w(t) =

2 Remembering that 1=(1 + a ) = 1 ; a + O( 2 ).

i (t)ei :

(6.24)

Substituting this in the di erential equation and concluding the theorem is left as an exercise.

6.4. ADAPTIVE RESONANCE THEORY

69

6.3.4 More eigenvectors

In the previous section it was shown that a single neuron's weight converges to the eigenvector of the correlation matrix with maximum eigenvalue, i.e., the weight of the neuron is directed in the direction of highest energy or variance of the input patterns. Here we tackle the question of how to nd the remaining eigenvectors of the correlation matrix given the rst found eigenvector. Consider the signal x which can be decomposed into the basis of eigenvectors ei of its correlation matrix R, N X x = iei (6.25) If we now subtract the component in the direction of e1 , the direction in which the signal has the most energy, from the signal x ~ x = x ; 1 e1 (6.26) ~ we are sure that when we again decompose x into the eigenvector basis, the coe cient 1 = 0, ~ simply because we just subtracted it. We call x the de ation of x . ~ If now a second neuron is taught on this signal x , then its weights will lie in the direction of the remaining eigenvector with the highest eigenvalue. Since the de ation removed the component in the direction of the rst eigenvector, the weight will converge to the remaining eigenvector with maximum eigenvalue. In the previous section we ordered the eigenvalues in magnitude, so according to this de nition in the limit we will nd e2 . We can continue this strategy and nd all the N eigenvectors belonging to the signal x . We can write the de ation in neural network terms if we see that

i

yo = w T x = eT 1

since ~ So that the de ated vector x equals

N X i

i ei = i

(6.27) (6.28)

w = e1 :

~ x = x ; yo w :

(6.29) The term subtracted from the input vector can be interpreted as a kind of a back-projection or expectation. Compare this to ART described in the next section.

**6.4 Adaptive resonance theory
**

The last unsupervised learning network we discuss di ers from the previous networks in that it is recurrent as with networks in the next chapter, the data is not only fed forward but also back from output to input units.

6.4.1 Background: Adaptive resonance theory

In 1976, Grossberg (Grossberg, 1976) introduced a model for explaining biological phenomena. The model has three crucial properties: 1. a normalisation of the total network activity. Biological systems are usually very adaptive to large changes in their environment. For example, the human eye can adapt itself to large variations in light intensities 2. contrast enhancement of input patterns. The awareness of subtle di erences in input patterns can mean a lot in terms of survival. Distinguishing a hiding panther from a resting one makes all the di erence in the world. The mechanism used here is contrast enhancement

70

CHAPTER 6. SELF-ORGANISING NETWORKS 3. short-term memory (STM) storage of the contrast-enhanced pattern. Before the input pattern can be decoded, it must be stored in the short-term memory. The long-term memory (LTM) implements an arousal mechanism (i.e., the classi cation), whereas the STM is used to cause gradual changes in the LTM.

The system consists of two layers, F 1 and F 2, which are connected to each other via the LTM (see gure 6.12). The input pattern is received at F 1, whereas classi cation takes place in F 2. As mentioned before, the input is not directly classi ed. First a characterisation takes place

category representation field

STM activity pattern LTM STM activity pattern LTM

F2

feature representation field

F1

input

Figure 6.12: The ART architecture.

by means of extracting features, giving rise to activation in the feature representation eld. The expectations, residing in the LTM connections, translate the input pattern to a categorisation in the category representation eld. The classi cation is compared to the expectation of the network, which resides in the LTM weights from F 2 to F 1. If there is a match, the expectations are strengthened, otherwise the classi cation is rejected.

6.4.2 ART1: The simpli ed neural network model

The ART1 simpli ed model consists of two layers of binary neurons (with values 1 and 0), called F 1 (the comparison layer) and F 2 (the recognition layer) (see gure 6.13). Each neuron in F 1 is connected to all neurons in F 2 via the continuous-valued forward long term memory (LTM) W f , and vice versa via the binary-valued backward LTM W b. The other modules are gain 1 and 2 (G1 and G2), and a reset module. Each neuron in the comparison layer receives three inputs: a component of the input pattern, a component of the feedback pattern, and a gain G1. A neuron outputs a 1 if and only if at least three of these inputs are high: the `two-thirds rule.' The neurons in the recognition layer each compute the inner product of their incoming (continuous-valued) weights and the pattern sent over these connections. The winning neuron then inhibits all the other neurons via lateral inhibition. Gain 2 is the logical `or' of all the elements in the input pattern x . Gain 1 equals gain 2, except when the feedback pattern from F 2 contains any 1 then it is forced to zero. Finally, the reset signal is sent to the active neuron in F 2 if the input vector x and the output of F 1 di er by more than some vigilance level. The network starts by clamping the input at F 1. Because the output of F 2 is zero, G1 and G2 are both on and the output of F 1 matches its input.

Operation

**6.4. ADAPTIVE RESONANCE THEORY
**

F2 + G2 +

M neurons

71

j Wb

+

Wf

F1

+

+

− G1

+

i

+ input

N neurons

−

reset +

Figure 6.13: The ART1 neural network.

The pattern is sent to F 2, and in F 2 one neuron becomes active. This signal is then sent back over the backward LTM, which reproduces a binary pattern at F 1. Gain 1 is inhibited, and only the neurons in F 1 which receive a `one' from both x and F 2 remain active. If there is a substantial mismatch between the two patterns, the reset signal will inhibit the neuron in F 2 and the process is repeated. Instead of following Carpenter and Grossberg's description of the system using di erential equations, we use the notation employed by Lippmann (Lippmann, 1987): 1. Initialisation: wjib (0) = 1 1 wij f (0) = 1 + N where N is the number of neurons in F 1, M the number of neurons in F 2, 0 and 0 j < M . Also, choose the vigilance threshold , 0 1 2. Apply the new input pattern x 3. compute the activation values y 0 of the neurons in F 2:

i < N,

yi0 =

N X

j =1

wij f (t) xi

(6.30)

4. select the winning neuron k (0 k < M ) 5. vigilance test: if

(6.31) where denotes inner product, go to step 7, else go to step 6. Note that wk b x essentially is the inner product x x , which will be large if x and x are near to each other 6. neuron k is disabled from further activity. Go to step 3 7. Set for all l, 0 l < N : wklb (t + 1) = wkl b (t) xl wkl b wlk f (t + 1) = 1 PN (t) xbl 2 + i=1 wki (t) xi

wk b (t) x > x x

72

CHAPTER 6. SELF-ORGANISING NETWORKS 8. re-enable all neurons in F 2 and go to step 2. Figure 6.14 shows exemplar behaviour of the network.

backward LTM from:

input pattern output 1 output 2

not active

output 3

not active

output 4

not active

not active

not active

not active

not active

Figure 6.14: An example of the behaviour of the Carpenter Grossberg network for letter patterns. The binary input patterns on the left were applied sequentially. On the right the stored patterns (i.e., the weights of W b for the rst four output units) are shown.

In later work, Carpenter and Grossberg (Carpenter & Grossberg, 1987a, 1987b) present several neural network models to incorporate parts of the complete theory. We will only discuss the rst model, ART1. The network incorporates a follow-the-leader clustering algorithm (Hartigan, 1975). This algorithm tries to t each new input pattern in an existing class. If no matching class can be found, i.e., the distance between the new pattern and all existing classes exceeds some threshold, a new class is created containing the new pattern. The novelty in this approach is that the network is able to adapt to new incoming patterns, while the previous memory is not corrupted. In most neural networks, such as the backpropagation network, all patterns must be taught sequentially the teaching of a new pattern might corrupt the weights for all previously learned patterns. By changing the structure of the network rather than the weights, ART1 overcomes this problem.

6.4.3 ART1: The original model

Normalisation

We will refer to a cell in F 1 or F 2 with k. Each cell k in F 1 or F 2 receives an input sk and respond with an activation level yk . P In order to introduce normalisation in the model, we set I = sk and let the relative input intensity k = sk I ;1 . So we have a model in which the change of the response yk of an input at a certain cell k depends inhibitorily on all other inputs and the sensitivity of the cell, i.e., the surroundings P of each cell have a negative in uence on the cell ;yk l6=k sl

6.4. ADAPTIVE RESONANCE THEORY has an excitatory response as far as the input at the cell is concerned +Bsk has an inhibitory response for normalisation ;yk sk has a decay ;Ayk . Here, A and B are constants. The di erential equation for the neurons in F 1 and F 2 now is

73

dyk = ;Ay + (B ; y )s ; y X s k k k k l dt l6=k

(6.32)

with 0 yk (0) B because the inhibitory e ect of an input can never exceed the excitatory input. P At equilibrium, when dyk =dt = 0, and with I = sk we have that

yk (A + I ) = Bsk :

Because of the de nition of k = sk I ;1 we get

(6.33) (6.34)

yk =

BI B A+I P y never exceeds B : it is normalised. the total activity ytotal = k

Therefore, at equilibrium yk is proportional to k , and, since

kA + I:

BI

(6.35)

Contrast enhancement

In order to make F 2 react better on di erences in neuron values in F 1 (or vice versa), contrast enhancement is applied: the contrasts between the neuronal values in a layer are ampli ed. We can show that eq. (6.32) does not su ce anymore. In order to enhance the contrasts, we chop o all the equal fractions (uniform parts) in F 1 or F 2. This can be done by adding an extra inhibitory input proportional to the inputs from the other cells with a factor C :

dyk = ;Ay + (B ; y )s ; (y + C ) X s : k k k k l dt l6=k

(6.36)

At equilibrium, when we set B = (n ; 1)C where n is the number of neurons, we have nCI 1 yk = A + I k ; n : (6.37) Now, when an input in which all the sk are equal is given, then all the yk are zero: the e ect of C is enhancing di erences. If we set B (n ; 1)C or C=(B + C ) 1=n, then more of the input shall be chopped o .

Discussion

The description of ART1 continues by de ning the di erential equations for the LTM. Instead of following Carpenter and Grossberg's description, we will revert to the simpli ed model as presented by Lippmann (Lippmann, 1987).

74

CHAPTER 6. SELF-ORGANISING NETWORKS

7

Reinforcement learning

In the previous chapters a number of supervised training methods have been described in which the weight adjustments are calculated using a set of `learning samples', existing of input and desired output values. However, not always such a set of learning examples is available. Often the only information is a scalar evaluation r which indicates how well the neural network is performing. Reinforcement learning involves two subproblems. The rst is that the `reinforcement' signal r is often delayed since it is a result of network outputs in the past. This temporal credit assignment problem is solved by learning a `critic' network which represents a cost function J predicting future reinforcement. The second problem is to nd a learning procedure which adapts the weights of the neural network such that a mapping is established which minimizes J . The two problems are discussed in the next paragraphs, respectively. Figure 7.1 shows a reinforcement-learning network interacting with a system.

7.1 The critic

The rst problem is how to construct a critic which is able to evaluate system performance. If the objective of the network is to minimize a direct measurable quantity r, performance feedback is straightforward and a critic is not required. On the other hand, how is current behavior to be evaluated if the objective concerns future system performance. The performance may for instance be measured by the cumulative or future error. Most reinforcement learning methods (such as Barto, Sutton and Anderson (Barto, Sutton, & Anderson, 1983)) use the temporal di erence (TD) algorithm (Sutton, 1988) to train the critic. Suppose the immediate cost of the system at time step k are measured by r(xk uk k), as a function of system states xk and control actions (network outputs) uk . The immediate measure r is often called the external reinforcement signal in contrast to the internal reinforcement signal in gure 7.1. De ne the performance measure J (xk uk k) of the system as a discounted critic reinf. learning controller reinforcement signal ^ J

u

system x

Figure 7.1: Reinforcement learning scheme. 75

76

CHAPTER 7. REINFORCEMENT LEARNING

cumulative of future cost. The task of the critic is to predict the performance measure:

J (x k u k k ) =

1 X

i=k

i;k r(xi

ui i)

(7.1)

in which 2 0 1] is a discount factor (usually 0.95). The relation between two successive prediction can easily be derived:

J (xk uk k) = r(xk uk k) + J (xk+1 uk+1 k + 1):

(7.2)

^ If the network is correctly trained, the relation between two successive network outputs J should be: ^ ^ J (xk uk k) = r(xk uk k) + J (xk+1 uk+1 k + 1): (7.3) If the network is not correctly trained, the temporal di erence (k) between two successive predictions is used to adapt the critic network: ^ ^ (k) = r(xk uk k) + J (xk+1 uk+1 k + 1) ; J (xk uk k):

h

i

(7.4)

in which is the learning rate.

**A learning rule for the weights of the critic network wc (k), based on minimizing 2 (k) can be derived: ^( u wc(k) = ; "(k) @ J @xk (kk) k) (7.5) w
**

c

**7.2 The controller network
**

If the critic is capable of providing an immediate evaluation of performance, the controller network can be adapted such that the optimal relation between system states and control actions is found. Three approaches are distinguished: 1. In case of a nite set of actions U , all actions may virtually be executed. The action which decreases the performance criterion most is selected:

uk = min J^(xk uk k) u2U

(7.6)

The RL-method with this `controller' is called Q-learning (Watkins & Dayan, 1992). The method approximates dynamic programming which will be discussed in the next section. 2. If the performance measure J (xk uk k) is accurately predicted, then the gradient with respect to the controller command uk can be calculated, assuming that the critic network is di erentiable. If the measure is to be minimized, the weights of the controller wr are adjusted in the direction of the negative gradient: ^ xk uk wr (k) = ; @ J (@ u(u)k k) @@w ((k)) k r (7.7)

with being the learning rate. Werbos (Werbos, 1992) has discussed some of these gradient based algorithms in detail. Sofge and White (Sofge & White, 1992) applied one of the gradient based methods to optimize a manufacturing process.

7.3. BARTO'S APPROACH: THE ASE-ACE COMBINATION

77

3. A direct approach to adapt the controller is to use the di erence between the predicted and the `true' performance measure as expressed in equation 7.3. Suppose that the performance measure is to be minimized. Control actions that result in negative di erences, i.e. the true performance is better than was expected, then the controller has to be `rewarded'. On the other hand, in case of a positive di erence, then the control action has to be `penalized'. The idea is to explore the set of possible actions during learning and incorporate the bene cial ones into the controller. Learning in this way is related to trial-and-error learning studied by psychologists in which behavior is selected according to its consequences. Generally, the algorithms select probabilistically actions from a set of possible actions and update action probabilities on basis of the evaluation feedback. Most of the algorithms are based on a look-up table representation of the mapping from system states to actions (Barto et al., 1983). Each table entry has to learn which control action is best when that entry is accessed. It may be also possible to use a parametric mapping from systems states to action probabilities. Gullapalli (Gullapalli, 1990) adapted the weights of a single layer network. In the next section the approach of Barto et. al. is described.

**7.3 Barto's approach: the ASE-ACE combination
**

Barto, Sutton and Anderson (Barto et al., 1983) have formulated `reinforcement learning' as a learning strategy which does not need a set of examples provided by a `teacher.' The system described by Barto explores the space of alternative input-output mappings and uses an evaluative feedback (reinforcement signal) on the consequences of the control signal (network output) on the environment. It has been shown that such reinforcement learning algorithms are implementing an on-line, incremental approximation to the dynamic programming method for optimal control, and are also called `heuristic' dynamic programming (Werbos, 1990). The basic building blocks in the Barto network are an Associative Search Element (ASE) which uses a stochastic method to determine the correct relation between input and output and an Adaptive Critic Element (ACE) which learns to give a correct prediction of future reward or punishment (Figure 7.2). The external reinforcement signal r can be generated by a special sensor (for example a collision sensor of a mobile robot) or be derived from the state vector. For example, in control applications, where the state s of a system should remain in a certain part A of the control space, reinforcement is given by:

r = 0 1 if s 2 A, ; otherwise.

(7.8)

7.3.1 Associative search

In its most elementary form the ASE gives a binary output value yo(t) 2 f0 1g as a stochastic function of an input vector. The total input of the ASE is, similar to the neuron presented in chapter 2, the weighted sum of the inputs, with the exception that the bias input in this case is a stochastic variable N with mean zero normal distribution:

s ( t) =

N X j =1

wSj xj (t) + Nj :

(7.9)

The activation function F is a threshold such that

yo(t) = y (t) = 1 if s (t) > 0,

0 otherwise.

(7.10)

78

**CHAPTER 7. REINFORCEMENT LEARNING
**

reinforcement

r

reinforcement detector

wC 1 w wC 2 Cn

ACE

r ^

internal reinforcement

decoder

ww2S1 S ASE wSn

yo

system

state vector

Figure 7.2: Architecture of a reinforcement learning scheme with critic element

For updating the weights, a Hebbian type of learning rule is used. However, the update is weighted with the reinforcement signal r(t) and an `eligibility' ej is de ned instead of the product yo(t)xj (t) of input and output: wSj (t + 1) = wSj (t) + r(t)ej (t) (7.11) where is a learning factor. The eligibility ej is given by ej (t + 1) = ej (t) + (1 ; )yo (t)xj (t) (7.12) with the decay rate of the eligibility. The eligibility is a sort of `memory ' ej is high if the signals from the input state unit j and the output unit are correlated over some time. Using r(t) in expression (7.11) has the disadvantage that learning only nds place when there is an external reinforcement signal. Instead of r(t), usually a continuous internal reinforcement signal r(t) given by the ACE, is used. ^ Barto and Anandan (Barto & Anandan, 1985) proved convergence for the case of a single binary output unit and a set of linearly independent patterns xp: In control applications, the input vector is the (n-dimensional) state vector s of the system. In order to obtain a linear independent set of patterns xp , often a `decoder' is used, which divides the range of each of the input variables si in a number of intervals. The aim is to divide the input (state) space in a number of disjunct subspaces (or `boxes' as called by Barto). The input vector can therefore only be in one subspace at a time. The decoder converts the input vector into a binary valued vector x , with only one element equal to one, indicating which subspace is currently visited. It has been shown (Krose & Dam, 1992) that instead of a-priori quantisation of the input space, a self-organising quantisation, based on methods described in this chapter, results in a better performance.

7.3.2 Adaptive critic

The Adaptive Critic Element (ACE, or `evaluation network') is basically the same as described in section 7.1. An error signal is derived from the temporal di erence of two successive predictions (in this case denoted by p!) and is used for training the ACE: r(t) = r(t) + p(t) ; p(t ; 1): ^ (7.13)

7.3. BARTO'S APPROACH: THE ASE-ACE COMBINATION

79

**p(t) is implemented as a series of `weights' wCj to the ACE such that p(t) = wCk
**

(7.14) if the system is in state k at time t, denoted by xk = 1. The function is learned by adjusting the wCj 's according to a `delta-rule' with an error signal given by r(t): ^

wCj (t) = r(t)hj (t): ^

is the learning parameter and hj (t) indicates the `trace' of neuron xj :

(7.15) (7.16)

hj (t) = hj (t ; 1) + (1 ; )xj (t ; 1):

This trace is a low-pass lter or momentum, through which the credit assigned to state j increases while state j is active and decays exponentially after the activity of j has expired. If r(t) is positive, the action u of the system has resulted in a higher evaluation value, whereas ^ a negative r(t) indicates a deterioration of the system. r(t) can be considered as an internal ^ ^ reinforcement signal.

**7.3.3 The cart-pole system
**

An example of such a system is the cart-pole balancing system (see gure 7.3). Here, a dynamics controller must control the cart in such a way that the pole always stands up straight. The controller applies a `left' or `right' force F of xed magnitude to the cart, which may change direction at discrete time intervals. The model has four state variables:

**x the position of the cart on the track,
**

the angle of the pole with the vertical,

**x the cart velocity, and _
**

_ the angle velocity of the pole. Furthermore, a set of parameters specify the pole length and mass, cart mass, coe cients of friction between the cart and the track and at the hinge between the pole and the cart, the control force magnitude, and the force due to gravity. The state space is partitioned on the basis of the following quantisation thresholds: 1. x: 0:8 2:4m, 2. : 0 1 6 12 , 3. x: 0:5 1 m/s, _ 4. _: 50 1 /s. This yields 3 6 3 3 = 162 regions corresponding to all of the combinations of the intervals. The decoder output is a 162-dimensional vector. A negative reinforcement signal is provided when the state vector gets out of the admissible range: when x > 2:4, x < ;2:4, > 12 or < ;12 . The system has proved to solve the problem in about 75 learning steps.

80

**CHAPTER 7. REINFORCEMENT LEARNING
**

θ

F

x

Figure 7.3: The cart-pole system.

**7.4 Reinforcement learning versus optimal control
**

The objective of optimal control is generate control actions in order to optimize a prede ned performance measure. One technique to nd such a sequence of control actions which de ne an optimal control policy is Dynamic Programming (DP). The method is based on the principle of optimality, formulated by Bellman (Bellman, 1957): Whatever the initial system state, if the rst control action is contained in an optimal control policy, then the remaining control actions must constitute an optimal control policy for the problem with as initial system state the state remaining from the rst control action. The `Bellman equations' follow directly from the principle of optimality. Solving the equations backwards in time is called dynamic programming. P Assume that a performance measure J (xk uk k) = N k r(xi ui i) with r being the i= immediate costs, is to be minimized. The minimum costs Jmin of cost J can be derived by the Bellman equations of DP. The equations for the discrete case are (White & Jordan, 1992):

Jmin (xk uk k) = min Jmin (xk+1 uk+1 k + 1) + r(xk uk k)] u2U Jmin (xN ) = r(xN ):

(7.17) (7.18)

The strategy for nding the optimal control actions is solving equation (7.17) and (7.18) from which uk can be derived. This can be achieved backwards, starting at state xN . The requirements are a bounded N, and a model which is assumed to be an exact representation of the system and the environment. The model has to provide the relation between successive system states resulting from system dynamics, control actions and disturbances. In practice, a solution can be derived only for a small N and simple systems. In order to deal with large or in nity N, the performance measure could be de ned as a discounted sum of future costs as expressed by equation 7.2. Reinforcement learning provides a solution for the problem stated above without the use of a model of the system and environment. RL is therefore often called an `heuristic' dynamic programming technique (Barto, Sutton, & Watkins, 1990),(Sutton, Barto, & Wilson, 1992),(Werbos, 1992). The most directly related RL-technique to DP is Q-learning (Watkins & Dayan, 1992). The basic idea in Q-learning is to estimate a function, Q, of states and actions, where Q is the minimum discounted sum of future costs Jmin (xk uk k) (the name `Q-learning' comes from Watkins' notation). For convenience, the notation with J is continued here: ^ J (xk uk k) = Jmin (xk+1 uk+1 k + 1) + r(xk uk k) (7.19) ^ The optimal control rule can be expressed in terms of J by noting that an optimal control action ^ according to equation 7.6. for state xk is any action uk that minimizes J ^ The estimate of minimum cost J is updated at time step k + 1 according equation 7.5 . The

7.4. REINFORCEMENT LEARNING VERSUS OPTIMAL CONTROL temporal di erence "(k) between the `true' and expected performance is again used:

81

"(k) =

^ ^ min J (xk+1 uk+1 k + 1) + r(xk uk k) ; J (xk uk k) u2U

Watkins has shown that the function converges under some pre-speci ed conditions to the true optimal Bellmann equation (Watkins & Dayan, 1992): (1) the critic is implemented as a look-up table (2) the learning parameter must converge to zero (3) all actions continue to be tried from all states.

82

CHAPTER 7. REINFORCEMENT LEARNING

Part III

APPLICATIONS

83

8

Robot Control

An important area of application of neural networks is in the eld of robotics. Usually, these networks are designed to direct a manipulator, which is the most important form of the industrial robot, to grasp objects, based on sensor data. Another applications include the steering and path-planning of autonomous robot vehicles. In robotics, the major task involves making movements dependent on sensor data. There are four, related, problems to be distinguished (Craig, 1989):

Forward kinematics. Kinematics is the science of motion which treats motion without regard

to the forces which cause it. Within this science one studies the position, velocity, acceleration, and all higher order derivatives of the position variables. A very basic problem in the study of mechanical manipulation is that of forward kinematics. This is the static geometrical problem of computing the position and orientation of the end-e ector (`hand') of the manipulator. Speci cally, given a set of joint angles, the forward kinematic problem is to compute the position and orientation of the tool frame relative to the base frame (see gure 8.1).

4 3 tool frame

2

1 base frame

Figure 8.1: An exemplar robot manipulator.

Inverse kinematics. This problem is posed as follows: given the position and orientation of

the end-e ector of the manipulator, calculate all possible sets of joint angles which could be used to attain this given position and orientation. This is a fundamental problem in the practical use of manipulators. The inverse kinematic problem is not as simple as the forward one. Because the kinematic equations are nonlinear, their solution is not always easy or even possible in a closed form. Also, the questions of existence of a solution, and of multiple solutions, arise. Solving this problem is a least requirement for most robot control systems. 85

86

CHAPTER 8. ROBOT CONTROL

motion. In order to accelerate a manipulator from rest, glide at a constant end-e ector velocity, and nally decelerate to a stop, a complex set of torque functions must be applied by the joint actuators. In dynamics not only the geometrical properties (kinematics) are used, but also the physical properties of the robot are taken into account. Take for instance the weight (inertia) of the robotarm, which determines the force required to change the motion of the arm. The dynamics introduces two extra problems to the kinematic problems. 1. The robot arm has a `memory'. Its responds to a control signal depends also on its history (e.g. previous positions, speed, acceleration). 2. If a robot grabs an object then the dynamics change but the kinematics don't. This is because the weight of the object has to be added to the weight of the arm (that's why robot arms are so heavy, making the relative weight change very small).

Dynamics. Dynamics is a eld of study devoted to studying the forces required to cause

**Trajectory generation. To move a manipulator from here to there in a smooth, controlled
**

fashion each joint must be moved via a smooth function of time. Exactly how to compute these motion functions is the problem of trajectory generation. In the rst section of this chapter we will discuss the problems associated with the positioning of the end-e ector (in e ect, representing the inverse kinematics in combination with sensory transformation). Section 8.2 discusses a network for controlling the dynamics of a robot arm. Finally, section 8.3 describes neural networks for mobile robot control.

**8.1 End-e ector positioning
**

The nal goal in robot manipulator control is often the positioning of the hand or end-e ector in order to be able to, e.g., pick up an object. With the accurate robot arm that are manufactured, this task is often relatively simple, involving the following steps: 1. determine the target coordinates relative to the base of the robot. Typically, when this position is not always the same, this is done with a number of xed cameras or other sensors which observe the work scene, from the image frame determine the position of the object in that frame, and perform a pre-determined coordinate transformation 2. with a precise model of the robot (supplied by the manufacturer), calculate the joint angles to reach the target (i.e., the inverse kinematics). This is a relatively simple problem 3. move the arm (dynamics control) and close the gripper. The arm motion in point 3 is discussed in section 8.2. Gripper control is not a trivial matter at all, but we will not focus on that. high accuracy, why involve neural networks? The reason is the applicability of robots. When `traditional' methods are used to control a robot arm, accurate models of the sensors and manipulators (in some cases with unknown parameters which have to be estimated from the system's behaviour yet still with accurate models as starting point) are required and the system must be calibrated. Also, systems which su er from wear-and-tear (and which mechanical systems don't?) need frequent recalibration or parameter determination. Finally, the development of more complex (adaptive!) control methods allows the design and use of more exible (i.e., less rigid) robot systems, both on the sensory and motory side.

Involvement of neural networks. So if these parts are relatively simple to solve with a

8.1. END-EFFECTOR POSITIONING

87

8.1.1 Camera{robot coordination is function approximation

The system we focus on in this section is a work oor observed by a xed cameras, and a robot arm. The visual system must identify the target as well as determine the visual position of the end-e ector. The target position xtarget together with the visual position of the hand xhand are input to the neural controller N ( ). This controller then generates a joint position for the robot: = N (xtarget xhand ): (8.1) We can compare the neurally generated with the optimal 0 generated by a ctitious perfect controller R( ): target xhand ): (8.2) 0 = R(x The task of learning is to make the N generate an output `close enough' to 0 . There are two problems associated with teaching N ( ): 1. generating learning samples which are in accordance with eq. (8.2). This is not trivial, since in useful applications R( ) is an unknown function. Instead, a form of self-supervised or unsupervised learning is required. Some examples to solve this problem are given below 2. constructing the mapping N ( ) from the available learning samples. When the (usually randomly drawn) learning samples are available, a neural network uses these samples to represent the whole input space over which the robot is active. This is evidently a form of interpolation, but has the problem that the input space is of a high dimensionality, and the samples are randomly distributed. We will discuss three fundamentally di erent approaches to neural networks for robot ende ector positioning. In each of these approaches, a solution will be found for both the learning sample generation and the function representation.

**Approach 1: Feed-forward networks
**

When using a feed-forward system for controlling the manipulator, a self-supervised learning system must be used. One such a system has been reported by Psaltis, Sideris and Yamamura (Psaltis, Sideris, & Yamamura, 1988). Here, the network, which is constrained to two-dimensional positioning of the robot arm, learns by experimentation. Three methods are proposed: 1. Indirect learning. In indirect learning, a Cartesian target point x in world coordinates is generated, e.g., by a two cameras looking at an object. This target point is fed into the network, which generates an angle vector . The manipulator moves to position , and the cameras determine the new position x0 of the end-e ector in world coordinates. This x0 again is input to the network, resulting in 0 . The network is then trained on the error 1 = ; 0 (see gure 8.2). However, minimisation of 1 does not guarantee minimisation of the overall error = x ; x0 . For example, the network often settles at a `solution' that maps all x's to a single (i.e., the mapping I). 2. General learning. The method is basically very much like supervised learning, but here the plant input must be provided by the user. Thus the network can directly minimise j ; 0 j. The success of this method depends on the interpolation capabilities of the network. Correct choice of may pose a problem.

88

x

Neural Network

**CHAPTER 8. ROBOT CONTROL
**

θ

ε1

Plant

x’

θ’

Neural Network

Figure 8.2: Indirect learning system for robotics. In each cycle, the network is used in two di erent places: rst in the forward step, then for feeding back the error.

3. Specialised learning. Keep in mind that the goal of the training of the network is to minimise the error at the output of the plant: = x ; x0 . We can also train the network by `backpropagating' this error trough the plant (compare this with the backpropagation of the error in Chapter 4). This method requires knowledge of the Jacobian matrix of the plant. A Jacobian matrix of a multidimensional function F is a matrix of partial derivatives of F , i.e., the multidimensional form of the derivative. For example, if we have Y = F (X ), i.e.,

y1 = f1 (x1 x2 : : : xn ) y2 = f2 (x1 x2 : : : xn )

ym = fm(x1 x2 : : : xn )

then

@f @f @f y1 = @x1 x1 + @x1 x2 + : : : + @x1 xn 1 2 n @f2 x + @f2 x + : : : + @f2 x y2 = @x 1 @x 2 @xn n 1 2 ym = @fm x1 + @fm x2 + : : : + @fm xn @x1 @x2 @xn @F Y = @X X: Y = J (X ) X

(8.3)

or

Eq. (8.3) is also written as

where Pi ( ) the ith element of the plant output for input . The learning rule applied here regards the plant as an additional and unmodi able layer in the neural network. The

(8.4) where J is the Jacobian matrix of F . So, the Jacobian matrix can be used to calculate the change in the function when its parameters change. Now, in this case we have " # (8.5) Jij = @Pi @

j

8.1. END-EFFECTOR POSITIONING

89

x

Neural Network

θ

Plant

x’ ε

Figure 8.3: The system used for specialised learning.

**total error = x ; x0 is propagated back through the plant by calculating the j as in eq. (4.14): X @Pi ( ) = F 0 (s )
**

j j

0 i = xi ; xi

i

i

@

j

where i iterates over the outputs of the plant. When the plant is an unknown function, @Pi ( ) can be approximated by @j where ej is used to change the scalar j into a vector. This approximate derivative can be measured by slightly changing the input to the plant and measuring the changes in the output. A somewhat similar approach is taken in (Krose, Korst, & Groen, 1990) and (Smagt & Krose, 1991). Again a two-layer feed-forward network is trained with back-propagation. However, instead of calculating a desired output vector the input vector which should have invoked the current output vector is reconstructed, and back-propagation is applied to this new input vector and the existing output vector. The con guration used consists of a monocular manipulator which has to grasp objects. Due to the fact that the camera is situated in the hand of the robot, the task is to move the hand such that the object is in the centre of the image and has some predetermined size (in a later article, a biologically inspired system is proposed (Smagt, Krose, & Groen, 1992) in which the visual ow- eld is used to account for the monocularity of the system, such that the dimensions of the object need not to be known anymore to the system). One step towards the target consists of the following operations: 1. measure the distance from the current position to the target position in camera domain,

@Pi ( ) @j

Pi ( + h j ej ) ; Pi ( ) h

(8.6)

x

2. use this distance, together with the current state of the robot, as input for the neural network. The network then generates a joint displacement vector 3. send to the manipulator 4. again measure the distance from the current position to the target position in camera domain, x0 5. calculate the move made by the manipulator in visual domain, x ; tt+1 Rx0 , where tt+1 R is the rotation matrix of the second camera image with respect to the rst camera image

90 6. teach the learning pair (x ; tt+1 Rx0

CHAPTER 8. ROBOT CONTROL ) to the network.

This system has shown to learn correct behaviour in only tens of iterations, and to be very adaptive to changes in the sensor or manipulator (Smagt & Krose, 1991 Smagt, Groen, & Krose, 1993). By using a feed-forward network, the available learning samples are approximated by a single, smooth function consisting of a summation of sigmoid functions. As mentioned in section 4, a feed-forward network with one layer of sigmoid units is capable of representing practically any function. But how are the optimal weights determined in nite time to obtain this optimal representation? Experiments have shown that, although a reasonable representation can be obtained in a short period of time, an accurate representation of the function that governs the learning samples is often not feasible or extremely di cult (Jansen et al., 1994). The reason for this is the global character of the approximation obtained with a feed-forward network with sigmoid units: every weight in the network has a global e ect on the nal approximation that is obtained. Building local representations is the obvious way out: every part of the network is responsible for a small subspace of the total input space. Thus accuracy is obtained locally (Keep It Small & Simple). This is typically obtained with a Kohonen network.

**Approach 2: Topology conserving maps
**

Ritter, Martinetz, and Schulten (Ritter, Martinetz, & Schulten, 1989) describe the use of a Kohonen-like network for robot control. We will only describe the kinematics part, since it is the most interesting and straightforward. The system described by Ritter et al. consists of a robot manipulator with three degrees of freedom (orientation of the end-e ector is not included) which has to grab objects in 3D-space. The system is observed by two xed cameras which output their (x y) coordinates of the object and the end e ector (see gure 8.4).

Figure 8.4: A Kohonen network merging the output of two cameras.

x (a four-component vector) is input to the network. As with the Kohonen network, the neuron k with highest activation value is selected as winner, because its weight vector wk is nearest to x. The neurons, which are arranged in a 3-dimensional lattice, correspond in a 1 ; 1 fashion with

Each run consists of two movements. In the gross move, the observed location of the object

subregions of the 3D workspace of the robot, i.e., the neuronal lattice is a discrete representation of the workspace. With each neuron a vector and Jacobian matrix A are associated. During gross move k is fed to the robot which makes its move, resulting in retinal coordinates xg of the end-e ector. To correct for the discretisation of the working space, an additional move is

8.2. ROBOT ARM DYNAMICS

91

made which is dependent of the distance between the neuron and the object in space wk ; x this small displacement in Cartesian space is translated to an angle change using the Jacobian Ak : nal = + A (x ; w ) (8.7) k k k which is a rst-order Taylor expansion of nal . The nal retinal coordinates of the end-e ector after this ne move are in xf . Learning proceeds as follows: when an improved estimate ( A) has been found, the following adaptations are made for all neurons j : wj new = wj old + (t) gjk (t) x ; wj old 0 ( A)new = ( A)old + 0 (t) gjk (t) ( A)j ; ( A)old : j j j

0 If gjk (t) = gjk (t) = jk , this is similar to perceptron learning. Here, as with the Kohonen 0 learning rule, a distance function is used such that gjk (t) and gjk (t) are Gaussians depending on the distance between neurons j and k with a maximum at j = k (cf. eq. (6.6)). An improved estimate ( A) is obtained as follows. = k + Ak (x ; xf ) (8.8)

T ( A = Ak + Ak (x ; wk ; xf + xg ) kxf ; xg ) 2 xf ; xg k

(8.9)

= Ak + (

In eq. (8.8), the nal error x ; xf in Cartesian space is translated to an error in joint space via multiplication by Ak . This error is then added to k to constitute the improved estimate (steepest descent minimisation of error). In eq. (8.9), x = xf ; xg , i.e., the change in retinal coordinates of the end-e ector due to the ne movement, and = Ak (x ; wk ), i.e., the related joint angles during ne movement. Thus eq. (8.9) can be recognised as an error-correction rule of the Widrow-Ho type for Jacobians A. It appears that after 6,000 iterations the system approaches correct behaviour, and that after 30,000 learning steps no noteworthy deviation is present.

T ; Ak x) k x k2 : x

**8.2 Robot arm dynamics
**

While end-e ector positioning via sensor{robot coordination is an important problem to solve, the robot itself will not move without dynamic control of its limbs. Again, accurate control with non-adaptive controllers is possible only when accurate models of the robot are available, and the robot is not too susceptible to wear-and-tear. This requirement has led to the current-day robots that are used in many factories. But the application of neural networks in this eld changes these requirements. One of the rst neural networks which succeeded in doing dynamic control of a robot arm was presented by Kawato, Furukawa, and Suzuki (Kawato, Furukawa, & Suzuki, 1987). They describe a neural network which generates motor commands from a desired trajectory in joint angles. Their system does not include the trajectory generation or the transformation of visual coordinates to body coordinates. The network is extremely simple. In fact, the system is a feed-forward network, but by carefully choosing the basis functions, the network can be restricted to one learning layer such that nding the optimal is a trivial task. In this case, the basis functions are thus chosen that the function that is approximated is a linear combination of those basis functions. This approach is similar to that presented in section 4.5.

92

CHAPTER 8. ROBOT CONTROL

Dynamics model. The manipulator used consists of three joints as the manipulator in g-

ure 8.1 without wrist joint. The desired trajectory d (t), which is generated by another subsystem, is fed into the inverse-dynamics model ( gure 8.5). The error between d (t) and (t) is fed into the neural model.

inverse dynamics model

θd (t) T i (t) + Tf (t) + K + T (t) θ (t) θ

manipulator

Figure 8.5: The neural model proposed by Kawato et al.

The neural model, which is shown in gure 8.6, consists of three perceptrons, each one feeding in one joint of the manipulator. The desired trajectory d = ( d1 d2 d3 ) is fed into 13 nonlinear subsystems. The resulting signals are weighted and summed, such that

Tik (t) =

with

13 X

l=1

wlk xlk

(k = 1 2 3)

d2 (t) d3 (t)) d2 (t) d3 (t))

(8.10)

**xl1 = fl ( d1 (t) xl2 = xl3 = gl ( d1(t)
**

and fl and gl as in table 8.1.

x

f1

1,1

(t)

Σ

f13 g1

x 1,3 (t) x 13,2 (t) x 13,1 (t) x 1,2 (t)

Ti1 (t)

Σ Σ

Ti2 (t) Ti3 (t)

**g13 θd1 (t) θd2 (t) θd3 (t)
**

x 13,3 (t)

T (t) 1

T2 (t)

T3 (t)

Figure 8.6: The neural network used by Kawato et al. There are three neurons, one per joint in the robot arm. Each neuron feeds from thirteen nonlinear subsystems. The upper neuron is connected to the rotary base joint (cf. joint 1 in gure 8.1), the other two neurons to joints 2 and 3.

**8.2. ROBOT ARM DYNAMICS
**

l 1 2 3 4 5 6 7 8 9 10 11 12 13 fl ( 1 2 3 )

1 1 sin2 2 1 cos2 2 1 sin2 ( 2 + 3 ) 1 cos2 ( 2 + 3 ) 1 sin 2 sin( 2 + 3 ) _1 _2 sin 2 cos 2 _1 _2 sin( 2 + 3 ) cos( 2 + 3 ) _1 _2 sin 2 cos( 2 + 3 ) _1 _2 cos 2 sin( 2 + 3 ) _1 _3 sin( 2 + 3 ) cos( 2 + 3 ) _1 _3 sin 2 cos( 2 + 3 ) _1

93

gl ( 1 2 3 )

2 3 2 cos 3 3 cos 3 2 _1 sin 2 cos 2 2 _1 sin( 2 + 3 ) cos( 2 + 3 ) 2 _1 sin 2 cos( 2 + 3 ) 2 _1 cos 2 sin( 2 + 3 ) 2 _2 sin 3 2 _3 sin 3 _2 _3 sin 3 _2 _3

**Table 8.1: Nonlinear transformations used in the Kawato model. The feedback torque Tf (t) in gure 8.5 consists of
**

k Tfk (t) = Kpk ( dk (t) ; k (t)) + Kvk d dt(t) (k = 1 2 3) Kvk = 0 unless j k (t) ; dk (objective point)j < ":

The feedback gains Kp and Kv were computed as (517:2 746:0 191:4)T and (16:2 37:2 8:4)T . Next, the weights adapt using the delta rule

dwik = x T = x (T ; T ) ik 1 ik fk ik dt

(k = 1 2 3):

(8.11)

A desired move pattern is shown in gure 8.7. After 20 minutes of learning the feedback torques are nearly zero such that the system has successfully learned the transformation. Although the applied patterns are very dedicated, training with a repetitive pattern sin(!k t), with p p !1 : !2 : !3 = 1 : 2 : 3 is also successful.

θ1 π

0

−π

10

20

30

t/s

Figure 8.7: The desired joint pattern for joints 1. Joints 2 and 3 have similar time patterns.

The usefulness of neural algorithms is demonstrated by the fact that novel robot architectures, which no longer need a very rigid structure to simplify the controller, are now constructed. For example, several groups (Katayama & Kawato, 1992 Hesselroth, Sarkar, Smagt, & Schulten, 1994) report on work with a pneumatic musculo-skeletal robot arm, with rubber actuators replacing the DC motors. The very complex dynamics and environmental temperature dependency of this arm make the use of non-adaptive algorithms impossible, where neural networks succeed.

94

CHAPTER 8. ROBOT CONTROL

8.3 Mobile robots

In the previous sections some applications of neural networks on robot arms were discussed. In this section we focus on mobile robots. Basically, the control of a robot arm and the control of a mobile robot is very similar: the (hierarchical) controller rst plans a path, the path is transformed from Cartesian (world) domain to the joint or wheel domain using the inverse kinematics of the system and nally a dynamic controller takes care of the mapping from setpoints in this domain to actuator signals. However, in practice the problems with mobile robots occur more with path-planning and navigation than with the dynamics of the system. Two examples will be given.

**8.3.1 Model based navigation
**

Jorgensen (Jorgensen, 1987) describes a neural approach for path-planning. Robot path-planning techniques can be divided into two categories. The rst, called local planning relies on information available from the current `viewpoint' of the robot. This planning is important, since it is able to deal with fast changes in the environment. Unfortunately, by itself local data is generally not adequate since occlusion in the line of sight can cause the robot to wander into dead end corridors or choose non-optimal routes of travel. The second situation is called global pathplanning, in which case the system uses global knowledge from a topographic map previously stored into memory. Although global planning permits optimal paths to be generated, it has its weakness. Missing knowledge or incorrectly selected maps can invalidate a global path to an extent that it becomes useless. A possible third, `anticipatory' planning combined both strategies: the local information is constantly used to give a best guess what the global environment may contain. Jorgensen investigates two issues associated with neural network applications in unstructured or changing environments. First, can neural networks be used in conjunction with direct sensor readings to associatively approximate global terrain features not observable from a single robot perspective. Secondly, is a neural network fast enough to be useful in path relaxation planning, where the robot is required to optimise motion and situation sensitive constraints. For the rst problem, the system had to store a number of possible sensor maps of the environment. The robot was positioned in eight positions in each room and 180 sonar scans were made from each position. Based on these data, for each room a map was made. To be able to represent these maps in a neural network, the map was divided into 32 32 grid elements, which could be projected onto the 32 32 nodes neural network. The maps of the di erent rooms were `stored' in a Hop eld type of network. In the operational phase, the robot wanders around, and enters an unknown room. It makes one scan with the sonar, which provides a partial representation of the room map (see gure 8.8). This pattern is clamped onto the network, which will regenerate the best tting pattern. With this information a global path-planner can be used. The results which are presented in the paper are not very encouraging. With a network of 32 32 neurons, the total number of weights is 1024 squared, which costs more than 1 Mbyte of storage if only one byte per weight is used. Also the speed of the recall is low: Jorgensen mentions a recall time of more than two and a half hour on an IBM AT, which is used on board of the robot. Also the use of a simulated annealing paradigm for path planning is not proving to be an e ective approach. The large number of settling trials (> 1000) is far too slow for real time, when the same functions could be better served by the use of a potential eld approach or distance transform.

8.3. MOBILE ROBOTS

95

A

B

C

D

E

Figure 8.8: Schematic representation of the stored rooms, and the partial information which is available from a single sonar scan.

**8.3.2 Sensor based control
**

Very similar to the sensor based control for the robot arm, as described in the previous sections, a mobile robot can be controlled directly using the sensor data. Such an application has been developed at Carnegy-Mellon by Touretzky and Pomerleau. The goal of their network is to drive a vehicle along a winding road. The network receives two type of sensor inputs from the sensory system. One is a 30 32 (see gure 8.9) pixel image from a camera mounted on the roof of the vehicle, where each pixel corresponds to an input unit of the network. The other input is an 8 32 pixel image from a laser range nder. The activation levels of units in the range nder's retina represent the distance to the corresponding objects.

sharp left straight ahead sharp right

45 output units

29 hidden

units

66

8x32 range finder input retina

30x32 video input retina

Figure 8.9: The structure of the network for the autonomous land vehicle.

The network was trained by presenting it samples with as inputs a wide variety of road images taken under di erent viewing angles and lighting conditions. 1,200 Images were presented,

96

CHAPTER 8. ROBOT CONTROL

40 times each while the weights were adjusted using the back-propagation principle. The authors claim that once the network is trained, the vehicle can accurately drive (at about 5 km/hour) along `: : : a path though a wooded area adjoining the Carnegie Mellon campus, under a variety of weather and lighting conditions.' The speed is nearly twice as high as a non-neural algorithm running on the same vehicle. Although these results show that neural approaches can be possible solutions for the sensor based control problem, there still are serious shortcomings. In simulations in our own laboratory, we found that networks trained with examples which are provided by human operators are not always able to nd a correct approximation of the human behaviour. This is the case if the human operator uses other information than the network's input to generate the steering signal. Also the learning of in particular back-propagation networks is dependent on the sequence of samples, and, for all supervised training methods, depends on the distribution of the training samples.

9

9.1 Introduction

Vision

In this chapter we illustrate some applications of neural networks which deal with visual information processing. In the neural literature we nd roughly two types of problems: the modelling of biological vision systems and the use of arti cial neural networks for machine vision. We will focus on the latter. The primary goal of machine vision is to obtain information about the environment by processing data from one or multiple two-dimensional arrays of intensity values (`images'), which are projections of this environment on the system. This information can be of di erent nature: recognition: the classi cation of the input data in one of a number of possible classes geometric information about the environment, which is important for autonomous systems compression of the image for storage and transmission. Often a distinction is made between low level (or early) vision, intermediate level vision and high level vision. Typical low-level operations include image ltering, isolated feature detection and consistency calculations. At a higher level segmentation can be carried out, as well as the calculation of invariants. The high level vision modules organise and control the ow of information from these modules and combine this information with high level knowledge for analysis. Computer vision already has a long tradition of research, and many algorithms for image processing and pattern recognition have been developed. There appear to be two computational paradigms that are easily adapted to massive parallelism: local calculations and neighbourhood functions. Calculations that are strictly localised to one area of an image are obviously easy to compute in parallel. Examples are lters and edge detectors in early vision. A cascade of these local calculations can be implemented in a feed-forward network. The rst section describes feed-forward networks for vision. Section 9.3 shows how backpropagation can be used for image compression. In the same section, it is shown that the PCA neuron is ideally suited for image compression. Finally, sections 9.4 and 9.5 describe the cognitron for optical character recognition, and relaxation networks for calculating depth from stereo images.

**9.2 Feed-forward types of networks
**

The early feed-forward networks as the perceptron and the adaline were essentially designed to be be visual pattern classi ers. In principle a multi-layer feed-forward network is able to learn to classify all possible input patterns correctly, but an enormous amount of connections is needed (for the perceptron, Minsky showed that many problems can only be solved if each hidden unit is 97

98

CHAPTER 9. VISION

connected to all inputs). The question is whether such systems can still be regarded as `vision' systems. No use is made of the spatial relationships in the input patterns and the problem of classifying a set of `real world' images is the same as the problem of classifying a set of arti cial random dot patterns which are, according to Smeulders, no `images.' For that reason, most successful neural vision applications combine self-organising techniques with a feed-forward architecture, such as for example the neocognitron (Fukushima, 1988), described in section 9.4. The neocognitron performs the mapping from input data to output data by a layered structure in which at each stage increasingly complex features are extracted. The lower layers extract local features such as a line at a particular orientation and the higher layers aim to extract more global features. Also there is the problem of translation invariance: the system has to classify a pattern correctly independent of the location on the `retina.' However, a standard feed-forward network considers an input pattern which is translated as a totally `new' pattern. Several attempts have been described to overcome this problem, one of the more exotic ones by Widrow (Widrow, Winter, & Baxter, 1988) as a layered structure of adalines.

**9.3 Self-organising networks for image compression
**

In image compression one wants to reduce the number of bits required to store or transmit an image. We can either require a perfect reconstruction of the original or we can accept a small deterioration of the image. The former is called a lossless coding and the latter a lossy coding. In this section we will consider lossy coding of images with neural networks. The basic idea behind compression is that an n-dimensional stochastic vector n, (part of) the image, is transformed into an m-dimensional stochastic vector

m = Tn: (9.1) ~ After transmission or storage of this vector m, a discrete version of m, we can make a recon~ struction of n by some sort of inverse transform T so that the reconstructed signal equals ~ ~~ n = Tn: (9.2)

The error of the compression and reconstruction stage together can be given as ~ = E kn ; nk] : (9.3) There is a trade-o between the dimensionality of m and the error . As one decreases the dimensionality of m the error increases and vice versa, i.e., a better compression leads to a ~ higher deterioration of the image. The basic problem of compression is nding T and T such that the information in m is as compact as possible with acceptable error . The de nition of acceptable depends on the application area. The cautious reader has already concluded that dimension reduction is in itself not enough to obtain a compression of the data. The main importance is that some aspects of an image are more important for the reconstruction then others. For example, the mean grey level and generally the low frequency components of the image are very important, so we should code these features with high precision. Other, like high frequency components, are much less important so these can be coarse-coded. So, when we reduce the dimension of the data, we are actually trying to concentrate the information of the data in a few numbers (the low frequency components) which can be coded with precision, while throwing the rest away (the high frequency components). In this section we will consider coding an image of 256 256 pixels. It is a bit tedious to transform the whole image directly by the network. This requires a huge amount of neurons. Because the statistical description over parts of the image is supposed to be stationary, we can

9.3. SELF-ORGANISING NETWORKS FOR IMAGE COMPRESSION

99

break the image into 1024 blocks of size 8 8, which is large enough to entail a local statistical description and small enough to be managed. These blocks can then be coded separately, stored or transmitted, where after a reconstruction of the whole image can be made based on these coded 8 8 blocks.

9.3.1 Back-propagation

The process above can be interpreted as a 2-layer neural network. The inputs to the network are the 8 8 patters and the desired outputs are the same 8 8 patterns as presented on the input units. This type of network is called an auto-associator. After training with a gradient search method, minimising , the weights between the rst and second layer can be seen as the coding matrix T and between the second and third as the ~ reconstruction matrix T. If the number of hidden units is smaller then the number of input (output) units, a compression is obtained, in other words we are trying to squeeze the information through a smaller channel namely the hidden layer. This network has been used for the recognition of human faces by Cottrell (Cottrell, Munro, & Zipser, 1987). He uses an input and output layer of 64 64 units (!) on which he presented the whole face at once. The hidden layer, which consisted of 64 units, was classi ed with another network by means of a delta rule. Is this complex network invariant to translations in the input?

9.3.2 Linear networks

It is known from statistics that the optimal transform from an n-dimensional to an m-dimensional stochastic vector, optimal in the sense that contains the lowest energy possible, equals the concatenation of the rst m eigenvectors of the correlation matrix R of N. So if (e1 e2 :: en ) are the eigenvectors of R, ordered in decreasing corresponding eigenvalue, the transformation matrix is given as T = e1 e2 : : : e2 ]T . In section 6.3.1 a linear neuron with a normalised Hebbian learning rule was able to learn the eigenvectors of the correlation matrix of the input patterns. The de nition of the optimal transform given above, suits exactly in the PCA network we have described. So we end up with a 64 m 64 network, where m is the desired number of hidden units which is coupled to the total error . Since the eigenvalues are ordered in decreasing values, which are the outputs of the hidden units, the hidden units are ordered in importance for the reconstruction. Sanger (Sanger, 1989) used this implementation for image compression. The test image is shown in gure 9.1. It is 256 256 with 8 bits/pixel. After training the image four times, thus generating 4 1024 learning patterns of size 8 8, the weights of the network converge into gure 9.2.

9.3.3 Principal components as features

If parts of the image are very characteristic for the scene, like corners, lines, shades etc., one speaks of features of the image. The extraction of features can make the image understanding task on a higher level much easer. If the image analysis is based on features it is very important that the features are tolerant of noise, distortion etc. From an image compression viewpoint it would be smart to code these features with as little bits as possible, just because the de nition of features was that they occur frequently in the image. So one can ask oneself if the two described compression methods also extract features from the image. Indeed this is true and can most easily be seen in g. 9.2. It might not be clear directly, but one can see that the weights are converged to:

100

CHAPTER 9. VISION

Figure 9.1: Input image for the network. The image is divided into 8 8 blocks which are fed to the network.

ordering of the neurons: neuron neuron neuron 0 1 2 neuron neuron neuron 3 4 5 neuron neuron (unused) 6 7

Figure 9.2: Weights of the PCA network. The nal weights of the network trained on the test image. For each neuron, an 8 8 rectangle is shown, in which the grey level of each of the elements represents the value of the weight. Dark indicates a large weight, light a small weight.

neuron 0: the mean grey level neuron 1 and neuron 2: the rst order gradients of the image neuron 3 : : : neuron 5: second orders derivates of the image. The features extracted by the principal component network are the gradients of the image.

**9.4 The cognitron and neocognitron
**

Yet another type of unsupervised learning is found in the cognitron, introduced by Fukushima as early as 1975 (Fukushima, 1975). This network, with primary applications in pattern recognition, was improved at a later stage to incorporate scale, rotation, and translation invariance resulting in the neocognitron (Fukushima, 1988), which we will not discuss here.

9.4.1 Description of the cells

Central in the cognitron is the type of neuron used. Whereas the Hebb synapse (unit k, say), which is used in the perceptron model, increases an incoming weight (wjk ) if and only if the

9.4. THE COGNITRON AND NEOCOGNITRON

101

incoming signal (yj ) is high and a control input is high, the synapse introduced by Fukushima increases (the absolute value of) its weight (jwjk j) only if it has positive input yj and a maximum activation value yk = max(yk1 yk2 : : : ykn ), where k1 k2 : : : kn are all `neighbours' of k. Note that this learning scheme is competitive and unsupervised, and the same type of neuron has, at a later stage, been used in the competitive learning network (section 6.1) as well as in other unsupervised networks. Fukushima distinguishes between excitatory inputs and inhibitory inputs. The output of an excitatory cell u is given by1 1+e e u(k) = F 1 + h ; 1 = F 1 ; h (9.4) +h where e is the excitatory input from u-cells and h the inhibitory input from v-cells. The activation function is F (x) = x if x 0, (9.5) 0 otherwise. When the inhibitory input is small, i.e., h 1, u(k) can be approximated by u(k) = e ; h, which agrees with the formula for a conventional linear threshold element (with a threshold of zero). When both the excitatory and inhibitory inputs increase in proportion, i.e.,

e= x

h= x

(9.6) (9.7)

( , constants) and > , then eq. (9.4) can be transformed into ; u(i) = (1 ; )x = 2 1 + tanh( 1 log x) 2 + x i.e., a squashing function as in gure 2.2. The basic structure of the cognitron is depicted in gure 9.3.

U l-1 Ul

ul ( n) al (v,n )

9.4.2 Structure of the cognitron

ul-1 ( n+v )

cl-1 (v)

b (n)

l

ul (n’ )

vl-1 (n )

Figure 9.3: The basic structure of the cognitron.

The cognitron has a multi-layered structure. The l-th layer Ul consists of excitatory neurons ul (n) and inhibitory neurons vl (n), where n = (nx ny ) is a two-dimensional location of the cell.

1 Here our notational system fails. We adhere to Fukushima's symbols.

102

CHAPTER 9. VISION

A cell ul (n) receives inputs via modi able connections al (v n) from neurons ul;1 (n + v) and connections bl (n) from neurons vl;1 (n), where v is in the connectable area (cf. area of attention) of the neuron. Furthermore, an inhibitory cell vl;1 (n) receives inputs via xed excitatory connections cl;1 (v) from the neighbouring cells ul;1 (n + v), and yields an output equal to its weighted input: X vl;1 (n) = cl;1 (v) ul;1 (n + v): (9.8)

P where v cl;1 (v) = 1 and are xed.

v

It can be shown that the growing of the synapses (i.e., modi cation of the a and b weights) ensures that, if an excitatory neuron has a relatively large response, the excitatory synapses grow faster than the inhibitory synapses, and vice versa.

Receptive region

For each cell in the cascaded layers described above a connectable area must be established. A connection scheme as in gure 9.4 is used: a neuron in layer Ul connects to a small region in layer Ul;1 .

U0 " U0 U1 " U1 U2

Figure 9.4: Cognitron receptive regions.

If the connection region of a neuron is constant in all layers, a too large number of layers is needed to cover the whole input layer. On the other hand, increasing the region in later layers results in so much overlap that the output neurons have near identical connectable areas and thus all react similarly. This again can be prevented by increasing the size of the vicinity area in which neurons compete, but then only one neuron in the output layer will react to some input stimulus. This is in contradiction with the behaviour of biological brains. A solution is to distribute the connections probabilistically such that connections with a large deviation are less numerous.

9.4.3 Simulation results

In order to illustrate the working of the network, a simulation has been run with a four-layered network with 16 16 neurons in each layer. The network is trained with four learning patterns, consisting of a vertical, a horizontal, and two diagonal lines. Figure 9.5 shows the activation levels in the layers in the rst two learning iterations. After 20 learning iterations, the learning is halted and the activation values of the neurons in layer 4 are fed back to the input neurons also, the maximum output neuron alone is fed back, and thus the input pattern is `recognised' (see gure 9.6).

9.5. RELAXATION TYPES OF NETWORKS

103

a.

b.

Figure 9.5: Two learning iterations in the cognitron. Four learning patterns (one in each row) are shown in iteration 1 (a.) and 2 (b.). Each column in a. and b. shows one layer in the network. The activation level of each neuron is shown by a circle. A large circle means a high activation. In the rst iteration (a.), a structure is already developing in the second layer of the network. In the second iteration, the second layer can distinguish between the four patterns.

**9.5 Relaxation types of networks
**

As demonstrated by the Hop eld network, a relaxation process in a connectionist network can provide a powerful mechanism for solving some di cult optimisation problems. Many vision problems can be considered as optimisation problems, and are potential candidates for an implementation in a Hop eld-like network. A few examples that are found in the literature will be mentioned here.

**9.5.1 Depth from stereo
**

By observing a scene with two cameras one can retrieve depth information out of the images by nding the pairs of pixels in the images that belong to the same point of the scene. The calculation of the depth is relatively easy nding the correspondences is the main problem. One solution is to nd features such as corners and edges and match those, reducing the computational complexity of the matching. Marr (Marr, 1982) showed that the correspondence problem can be solved correctly when taking into account the physical constraints underlying the process. Three matching criteria were de ned: Compatibility: Two descriptive elements can only match if they arise from the same physical marking (corners can only match with corners, `blobs' with `blobs,' etc.) Uniqueness: Almost always a descriptive element from the left image corresponds to exactly one element in the right image and vice versa Continuity: The disparity of the matches varies smoothly almost everywhere over the image.

104

CHAPTER 9. VISION

a.

b.

c.

d.

Figure 9.6: Feeding back activation values in the cognitron. The four learning patterns are now successively applied to the network (row 1 of gures a{d). Next, the activation values of the neurons in layer 4 are fed back to the input (row 2 of gures a{d). Finally, all the neurons except the most active in layer 4 are set to 0, and the resulting activation values are again fed back (row 3 of gures a{d). After as little as 20 iterations, the network has shown to be rather robust.

Marr's `cooperative' algorithm (also a `non-cooperative' or local algorithm has been described (Marr, 1982)) is able to calculate the disparity map from which the depth can be reconstructed. This algorithm is some kind of neural network, consisting of neurons N (x y d), where neuron N (x y d) represents the hypothesis that pixel (x y) in the left image corresponds with pixel (x + d y) in the right image. The update function is

0 1 B X t 0 0 0 C X t 0 0 0 N t+1 (x y d) = B N (x y d ) ; N (x y d ) + N 0 (x y d)C : B C @ x0 y 0 d0 2 A x0 y0 d0 2

S (x y d) O (x y d)

(9.9)

Here, is an inhibition constant, is a threshold function, S (x y d) is the local excitatory neighbourhood, and O(x y d) is the local inhibitory neighbourhood, which are chosen as follows: S (x y d) = f (r s t) j (r = x _ r = x ; d) ^ s = y g (9.10) O(x y d) = f (r s t) j d = t ^ k (r s) ; (x y) k w g: (9.11)

9.5. RELAXATION TYPES OF NETWORKS

105

The network is loaded with the cross correlation of the images at rst: N 0 (x y d) = Il (x y)Ir (x + d y), where Il and Ir are the intensity matrices of the left and right image respectively. This network state represents all possible matches of pixels. Then the set of possible matches is reduced by recursive application of the update function until the state of the network is stable. The algorithm converges in about ten iterations. Then the disparity of a pixel (x y) is displayed by the ring neuron in the set fN (r s d) j r = x s = yg. In each of these sets there should be exactly one neuron ring, but if the algorithm could not compute the exact disparity, for instance at hidden contours, there may be zero or more than one neurons ring. The restoration of degraded images is a branch of digital picture processing closely related to image segmentation and boundary nding. An analysis of the major applications and procedures may be found in (Rosenfeld & Kak, 1982). An algorithm which is based on the minimisation of an energy function and can very well be parallelised is given by Geman and Geman (Geman & Geman, 1984). Their approach is based on stochastic modelling, in which image samples are considered to be generated by a random process that changes its statistical properties from region to region. The random process that that generates the image samples is a two-dimensional analogue of a Markov process, called a Markov random eld. Image segmentation is then considered as a statistical estimation problem in which the system calculates the optimal estimate of the region boundaries for the input image. Simultaneously estimation of the region properties and boundary properties has to be performed, resulting in a set of nonlinear estimation equations that de ne the optimal estimate of the regions. The system must nd the maximum a posteriori probability estimate of the image segmentation. Geman and Geman showed that the problem can be recast into the minimisation of an energy function, which, in turn, can be solved approximately by optimisation techniques such as simulated annealing. The interesting point is that simulated annealing can be implemented using a network with local connections, in which the network iterates into a global solution using these local operations. Mead and his co-workers (Mead, 1989) have developed an analogue VLSI vision preprocessing chip modelled after the retina. The design not only replicates many of the important functions of the rst stages of retinal processing, but it does so by replicating in a detailed way both the structure and dynamics of the constituent biological units. The logarithmic compression from photon input to output signal is accomplished by analogue circuits, while similarly space and time averaging and temporal di erentiation are accomplished by analogue processes and a resistive network (see section 11.2.1).

9.5.2 Image restoration and image segmentation

9.5.3 Silicon retina

106

CHAPTER 9. VISION

Part IV

IMPLEMENTATIONS

107

109 Implementation of neural networks can be divided into three categories: software simulation (hardware) emulation2 hardware implementation. The distinction between the former two categories is not clear-cut. We will use the term simulation to describe software packages which can run on a variety of host machines (e.g., PYGMALION, the Rochester Connectionist Simulator, NeuralWare, Nestor, etc.). Implementation of neural networks on general-purpose multi-processor machines such as the Connection Machine, the Warp, transputers, etc., will be referred to as emulation. Hardware implementation will be reserved for neuro-chips and the like which are speci cally designed to run neural networks. To evaluate and provide a taxonomy of the neural network simulators and emulators discussed, we will use the descriptors of table 9.1 (cf. (DARPA, 1988)).

1. Equation type: many networks are de ned by the type of equation describing their operation. For example, Grossberg's ART (cf. section 6.4) is described by the di erential equation dxk = ;Ax + (B ; x )I ; x X Ij (9.12) k k k k dt j 6=k in which ;Axk is a decay term, +BIk is an external input, ;xk Ik is a normalisation term, and ;xk j6=k Ij is a neighbour shut-o term for competition. Although di erential equations are very powerful, they require a high degree of exibility in the software and hardware and are thus di cult to implement on specialpurpose machines. Other types of equations are, e.g., di erence equations as used in the description of Kohonen's topological maps (see section 6.2), and optimisation equations as used in back-propagation networks. 2. Connection topology: the design of most general purpose computers includes random access memory (RAM) such that each memory position can be accessed with uniform speed. Such designs always present a trade-o between size of memory and speed of access. The topology of neural networks can be matched in a hardware design with fast local interconnections instead of global access. Most networks are more or less local in their interconnections, and a global RAM is unnecessary. 3. Processing schema: although most arti cial neural networks use a synchronous update, i.e., the output of the network depends on the previous state of the network, asynchronous update, in which components or blocks of components can be updated one by one, can be implemented much more e ciently. Also, continuous update is a possibility encountered in some implementations. 4. Synaptic transmission mode: most arti cial neural networks have a transmission mode based on the neuronal activation values multiplied by synaptic weights. In these models, the propagation time from one neuron to another is neglected. On the other hand, biological neurons output a series of pulses in which the frequency determines the neuron output, such that propagation times are an essential part of the model. Currently, models arise which make use of temporal synaptic transmission (Murray, 1989 Tomlinson & Walker, 1990).

P

Table 9.1: A possible taxonomy. The following chapters describe general-purpose hardware which can be used for neural network applications, and neuro-chips and other dedicated hardware.

one computer to execute instructions speci c to another computer. It is often used to provide the user with a machine which is seemingly compatible with earlier models.

2 The term emulation (see, e.g., (Mallach, 1975) for a good introduction) in computer design means running

110

10

General Purpose Hardware

Parallel computers (Almasi & Gottlieb, 1989) can be divided into several categories. One important aspect is the granularity of the parallelism. Broadly speaking, the granularity ranges from coarse-grain parallelism, typically up to ten processors, to ne-grain parallelism, up to thousands or millions of processors. Both ne-grain and coarse-grain parallelism is in use for emulation of neural networks. The former model, in which one or more processors can be used for each neuron, corresponds with table 9.1's type 2, whereas the second corresponds with type 1. We will discuss one model of both types of architectures: the (extremely) ne-grain Connection Machine and coarse-grain Systolic arrays, viz. the Warp computer. A more complete discussion should also include transputers which are very popular nowadays due to their very high performance/price ratio (Group, 1987 Board, 1989 Eckmiller, Hartmann, & Hauske, 1990). In this case, descriptor 1 of table 9.1 is most applicable. Besides the granularity, the computers can be categorised by their operation. The most widely used categorisation is by Flynn (Flynn, 1972) (see table 10.1). It distinguishes two types of parallel computers: SIMD (Single Instruction, Multiple Data) and MIMD (Multiple Instruction, Multiple Data). The former type consists of a number of processors which execute the same instructions but on di erent data, whereas the latter has a separate program for each processor. Fine-grain computers are usually SIMD, while coarse grain computers tend to be MIMD (also in correspondence with table 9.1, entries 1 and 2). Number of Data Streams single multiple SISD SIMD Number of single (von Neumann) (vector, array) Instruction multiple MISD MIMD Streams (pipeline?) (multiple micros) Table 10.1: Flynn's classi cation. Table 10.2 shows a comparison of several types of hardware for neural network simulation. The speed entry, measured in interconnects per second, is an important measure which is often used to compare neural network simulators. It measures the number of multiply-and-add operations that can be performed per second. However, the comparison is not 100% honest: it does not always include the time needed to fetch the data on which the operations are to be performed, and may also ignore other functions required by some algorithms such as the computation of a sigmoid function. Also, the speed is of course dependent of the algorithm used. 111

112

HARDWARE WORKSTATIONS Micro/Mini PC/AT Computers Sun 3 VAX Symbolics Attached Processors Bus-oriented MASSIVELY PARALLEL SUPERCOMPUTERS ANZA ;1 Transputer Mark III, IV MX/1{16 CM{2 (64K) Warp (10) Warp (20) Butter y (64) Cray XMP

**CHAPTER 10. GENERAL PURPOSE HARDWARE
**

WORD STORAGE SPEED COST SPEED LENGTH (K Intcnts) (K Int/s) (K$) / COST 16 32 32 32 8{32 32 16 16 16 32 32 32 64 100 250 100 32,000 500 1,000 2,000 1,000 50,000 64,000 320 60,000 2,000 25 250 100 35 45 10,000 3,000 500 120,000 13,000 17,000 32,000 8,000 50,000 5 20 300 100 10 15 4 75 300 2,000 300 500 4,000 5.0 12.5 0.33 0.35 4.5 667 750 6.7 400 6.5 56.7 16 12.5

The authors are well aware that the mentioned computer architectures are archaic: : : current computer architectures are several orders of magnitute faster. For instance, current day Sun Sparc machines (e.g., an Ultra at 200 MHz) benchmark at almost 300,000 dhrystones per second, whereas the archaic Sun 3 benchmarks at about 3,800. Prices of both machines (then vs. now) are approximately the same. Go gure! Nevertheless, the table gives an insight of the performance of di erent types of architectures.

Table 10.2: Hardware machines for neural network simulation.

**10.1 The Connection Machine
**

10.1.1 Architecture

One of the most outstanding ne-grain SIMD parallel machines is Daniel Hillis' Connection Machine (Hillis, 1985 Corporation, 1987), originally developed at MIT and later built at Thinking Machines Corporation. The original model, the CM{1, consists of 64K (65,536) one-bit processors, divided up into four units of 16K processors each. The units are connected via a cross-bar switch (the nexus) to up to four front-end computers (see gure 10.1). The large number of extremely simple processors make the machine a data parallel computer, and can be best envisaged as active memory. Each processor chip contains 16 processors, a control unit, and a router. It is connected to a memory chip which contains 4K bits of memory per processor. Each processor consists of a one-bit ALU with three inputs and two outputs, and a set of registers. The control unit decodes incoming instructions broadcast by the front-end computers (which can be DEX VAXes or Symbolics Lisp machines). At any time, a processor may be either listening to the incoming instruction or not. The router implements the communication algorithm: each router is connected to its nearest neighbours via a two-dimensional grid (the NEWS grid) for fast neighbour communication also, the chips are connected via a Boolean 12-cube, i.e., chips i and j are connected if and only if ji ; j j = 2k for some integer k. Thus at most 12 hops are needed to deliver a message. So there are 4,096 routers connected by 24,576 bidirectional wires. By slicing the memory of a processor, the CM can also implement virtual processors. The CM{2 di ers from the CM{1 in that it has 64K bits instead of 4K bits memory per processor, and an improved I/O system.

**10.1. THE CONNECTION MACHINE
**

Nexus

113

Front end 0

(DEC VAX or Symbolics)

sequencer 0

sequencer 1

Bus interface

Front end 1

Connection Machine 16,384 Processors

Connection Machine 16,384 Processors

(DEC VAX or Symbolics) Bus interface

**Front end 2 sequencer 2 sequencer 3
**

(DEC VAX or Symbolics) Bus interface

Connection Machine 16,384 Processors

Connection Machine 16,384 Processors

Front end 3

(DEC VAX or Symbolics) Bus interface

**Connection Machine I/O System
**

Data Vault Data Vault Data Vault Graphics display

Network

Figure 10.1: The Connection Machine system organisation.

**10.1.2 Applicability to neural networks
**

There have been a few researchers trying to implement neural networks on the Connection Machine (Blelloch & Rosenberg, 1987 Singer, 1990). Even though the Connection Machine has a topology which matches the topology of most arti cial neural networks very well, the relatively slow message passing system makes the machine not very useful as a general-purpose neural network simulator. It appears that the Connection Machine su ers from a dramatic decrease in throughput due to communication delays (Hummel, 1990). Furthermore, the cost/speed ratio (see table 10.2) is very bad compared to, e.g., a transputer board. As an e ect, the Connection Machine is not widely used for neural network simulation. One possible implementation is given in (Blelloch & Rosenberg, 1987). Here, a backpropagation network is implemented by allocating one processor per unit and one per outgoing weight and one per incoming weight. The processors are thus arranged that each processor for a unit is immediately followed by the processors for its outgoing weights and preceded by those for its incoming weights. The feed-forward step is performed by rst clamping input units and next executing a copy-scan operation by moving those activation values to the next k processors (the outgoing weight processors). The weights then multiply themselves with the activation values and perform a send operation in which the resulting values are sent to the processors allocated for incoming weights. A plus-scan then sums these values to the next layer of units in the network. The feedback step is executed similarly. Both the feed-forward and feedback steps can be interleaved and pipelined such that no layer is ever idle. For example, for the feed-forward step, a new pattern xp is clamped on the input layer while the next layer is computing on xp;1, etc. To prevent ine cient use of processors, one weight could also be represented by one processor.

114

CHAPTER 10. GENERAL PURPOSE HARDWARE

**10.2 Systolic arrays
**

Systolic arrays (Kung & Leierson, 1979) take the advantage of laying out algorithms in two dimensions. The design favours compute-bound as opposed to I/O-bound operations. The name systolic is derived from the analogy of pumping blood through a heart and feeding data through a systolic array. A typical use is depicted in gure 10.2. Here, two band matrices A and B are multiplied and added to C , resulting in an output C + AB . Essential in the design is the reuse of data elements, instead of referencing the memory each time the element is needed.

C+A*B c+a*b a systolic cell b a

c 21 c 12 c 22 c 33 c 23 c 34 c 13 c 24 c14

c11

a 32

a 22

a 12

b 21

b 22 b 13

b 23

b

a 31

a 21

a11

b11

b 12

c

c 41

c 31 c 42

c 32 c 43

Figure 10.2: Typical use of a systolic array.

The Warp computer, developed at Carnegie Mellon University, has been used for simulating arti cial neural networks (Pomerleau, Gusciora, Touretzky, & Kung, 1988) (see table 10.2). It is a system with ten or more programmable one-dimensional systolic arrays. Two data streams, one of which is bi-directional, ow through the processors (see gure 10.3). To implement a matrix product W x + , the W is not a stream as in gure 10.2 but stored in the memory of the processors.

Warp Interface & Host

X

cell

address

cell 2

cell n

Y

1

Figure 10.3: The Warp system architecture.

11

Dedicated Neuro-Hardware

Recently, many neuro-chips have been designed and built. Although many techniques, such as digital and analogue electronics, optical computers, chemical implementation, and bio-chips, are investigated for implementing neuro-computers, only digital and analogue electronics, and in a lesser degree optical implementations, are at present feasible techniques. We will therefore concentrate on such implementations.

**11.1 General issues
**

11.1.1 Connectivity constraints

Connectivity within a chip

A major problem with neuro-chips always is the connectivity. A single integrated circuit is, in current-day technology, planar with limited possibility for cross-over connections. This poses a problem. Whereas connectivity to nearest neighbour can be implemented without problems, connectivity to the second nearest neighbour results in a cross-over of four which is already problematic. On the other hand, full connectivity between a set of input and output units can be easily attained when the input and output neurons are situated near two edges of the chip (see gure 11.1). Note that the number of neurons in the chip grows linearly with the size of the chip, whereas in the earlier layout, the dependence is quadratic.

N outputs

M inputs

Figure 11.1: Connections between M input and N output neurons.

**Connectivity between chips
**

To build large or layered ANN's, the neuro-chips have to be connected together. When only few neurons have to be connected together, or the chips can be placed in subsequent rows in feed-forward types of networks, this is no problem. But in other cases, when large numbers 115

116

CHAPTER 11. DEDICATED NEURO-HARDWARE

of neurons in one chip have to be connected to neurons in other chips, there are a number of problems: designing chip packages with a very large number of input or output leads fan-out of chips: each chip can ordinarily only send signals two a small number of other chips. Ampli ers are needed, which are costly in power dissipation and chip area wiring. A possible solution would be using optical interconnections. In this case, an external light source would re ect light on one set of neurons, which would re ect part of this light using deformable mirror spatial light modulator technology on to another set of neurons. Also under development are three-dimensional integrated circuits.

11.1.2 Analogue vs. digital

Due to the similarity between arti cial and biological neural networks, analogue hardware seems a good choice for implementing arti cial neural networks, resulting in cheaper implementations which operate at higher speed. On the other hand, digital approaches o er far greater exibility and, not to be neglected, arbitrarily high accuracy. Also, digital chips can be designed without the need of very advanced knowledge of the circuitry using CAD/CAM systems, whereas the design of analogue chips requires good theoretical knowledge of transistor physics as well as experience. An advantage that analogue implementations have over digital neural networks is that they closely match the physical laws present in neural networks (table 9.1, point 1). First of all, weights in a neural network can be coded by one single analogue element (e.g., a resistor) where several digital elements are needed1 . Secondly, very simple rules as Kircho 's laws2 can be used to carry out the addition of input signals. As another example, Boltzmann machines (section 5.3) can be easily implemented by amplifying the natural noise present in analogue devices.

11.1.3 Optics

As mentioned above, optics could be very well used to interconnect several (layers of) neurons. One can distinguish two approaches. One is to store weights in a planar transmissive or re ective device (e.g., a spatial light modulator) and use lenses and xed holograms for interconnection. Figure 11.2 shows an implementation of optical matrix multiplication. When N is the linear size of the optical array divided by wavelength of the light used, the array has capacity for N 2 weights, so it can fully connect N neurons with N neurons (Fahrat, Psaltis, Prata, & Paek, 1985). A second approach uses volume holographic correlators, o ering connectivity between two areas of N 2 neurons for a total of N 4 connections3 . A possible use of such volume holograms in an all-optical network would be to use the system for image completion (Abu-Mostafa & Psaltis, 1987). A number of images could be stored in the hologram. The input pattern is correlated with each of them, resulting in output patterns with a brightness varying with the

1 On the other hand, the opposite can be found when considering the size of the element, especially when high accuracy is needed. However, once arti cial neural networks have outgrown rules like back-propagation, high accuracy might not be needed. 2 The Kircho laws state that for two resistors R1 and R2 (1) in series, the total resistance can be calculated using R = R1 + R2 , and (2) in parallel, the total resistance can be found using 1=R = 1=R1 + 1=R2 (Feynman, Leighton, & Sands, 1983). 3 Well : : : not exactly. Due to di raction, the total number of independent connections that can be stored in an ideal medium is N 3 , i.e., the volume of the hologram divided by the cube of the wavelength. So, in fact N 3=2 neurons can be connected with N 3=2 neurons.

**11.2. IMPLEMENTATION EXAMPLES
**

receptor for column 6

117

laser for row 1

laser for row 5

weight mask

Figure 11.2: Optical implementation of matrix multiplication.

degree of correlation. The images are fed into a threshold device which will conduct the image with highest brightness better than others. This enhancement can be repeated for several loops.

**11.1.4 Learning vs. non-learning
**

It is generally agreed that the major forte of neural networks is their ability to learn. Whereas a network with xed, pre-computed, weight values could have its merit in industrial applications, on-line adaptivity remains a design goal for most neural systems. With respect to learning, we can distinguish between the following levels: 1. xed weights: the design of the network determines the weights. Examples are the retina and cochlea chips of Carver Mead's group discussed below (cf. a ROM (Read-Only Memory) in computer design) 2. pre-programmed weights: the weights in the network can be set only once, when the chip is installed. Many optical implementations fall in this category (cf. PROM (Programmable ROM)) 3. programmable weights: the weights can be set more than once by an external device (cf. EPROM (Erasable PROM) or EEPROM (Electrically Erasable PROM)) 4. on-site adapting weights: the learning mechanism is incorporated in the network (cf. RAM (Random Access Memory)).

**11.2 Implementation examples
**

11.2.1 Carver Mead's silicon retina

The chips devised by Carver Mead's group at Caltech (Mead, 1989) are heavily inspired by biological neural networks. Mead attempts to build analogue neural chips which match biological neurons as closely as possible, including extremely low power consumption, fully analogue hardware, and operation in continuous time (table 9.1, point 3). One example of such a chip is the Silicon Retina (Mead & Mahowald, 1988).

118

CHAPTER 11. DEDICATED NEURO-HARDWARE

Retinal structure

The o -center retinal structure can be described as follows. Light is transduced to electrical signals by photo-receptors which have a primary pathway through the triad synapses to the bipolar cells. The bipolar cells are connected to the retinal ganglion cells which are the output cells of the retina. The horizontal cells, which are also connected via the triad synapses to the photo-receptors, are situated directly below the photo-receptors and have synapses connected to the axons leading to the bipolar cells. The system can be described in terms of the triad synapse's three elements: 1. the photo-receptor outputs the logarithm of the intensity of the light 2. the horizontal cells form a network which averages the photo-receptor over space and time 3. the output of the bipolar cell is proportional to the di erence between the photo-receptor output and the horizontal cell output.

**The photo-receptor
**

The photo-receptor circuit outputs a voltage which is proportional to the logarithm of the intensity of the incoming light. There are two important consequences: 1. several orders of magnitude of intensity can be handled in a moderate signal level range 2. the voltage di erence between two points is proportional to the contrast ratio of their illuminance. The photo-receptor can be implemented using a photo-detector, two FET's4 connected in series5 and one transistor (see gure 11.3). The lowest photo-current is about 10;14 A or 105 photons

Vout

3.6 3.4

3.2 3.0 2.8 2.6 2.4 2.2 2 3 4 5 6 7 8

V out

Intensity

Figure 11.3: The photo-receptor used by Mead. To prevent current being drawn from the photoreceptor, the output is only connected to the gate of the transistor.

**per second, corresponding with a moonlit scene.
**

useful. See (Mead, 1989) for an in-depth study.

4 Field E ect Transistor 5 A detailed description of the electronics involved is out of place here. However, we will provide gures where

11.2. IMPLEMENTATION EXAMPLES

119

**Horizontal resistive layer
**

Each photo-receptor is connected to its six neighbours via resistors forming a hexagonal array. The voltage at every node in the network is a spatially weighted average of the photo-receptor inputs, such that farther away inputs have less in uence (see gure 11.4(a)).

ganglion output

− +

− +

photoreceptor

(a)

(b)

Figure 11.4: The resistive layer (a) and, enlarged, a single node (b).

Bipolar cell

The output of the bipolar cell is proportional to the di erence between the photo-receptor output and the voltage of the horizontal resistive layer. The architecture is shown in gure 11.4(b). It consists of two elements: a wide-range ampli er which drives the resistive network towards the photo-receptor output, and an ampli er sensing the voltage di erence between the photoreceptor output and the network potential.

Implementation

A chip was built containing 48 48 pixels. The output of every pixel can be accessed independently by providing the chip with the horizontal and vertical address of the pixel. The selectors can be run in two modes: static probe or serial access. In the rst mode, a single row and column are addressed and the output of a single pixel is observed as a function of time. In the second mode, both vertical and horizontal shift registers are clocked to provide a serial scan of the processed image for display on a television display.

Performance

Several experiments show that the silicon retina performs similarly as biological retina (Mead & Mahowald, 1988). Similarities are shown between sensitivity for intensities time responses for a single output when ashes of light are input response to contrast edges. A radically di erent approach is the LNeuro chip developed at the Laboratoires d'Electronique Philips (LEP) in France (Theeten, Duranton, Mauduit, & Sirat, 1990 Duranton & Sirat, 1989). Whereas most neuro-chips implement Hop eld networks (section 5.2) or, in some cases, Kohonen

11.2.2 LEP's LNeuro chip

120

CHAPTER 11. DEDICATED NEURO-HARDWARE

networks (section 6.2) (due to the fact that these networks have local learning rules), these digital neuro-chips can be con gured to incorporate any learning rule and network topology.

Architecture

The LNeuro chip, depicted in gure 11.5, consists of an multiply-and-add or relaxation part, and a learning part. The LNeuro 1.0 has a parallelism of 16. The weights wij are 8 bits long in the relaxation phase. and 16 bit in the learning phase.

learning control

mul

**parallel loadable and readable synaptic memory
**

mul mul

LPj

mul

tree of adders alu

accumulator

learning processor neural state registers aj δj nonlinear function and control

Fct. Fct. Fct. Fct.

learning register learning functions

Figure 11.5: The LNeuro chip. For clarity, only four neurons are drawn.

**Multiply-and-add
**

The multiply-and-add in fact performs a matrix multiplication

0 1 X yk (t + 1) = F @ wjk yj (t)A :

j

(11.1)

The input activations yk are kept in the neural state registers. For each neural state there are two registers. These can be used to implement synchronous or asynchronous update. In the former mode, the computed state of neurons wait in registers until all states are known then the whole register is written into the register used for the calculations. In asynchronous mode, however, every new state is directly written into the register used for the next calculation. The arithmetical logical unit (ALU) has an external input to allow for accumulation of external partial products. This can be used to construct larger, structured, or higher-precision networks. The neural states (yk ) are coded in one to eight bits, whereas either eight or sixteen bits can be used for the weights which are kept in a RAM. In order to save silicon area, the multiplications wjk yj are serialised over the bits of yj , replacing N eight by eight bit parallel multipliers by N eight bit AND gates. The partial products are saved and added in the tree of adders.

11.2. IMPLEMENTATION EXAMPLES

121

The computation thus increases linearly with the number of neurons (instead of quadratic in simulation on serial machines). The activation function is, for reasons of exibility, kept o -chip. The results of the weighted sum calculation go o -chip serially (i.e., bit by bit), and the result must be written back to the neural state registers. Finally, a column of latches is included to temporarily store memory values, such that during a multiply of the weight with several bits the memory can be freely accessed. These latches in fact take part in the learning mechanism described below.

Learning

The remaining parts in the chip are dedicated to the learning mechanism. The learning mechanism is designed to implement the Hebbian learning rule (Hebb, 1949)

wjk

wjk + k yj

(11.2)

where k is a scalar which only depends on the output neuron k. To simplify the circuitry, eq. (11.2) is simpli ed to wjk wjk + g(yk yj ) k (11.3) where g(yk yj ) can have value ;1, 0, or +1. In e ect, eq. (11.3) either increments or decrements the wjk with k , or keeps wjk unchanged. Thus eq. (11.2) can be simulated by executing eq. (11.3) several times over the same set of weights. The weights wk related to the output neuron k are all modi ed in parallel. A learning step proceeds as follows. Every learning processor (see gure 11.5) LPj loads the weight wjk from the synaptic memory, the k from the learning register, and the neural state yj . Next, they all modify their weights in parallel using eq. (11.3) and write the adapted weights back to the synaptic memory, also in parallel.

122

CHAPTER 11. DEDICATED NEURO-HARDWARE

References

Abu-Mostafa, Y. A., & Psaltis, D. (1987). Optical neural computers. Scienti c American, ?, 88-95. Cited on p. 116.] Ackley, D. H., Hinton, G. E., & Sejnowski, T. J. (1985). A learning algorithm for Boltzmann machines. Cognitive Science, 9(1), 147{169. Cited on p. 54.] Ahalt, S. C., Krishnamurthy, A. K., Chen, P., & Melton, D. (1990). Competititve learning algorithms for vector quantization. Neural Networks, 3, 277-290. Cited on p. 60.] Almasi, G. S., & Gottlieb, A. (1989). Highly Parallel Computing. The Benjamin/Cummings Publishing Company Inc. Cited on p. 111.] Almeida, L. B. (1987). A learning rule for asynchronous perceptrons with feedback in a combinatorial environment. In Proceedings of the First International Conference on Neural Networks (Vol. 2, pp. 609{618). IEEE. Cited on p. 50.] Amit, D. J., Gutfreund, H., & Sompolinsky, H. (1986). Spin-glass models of neural networks. Physical Review A, 32(2), 1007{1018. Cited on p. 50.] Anderson, J. A. (1977). Neural models with cognitive implications. In D. LaBerge & S. J. Samuels (Eds.), Basic Processes in Reading Perception and Comprehension Models (p. 27-90). Hillsdale, NJ: Erlbaum. Cited on pp. 18, 50.] Anderson, J. A., & Rosenfeld, E. (1988). Neurocomputing: Foundations of Research. Cambridge, MA: The MIT Press. Cited on p. 9.] Barto, A. G., & Anandan, P. (1985). Pattern-recognizing stochastic learning automata. IEEE Transactions on Systems, Man and Cybernetics, 15, 360{375. Cited on p. 78.] Barto, A. G., Sutton, R. S., & Anderson, C. W. (1983). Neuronlike adaptive elements that can solve di cult learning problems. IEEE Transactions on Systems, Man and Cybernetics, 13, 834-846. Cited on pp. 75, 77.] Barto, A. G., Sutton, R. S., & Watkins, C. (1990). Sequential decision problems and neural networks. In D. Touretsky (Ed.), Advances in Neural Information Processing II. DUNNO. Cited on p. 80.] Bellman, R. (1957). Dynamic Programming. Princeton University Press. Cited on p. 80.] Blelloch, G., & Rosenberg, C. R. (1987). Network learning on the Connection Machine. In Proceedings of the Tenth International Joint Conference on Arti cial Intelligence (pp. 323{326). DUNNO. Cited on p. 113.] Board, J. A. B., Jr. (1989). Transputer Research and Applications 2: Proceedings of the Second Conference on the North American Transputer Users Group. Durham, NC: IOS Press. Cited on p. 111.] 123

124

REFERENCES

Boomgaard, R. van den, & Smeulders, A. (1989). Self learning image processing using a-priori knowledge of spatial patterns. In T. Kanade, F. C. A. Groen, & L. O. Hertzberger (Eds.), Proceedings of the I.A.S. Conference (p. 305-314). Elsevier Science Publishers. Cited on p. 42.] Breiman, L., Friedman, J. H., Olshen, R. A., & Stone, C. J. (1984). Classi cation and Regression Trees. Wadsworth and Broks/Cole. Cited on p. 63.] Bruce, A. D., Canning, A., Forrest, B., Gardner, E., & Wallace, D. J. (1986). Learning and memory properties in fully connected networks. In J. S. Denker (Ed.), AIP Conference Proceedings 151, Neural Networks for Computing (pp. 65{70). DUNNO. Cited on p. 52.] Carpenter, G. A., & Grossberg, S. (1987a). A massively parallel architecture for a self-organizing neural pattern recognition machine. Computer Vision, Graphics, and Image Processing, 37, 54{115. Cited on pp. 57, 72.] Carpenter, G. A., & Grossberg, S. (1987b). ART 2: Self-organization of stable category recognition codes for analog input patterns. Applied Optics, 26(23), 4919-4930. Cited on p. 72.] Corporation, T. M. (1987). Connection Machine Model CM{2 Technical Summary (Tech. Rep. Nos. HA87{4). Thinking Machines Corporation. Cited on p. 112.] Cottrell iG.W., Munro, P., & Zipser, D. (1987). Image compression by back-propagation: a demonstration of extensional programming (Tech. Rep. No. TR 8702). USCD, Institute of Cognitive Sciences. Cited on p. 99.] Craig, J. J. (1989). Introduction to Robotics. Addison-Wesley Publishing Company. Cited on p. 85.] Cun, Y. L. (1985). Une procedure d'apprentissage pour reseau a seuil assymetrique. Proceedings of Cognitiva, 85, 599{604. Cited on p. 33.] Cybenko, G. (1989). Approximation by superpositions of a sigmoidal function. Mathematics of Control, Signals, and Systems, 2(4), 303{314. Cited on p. 33.] DARPA. (1988). DARPA Neural Network Study. AFCEA International Press. Cited on pp. 9, 109.] Dastani, M. M. (1991). Functie-Benadering met Feed-Forward Netwerken. Unpublished master's thesis, Universiteit van Amsterdam, Faculteit Computer Systemen. Cited on pp. 39, 40.] Duranton, M., & Sirat, J. A. (1989). Learning on VLSI: A general purpose digital neurochip. In Proceedings of the Third International Joint Conference on Neural Networks. DUNNO. Cited on p. 119.] Eckmiller, R., Hartmann, G., & Hauske, G. (1990). Parallel Processing in Neural Systems and Computers. Elsevier Science Publishers B.V. Cited on p. 111.] Elman, J. L. (1990). Finding structure in time. Cognitive Science, 14, 179{211. Cited on p. 48.] Fahrat, N. H., Psaltis, D., Prata, A., & Paek, E. (1985). Optical implementation of the Hop eld model. Applied Optics, 24, 1469{1475. Cited on p. 116.] Feldman, J. A., & Ballard, D. H. (1982). Connectionist models and their properties. Cognitive Science, 6, 205{254. Cited on p. 16.]

REFERENCES

125

Feynman, R. P., Leighton, R. B., & Sands, M. (1983). The Feynman Lectures on Physics. Reading (MA), Menlo Park (CA), London, Sidney, Manila: Addison-Wesley Publishing Company. Cited on p. 116.] Flynn, M. J. (1972). Some computer organizations and their e ectiveness. IEEE Transactions on Computers, C{21, 948-960. Cited on p. 111.] Friedman, J. H. (1991). Multivariate adaptive regression splines. Annals of Statistics, 19, 1-141. Cited on p. 63.] Fritzke, B. (1991). Let it grow|self-organizing feature maps with problem dependent cell structure. In T. Kohonen, K. Makisara, O. Simula, & J. Kangas (Eds.), Proceedings of the 1991 International Conference on Arti cial Neural Networks (pp. 403{408). NorthHolland/Elsevier Science Publishers. Cited on p. 64.] Fukushima, K. (1975). Cognitron: A self-organizing multilayered neural network. Biological Cybernetics, 20, 121{136. Cited on pp. 57, 100.] Fukushima, K. (1988). Neocognitron: A hierarchical neural network capable of visual pattern recognition. Neural Networks, 1, 119{130. Cited on pp. 57, 98, 100.] Funahashi, K.-I. (1989). On the approximate realization of continuous mappings by neural networks. Neural Networks, 2(3), 193{192. Cited on p. 33.] Garey, M. R., & Johnson, D. S. (1979). Computers and Intractability. New York: W. H. Freeman. Cited on p. 53.] Geman, S., & Geman, D. (1984). Stochastic relaxation, Gibbs distributions, and the Bayesian restoration of images. IEEE Transactions on Pattern Analysis and Machine Intelligence, 6, 721{724. Cited on p. 105.] Gielen, C., Krommenhoek, K., & Gisbergen, J. van. (1991). A procedure for self-organized sensor-fusion in topologically ordered maps. In T. Kanade, F. C. A. Groen, & L. O. Hertzberger (Eds.), Proceedings of the Second International Conference on Autonomous Systems (pp. 417{423). Elsevier Science Publishers. Cited on p. 66.] Gorman, R. P., & Sejnowski, T. J. (1988). Analysis of hidden units in a layered network trained to classify sonar targets. Neural Networks, 1(1), 75-89. Cited on p. 45.] Grossberg, S. (1976). Adaptive pattern classi cation and universal recoding I & II. Biological Cybernetics, 23, 121{134, 187{202. Cited on pp. 57, 69.] Group, O. U. (1987). Parallel Programming of Transputer Based Machines: Proceedings of the 7th Occam User Group Technical Meeting. Grenoble, France: IOS Press. Cited on p. 111.] Gullapalli, V. (1990). A stochastic reinforcement learning algorithm for learning real-valued functions. Neural Networks, 3, 671-692. Cited on p. 77.] Hartigan, J. A. (1975). Clustering Algorithms. New York: John Wiley & Sons. Cited on p. 72.] Hartman, E. J., Keeler, J. D., & Kowalski, J. M. (1990). Layered neural networks with Gaussian hidden units as universal approximations. Neural Computation, 2(2), 210{215. Cited on p. 33.] Hebb, D. O. (1949). The Organization of Behaviour. New York: Wiley. Cited on pp. 18, 121.]

126

REFERENCES

Hecht-Nielsen, R. (1988). Counterpropagation networks. Neural Networks, 1, 131-139. Cited on p. 63.] Hertz, J., Krogh, A., & Palmer, R. G. (1991). Introduction to the Theory of Neural Computation. Addison Wesley. Cited on p. 9.] Hesselroth, T., Sarkar, K., Smagt, P. van der, & Schulten, K. (1994). Neural network control of a pneumatic robot arm. IEEE Transactions on Systems, Man, and Cybernetics, 24(1), 28{38. Cited on p. 93.] Hestenes, M. R., & Stiefel, E. (1952). Methods of conjugate gradients for solving linear systems. Nat. Bur. Standards J. Res., 49, 409-436. Cited on p. 41.] Hillis, W. D. (1985). The Connection Machine. The MIT Press. Cited on p. 112.] Hop eld, J. J. (1982). Neural networks and physical systems with emergent collective computational abilities. Proceedings of the National Academy of Sciences, 79, 2554{2558. Cited on pp. 18, 50.] Hop eld, J. J. (1984). Neurons with graded response have collective computational properties like those of two-state neurons. Proceedings of the National Academy of Sciences, 81, 3088{3092. Cited on p. 52.] Hop eld, J. J., Feinstein, D. I., & Palmer, R. G. (1983). `unlearning' has a stabilizing e ect in collective memories. Nature, 304, 159{159. Cited on p. 52.] Hop eld, J. J., & Tank, D. W. (1985). `neural' computation of decisions in optimization problems. Biological Cybernetics, 52, 141{152. Cited on p. 53.] Hornik, K., Stinchcombe, M., & White, H. (1989). Multilayer feedforward networks are universal approximators. Neural Networks, 2(5), 359{366. Cited on p. 33.] Hummel, R. A. (1990). Personal Communication. Cited on p. 113.] Jansen, A., Smagt, P. P. van der, & Groen, F. C. A. (1994). Nested networks for robot control. In A. F. Murray (Ed.), Neural Network Applications. Kluwer Academic Publishers. (In press) Cited on pp. 63, 90.] Jordan, M. I. (1986a). Attractor dynamics and parallelism in a connectionist sequential machine. In Proceedings of the Eighth Annual Conference of the Cognitive Science Society (pp. 531{ 546). Hillsdale, NJ: Erlbaum. Cited on p. 48.] Jordan, M. I. (1986b). Serial OPrder: A Parallel Distributed Processing Approach (Tech. Rep. No. 8604). San Diego, La Jolla, CA: Institute for Cognitive Science, University of California. Cited on p. 48.] Jorgensen, C. C. (1987). Neural network representation of sensor graphs in autonomous robot path planning. In IEEE First International Conference on Neural Networks (Vol. IV, pp. 507{515). IEEE. Cited on p. 94.] Josin, G. (1988). Neural-space generalization of a topological transformation. Biological Cybernetics, 59, 283{290. Cited on p. 46.] Katayama, M., & Kawato, M. (1992). A Parallel-Hierarchical Neural Network Model for Motor Control of a Musculo-Skeletal System (Tech. Rep. Nos. TR{A{0145). ATR Auditory and Visual Perception Research Laboratories. Cited on p. 93.]

REFERENCES

127

Kawato, M., Furukawa, K., & Suzuki, R. (1987). A hierarchical neural-network model for control and learning of voluntary movement. Biological Cybernetics, 57, 169{185. Cited on p. 91.] Kohonen, T. (1977). Associative Memory: A System-Theoretical Approach. Springer-Verlag. Cited on pp. 18, 50, 64.] Kohonen, T. (1982). Self-organized formation of topologically correct feature maps. Biological Cybernetics, 43, 59{69. Cited on p. 64.] Kohonen, T. (1984). Self-Organization and Associative Memory. Berlin: Springer-Verlag. Cited on p. 64.] Kohonen, T. (1995). Self-Organizing Maps. Springer. Cited on p. 9.] Kohonen, T., Makisara, M., & Saramaki, T. (1984). Phonotopic maps|insightful representation of phonological features for speech recognition. In Proceedings of the 7th IEEE International Conference on Pattern Recognition. DUNNO. Cited on p. 66.] Krose, B. J. A., & Dam, J. W. M. van. (1992). Learning to avoid collisions: A reinforcement learning paradigm for mobile robot manipulation. In Proceedings of IFAC/IFIP/IMACS International Symposium on Arti cial Intelligence in Real-Time Control (p. 295-300). Delft: IFAC, Laxenburg. Cited on p. 78.] Krose, B. J. A., Korst, M. J. van der, & Groen, F. C. A. (1990). Learning strategies for a vision based neural controller for a robot arm. In O. Kaynak (Ed.), IEEE International Workshop on Intelligent Motor Control (pp. 199{203). IEEE. Cited on p. 89.] Kung, H. T., & Leierson, C. E. (1979). Systolic arrays (for VLSI). In Sparse Matrix Proceedings, 1978. Academic Press. (also in: Algorithms for VLSI Processor Arrays, C. Mead & L. Conway, eds., Addison-Wesley, 1980, 271-292) Cited on p. 114.] Lippmann, R. P. (1987). An introduction to computing with neural nets. IEEE Transactions on Acoustics, Speech, and Signal Processing, 2(4), 4{22. Cited on pp. 71, 73.] Lippmann, R. P. (1989). Review of neural networks for speech recognition. Neural Computation, 1, 1{38. Cited on p. 58.] Mallach, E. G. (1975). Emulator architecture. Computer, 8, 24{32. Cited on p. 109.] Marr, D. (1982). Vision. San Francisco: W. H. Freeman. Cited on pp. 103, 104.] Martinetz, T., & Schulten, K. (1991). A \neural-gas" network learns topologies. In T. Kohonen, K. Makisara, O. Simula, & J. Kangas (Eds.), Proceedings of the 1991 International Conference on Arti cial Neural Networks (pp. 397{402). North-Holland/Elsevier Science Publishers. Cited on p. 64.] McClelland, J. L., & Rumelhart, D. E. (1986). Parallel Distributed Processing: Explorations in the Microstructure of Cognition. The MIT Press. Cited on pp. 9, 15.] McCulloch, W. S., & Pitts, W. (1943). A logical calculus of the ideas immanent in nervous activity. Bulletin of Mathematical Biophysics, 5, 115{133. Cited on p. 13.] Mead, C. (1989). Analog VLSI and Neural Systems. Reading, MA: Addison-Wesley. Cited on pp. 105, 117, 118.] Mead, C. A., & Mahowald, M. A. (1988). A silicon model of early visual processing. Neural Networks, 1(1), 91{97. Cited on pp. 117, 119.]

128

REFERENCES

Mel, B. W. (1990). Connectionist Robot Motion Planning. San Diego, CA: Academic Press. Cited on p. 16.] Minsky, M., & Papert, S. (1969). Perceptrons: An Introduction to Computational Geometry. The MIT Press. Cited on pp. 13, 26, 31, 33.] Murray, A. F. (1989). Pulse arithmetic in VLSI neural networks. IEEE Micro, 9(12), 64{74. Cited on p. 109.] Oja, E. (1982). A simpli ed neuron model as a principal component analyzer. Journal of mathematical biology, 15, 267{273. Cited on p. 68.] Parker, D. B. (1985). Learning-Logic (Tech. Rep. Nos. TR{47). Cambridge, MA: Massachusetts Institute of Technology, Center for Computational Research in Economics and Management Science. Cited on p. 33.] Pearlmutter, B. A. (1989). Learning state space trajectories in recurrent neural networks. Neural Computation, 1(2), 263{269. Cited on p. 50.] Pearlmutter, B. A. (1990). Dynamic Recurrent Neural Networks (Tech. Rep. Nos. CMU{CS{ 90{196). Pittsburgh, PA 15213: School of Computer Science, Carnegie Mellon University. Cited on pp. 17, 50.] Pineda, F. (1987). Generalization of back-propagation to recurrent neural networks. Physical Review Letters, 19(59), 2229{2232. Cited on p. 50.] Polak, E. (1971). Computational Methods in Optimization. New York: Academic Press. Cited on p. 41.] Pomerleau, D. A., Gusciora, G. L., Touretzky, D. S., & Kung, H. T. (1988). Neural network simulation at Warp speed: How we got 17 million connections per second. In IEEE Second International Conference on Neural Networks (Vol. II, p. 143-150). DUNNO. Cited on p. 114.] Powell, M. J. D. (1977). Restart procedures for the conjugate gradient method. Mathematical Programming, 12, 241-254. Cited on p. 41.] Press, W. H., Flannery, B. P., Teukolsky, S. A., & Vetterling, W. T. (1986). Numerical Recipes: The Art of Scienti c Computing. Cambridge: Cambridge University Press. Cited on pp. 40, 41.] Psaltis, D., Sideris, A., & Yamamura, A. A. (1988). A multilayer neural network controller. IEEE Control Systems Magazine, 8(2), 17{21. Cited on p. 87.] Ritter, H. J., Martinetz, T. M., & Schulten, K. J. (1989). Topology-conserving maps for learning visuo-motor-coordination. Neural Networks, 2, 159{168. Cited on p. 90.] Ritter, H. J., Martinetz, T. M., & Schulten, K. J. (1990). Neuronale Netze. Addison-Wesley Publishing Company. Cited on p. 9.] Rosen, B. E., Goodwin, J. M., & Vidal, J. J. (1992). Process control with adaptive range coding. Biological Cybernetics, 66, 419-428. Cited on p. 63.] Rosenblatt, F. (1959). Principles of Neurodynamics. New York: Spartan Books. Cited on pp. 23, 26.]

REFERENCES

129

Rosenfeld, A., & Kak, A. C. (1982). Digital Picture Processing. New York: Academic Press. Cited on p. 105.] Rumelhart, D. E., Hinton, G. E., & Williams, R. J. (1986). Learning representations by backpropagating errors. Nature, 323, 533{536. Cited on p. 33.] Rumelhart, D. E., & McClelland, J. L. (1986). Parallel Distributed Processing: Explorations in the Microstructure of Cognition. The MIT Press. Cited on pp. 9, 15.] Rumelhart, D. E., & Zipser, D. (1985). Feature discovery by competitive learning. Cognitive Science, 9, 75{112. Cited on p. 57.] Sanger, T. D. (1989). Optimal unsupervised learning in a single-layer linear feedforward neural network. Neural Networks, 2, 459{473. Cited on p. 99.] Sejnowski, T. J., & Rosenberg, C. R. (1986). NETtalk: A Parallel Network that Learns to Read Aloud (Tech. Rep. Nos. JHU/EECS{86/01). The John Hopkins University Electrical Engineering and Computer Science Department. Cited on p. 45.] Silva, F. M., & Almeida, L. B. (1990). Speeding up backpropagation. In R. Eckmiller (Ed.), Advanced Neural Computers (pp. 151{160). North-Holland. Cited on p. 42.] Singer, A. (1990). Implementations of Arti cial Neural Networks on the Connection Machine (Tech. Rep. Nos. RL90{2). Cambridge, MA: Thinking Machines Corporation. Cited on p. 113.] Smagt, P. van der, Groen, F., & Krose, B. (1993). Robot Hand-Eye Coordination Using Neural Networks (Tech. Rep. Nos. CS{93{10). Department of Computer Systems, University of Amsterdam. (ftp'able from archive.cis.ohio-state.edu) Cited on p. 90.] Smagt, P. van der, Krose, B. J. A., & Groen, F. C. A. (1992). Using time-to-contact to guide a robot manipulator. In Proceedings of the 1992 IEEE/RSJ International Conference on Intelligent Robots and Systems (pp. 177{182). IEEE. Cited on p. 89.] Smagt, P. P. van der, & Krose, B. J. A. (1991). A real-time learning neural robot controller. In T. Kohonen, K. Makisara, O. Simula, & J. Kangas (Eds.), Proceedings of the 1991 International Conference on Arti cial Neural Networks (pp. 351{356). North-Holland/Elsevier Science Publishers. Cited on pp. 89, 90.] Sofge, D., & White, D. (1992). Applied learning: optimal control for manufacturing. In D. Sofge & D. White (Eds.), Handbook of Intelligent Control, Neural, Fuzzy, and Adaptive Approaches. Van Nostrand Reinhold, New York. (In press) Cited on p. 76.] Stoer, J., & Bulirsch, R. (1980). Introduction to Numerical Analysis. New York{Heidelberg{ Berlin: Springer-Verlag. Cited on p. 41.] Sutton, R. S. (1988). Learning to predict by the methods of temporal di erences. Machine Learning, 3, 9-44. Cited on p. 75.] Sutton, R. S., Barto, A., & Wilson, R. (1992). Reinforcement learning is direct adaptive optimal control. IEEE Control Systems, 6, 19-22. Cited on p. 80.] Theeten, J. B., Duranton, M., Mauduit, N., & Sirat, J. A. (1990). The LNeuro chip: A digital VLSI with on-chip learning mechanism. In Proceedings of the International Conference on Neural Networks (Vol. I, pp. 593{596). DUNNO. Cited on p. 119.]

130

REFERENCES

Tomlinson, M. S., Jr., & Walker, D. J. (1990). DNNA: A digital neural network architecture. In Proceedings of the International Conference on Neural Networks (Vol. II, pp. 589{592). DUNNO. Cited on p. 109.] Watkins, C. J. C. H., & Dayan, P. (1992). Q-learning. Machine Learning, 8, 279-292. Cited on pp. 76, 80, 81.] Werbos, P. (1992). Approximate dynamic programming for real-time control and neural modelling. In D. Sofge & D. White (Eds.), Handbook of Intelligent Control, Neural, Fuzzy, and Adaptive Approaches. Van Nostrand Reinhold, New York. Cited on pp. 76, 80.] Werbos, P. J. (1974). Beyond Regression: New Tools for Prediction and Analysis in the Behavioral Sciences. Unpublished doctoral dissertation, Harvard University. Cited on p. 33.] Werbos, P. W. (1990). A menu for designs of reinforcement learning over time. In W. T. M. III, R. S. Sutton, & P. J. Werbos (Eds.), Neural Networks for Control. MIT Press/Bradford. Cited on p. 77.] White, D., & Jordan, M. (1992). Optimal control: a foundation for intelligent control. In D. Sofge & D. White (Eds.), Handbook of Intelligent Control, Neural, Fuzzy, and Adaptive Approaches. Van Nostrand Reinhold, New York. Cited on p. 80.] Widrow, B., & Ho , M. E. (1960). Adaptive switching circuits. In 1960 IRE WESCON Convention Record (pp. 96{104). DUNNO. Cited on pp. 23, 27.] Widrow, B., Winter, R. G., & Baxter, R. A. (1988). Layered neural nets for pattern recognition. IEEE Transactions on Acoustics, Speech, and Signal Processing, 36(7), 1109-1117. Cited on p. 98.] Wilson, G. V., & Pawley, G. S. (1988). On the stability of the travelling salesman problem algorithm of Hopfield and tank. Biological Cybernetics, 58, 63{70. Cited on p. 53.]

Index

Symbols A

k-means clustering, 61

ACE, 77 activation function, 17, 19 hard limiting, 17 Heaviside, 23 linear, 17 nonlinear, 33 semi-linear, 17 sgn, 23 sigmoid, 17, 36, 39 derivative of, 36 threshold, 51 Adaline, 23 adaline, 18, 23, 27f. vision, 97 adaptive critic element, 77 analogue implementation, 115{117 annealing, 54 ART, 57, 69, 109 ASE, 77 activation function, 77 bias, 77 associative learning, 18 associative memory, 52 instability of stored patterns, 52 spurious stable states, 52 associative search element, 77 asymmetric divergence, 55 asynchronous update, 16, 50 auto-associator, 50 vision, 99 implementation on Connection Machine, 113 learning by pattern, 37 learning rate, 37 local minima, 40 momentum, 37 network paralysis, 39 oscillation in, 37 understanding, 35f. vision, 99 bias, 19f. bio-chips, 115 bipolar cells retina, 118 silicon retina, 119 Boltzmann distribution, 54 Boltzmann machine, 54, 116

C

B

back-propagation, 33, 39, 45, 109, 116 advanced training algorithms, 40 conjugate gradient, 40 derivation of, 34 discovery of, 13 gradient descent, 34, 37, 40 131

Carnegie Mellon University, 114 CART, 63 cart-pole, 79 chemical implementation, 115 CLUSTER, 61 clustering, 57 coarse-grain parallelism, 111 coding lossless, 98 lossy, 98 cognitron, 57, 100 competitive learning, 57 error-function, 60 frequency sensitive, 60 conjugate directions, 41 conjugate gradient, 40 connectionist models, 13 Connection Machine, 109, 111{113 architecture, 112 communication, 112 NEWS grid, 112 nexus, 112 connectivity

132 constraints, 115 optical, 116 convergence steepest descent, 41 cooperative algorithm, 104 correlation matrix, 68 counterpropagation, 62 counterpropagation network, 63 DARPA neural network study, 9 decoder, 78 de ation, 69 delta rule, 18, 27{29 generalised, 33, 35f. digital implementation, 115f. dimensionality reduction, 57 discovery vs. creation, 13 discriminant analysis, 64 distance measure, 60 dynamic programming, 77 dynamics in neural networks, 17 robotics, 86, 92 FET, 118 ne-grain parallelism, 111 FORGY, 61 forward kinematics, 85

INDEX

G

D

Gaussian, 91 generalised delta rule, 33, 35f. general learning, 87 gradient descent, 28, 34, 37, 40 granularity of parallelism, 111

H

E

EEPROM, 117 eigenvector transformation, 67 eligibility, 78 Elman network, 48{50 emulation, 109, 111 energy, 19 Hop eld network, 51f. travelling salesman problem, 53 EPROM, 117 error, 19 back-propagation, 34 competitive learning, 60 learning, 43 perceptron, 28 quadratic, 34 test, 43 error measure, 43 excitation, 16 external input, 20 eye, 69

hard limiting activation function, 17 Heaviside, 23 Hebb rule, 18, 25, 52, 67, 121 normalised, 67 Hessian, 41 high level vision, 97 holographic correlators, 116 Hop eld network, 50, 94, 119 as associative memory, 52 instability of stored patterns, 52 spurious stable states, 52 energy, 51f. graded response neurons, 52 optimisation, 53 stable limit points, 51 stable neuron in, 51 stable pattern in, 51 stable state in, 51 stable storage algorithm, 52 stochastic update, 54 symmetry, 52 un-learning, 52 horizontal cells retina, 118 silicon retina, 119

I

F

face recognition, 99 feature extraction, 57, 99 feed-forward network, 17f., 20, 33, 35, 42, 45f.

image compression, 98 back-propagation, 99 PCA, 99 self-organising networks, 98 implementation, 109 analogue, 115{117 chemical, 115 connectivity constraints, 115 digital, 115f. on Connection Machine, 113 optical, 115f. silicon retina, 119

INDEX indirect learning, 87 information gathering, 15 inhibition, 16 instability of stored patterns, 52 intermediate level vision, 97 inverse kinematics, 85 Ising spin model, 50 ISODATA, 61 lossy coding, 98 low level vision, 97 LVQ2, 64

133

M

J

Jacobian matrix, 88, 90f. Jordan network, 48

K

Markov random eld, 105 MARS, 63 mean vector, 68 MIMD, 111 MIT, 112 mobile robots, 94 momentum, 37 multi-layer perceptron, 54

Kircho laws, 116 KISS, 90 Kohonen network, 64, 119 3-dimensional, 90 for robot control, 90 Kullback information, 55

N

L

leaky learning, 60 learning, 18, 20, 117 associative, 18 general, 87 indirect, 87 LNeuro, 121 self-supervised, 18, 87 specialised, 88 supervised, 18 unsupervised, 18, 87 learning error, 43 learning rate, 18f. back-propagation, 37 learning vector quantisation, 64 LEP, 119 linear activation function, 17 linear convergence, 41 linear discriminant function, 24 linear networks, 28 vision, 99 linear threshold element, 26 LNeuro, 119f. activation function, 121 ALU, 120 learning, 121 RAM, 120 local minima back-propagation, 40 look-up table, 16, 63 lossless coding, 98

neocognitron, 98, 100 Nestor, 109 NETtalk, 45 network paralysis back-propagation, 39 NeuralWare, 109 neuro-computers, 115 nexus, 112 non-cooperative algorithm, 104 normalisation, 67 notation, 19

O

octree methods, 63 o set, 20 Oja learning rule, 68 optical implementation, 115f. optimisation, 53 oscillation in back-propagation, 37 output vs. activation of a unit, 19

P

panther hiding, 69 resting, 69 parallel distributed processing, 13, 15 parallelism coarse-grain, 111 ne-grain, 111 PCA, 66 image compression, 99 PDP, 13, 15 Perceptron, 23 perceptron, 13, 18, 23f., 26, 29, 31 convergence theorem, 24 error, 28 learning rule, 24f.

134 threshold, 25 vision, 97 photo-receptor retina, 118 silicon retina, 118f. positive de nite, 41 Principal components, 66 PROM, 117 prototype vectors, 66 PYGMALION, 109 RAM, 109, 117 recurrent networks, 17, 47 Elman network, 48{50 Jordan network, 48 reinforcement learning, 75 relaxation, 17 representation, 20 representation vs. learning, 20 resistor, 116 retina, 98 bipolar cells, 118 horizontal cells, 118 photo-receptor, 118 retinal ganglion, 118 structure, 118 triad synapses, 118 retinal ganglion, 118 robotics, 85 dynamics, 86, 92 forward kinematics, 85 inverse kinematics, 85 trajectory generation, 86 Rochester Connectionist Simulator, 109 ROM, 117 self-organisation, 18, 57 self-organising networks, 57 image compression, 98 vision, 98 self-supervised learning, 18, 87 semi-linear activation function, 17 sgn function, 23 sigma-pi unit, 16 sigma unit, 16 sigmoid activation function, 17, 36, 39 derivative of, 36 silicon retina, 105, 117 bipolar cells, 119 horizontal cells, 119 implementation, 119 photo-receptor, 118f. SIMD, 111f. simulated annealing, 54 simulation, 109 taxonomy, 109 specialised learning, 88 spurious stable states, 52 stable limit points, 51 stable neuron, 51 stable pattern, 51 stable state, 51 stable storage algorithm, 52 steepest descent, 91 convergence, 41 stochastic update, 17, 54 summed squared error, 28, 34 supervised learning, 18 synchronous update, 16 systolic, 114 systolic arrays, 111, 114

INDEX

R

T

S

target, 28 temperature, 54 terminology, 19 test error, 43 Thinking Machines Corporation, 112 threshold, 19f. topologies, 17 topology-conserving map, 57, 65, 109 training, 18 trajectory generation, 86 transistor, 118 transputer, 109, 111 travelling salesman problem, 53 energy, 53 triad synapses, 118

U

understanding back-propagation, 35f. universal approximation theorem, 33 unsupervised learning, 18, 57f., 87 update of a unit, 15 asynchronous, 16, 50 stochastic, 54 synchronous, 16

INDEX

135

V

vector quantisation, 57f., 61 vision, 97 high level, 97 intermediate level, 97 low level, 97

W X

Warp, 109, 111, 114 Widrow-Ho rule, 18 winner-take-all, 58 XOR problem, 29f.

- 6751774 Telecommunication Handbook
- Neural Network Complete Laurence Fausett
- 76438639 Neural Networks
- 75920395 Neural Network
- 74678353 Soft Computing Note
- 56986139 C Neural Networks and Fuzzy Logic
- 55479486 Fuzzy Logic and Neural Networks Basic Concepts Application 8122421822
- 53050716 Neural Networks and Its Application in Engineering
- 49190037 Fuzzy Systems
- 47421957 Fuzzy Neural
- 45052361 a New Paradigm of Knowledge Engineering by Soft Computing
- 9522061 Applications of Soft Computing on Fuzzy
- Microwave Engineering by David M Pozar 2nd Ed
- Microwave Devices & Circuits by Samuel Y -Liao 3rd Ed
- 51940159-microwave
- 51342967 Understanding Microwaves Scott
- 48432860-MicrowaveMeasurements
- 45336974 Wiley 2001 M Pozar Microwave and RF Design of Wireless Systems
- 60970867 a Matlab to Vhdl Conversion Toolbox for Digital Control
- 39381348-Microwave
- 35815442 MIT Radiaton Lab Series V9 Microwave Transmission Circuits
- 41436994 Contemporary Communication Systems Using Matlab Proakis and Salehi 2
- 41436994 Contemporary Communication Systems Using Matlab Proakis and Salehi
- 12450879 Introduction to MATLAB for Engineering Students

Sign up to vote on this title

UsefulNot useful- Principles of Artificial Neural Networks 9812706240
- 48375906 Fundamentals of Artificial Neural Networks Book (1)
- Neural Network complete
- Neural Networks
- Artificial Neural Networks
- Zurada - Introduction to Artificial Neural Systems (WPC, 1992)
- Artificial Neural Networks in Real-Life Applications [Idea, 2006]
- NEURAL NETWORKS Basics using Matlab
- Neural Network
- neural network using matlab
- Neural Networks
- Neural Networks and Computing Learning Algorithms and Applications
- Elements of Artificial Neural Networks
- Artificail Neural Network Seminar Report
- Artificial Neural Network
- An Introduction to Neural Networks,Second edition
- Neural Networks
- Artificial Neural Networks
- Artificial Neural Network -..
- Neural Networks
- Principles of Artificial Neural Networks 9812706240
- neural network learning
- Neural Networks Documentation
- Neural Network in MATLAB
- Neural Engineering
- Kevin Gurney - An Introduction to Neural Networks
- Nikhil Seminar Report
- Artificial Neural Network Model With
- .Introduction of artificial neural network
- Artificial neural network
- Artificial Neural Network Technology