Jump to content

Neural network (machine learning)

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 65.13.59.55 (talk) at 08:43, 24 December 2005 (→‎Advantages). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

An artificial neural network (ANN), also called a simulated neural network (SNN) (but the term neural network (NN) is grounded in biology and refers to very real, highly complex plexus), is an interconnected group of artificial neurons that uses a mathematical or computational model for information processing based on a connectionist approach to computation. There is no precise agreed definition among researchers as to what a neural network is, but most would agree that it involves a network of highly complex processing elements (neurons), where the global behaviour is determined by the connections between the processing elements and element parameters. Since anything approaching a full appreciation of neuronal function remains a distant dream, and since the factors producing global output result from many non-linear, modulating, and poorly understood real-time feedback signals within a single neuron, the highly linear artificial networks (where 'neurons' are modeled as input/output nodes) are perceived as academic research tools rather than even a distant representation of brain function. The original inspiration for the technique was from examination of the central nervous system and the neurons (and their axons, dendrtites and synapses) which constitute one of its most significant information processing elements (see Neuroscience). In a neural network model, simple nodes (called variously "neurons", "neurodes", "PEs" ("processing elements") or "units") are connected together to form a network of nodes — hence the term "neural network". The term also includes implementations purely in software that may run on general purpose computers.

A neural network is an interconnected group of nodes, akin to the vast network of neurons in the human brain.
File:LeabraScreenShot.jpg
More complex neural networks are often used in Parallel Distributed Processing.

Structure

An artificial neural net is a massively parallel collection of variably sized and complex processing units where the interconnections form a one part of the network's intelligence. There is certainly no consensus among neuroscientists that this construct replicates the functional foundation of the central nervous system (CNS). In fact neural networks are quite different from the CNS in terms of structure. For example, a neural network is, by definition, much smaller and may be represented by a virtual software implementation. Also, the units used in a neural network are typically far simpler than neurons. Nevertheless, certain iterations of this model have displayed primitive learning functions thus suggesting the neural network approach may begin to provide a research template to evaluate this cardinal function mediated by the CNS.

See also: artificial neuron, perceptron

Models

In a typical neural network, each node operates on a principle shallowly similar to a biological neuron. In a biological neuron, each incoming synapse and dendrite of a neuron may be modeled with a weight which is a number that represents the strength associated with it. The weight of each synapse, multiplied by its input, is summed for all incoming synapses. When that sum is greater than some 'threshold value', the neuron fires, sending a signal along the outgoing axons and across outgoing synapses to another neuron in the network.

The typical neural network node attempts to emulate this behaviour. Each node has a set of input lines which are analogous to input synapses in a biological neuron. Each node also has an 'activation function' (also known as a 'transfer function'), which tells the node when to fire, similar to a biological neuron. In its simplest form, this activation function can just generate a '1' if the summed input is greater than some value, or a '0' otherwise. Activation functions, however, do not have to be this simple. To create networks that can do useful work, they almost always have to be more complex, for at least some of the nodes in the network.

A feedforward neural network, which is one of the more common neural network types, is composed of a set of nodes and connections arranged in layers. The connections are typically formed by connecting each of the nodes in a given layer to all of the neurons in the next layer. In this way every node in a given layer is connected to every other node in the next layer.

Typically there are at least three layers to a feedforward network - an input layer, a hidden layer, and an output layer. The input layer does no processing - it is simply where the data vector (one dimensional data array) is fed into the network. The input layer then feeds into the hidden layer. The hidden layer, in turn, feeds into the output layer. The actual processing in the network occurs in the nodes of the hidden layer and the output layer.

When enough neurons are connected together in layers, the network can be 'trained' to do useful things using a training algorithm. Feedforward networks, in particular, are very useful, when trained appropriately, to do intelligent classification or identification type tasks on unfamiliar data.

Calculations

The sigmoid curve is often used as a transfer function because it introduces non-linearity into the network's calculations by "squashing" the neuron's activation level into the range [0,1]. The sigmoid function has the additional benefit of having an extremely simple derivative function, as required for back-propagating errors through a feed-forward neural network. Other functions with similar features can be used, most commonly tanh which squashes activations into the range of [-1,1] instead, or occasionally a piece-wise linear function that simply clips the activation rather than squashing it.

If no non-linearity is introduced by squashing or clipping, the network loses much of its computational power, becoming a simple matrix multiplication operation from linear algebra.

Alternative calculation models in neural networks include models with loops, where some kind of time delay process must be used, and "winner takes all" models, where the neuron with the highest value from the calculation fires and takes a value 1, and all other neurons take the value 0.

