Lyapunov-Based Dynamic Neural Network for Adaptive Control of Complex Systems ()
1. Introduction
For several decades, the problem of adaptive control of complex dynamic systems causes the interest of automation specialists. The use of Proportional-Integral-Derivative (PID) controllers is simple to perform, that give poor performance if there are uncertainties and nonlinearities in the system to be controlled. In several references like [1-3], neural networks are presented as tools to solve control problems due to their ability to model systems without analyzing them theoretically and their possessions a great capacity for generalization, which gives them a good robustness to noise [4].
Several strategies of the neural adaptive control exist which we quote: direct adaptive neural control, indirect adaptive neuronal control, adaptive neural internal model control, adaptive depth control based on feedforward neural networks, robust adaptive neural control, FeedbackLinearization based neural adaptive control, adaptive neural network model based nonlinear predictive control [5-13]. Each strategy has neural adaptive control architecture, the algorithms used during the calculation of the parameters and stability conditions. It has three types of neural adaptive control architectures. The first type of architecture consists of a neural controller and a system to be controlled. The second type of neural architecture includes a controller, a system to be controlled and his neural model. The third type of architecture is composed of a neuronal controller, one or more robustness filter, a system to be controlled and his neural model.
The adjustment of the model parameters and the controller is performed by neural learning algorithms that are based on the choice of the criterion to minimize, a minimization method and the theory of Lyapunov for stability and borniture of all signals existing. Several minimization methods exist which are presented: simple gradient method, gradient method with variable pitch, Newton method and Levenberg-Marquardt method [14].
The contribution of this paper is to propose an adaptive Lyapunov-Based control strategy for complex dynamic system. The control structure takes advantage of Artificial Neural Network (ANN) learning and generalization capabilities to achieve accurate speed tracking and estimation. ANN-Based controllers lack stability proofs in many control structure applications and tuning them in a cascaded control structure is a difficult task to undertake. Therefore, we proposed a Lyapunov stability-Based adaptation technique as an alternative to the conventional gradient-Based and heuristic tuning methods. Thus, the stability of the proposed approach is guaranteed by Lyapunov Stability direct method unlike many computational intelligenceBased controllers.
The different sections of this paper are organized as follows: in Section 2, we present the considered recurrent neural network and the proposed Lyapunov learning algorithm used for updating the weight parameters of the model system.
The proposed adaptive control approach training while a Lyapunov Stability-Based adaptation algorithm is detailed in Section 3. Numerical results are reported and discussed in Section 4, and a conclusion is drawn in Section 5.
2. Neural Network Modeling Approach
Neural network modeling of a system from samples affected by noise usually requires three steps. The first step is the choice of neural network architecture, that is to say, the number of neurons in the input layer which is a function of past values of the input and output, the number of hidden neurons, the number of neurons in the output layer neurons and the organization of them. The work [15,16] show that every continuous function can be approximated by a neural network with three layers, the activation functions of neurons are respectively the sigmoid function for hidden layer neurons and linear function for neurons in the output layer. There are two types of architectures of multilayer neural networks: neural networks, non-curly (static networks) and neural networks curly or recurrent (dynamic networks). Neural networks are non curly most used in the identification and control systems [17]. They may not be powerful enough to model complex dynamic systems with respect to neural networks curly. Different types of recurrent neural networks have been proposed and have been successfully applied in many fields [18-25]. The structure of fully connected recurrent neural networks which was proposed by Williams and Zipser [26], is most often used [27,28] because of its generality. The second step is learning or in other words, estimating the parameters of the network from examples of input-output system identification. The methods of learning are numerous and depend on several factors, including the choice of error function, the initialization of weights, and the selection of the learning algorithm and the stopping criteria of learning. Learning strategies were presented in several research works that we cite [29-31]. The third step is the validation of the neural network obtained using the testing criteria for measuring performance. Most of these tests require a data set that was not used in learning. Such a test set or validation should, if possible, cover the same range of operation given that all learning.
2.1. Architecture of the Recurrent Neural Network
In this work, we consider a recurrent neural network (Figure 1) for identification of complex dynamic systems to a single input and single output. The architecture of these networks is composed of two parts: a linear model the linear behavior of the system and a non-linear approach to nonlinear dynamics.
where:
is the output of the neural network at time,
and y are respectively the input and output system to identify,
and are the activation fun-
Figure 1. Architecture of the considered neural network.
ctions of neurons,
the number of neurons in the hidden layer respectively of the model and controllerThe coefficients of the vector of parameters of the neural modelare decomposed into 7 groups, formed respectively by:
the weights between neurons in the input layer and neurons in the hidden layer,
the bias of neurons in the hidden layer,
the weights between neurons in the hidden layer neurons and output layer,
the bias of neuron in the output layer,
the weights between neurons of input layer neurons and output layer,
the weights between neurons
in the hidden layer,
back weight of neuron in the output layer,
the outputs of the hidden layer of neural model,
number of neurons in the input layer.
(1)
The vector of parameters of the neural model is defined as:
(2)
The output of neural model is given by:
(3)
such as:
(4)
(5)
(6)
(7)
The neural model of the system can be expressed by the following expression:
(8)
2.2. Proposed Lyapunov-Base Learning Algorithms
Several Lyapunov stability-based ANN learning techniques are also proposed to insure the ANNs’ convergence and stability [32,33]. In this section we present three learning procedures of neural network.
Theorem 1. The learning procedure of a neural network can be given by the following equation:
(9)
such as:
(10)
(11)
is the Euclidean norm.
wang#title3_4:spProof:
Considering the following quadratic criterion:
(12)
(13)
(14)
The learning procedure is to adjust the coefficients of the neural networks considered by minimizing the criterion ; it is necessary to solve the equation:
(15)
therefore:
(16)
According to reference [34], the difference in error due to learning can be calculated by:
(17)
The term is then written as follows:
(18)
Therefore:
(19)
According to Equations (16) and (19), we can write:
(20)
The parameters, , are chosen so that the neural model of the system must be stable. In our case, the stability analysis is based on the famous Lyapunov approach [35]. It is well known that the purpose of identification is to have a zero gap between the output of the system and that of the neural model. Three Lyapunov candidate functions are proposed:
The first candidate Lyapunov function is defined by:
(21)
The function satisfies the following conditions:
is continuous and differentiable.
si .
, .
The neural model is stable in the sense of Lyapunov if or simply .
The term is given by the following equation:
(22)
From Equation (22), may be as follows:
(23)
From the above equations, we obtain:
(24)
like:
(25)
The proposed neural model is stable in the sense of Lyapunov if and only if:
(26)
noting that:
(27)
Therefore, we will have:
(28)
The stability condition becomes:
(29)
The second candidate Lyapunov function is:
(30)
Given that:
(31)
Using Equations (19) and (20), the above relation becomes:
(32)
Then the second stability condition is:
(33)
The third and last candidate Lyapunov function is:
(34)
The term is as follows:
(35)
The third stability condition is:
(36)
therefore:
(37)
To meet the three conditions of stability of Lyapunov candidate functions proposed parameters, and must verify:
(38)
(39)
then:
(40)
Theorem 2. The parameters of the neural network can be adjusted using the following equation:
(41)
Proof:
Using the following Lyapunov function:
(42)
The learning procedure of the neural network is stable if:
(43)
Using the above equation, we can write:
(44)
such as
therefore:
(45)
For Equation (45) has a unique solution requires that:
(46)
then:
(47)
The term can be written as follows:
(48)
For a very small variation, we can write Equation (48):
(49)
therefore:
(50)
Theorem 3. The updating of the neural network parameters can be made by the following equation:
(51)
with:
Proof:
From Equations (14) and (41), we can write:
(52)
The choice of initial synaptic weights and biases can affect the speed of convergence of the learning algorithm of the neural network [36-47]. According to [48], the weights can be initialized by a random number generator with a uniform distribution between and or a normal distribution .
For weights with uniform distribution:
(53)
For weight with a normal distribution:
(54)
where:
2.3. Organizational of the Learning Algorithm of Neural Model
The proposed Lyapunov-Based used to training dynamic model of the system is presented by the flowchart in Figure 2, reads as follows:
Step 1:
We fix the desired square error , the parameters , the number of samples , the maximum number of iterations, the number of neurons in the first hidden layer .
The weights are initialized by a random number generator with a normal distribution between and .
where:
(55)
(56)
Initialize:
- the output of the neural network
(57)
- the vector of outputs of the hidden layer:
(58)
- the vector potentials of neurons in the hidden layer:
(59)
- the input vector of the neural network:
(60)
Step 2:
initialize:
(61)
(62)
(63)
(64)
Step 3:
Consider an input vector network
and the desired value for output.
Step 4:
Calculate the output of the neural network .
Step 5:
Calculate the difference between the system output and the model .
Step 6:
Calculate the square error .
Step 7:
Adjust the vector of network parameters using one of the three following relations:
(65)
(66)
with
(67)
with
Step 8:
If the number of iterations or , proceed to Step 9.
Otherwise, increment i and return to Step 4.
Step 9:
Save:
- the weights of the network at time :
Figure 2. Flowchart of the learning algorithm of the neural network.
(68)
- the output of the neural network:
(69)
- the vector of outputs of the hidden layer:
(70)
- the vector potentials of neurons in the hidden layer:
(71)
Step 10:
If , proceed to Step11.
Otherwise, incrementand return to Step 2.
Step 11:
Stop learning.
The flowchart of this algorithm is given in Figure 2.
2.4. Validation Tests of the Neuronal Model
The neuronal model obtained from the estimation of its parameters is valid strictly used for the experiment. So check it is compatible with other forms of input in order to properly represent the system operation to identify. Most static tests of model validation are based on the criterion of Nash, on the auto-correlation of residuals, based on cross-correlation between residues and other inputs to the system. According to [49], the Nash criterion is given by the following equation:
(72)
N is the number of samples.
In [50-52], the correlation functions are:
- autocorrelation function of residuals:
(73)
- crosscorrelation function between the residuals and the previous entries:
(74)
Ideally, if the model is validated, the results of correlation tests and the Nash criterion following results:
, and.
Typically, we verify that and the functions are null for the interval with a confidence interval 95%, that is to say that:
.
3. Adaptive Control of Complex Dynamic Systems
In this section, we propose a structure of neural adaptive control of a complex dynamic system and three learning algorithms of a neuronal controller.
3.1. Structure of the Proposed Adaptive Control
In this work, the architecture of the proposed adaptive control is given in Figure 3.
The considered neural network is first trained off-line to learn the inverse dynamics of the considered system from the input-output data. The model following adaptive control approach is performed after the training process is achieved. The proposed Lyapunov-Base training algorithm is used to adjust the considered neural network weights so that the neural model output follows the desired one.
3.2. Learning Algorithms of Neural Controller
Three learning algorithms of the neural controller are proposed.
Theorem 4. Learning the neuronal controller may be effected by the following equation:
(75)
with:
(76)
(77)
is the reference signal.
(78)
Figure 3. Structure of the proposed adaptive control.
are the weight of the neuronal controller.
Proof:
The control system consists of using an optimization digital non-linear algorithm to minimize the following criterion:
(79)
with:
(80)
(81)
(82)
(83)
(84)
(85)
(86)
(87)
The minimum of criterion is reached when:
(88)
The solution of Equation (88) calculates the weight of the neuronal controller as follows:
(89)
The term defined by:
(90)
therefore:
(91)
Using the above equations, the relationship giving the vector minimizing the criterion can be written as follows:
(92)
It is necessary to check the stability of this procedure to adjust the weight of the correction before applying. In this case, the candidate Lyapunov function may be as follows:
(93)
According to Equation (32), the term is written as follows:
(94)
For the procedure to adjust the parameters of the controller is stable, it must:
(95)
then:
(96)
The second condition for stability is obtained by the following Lyapunov function:
(97)
From the Equation (35), we can write:
(98)
The learning algorithm parameters of the controller are stable if:
(99)
Using the following Lyapunov function:
(100)
The adjustment procedure is stable if the parameters:
(101)
The third stability condition is:
(102)
Assuming:
(103)
(104)
Therefore:
(105)
The fourth condition for stability is obtained by the following Lyapunov function:
(106)
The term is as follows:
(107)
For the learning algorithm is stable, it must:
(108)
therefore:
(109)
According to Equations (96), (105) and (109), we can write:
(110)
The stability conditions can be so:
(111)
The term is calculated by the following equations:
(112)
(113)
(114)
Theorem 5. The procedure for adjusting the parameters of neuronal controller can be described by the following equation:
(115)
Proof:
From the following Lyapunov function:
(116)
The procedure for adjusting the parameters of the neuronal controller is stable if:
(117)
such as:
Equation (117) becomes:
(118)
If the above equation has a unique solution, the term is as follows:
(119)
The equation for adjusting the parameters of the neuronal controller can be written:
(120)
therefore:
(121)
Theorem 6. The procedure for adjusting controller parameters can be made by the following equation:
(122)
Proof:
Using the Equation (121), we may write:
(123)
Flowchart of the learning algorithm of the neural controller Once the modeling phase is completed, the calculation of parameters of neuronal controller is carried through the following steps:
Step 1:
We fix the desired square error , the parameters , the number of samples N, the maximum number of iterations , the number of neurons in the hidden layer .
The weightsare initialized by a random number generator with a normal distribution between and .
where:
(124)
with:
(125)
Step 2:
Initialize:
(126)
(127)
(128)
(129)
Step 3:
Consider an input vector of the network
and the reference signal.
Step 4:
Calculate the output of the neuronal controller .
Step 5:
Calculate the output of the neural model .
Step 6:
Calculating the difference between the reference signal and the output of neural model .
Step 7:
Calculate the square error .
Step 8:
Adjust the vector of network parameters using one of the three following relations:
(130)
(131)
with, ,
(132)
Step 9:
If the number of iterations or , proceed to Step 10.
Otherwise, incrementand return to Step 4.
Step 10:
Save:
- the weights of the network at time :
(133)
- the output of the neuronal controller:
(134)
- the vector of outputs of the hidden layer:
(135)
- the vector potentials of neurons in the hidden layer:
(136)
Step 11:
If , proceed to Step 12.
Otherwise, increment and return to Step 2.
Step 12:
Stop Learning.
These steps are represented by the following flowchart, Figure 4.
4. Numerical Results and Discussion
Let consider the nonlinear system described by the following equation of state:
(137)
Figure 4. Flowchart of the proposed Lyapunov-Base learning algorithm of the controller neural network.
with:
and are respectively the input and output system.
is a noise such as .
The Figure 5 shows the evolution of system parameters
(,and).
The sequences of input and output those used to calculate the parameters of the neural model are shown in Figure 6. These sequences show the system response to
(a)(b)(c)
Figure 5. Evolution of the system parameters: (a) parameter η; (b) parameter τ; (c) parameter μ.
(a)(b)
Figure 6. Training data-pattern: (a) input sequences; (b) output sequences.
(a)(b)
Figure 7. Validation tests of the model: (a) Auto-correlation of residuals; (b) Cross correlation function between input and output residues.
Table 1. Values of the Nash criterion of candidate neural models using Theorem 1 with (λ = 1, β = γ = 2).
Table 2. Values of the Nash criterion of candidate neural models using Theorem 2.
Table 3. Values of the Nash criterion of candidate neural models using Theorem 3 (α = 0.7).
a random signal of zero mean and variance 1.
The evolution of the Nash criterion of different candidate models of the system (Tables 1-3) can be concluded that, , , , , 8 neurons in the hidden layer use of Theorem 3 for the learning phase, is necessary and sufficient for a neuronal model of a satisfactory precision.
The autocorrelation functions of residuals and crosscorrelation between input and residuals (Figure 7) are within the confidence intervals, thus validating the use of the network chosen as a model of the system studied.
After the learning phase of the neuronal model completed, the structure proposed of neural adaptive control is applied to the system. In this case, the learning algorithm of the neural controller uses Theorem 6. The results are presented in Figures 8, 9 and 10. It appears from these figures that this control strategy provides satisfactory results. Indeed, the system follows the reference signal appropriately by responding to the objectives: rejection of disturbances, the control performance, robustness and system stability.
5. Conclusion
In this paper, we have proposed adaptive control structure for a complex dynamic system using a recurrent neural network. Before, the application of the proposed adaptive neuro control, the recurrent neural has been trained off-line to implement the inverse dynamic of the considered system using a proposed Lyapunov-Base system training algorithm. The simulation results obtained show the effectiveness of the recurrent neural network structure and its adaptation algorithm to simulate the inverse dynamics of the system, and to control it in closed loop with good tracking performance.
Appendixs
The calculation of the term is performed by the following equations:
for the neuron in the output layer:
(138)
(139)
(140)
(141)
(142)
(143)
(144)
(145)
for a neuron in the hidden layer:
(146)
(147)
(148)
(149)
(150)
(151)
(152)
(153)
(154)
From the above equations, we can write:
(155)
(156)
It was therefore:
(157)
(158)
(159)
(160)
(161)
(162)
(163)