Neuro-Remodeling via Backpropagation of Utility. ABSTRACT Backpropagation of utility is one of the many methods for neuro-control.

Similar documents
Reinforcement Control via Heuristic Dynamic Programming. K. Wendy Tang and Govardhan Srikant. and

Edge detection based on single layer CNN simulator using RK6(4)

Neuro-Fuzzy Inverse Forward Models

Skill. Robot/ Controller

Extensive research has been conducted, aimed at developing

Using Local Trajectory Optimizers To Speed Up Global. Christopher G. Atkeson. Department of Brain and Cognitive Sciences and

Optimization of a two-link Robotic Manipulator

+ + Kinematics. Trajectory Generation and Inverse Kinematics. .. x. V, G, F

Classifier C-Net. 2D Projected Images of 3D Objects. 2D Projected Images of 3D Objects. Model I. Model II

Center for Automation and Autonomous Complex Systems. Computer Science Department, Tulane University. New Orleans, LA June 5, 1991.

PROJECTION MODELING SIMPLIFICATION MARKER EXTRACTION DECISION. Image #k Partition #k

Improving Trajectory Tracking Performance of Robotic Manipulator Using Neural Online Torque Compensator

UNSTRUCTURED GRIDS ON NURBS SURFACES. The surface grid can be generated either in a parameter. surfaces. Generating grids in a parameter space is

Khoral Research, Inc. Khoros is a powerful, integrated system which allows users to perform a variety

Parallel Pipeline STAP System

Network. Department of Statistics. University of California, Berkeley. January, Abstract

For the hardest CMO tranche, generalized Faure achieves accuracy 10 ;2 with 170 points, while modied Sobol uses 600 points. On the other hand, the Mon

Supervised Learning in Neural Networks (Part 2)

Real-Time Scalability of Nested Spin Locks. Hiroaki Takada and Ken Sakamura. Faculty of Science, University of Tokyo

Single and Multiple Frame Video Trac. Radu Drossu 1. Zoran Obradovic 1; C. Raghavendra 1

Research on time optimal trajectory planning of 7-DOF manipulator based on genetic algorithm

Technische Universitat Munchen. Institut fur Informatik. D Munchen.

CHAPTER 4 AN INTEGRATED APPROACH OF PERFORMANCE PREDICTION ON NETWORKS OF WORKSTATIONS. Xiaodong Zhang and Yongsheng Song

Parallel Robots. Mechanics and Control H AMID D. TAG HI RAD. CRC Press. Taylor & Francis Group. Taylor & Francis Croup, Boca Raton London NewYoric

Combined Weak Classifiers

perform well on paths including satellite links. It is important to verify how the two ATM data services perform on satellite links. TCP is the most p

Egemen Tanin, Tahsin M. Kurc, Cevdet Aykanat, Bulent Ozguc. Abstract. Direct Volume Rendering (DVR) is a powerful technique for

Model learning for robot control: a survey

EL6483: Basic Concepts of Embedded System ModelingSpring and Hardware-In-The-Loo

Transactions on Information and Communications Technologies vol 16, 1996 WIT Press, ISSN

4.12 Generalization. In back-propagation learning, as many training examples as possible are typically used.

The only known methods for solving this problem optimally are enumerative in nature, with branch-and-bound being the most ecient. However, such algori

Document Image Restoration Using Binary Morphological Filters. Jisheng Liang, Robert M. Haralick. Seattle, Washington Ihsin T.

Prototyping a Three-link Robot Manipulator

Optimize Performance in the Presence of Time Delays 1. J. K. Yook, D. M. Tilbury, N. R. Soparkary. The University of Michigan

This paper describes and evaluates the Dual Reinforcement Q-Routing algorithm (DRQ-Routing)

Laxmi N. Bhuyan, Ravi R. Iyer, Tahsin Askar, Ashwini K. Nanda and Mohan Kumar. Abstract

Department of. Computer Science. Remapping Subpartitions of. Hyperspace Using Iterative. Genetic Search. Keith Mathias and Darrell Whitley

Exercise 2: Hopeld Networks

Dynamic Analysis of Manipulator Arm for 6-legged Robot