Typically the weights in a neural network are initially set to small random values. This represents the network knowing nothing; its output is essentially a random function of its input. As the training process proceeds, the connection weights are gradually modified according to computational rules specific to the learning algorithm being used. Ideally the weights eventually converge to values allowing them to perform a useful computation. Thus it can be said that the neural network commences knowing nothing and moves on to gain some real knowledge, though the knowledge is sub-symbolic.

Advantages

Artificial neural networks (ANN) have several advantages, because they resemble the principles of the neural system structure.

  • Learning: ANN have the ability to learn based on the so called learning stage.
  • Auto organization: an ANN creates its own representation of the data given in the learning process.
  • Tolerance to faults: because ANN store redundant information, partial destruction of the neural network do not damage completely the network response.
  • Flexibility: ANN can handle input data without important changes like noisy signals or others changes in the given input data (e.g. if the input data is an object, this can be a little different without problems to the ANN response).
  • Real Time: ANN are parallel structures; if they are implemented in this way using computers or special hardware real time can be achieved.
  • Scalability: An ANN can be easily ported to fit any problem from a particular problem area.

Applications

Usefulness

Neural networks are particularly useful for dealing with bounded real-valued data, where a real-valued output is desired; in this way neural networks will perform classification by degrees, and are capable of expressing values equivalent to "not sure". If the neural network is trained using the cross-entropy error function (see Bishop's book) and if the neural network output is sigmoidal, then the outputs will be estimates of the true posterior probability of a class.

Artificial neural networks (ANN) are usually applied to tasks that are generally easy for humans to accomplish, but difficult for traditional computers. Due to the neural networks mimicking of the brain, they have shown potential in sensory processing tasks such as speech recognition, pattern recognition, and the transcription of handwritten text. Traditional computers remain superior to neural networks in many situations, but neural networks are dominant in recognizing patterns in extremely large data sets. With the ability to learn from a set of examples and generalize this knowledge to new situations, neural networks are excellent for work requiring adaptive control systems.

Real life applications

In real life applications, neural networks perform particularly well on the following common tasks:

Other kinds of neural networks, in particular continuous-time recurrent neural networks (CTRNN), are used in conjunction with genetic algorithms (GAs) to produce robot controllers. The genome is then constituted of the networks parameters and the fitness of a network is the adequacy of the behaviour exhibited by the controlled robot (or often by a simulation of this behaviour).

There are many real-world applications to which neural networks are well-suited. Since neural networks have the ability to withstand damage and still function properly, they are possible candidates for future aircraft control systems. They also have potential uses in pattern recognition software for radar, sonar, and other remote-sensing devices. In the medical field, they can be used to model particular human body parts (i.e., the nose and cardiovascular system) and detect diseases at an early stage from various scans. ANNs can also be used in the laboratory to recognize genes in DNA sequences. Neural network applications can work in the business field or financial analysis. Additionally, they could potentially be used in database mining. Since neural networks are best at identifying patterns or trends in data, they have uses for prediction and forecasting in these common areas:

  • Sales forecasting
  • Industrial process control
  • Customer research
  • Data validation
  • Risk management
  • Target marketing

Here are more epitomes for their application: speaker recognition in communication, diagnosis of hepatitis, recovery of telecommunications from faulty software, retina detection, undersea mine detection, texture analysis, resource allocation, database mining, process control, scheduling, three-dimensional object recognition, handwritten word recognition, and facial recognition.

Types of neural networks

Feedforward neural network

The feedforward neural networks are the first and arguably simplest type of artificial neural networks devised. In this network, the information moves in only one direction, forward, from the input nodes, through the hidden nodes (if any) and to the output nodes. There are no cycles or loops in the network.

Single-layer perceptron

The earliest kind of neural network is a single-layer perceptron network, which consists of a single layer of output nodes; the inputs are fed directly to the outputs via a series of weights. In this way it can be considered the simplest kind of feed-forward network. The sum of the products of the weights and the inputs is calculated in each node, and if the value is above some threshold (typically 0) the neuron fires and takes the activated value (typically 1); otherwise it takes the deactivated value (typically -1). Neurons with this kind of activation function are also called McCulloch-Pitts neurons or threshold neurons. In the literature the term perceptron often refers to networks consisting of just one of these units. They were described by Warren McCulloch and Walter Pitts in the 1940s.

A perceptron can be created using any values for the activated and deactivated states as long as the threshold value lies between the two. Most perceptrons have outputs of 1 or -1 with a threshold of 0 and there is some evidence that such networks can be trained more quickly than networks created from nodes with different activation and deactivation values.

Perceptrons can be trained by a simple learning algorithm that is usually called the delta rule. It calculates the errors between calculated output and sample output data, and uses this to create an adjustment to the weights, thus implementing a form of gradient descent.

Single-unit perceptrons are only capable of learning linearly separable patterns; in 1969 in a famous monograph entitled Perceptrons by Marvin Minsky and Seymour Papert showed that it was impossible for a single-layer perceptron network to learn an XOR function. They conjectured (incorrectly) that a similar result would hold for a multi-layer perceptron network. Although a single threshold unit is quite limited in its computational power, it has been shown that networks of parallel threshold units can approximate any continuous function from a compact interval of the real numbers into the interval [-1,1]. This very recent result can be found in [Auer, Burgsteiner, Maass: The p-delta learning rule for parallel perceptrons, 2001 (state Jan 2003: submitted for publication)].

A single-layer neural network can compute a continuous output instead of a step function. A common choice is the so-called logistic function:

With this choice, the single-layer network is identical to the logistic regression model, widely used in statistical modelling. The logistic function is also known as the sigmoid function. It has a continuous derivative, which allows it to be used in backpropagation.

Multi-layer perceptron

A two-layer neural network capable of calculating XOR. The numbers within the neurons represent each neuron's explicit threshold (which can be factored out so that all neurons have the same threshold, usually 1). The numbers that annotate arrows represent the weight of the inputs. This net assumes that if the threshold is not reached, zero (not -1) is output. Note that the bottom layer of inputs is not always considered a real neural network layer

This class of networks consists of multiple layers of computational units, usually interconnected in a feed-forward way. Each neuron in one layer has directed connections to the neurons of the subsequent layer. In many applications the units of these networks apply a sigmoid function as an activation function.

The universal approximation theorem for neural networks states that every continuous function that maps intervals of real numbers to some output interval of real numbers can be approximated arbitrarily closely by a multi-layer perceptron with just one hidden layer. This result holds only for restricted classes of activation functions, e.g. for the sigmoidal functions.

Multi-layer networks use a variety of learning techniques, the most popular being back-propagation. Here the output values are compared with the correct answer to compute the value of some predefined error-function. By various techniques the error is then fed back through the network. Using this information, the algorithm adjusts the weights of each connection in order to reduce the value of the error function by some small amount. After repeating this process for a sufficiently large number of training cycles the network will usually converge to some state where the error of the calculations is small. In this case one says that the network has learned a certain target function. To adjust weights properly one applies a general method for non-linear optimization task that is called gradient descent. For this, the derivation of the error function with respect to the network weights is calculated and the weights are then changed such that the error decreases (thus going downhill on the surface of the error function). For this reason back-propagation can only be applied on networks with differentiable activation functions.

In general the problem of teaching a network that performs well, even on samples that were not used as training samples, is a quite subtle issue that requires additional techniques. This is especially important for cases where only very limited numbers of training samples are available. The danger is that the network overfits the training data and fails to capture the true statistical process generating the data. Computational learning theory is concerned with training classifiers on a limited amount of data. In the context of neural networks a simple heuristic, called early stopping, often ensures that the network will generalize well to examples not in the training set.

Other typical problems of the back-propagation algorithm are the speed of convergence and the possibility to end up in a local minimum of the error function. Today there are practical solutions that make back-propagation in multi-layer perceptrons the solution of choice for many machine learning tasks.

ADALINE

ADAptive LINear Element.

MADALINE

Multilayer Adaline, also quoted as Multiple Adaline

Learnmatrix

see Lernmatrix * [1] and Karl Steinbuch * [2] * [3]

Radial Basis Functions are powerful techniques for interpolation in multidimensional space. A RBF is a function which has built into a distance criterion with respect to a centre. Radial basis functions have been applied in the area of neural networks where they may be used as a replacement for the sigmoidal hidden layer transfer function in multilayer perceptrons. RBF networks have 2 layers of processing: In the first, input is mapped onto each RBF in the 'hidden' layer. The RBF chosen is usually a Gaussian. In regression problems the output layer is then a linear combination of hidden layer values representing mean predicted output. The interpretation of this output layer value is the same as a regression model in statistics. In classification problems the output layer is typically a sigmoid function of a linear combination of hidden layer values, representing a posterior probability. Performance in both cases is often improved by shrinkage techniques, known as ridge regression in classical statistics and known to correspond to a prior belief in small parameter values (and therefore smooth output functions) in a Bayesian framework.

RBF networks have the advantage of not suffering from local minima in the same way as multilayer perceptrons. This is because the only parameters that are adjusted in the learning process are the linear mapping from hidden layer to output layer. Linearity ensures that the error surface is quadratic and therefore has a single easily found minimum. In regression problems this can be found in one matrix operation. In classification problems the fixed non-linearity introduced by the sigmoid output function is most efficiently dealt with using iterated reweighted least squares.

RBF networks have the disadvantage of requiring good coverage of the input space by radial basis functions. RBF centres are determined with reference to the distribution of the input data, but without reference to the prediction task. As a result, representational resources may be wasted on areas of the input space that are irrelevant to the learning task. A common solution is to associate each data point with its own centre, although this can make the linear system to be solved in the final layer rather large, and requires shrinkage techniques to avoid overfitting.

Associating each input datum with an RBF leads naturally to kernel methods such as Support Vector Machines and Gaussian Processes (the RBF is the kernel function). All three approaches use a non-linear kernel function to project the input data into a space where the learning problem can be solved using a linear model. Like Gaussian Processes, and unlike SVMs, RBF networks are typically trained in a Maximum Likelihood framework by maximizing the probability (minimizing the error) of the data under the model. SVMs take a different approach to avoiding overfitting by avoiding maximizing instead a margin. RBF networks are outperformed in most classification applications by SVMs. In regression applications they can be competitive when the dimensionality of the input space is relatively small.

Kohonen self-organizing network

The self-organizing map (SOM) invented by Teuvo Kohonen uses a form of unsupervised learning. A set of artificial neurons learn to map points in an input space to coordinates in an output space. The input space can have different dimensions and topology from the output space, and the SOM will attempt to preserve these.

Recurrent network

Contrary to feedforward networks, recurrent neural network (RNs) are models with bi-directional data flow. While a feedforward network propagates data linearly from input to output, RNs also propagate data from later processing stages to earlier stages.

Simple recurrent network

A simple recurrent network (SRN) is a variation on the multi-layer perceptron, sometimes called an "Elman network" due to its invention by Jeff Elman. A three-layer network is used, with the addition of a set of "context units" in the input layer. There are connections from the middle (hidden) layer to these context units fixed with a weight of one. At each time step, the input is propagated in a standard feed-forward fashion, and then a learning rule (usually back-propagation) is applied. The fixed back connections result in the context units always maintaining a copy of the previous values of the hidden units (since they propagate over the connections before the learning rule is applied). Thus the network can maintain a sort of state, allowing it to perform such tasks as sequence-prediction that are beyond the power of a standard multi-layer perceptron.

In a fully recurrent network, every neuron receives inputs from every other neuron in the network. These networks are not arranged in layers. Usually only a subset of the neurons receive external inputs in addition to the inputs from all the other neurons, and another disjunct subset of neurons report their output externally as well as sending it to all the neurons. These distinctive inputs and outputs perform the function of the input and output layers of a feed-forward or simple recurrent network, and also join all the other neurons in the recurrent processing.

Hopfield network

The Hopfield network is a recurrent neural network in which all connections are symmetric. Invented by John Hopfield in 1982, this network guarantees that its dynamics will converge. If the connections are trained using Hebbian learning then the Hopfield network can perform robust content-addressable memory, robust to connection alteration.

Stochastic neural networks

A stochastic neural network differs from a regular neural network in the fact that it introduces random variations into the network.

Boltzmann machine

The Boltzmann machine can be thought of as a noisy Hopfield network. Invented by Geoff Hinton and Terry Sejnowski in 1985, the Boltzmann machine is important because it is one of the first neural networks to demonstrate learning of latent variables (hidden units). Boltzmann machine learning was slow to simulate, but the contrastive divergence algorithm of Geoff Hinton (circa 2000) allows models including Boltzmann machines and product of experts to be trained much faster.

Modular neural networks

Biological studies showed that the human brain functions not as one single massive network, but as a collection of small networks. This realisation gave birth to the concept of modular neural networks, in which several small networks cooperate or compete to solve problems.

Committee of machines

A committee of machines (CoM) is a collection of different neural networks that together "vote" on a given example. This generally gives a much better result compared to other neural network models. In fact in many cases, starting with the same architecture and training but different initial random weights gives vastly different networks. A CoM tends to stabilize the result.

The CoM is similar to the general machine learning bagging method, except that the necessary variety of machines in the committee is obtained by training from different random starting weights rather than training on different randomly selected subsets of the training data.

Associative Neural Network (ASNN)

Is an extension of the committee of machines that goes beyond a simple/weighted average of different models. ASNN represents a combination of an ensemble of feed-forward neural networks and the k-nearest neighbour technique (kNN). It uses the correlation between ensemble responses as a measure of distance amid the analysed cases for the kNN. This corrects the bias of the neural network ensemble. An associative neural network has a memory that can coincide with the training set. If new data becomes available, the network instantly improves its predictive ability and provides data approximation (self-learn the data) without a need to retrain the ensemble. Another important feature of ASNN is the possibility to interpret neural network results by analysis of correlations between data cases in the space of models. The method can be used on-line or downloaded at www.vcclab.org.

Other types of networks

These special networks do not fit in any of the previous categories.

Instantaneously trained networks

Instantaneously trained neural networks (ITNNs) are also called "Kak networks" after their inventor Subhash Kak. They were inspired by the phenomenon of short-term learning that seems to occur instantaneously. In these networks the weights of the hidden and the output layers are mapped directly from the training vector data. Ordinarily, they work on binary data but versions for continuous data that require small additional processing are also available.

Spiking neural networks

Spiking (or pulsed) neural networks (SNNs) are models which explicitly take into account the timing of inputs. The network input and output are usually represented as series of spikes (delta function or more complex shapes). SNNs have an advantage of being able to continuously process information. They are often implemented as recurrent networks.

Networks of spiking neurons -- and the temporal correlations of neural assemblies in such networks -- have been used to model figure/ground separation and region linking in the visual system (see e.g. Reitboeck et.al.in Haken and Stadler: Synergetics of the Brain. Berlin, 1989).

Gerstner and Kistler have a freely-available online textbook on Spiking Neuron Models.

Spiking neural networks with axonal conduction delays exhibit polychronization, and hence could have a potentially unlimited memory capacity.

Dynamic neural networks

Dynamic neural networks not only deal with nonlinear multivariate behaviour, but also include (learning of) time-dependent behaviour such as various transient phenomena and delay effects. Meijer has a Ph.D. thesis online where regular feedforward perception networks are generalized with differential equations, using variable time step algorithms for learning in the time domain and including algorithms for learning in the frequency domain (in that case linearized around a set of static bias points).

Cascading neural networks

These neural networks begin their training without any hidden neurons. As the output error reaches a predefined error threshold, the networks add a new hidden neuron. The new hidden neuron is connected to all input nodes, as well as, all previous hidden neurons. Training terminates when a suitable error threshold is reached or when the maximum number of hidden neurons is added.

Relation to optimization techniques

Analysis of many neural network techniques reveals their close relationship to mathematical optimization techniques. For instance, multi-layer perceptron back-propagation can be substituted with more general global optimization techniques. The objective in training an ANN is, given some set of pairs of data and output, { (d0, o0), (d1,o1), ... } to minimize some error function ||E||2, where E(xi) = F(w,xi) - oi. Here F is the neural network function which given a vector of weights w and an input vector produces an output vector for the network. Thus as well as using back-propagation to train the network, it is also possible to use global optimization techniques to produce a weight vector w.

Patents

  • Arima, et al., U.S. patent 5,293,457,"Neural network integrated circuit device having self-organizing function". March 8, 1994.

Bibliography

  • Bishop, C.M. (1995) Neural Networks for Pattern Recognition, Oxford: Oxford University Press. ISBN 0-19-853849-9 (hardback) or ISBN 0-19-853864-2 (paperback)
  • Duda, R.O., Hart, P.E., Stork, D.G. (2001) Pattern classification (2nd edition), Wiley, ISBN 0471056693
  • Gurney, K. (1997) An Introduction to Neural Networks London: Routledge. ISBN 1-85728-673-1 (hardback) or ISBN 1-85728-503-4 (paperback)
  • Haykin, S. (1999) Neural Networks: A Comprehensive Foundation, Prentice Hall, ISBN 0-13-273350-1
  • Hertz, J., Palmer, R.G., Krogh. A.S. (1990) Introduction to the theory of neural computation, Perseus Books. ISBN 0201515601
  • Lawrence, Jeanette (1994) Introduction to Neural Networks, California Scientific Software Press. ISBN 1-883157-00-5
  • Masters, Timothy (1994) Signal and Image Processing with Neural Networks, John Wiley & Sons, Inc. ISBN 0-471-04963-8
  • Smith, Murray (1993) Neural Networks for Statistical Modeling, Van Nostrand Reinhold, ISBN 0-442-01310-8
  • Wasserman, Philip (1993) Advanced Methods in Neural Computing, Van Nostrand Reinhold, ISBN 0-442-00461-3