## 3 ANN Architectures and Training Algorithms
### Recurrent and Feedback Networks  
A recurrent neural network is a type of ANN where network nodes may have a directed connection. A typical example of this is that either the network's hidden node activation values or network output values are fed back into the network input nodes. These types of networks are good at characterizing process temporal dynamics. Examples of simple recurrent networks are Elman and Jordan networks [62, 63]. MLP networks are good for mapping the static relationship of process input and output: x \(\rightarrow\) y. They have been used for identification of dynamic systems [64, 65]. However, they require a large number of input nodes which may result in long computing time and being affected by external noise [66]. Recurrent neural networks have been attracted in the field of dynamic system identification since they can avoid the problems MLP networks have [67-69]. Figure 2: RBF network structure. In time series analysis, ANNs can establish AR (AutoRegressive) function map between process input and output: {y(t-i) | i = 1, 2,..., p} \(\rightarrow\) y(t). In process modeling and control, ANNs can help establish ARX (AutoRegressive with eXogenous input) function map of process input and output: {y(t - i), x(t - j) | i = 1, 2,..., p; j = 1, 2,..., q} \(\rightarrow\) y(t) where p and q are the orders of time lags of y and x, respectively. Figure 3 shows a network structure to map the dynamic process input/output relationship with the ARX function map. Internally, this network is identical to a MLP. Externally, it feeds back the network output back to the network input with a lagged time shift. This network is named External Recurrent Neural Network (ERNN) [70]. Obviously, training of this network should be different from standard BP. Around the network, y(t - i) is a time-delayed output from the network itself. This network model is determined as a specific form of time-lag recurrent networks [4]. For the time-lag recurrent networks with only one recurrent connection, i.e. i = 1, a number of training algorithms have been proposed [71-73]. Among the proposed algorithms, the BP Through Time (BPTT) is able to be modified for multiple recurrent connections, i.e. i \(>\) 1 using ordered derivatives from [PERSON]'s derivation of the BP algorithm [44]. When the external feedback signal y(t) replaces the input of the network, the change of weights will affect y(t + 1) and thus y(t + 1) all the way to y(N) where T is the length of the data. Thus, the gradient computation has to account for this chaining from t = 0 to t = N. The input layer at time t+1 can be considered as a part of the 3 rd layer of the network at time t. When calculating the error of the output layer at time t, it is necessary to calculate the error for the input nodes at time t + 1 up to t + p, all of which are connected to the corresponding output node at time t. In the regular BP algorithm, the error term for the network nodes propagates the required information all the way from t = N back to the current time instant. This is what the BPTT signifies. Based on [PERSON]'s work [44], a modified BPTT algorithm was derived for the ERNN [74] as described above. This modified algorithm was used for training over the whole trajectory of the training data. The maximum number of prediction steps is equal to the total number of observations. In controller design, the prediction steps would be much smaller. In order to solve this problem, the network can be trained to do shorter prediction with the modified training algorithm [74]. The modified training algorithm is still BPTT, but at each time instant the error term is propagated from the specified prediction step t + L (L \(<<\) N) back to the current time instant t. This work resulted in an ERNN-based multiple-step-ahead prediction for process controller design [70]:  
\[