(Preliminary Version 2 ) Jai-Hoon Kim Nitin H. Vaidya. Department of Computer Science. Texas A&M University. College Station, TX

Theoretical Foundations of SBSE. Xin Yao CERCIA, School of Computer Science University of Birmingham

r[2] = M[x]; M[x] = r[2]; r[2] = M[x]; M[x] = r[2];

Figure 1: Representation of moving images using layers Once a set of ane models has been found, similar models are grouped based in a mean-square dist

0.1. alpha(n): learning rate

t 1 y(x;w) x 2 t 2 t 3 x 1

Prototyping a Robotic Manipulator and Controller. University of Utah. Abstract

A modular neural network architecture for inverse kinematics model learning

Two Image-Template Operations for Binary Image Processing. Hongchi Shi. Department of Computer Engineering and Computer Science

INSTITUTE OF AERONAUTICAL ENGINEERING

A New Orthogonal Multiprocessor and its Application to Image. Processing. L. A. Sousa M. S. Piedade DEEC IST/INESC. R.

THE IMPLEMENTATION OF A DISTRIBUTED FILE SYSTEM SUPPORTING THE PARALLEL WORLD MODEL. Jun Sun, Yasushi Shinjo and Kozo Itano

Linear Separability. Linear Separability. Capabilities of Threshold Neurons. Capabilities of Threshold Neurons. Capabilities of Threshold Neurons

Vision-based Manipulator Navigation. using Mixtures of RBF Neural Networks. Wolfram Blase, Josef Pauli, and Jorg Bruske

Enhancing Integrated Layer Processing using Common Case. Anticipation and Data Dependence Analysis. Extended Abstract

Telecommunication and Informatics University of North Carolina, Technical University of Gdansk Charlotte, NC 28223, USA

Stability in ATM Networks. network.

Bias-Variance Tradeos Analysis Using Uniform CR Bound. Mohammad Usman, Alfred O. Hero, Jerey A. Fessler and W. L. Rogers. University of Michigan

Networks for Control. California Institute of Technology. Pasadena, CA Abstract

Ecient Processor Allocation for 3D Tori. Wenjian Qiao and Lionel M. Ni. Department of Computer Science. Michigan State University

Analysis of Decision Boundaries Generated by Constructive Neural Network Learning Algorithms

Modeling Systems Using Design Patterns

Research on outlier intrusion detection technologybased on data mining

THE CLASSICAL method for training a multilayer feedforward

Subgraph Matching Using Graph Neural Network

Inner and outer approximation of capture basin using interval analysis

apply competitive analysis, introduced in [10]. It determines the maximal ratio between online and optimal oine solutions over all possible inputs. In

y 2 x 1 Simulator Controller client (C,Java...) Client Ball position joint 2 link 2 link 1 0 joint 1 link 0 (virtual) State of the ball

Localization in Graphs. Richardson, TX Azriel Rosenfeld. Center for Automation Research. College Park, MD

A NOUVELLE MOTION STATE-FEEDBACK CONTROL SCHEME FOR RIGID ROBOTIC MANIPULATORS

Applying Neural Network Architecture for Inverse Kinematics Problem in Robotics

Accelerating the convergence speed of neural networks learning methods using least squares

to be known. Let i be the leg lengths (the distance between A i and B i ), X a 6-dimensional vector dening the pose of the end-eector: the three rst c

Adaptive Estimation of Distributions using Exponential Sub-Families Alan Gous Stanford University December 1996 Abstract: An algorithm is presented wh

Analytical Modeling of Parallel Systems. To accompany the text ``Introduction to Parallel Computing'', Addison Wesley, 2003.

Rowena Cole and Luigi Barone. Department of Computer Science, The University of Western Australia, Western Australia, 6907

joint 3 link 3 link 2 joint 1

ECS289: Scalable Machine Learning

Neuro Fuzzy Controller for Position Control of Robot Arm

1498. End-effector vibrations reduction in trajectory tracking for mobile manipulator

1. Introduction 1 2. Mathematical Representation of Robots

Exact Side Eects for Interprocedural Dependence Analysis Peiyi Tang Department of Computer Science The Australian National University Canberra ACT 26

Triangulation: A new algorithm for Inverse Kinematics

