Neural Networks for Control
Martin T. Hagan School of Electrical & Computer Engineering Oklahoma State University firstname.lastname@example.org Howard B. Demuth Electrical Engineering Department University of Idaho email@example.com Abstract The purpose of this tutorial is to provide a quick overview of neural networks and to explain how they can be used in control systems. We introduce the multilayerperceptron neural network and describe how it can be used for function approximation. The backpropagation algorithm (including its variations) is the principal procedure for training multilayer perceptrons; it is briefly described here. Care must be taken, when training perceptron networks, to ensure that they do not overfit the training data and then fail to generalize well in new situations. Severaltechniques for improving generalization are discused. The tutorial also presents several control architectures, such as model reference adaptive control, model predictive control, and internal model control, in which multilayer perceptron neural networks can be used as basic building blocks. the inverse of a system we are trying to control, in which case the neural network can be used to implementthe controller. At the end of this tutorial we will present several control architectures demonstrating a variety of uses for function approximator neural networks. Unknown Function Input Neural Network + Predicted Output Adaptation Output Error
Figure 1 Neural Network as Function Approximator In the next section we will present the multilayer perceptron neural network, and will demonstrate howit can be used as a function approximator.
In this tutorial we want to give a brief introduction to neural networks and their application in control systems. The field of neural networks covers a very broad area. It would be impossible in a short time to discuss all types of neural networks. Instead, we will concentrate on the most common neural network architecture – themultilayer perceptron. We will describe the basics of this architecture, discuss its capabilities and show how it has been used in several different control system configurations. (For introductions to other types of networks, the reader is referred to [HBD96], [Bish95] and [Hayk99].) For the purposes of this tutorial we will look at neural networks as function approximators. As shown in Figure 1, wehave some unknown function that we wish to approximate. We want to adjust the parameters of the network so that it will produce the same response as the unknown function, if the same input is applied to both systems. For our applications, the unknown function may correspond to a system we are trying to control, in which case the neural network will be the identified plant model. The unknownfunction could also represent
2. Multilayer Perceptron Architecture
2.1 Neuron Model
The multilayer perceptron neural network is built up of simple components. We will begin with a single-input neuron, which we will then extend to multiple inputs. We will next stack these neurons together to produce layers. Finally, we will cascade the layers together to form the network.
A single-input neuron is shown in Figure 2. The scalar input p is multiplied by the scalar weight w to form wp , one of the terms that is sent to the summer. The other input, 1 , is multiplied by a bias b and then passed to the summer. The summer output n , often referred to as the net input, goes into a transfer function f , which produces the scalar neuron output a . (Some authors use theterm “activation function”
rather than transfer function and “offset” rather than bias.) Inputs General Neuron
2.1.2 Multiple-Input Neuron
Typically, a neuron has more than one input. A neuron with R inputs is shown in Figure 4. The individual inputs p 1 , p 2 ,... , p R are each weighted by corresponding elements w 1, 1 ,w 1, 2 ,... ,w 1, R of the weight matrix W . Inputs Multiple-Input...
Leer documento completo
Regístrate para leer el documento completo.