# A New Method of Applying Data Engine Technology to Realize Neural Network Control
## 3 Research on DRNN Hybrid Controller Based on DE
### Algorithm and Configuration Component Integration  
#### 3.1.1 Basic Principle of DRNN Algorithm  
For complex process industry system, the controlled object is usually the more multiple input multiple output dynamic time-varying parameter system, it is difficult to establish an accurate mathematical model, at the same time, the precision of the conventional PID control method in nonlinear system control and decoupling control also make it difficult to achieve an ideal control effect. Neural network control technology, as a kind of intelligent control method, can fully approximate the unknown nonlinear dynamic behavior of an object, making up for the limitation of the conventional PID method. It is used to solve some difficult to the modeling of nonlinear system control problem. However, the multilayer forward neural network is a kind of static network, its application in the control system must first determine the model of object [23], for the system of unknown or little prior knowledge is inaccurate and affects the identification and control effect. The diagonal recurrent neural network has the internal feedback mechanism can be used to remember the dynamic response of the system, it can effectively improve the robustness and adaptability of the control system and improve the control performance of the system without knowing the detailed object knowledge in the system identification and control [24; 25; 26]. Figure 3: Graphical configuration environment (IAPlogic). There are three layers of the structure of the diagonal recursive neural network, namely the input layer, the hidden layer, and the output layer, and its structure is shown in Figure 4. The implicit layer consists of a recursive neuron that receives only its own internal feedback, unrelated to other neurons. This simplifies the network structure, reduces the need to adjust the parameters, and accelerates the convergence speed. For any discrete moment \(k\), \(I_{i}(k)\) is the \(i\)th input of the network. \(S_{j}(k)\) is the sum of the input of the implicit layer \(j\), \(X_{j}(k)\) is the output of the recursive neuron, and the \(j=2i+1\). \(O(k)\) is the output of the diagonal recursive neural network, \(W_{ij}^{l}\), \(W_{ij}^{0}\), and \(W_{ij}^{O}\) represent the weights of the input layer, the hidden layer, and the output layer. The dynamic equation of the diagonal recursive neural network is then given as  
\[\left\{ \begin{array}{c}O(k)=\sum\limits_{j}W_{j}^{O}X_{j}(k)\\ X_{j}(k)=f\Big{(}S_{j}(k)\Big{)}\\ S_{j}(k)=W_{j}^{0}X_{j}(k-1)+\sum\limits_{i}W_{ij}^{l}I_{i}(k)\end{array} \right. \tag{1}\]  
The sigmoid function \(f(x)\), is used as the squashing function for all neurons and defined as  
\[f(x)=\frac{1-e^{-x}}{1+e^{-x}} \tag{2}\]  
Information flows forward through the net from input to output. Note that as \(x\) tends to \(+\infty\), the value of \(f(x)\) tends to \(+1\), while as \(i\) tends to \(-\infty\), \(f(x)\) tends to \(-1\). When \(x\) is equal to 0 the value of \(f(x)\) is 0. As \(x\) tends to \(+\infty\) or \(-\infty\) the value of \(f(\dot{x})\) tends to 0, and when \(x\) is equal to 0 the value of \(\frac{df}{dx}\) is 0.5. The sigmoid function \(f(x)\) and its derivative function \(f(\dot{x})\), are shown in Figure 5 (painted by MATLAB R2015b, the MathWorks, Inc., Shanghai, China). The weights of \(W_{ij}^{l}\), \(W_{ij}^{D}\), and \(W_{ij}^{O}\) are iteratively updated by the output of the diagonal recursive neural network \(O(k)\)  
\[\left\{ \begin{array}{c}\frac{\partial O(k)}{\partial W_{j}^{D}}=X_{j}(k)\\ \frac{\partial O(k)}{\partial W_{j}^{D}}=W_{j}^{O}(k)P_{j}(k)\\ \frac{\partial O(k)}{\partial W_{ij}^{l}}=W_{j}^{O}(k)Q_{ij}(k)\end{array} \right. \tag{3}\]  
The structure of the control system of the diagonal recursive neural network is shown in Figure 6, and there are two diagonal recursive neural network structures in the system. One as an identifier called the diagonal recursive neural network identifier (DRNI), the other one is called the diagonal recursive neural network controller (DRNC).