APPLICATION OF THE FUZZY MIN-MAX NEURAL NETWORK CLASSIFIER TO PROBLEMS WITH CONTINUOUS AND DISCRETE ATTRIBUTES

Notes on Multilayer, Feedforward Neural Networks

Supervised Learning with Neural Networks. We now look at how an agent might learn to solve a general problem by seeing examples.

A Compensatory Wavelet Neuron Model

Cancer Biology 2017;7(3) A New Method for Position Control of a 2-DOF Robot Arm Using Neuro Fuzzy Controller

A Population-Based Learning Algorithm Which Learns Both. Architectures and Weights of Neural Networks y. Yong Liu and Xin Yao

Recognition. Clark F. Olson. Cornell University. work on separate feature sets can be performed in

The rest of the paper is organized as follows: we rst shortly describe the \growing neural gas" method which we have proposed earlier [3]. Then the co

Numerical Evaluation of Hierarchical QoS Routing. Sungjoon Ahn, Gayathri Chittiappa, A. Udaya Shankar. Computer Science Department and UMIACS

Truss structural configuration optimization using the linear extended interior penalty function method

COMPUTATIONAL INTELLIGENCE (INTRODUCTION TO MACHINE LEARNING) SS18. Lecture 2: Linear Regression Gradient Descent Non-linear basis functions

MODIFIED KALMAN FILTER BASED METHOD FOR TRAINING STATE-RECURRENT MULTILAYER PERCEPTRONS

Digital Image Processing Laboratory: MAP Image Restoration

Rance Cleaveland The Concurrency Factory is an integrated toolset for specication, simulation,

Department of Electrical Engineering, Keio University Hiyoshi Kouhoku-ku Yokohama 223, Japan

Redundancy Resolution by Minimization of Joint Disturbance Torque for Independent Joint Controlled Kinematically Redundant Manipulators

Experimental Data and Training

Transcription:

Neuro-Remodeling via Backpropagation of Utility K. Wendy Tang and Girish Pingle 1 Department of Electrical Engineering SUNY at Stony Brook, Stony Brook, NY 11794-2350. ABSTRACT Backpropagation of utility is one of the many methods for neuro-control. Its goal is to provide a series of control signals to maximize a utility function over time. In this paper, we demonstrate how to use the basic backpropagation and backpropagation through time algorithms as fundamental building blocks for backpropagation of utility. We also explore the parallel implementation of the algorithm on Intel's Paragon computer. The backpropagation of utility algorithm is composed of three subnetworks, the Action network, Model network, and an Utility network or function. Each of these networks includes a feedforward and a feedback component. A ow chart for the interaction of these components is included. To further illustrate the algorithm, we use backpropagation of utility for the control of a simple one-dimensional planar robot. We found that the success of the algorithm hinges upon a sucient emulation of the dynamic system by the Model network. Furthermore, the execution time can be improved through patternpartitioning on multiple processors. 1 Introduction Neurocontrol is dened as the use of neural networks to emit control signals for dynamic systems. Most neurocontrol algorithms involve the incorporation of one or more backpropagation neural networks into the controller. Dierent approaches exist in the method of incorporating the neural network into the controller and of training and adaptation [1]. Among these approaches, there are ve basic schemes: the supervised control, direct inverse control, neural adaptive control, back-propagation of utility, and adaptive critic networks. Werbos [2] provided a detailed summary of the ve schemes including the pros and cons of each method. In this paper, our objective is to illustrate the theory of Backpropagation of Utility through a simple example, the control of a 1-D planar robot. To improve execution time, we also explore parallel implementation on an Intel Paragon parallel computer. This article is organized as follows: Section 2 is a description of the Backpropagation of Utility algorithm. Section 3 illustrates how the algorithm is used for the control of a 1-D planar robot. Parallel implementation of the algorithms on an Intel Paragon parallel computer is explored in Section 4. Finally, conclusions and a summary are included in Section 5. 1 The authors acknowledge and appreciate discussions with and contributions from Paul Werbos. This research was supported by the National Science Foundation under Grant No. ECS-9407363. The authors also like to thank the Center for Scientic Computing of the Applied Mathematics Department in SUNY Stony Brook for the use of the Intel Paragon parallel computer. 1

2 Backpropagation of Utility Algorithm The objective of the backpropagation of utility algorithm is to provide a set of action or control signals to a dynamic system to maximize a utility function over time. The utility function can be total energy, cost-eciency, smoothness of a trajectory, etc. For expository convenience, we assume the notation X(t) for system state at time t, u(t) for the control signal, and U(t) for the utility function which is usually a function of the system state. The system is composed of three subsystems, an Action network, a Model network, and a Utility network, which is often represented as a performance function. The Action network is responsible for providing the control signal to maximize the utility function. This goal is achieved through adaptation of the internal weights of the Action network. Such adaptation is accomplished through backpropagation of various signals. For each iteration, there are feedforward and feedback components. In the feedforward mode, the Action network outputs a series of control signals, u(t); t = 1; : : :; T whereas adaptation of the internal weights is accomplished through the feedback mode. The Model network provides an exact emulation of the dynamic system in a neural network format. Its function is two folded: (i) in the feedforward mode, it predicts the system state X(t + 1) at time t + 1 for a given system state X(t) and control signal u(t) at time t; and (ii) in the feedback mode, it inputs the derivative of the utility function U(t) with respect to the system state X(t) and outputs the derivative of the utility with respect to the control signal, i.e., @U(t) @u(t) which is used for the adaptation of the Action network. The Utility network or function, on the other hand, provides a measure of the system performance U(t) as a function of the system state, X(t). In the feedforward mode, it calculates a performance value U(t) and in the feedback mode, it identies @X(t) @U(t) which is used by the Model network. The basic idea is that assuming we have an exact model of the system formulated as a neural network (the Model network), we can use the backpropagation method to calculate the derivative of the utility function with respect to the control signal from the action network, i.e., F u(t) = @U(t) @u(t). Such derivative is then used to calculate the gradient of the Utility with respect to the internal weights of the action network. Figure 1 shows a block-diagram representation of the system. The dashed lines represent the feedback mode, or derivative calculations. The successful application of backpropagation of utility hinges upon an accurate Model network that represents the system. The establishment of such a Model network is accomplished through train- 2

ing with the basic backpropagation or Werbos' backpropagation through time algorithms [3]. Once an accurate Model network is obtained, the internal weights of the Action network is adapted to output a series of desired control action, according to the ow chart in Figure 3. In this ow-chart, Action, Model, Utility represent the feedforward components of the corresponding networks whereas F Utility, F Model, F Action are the feedback components. Pseudo-computer codes for each of these blocks are included in [3, 4] and are not repeated here. The details of the construction of the Model network and the adaptation of the Action networks are described as follows. 2.1 Training of the Model Network The establishment of a Model network that represents the system is accomplished through training with either the basic backpropagation or Werbos' backpropagation through time algorithm [3]. To speed up convergence, Jacob's delta-bar-delta rule [5] can be used for weight adaptation. First, a sucient number of training samples, T M must be obtained. These training samples consists of m M inputs (X M i (t); i = 1; : : :; m M ; t = 1; : : :; T M ), and n M desired outputs (Y M i (t); i = 1; : : :; n M ; t = 1; : : :; T M ). The objective of a trained Model network is to emulate the dynamic system. In the feedforward mode, it outputs the system state X(t + 1) at time t + 1 for a given system state X(t) and control signal u(t). That is, the inputs of the Model network, X M (t), consist of the system state and the control signal (X(t) and u(t)). The outputs of the Model network is composed of the system state X(t + 1) at time t + 1. A pseudo-code for training the Model network with backpropagation through time algorithm can be found in [4] and is not repeated here. 2.2 Adaptation of the Action Network Upon completion of training of the Model network, we are ready for the adaptation of the Action network. In this stage, we adapt the weights of the Action network to output a series of desired control action u i (t); i = 1; : : :; n for time period t = 1; : : :; T. The desired system state is X di (t); i = 1; : : :; m. This adaptation process is accomplished through a number of iterations and is best described through the ow-chart shown in Figure 3. There are basically six fundamental building blocks, Action, Model, and Utility in the feedforward mode; and F Utility, F Model, and F Action in the feedback model. For each iteration, in the feedforward mode, a series of predicted control signals u(t) for t = 1; : : :; T are provided by the Action 3

routine. These control signals are inputs to the Model routine which outputs the next system state X(t + 1) which is then used to calculate the Utility function. In the feedback mode, the training samples are traversed backward. Since the Utility function is normally an explicit function of the system state, we can usually obtain F X (t) = @U(t) @X(t) analytically. The value F X (t) is then input to the routine F Model which corresponds to the feedback component of the Model network. F Action is the next routine which takes the output F u(t) = @U(t) @u(t) from the F Model routine to calculate the gradient of the Utility function with respect to the weight-space, i.e., F W ij = @U(t) @W ij for all weights W ij of the Action network. Once the eect of all training samples are accounted for in F W, delta-bar-delta rule is used to update the weights W, and the next iteration can be repeated. For simplicity, in Figure 3 we use a predened value Max to determine the number of iterations. Other termination criteria such as a predened utility value can also be used to determine the number of iterations. Again, pseudo-codes for these building blocks were included in [3, 4] and are not repeated here. 3 An Example: 1-D Robot Control As an example, we consider a simple planar manipulator with one rotational joint (Figure 2). We assume, without loss of generality, that the robot links can be represented as point-masses concentrated at the end of the link. The link mass and length are respectively: M = 0:1 kg, L = 1 m. This simple dynamic system is governed by the equation: (t) = M L 2 (t) + M g L cos((t)) (1) where g = 9:81m=s 2 is the gravitational constant. We consider that initially, at time t = 0 second, the state of the manipulator is 0 = _ 0 = 0 = 0, with 0 = 0:981 Newtons. The neural network's task is to generate a series of control signals u(t) = (t); t = t; 2t; : : : ; t f = T t = 2 seconds (t = 0:02; T = 100) to drive the manipulator from the initial conguration 0 to f = (t = t f ) = 60 with the following desired trajectory specied by the quintic polynomial [6]. d (t) = 0 + 10( f? 0)(t=t f ) 3? 15( f? 0)(t=t f ) 4 + 6( f? 0)(t=t f ) 5 _ d (t) = 30( f? 0)(t 2 =t 3) f? 60( f? 0)(t 3 =t 4) + f 30( f? 0)(t 4 =t 5) f d (t) = 60( f? 0)(t=t 3) f? 180( f? 0)(t 2 =t 4) + f 120( f? 0)(t 3 =t 5) (2) f The system consists of an Action network, a Model network, and an utility function. Like in supervised control, in backpropagation of utility, our goal is to train the Action network to provide a set of 4

control signal u(t) = (t); but unlike supervised training, the desired control signals d (t) are not used as feedback. Instead, the training of the Action network is accomplished through feedback from the Model network and the Utility function. The Model network basically acts as a system emulator whereas the Utility function provides a performance measure. In the following subsections, we rst describe how the Model network is trained, and later how to use the trained Model network for the adaptation of the Action network which provides a series of control signals for the specic task described here. 3.1 Training of the Model Network Before the adaptation of the Action network begins, the Backpropagation of Utility algorithm involves rst training of the Model network. Again, the Model network accepts as inputs the system state (i.e., (t); (t); _ (t)) and the control signal (t) at the current time. Its function is to provide the actual system state for the next time period ((t + 1); (t _ + 1); (t + 1)). From our experimentation, we found that it is more ecient if the Model network is trained to generate the change in system state instead of the actual value. Therefore, we train the model network to generate (t); (t); _ (t). The system state of the next time period can then be computed: (t + 1) = (t) + (t); (t _ + 1) = (t) _ + (t); _ (t + 1) = (t) + (t): To obtain an adequate representation of the system, we need to train the Model network with sucient number of training points. In this case, we use the basic backpropagation algorithm with delta-bardelta rule. The network has two hidden-layers with ten nodes in each layer. As stated in [7], progressive training in which the number of training samples increases gradually helps to maintain stability and provide fast convergence. Therefore, we start the training on T M = 20 samples and gradually increase to T M = 500 training samples. Each training set consists of four inputs (m M = 4): (t); (t); _ (t); (t) and three desired outputs (n M = 3): d (t); _ d (t); d (t). Each of these training samples is obtained by rst generating a random system state (t); (t) _ (t) with the following constraints: (t) 2 f0; 2g radians; _(t) 2 f?3; 3g radians/second; (t) 2 f?5; 5g radians/second 2 : For the given system state, we compute or measure the corresponding torque value, (t? t) and then generate a random (t) with the constraint that (t) 2 f?0:02; 0:02g Newtons 5

An Euler integrator [6] is then used to solve for the actual system state (t+1); (t+1); _ (t+1) for the given (t) = (t? t) + (t) and (t); (t); _ (t). The desired outputs of the training set are computed as: d (t) = (t + 1)? (t); _ d (t) = (t _ + 1)? (t); _ d (t) = (t + 1)? (t) 3.2 Adaptation of the Action Network With the Model network successfully trained, we are ready for the adaptation of the Action network. As illustrated in Figure 3, the adaptation of the Action network involves both a feedforward and a feedback component. In the feedforward mode, the Action network accepts the desired system state, namely, d (t); _ d (t); d (t) as inputs. The output of the Action network is to provide the signal (t) to drive the manipulator. For ecient training, we choose to train the action network to generate (t). The value (t) can then be computed by: (t) = (t? 1) + (t): (3) where t = t; 2t; : : : ; T t and in this example, (t = 0) = 0 = 0:981 Newton. The computed torque (t) (Equation 3) is then passed to the trained Model network which accepts the desired system state, d (t); _ d (t); d (t) along with (t) as inputs. As described in the previous section, the output of the Model network indicates the change of the system state from its input state, i.e, (t); _ (t); (t). The actual system state for the next sample can then be computed according to: (t + 1) = d (t) + (t); _ (t + 1) = _ d (t) + _ (t); (t + 1) = d (t) + (t): The last step in the feedforward mode is to compute the \utility" or performance of the action network. Since our objective here is tracking control, we use the utility function U(t) = 1 2 TX ((t)? d (t)) 2 + ( (t) _? _ d (t)) 2 + ( (t)? d (t)) 2 : (4) t=1 After a series of (t) and the corresponding U(t) are produced, in the feedback mode, the gradient of the Utility with respect to system state is: @U(t) @X(t) = [(t)? d(t)] + [ _ (t)? _ d (t)] + [ (t)? d (t)]: This result is used by the Model network (F Model routine) to determine F u(t) = @U(t) @u(t) which is then used to determine @U(t) @W ij, the gradient of the utility with respect to the weight space. Basically, the idea is to change the output of the action network in the direction of F u(t) by adjusting its weights. 6

In our implementation, we found that the adaptation process is more robust if the weights of the Action network are adjusted through multiple iterations for the same F u(t) computed by the F Model routine. This is due to the fact that steepest descent, in general, takes multiple iterations to achieve a particular desired output. Therefore, in this example, we have modied the feedback mode of the owchart in Figure 3 to include an inner loop of iterations to adjust the internal weights of the Action network for a given F u(t) from the F Model routine. Figure 4 shows the modied feedback component. The choice of the value for the number of inner iteration, Max In depends on the problem. In this example, we have use both Max In = 1; 000 and 10; 000. Figure 5 plots the generated torque (t) = (t? 1) + (t) versus time where (t) is generated by the Action network. Note that at iteration one (Iter=1), the generated torque is far from the desired value. But through multiple iterations, the generated torque gradually converges to the desired value. The iteration number shown here corresponds to the number of outer iterations. Figure 6 plots the error of the generated torque with the desired value j d (t)? (t)j after approximately 5,000 iterations. From this graph, the maximum error is bounded by 0:02 Newtons. Again, unlike basic supervised control, the Backpropagation of Utility algorithm does not require the desired value d (t) be available to the Action network. They are used here only to illustrate the performance of the action network. These gures show clearly that the weights of the action network is adapting to generate a forecast of the desired control signals based solely on the feedback signals F u(t) from the F Model routine. 4 Parallel Implementation To improve the execution time, we explore parallel implementation of these algorithms. Both the basic and backpropagation through time algorithm (the building blocks of backpropagation of utility) can be parallelized by two techniques - node partitioning and pattern partitioning [8]. Node-partitioning implies that the entire network is partitioned among dierent processors, each computing for the whole set of training samples. Pattern-partitioning, on the other hand, partitions the training patterns among the processors with each one representing the entire network. Our preliminary investigation found that node-partition helps to reduce execution time only for large networks. In our example, both the Action and Model network only have 10 hidden nodes in each layer. For such small networks, the 7

communication overhead involved in node-partitioning actually slows down the overall execution time. We, therefore, consider only the pattern-partitioning scheme. In our implementation of the pattern partitioning scheme, training samples are equally divided among the number of processors. That is, for T training sets, and N p number of processors, each processor computes both the feedforward and the feedback components of the T p = T training samples. Np (We assume that N p divides T ). At the end of the backward loop, the weight changes computed based on the subset of the training samples of each processor are broadcasted. Once this information is received by all processors, the total weight changes F W ij are computed at every processor: XNp F W ij = F W ij (k) k=1 where F W ij (k) is the weight gradient of processor k computed based on its own subset of training samples. Upon obtaining the total weight gradient, delta-bar-delta rule is applied at all processors to update the weights which completes one iteration. A ow chart for the basic backpropagation with pattern partitioning in included in Figure 8. The case of backpropagation through time can be obtained in a similar manner [4]. Figure 7 plots the execution time per outer iteration versus dierent number of processors. The amount of inner iterations is Max In = 1; 000. (See Figures 3 and 4 for the denition of outer and inner iterations). We observe that, initially, the execution time decreases with increasing number of processors, but when the number of processors is greater than four, the execution time starts to increase. We attribute this phenomenon to the amount of communication among the processors when the samples are partitioned into too many processors. In particular, the local weight gradient (F W (k) for processor k, k = 1; : : :; N p processors) needs to be broadcasted to all before each Delta-Bar-Delta routine can be called (see owcharts in Figures 3 and 4). Because of our modied feedback mode, for each outer iteration, there are Max In = 1; 000 number of inner iterations. Each of this inner iteration requires each processor to broadcast its local weight gradient to all. In other words, eventually, the communication overhead associated with multiple processors will outweigh the advantages of parallel execution and the execution time per iteration starts to increase. To provide an approximate comparison of the performance of the pattern-partitioning scheme, we implemented the algorithm on dierent computer platforms (Intel Paragon; Sun Sprac II, and Sun Sparc LX) for the 1-D example in Section 3. For the single-processor machines (Sun Sparc II and LX), we 8

executed the compiler-optimized program only when a single-user is logged on. The execution time for one outer iteration with 1; 000 inner iterations are 10:2 sec, 43:7 sec, and 84:8 sec for the 4-node Paragon, Sun Sparc II, and Sun Sparc Lx, respectively. The 4-node Paragon implementation indeed gives the best performance. Furthermore, we believe as the size of the problem grows larger, say bigger network, more training samples, the advantages of parallel execution will be more pronounced and the dierence between multiple- and single-processor implementation will increase. 5 Conclusions Backpropagation of Utility is one of the methods for neuro-control. Its goal is to provide a series of control signals to maximize a utility function. Basically, the system is composed of three subnetworks, the Action network, Model network and the Utility network which sometimes can be represented as a simple Utility function. Each of these networks has the feedforward components Action, Model and Utility and the feedback components F Action, F Model and F Utility, respectively. The algorithm involves rst training of the Model network to emulate the dynamic system and later adaptation of the internal weights of the Action network to generate a series of control signals. Such adaptation involves interactions of the three networks and are best described in the ow chart of Figure 3. To further illustrate the algorithm, we use the algorithm to control a 1? D planar robot. We showed that the Action network is capable of generating a series of control signals that maximize the utility function. In short, backpropagation of utility is a simple neuro-control technique that uses a neural network (the Model network) to emulate the dynamic system and to provide proper feedback to adjust the weights of the Action network. It diers from supervised control in that the desired control signals are not needed in the feedback mode. However, the main drawback of the algorithm is its slow execution time. To alleviate this problem, we investigated parallel implementation of the algorithm on multiple processors of Intel's Paragon parallel computer. In conclusion, we believe that backpropagation of utility with parallel implementation is a powerful tool for neurocontrol or neuromodeling. References [1] D. Psaltis, A. Sideris, and A. Yamamura. \A Multilayered Neural Network Controller". IEEE Control Systems Magazine, pages 17{21, April 1988. [2] Paul J. Werbos. Neurocontrol and Supervised Learning: an Overview and Evaluation. In D.A. White and D.A. Sofge, editors, Handbook of Intelligent Control, pages 65{89. Van Nostrand Reinhold, 1992. 9

[3] Paul J. Werbos. \Backpropagation Through Time: What It Does and How to Do It". Proceedings of the IEEE, 78(10):1550{1560, October 1990. [4] K. W. Tang and Girish Pingle. Exploring Neuro-Control with Backpropagation of Utility. In Ohio Aerospace Institute Neural Network Symposium and Workshop, pages 107{137, Athens, Ohio, August 21-22 1995. [5] Robert A. Jacobs. \Increased Rates of Convergence Through Learning Rate Adaptation". Neural Networks, 1:295{307, 1988. [6] J. J. Craig. Introduction to Robotics, mechanics and Control. Addison-Wesley Publishing Co., New York, NY, 1986. [7] K. W. Tang and H-J Chen. A Comparative Study of Basic Backpropagation and Backpropagation Through Time Algorithms. Technical Report TR-700, State University of NY at Stony Brook, College of Engineering and Applied Sciences, November 1994. [8] V. Kumar, S. Shekhar, and M.B. Amin. \A Scalable Parallel Formulation of the Backpropagation Algorithm for Hypercubes and Related Architecture". IEEE Transactions on Parallel and Distributed Systems, 5(10):1073{1089, October 1994. X(t+1) System State Utility Function Action Network Control Signal u(t) e U u(t) e Model Network e e U(X(t+1)) U X(t) X (t) System State d Figure 1: A Backpropagation of Utility System τ L θ M Figure 2: A 1-D Planar Robot 10

S T A R T From feedforward mode I t e r > M a x for Iter = 1 to Max Initialization ++ I t e r feedback mode feedforward mode t < 1 for t =T to 1 -- t t > T for ( t=1 to t=t ) X d(t) ++ t F_Utility Action u (t) Model X (t+1) Utility F_X(t) F_Model F_u (t) F_Action Update F_W U ( X(t+1) ) feedback mode t < 1 for ( t=t to t=1 ) -- t In_Iter > Max_In Delta Bar Delta Rule to compute New W Set F_W=0 for ( In_Iter=1 to Max_In ) ++ In_Iter F_Utility F_X(t) F_Model F_u (t) For t=1 to T Call Action F_u (t) for t=t to 1 Call F_Action F_Action Update F_W Delta Bar Delta Rule to compute New W Delta Bar Delta Rule Set F_W=0 Exit Feedback Mode S T O P Figure 3: Adaptation of Action Network Figure 4: Modified Feedback Mode 1.2 1.1 1 0.9 Iter=1 Torque (Newton) 0.8 0.7 0.6 Desired Iter=1 Iter=400 Iter=600 Iter=2,000 Iter=2,000 Iter=400 Iter=600 0.5 0.4 0.3 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 time (second) Figure 5: Generated Torque at Different Iterations 11

0.1 35 τ d τ (Newton) 0.01 0.001 0.0001 Seconds/Iter 30 25 20 15 10 1e-05 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 Time (second) Figure 6: Errors in Control Signal 5 0 2 4 6 8 10 12 14 16 18 20 Number of Processors Figure 7: Execution Time for Backpropagation of Utility S T A R T Initialization Concurrent Computation on processor k=1 to Np Divide the T training samples among the Np processors, each having Tp = T/Np training samples I t e r > M a x for Iter = 1 to Max ++ I t e r t > Tp for t=1 to Tp ++ t Feedforward Computation t < 1 for t=tp to 1 -- t Feedback Computation Update F_W(k) at processor k Broadcast F_W (k) to all other processors Reset F_W (k)=0 Receive F_W (q), q = k from all other processors Np F_W = Σ F_W{k) k=1 Delta Bar Delta Rule S T O P Figure 8: Pattern Partitioning of Basic Backpropagation 12