Introduction to Neural Network Control
Neural networks represent a branch of artificial intelligence modeled on the human brain's structure and function. Neural network control, in particular, is a field that has gained significant attention for its potential to enhance the performance of power electronic systems. In this context, neural networks serve as powerful tools for modeling and controlling nonlinear and complex systems, especially where traditional linear control strategies may fall short.
Neural network control strategies are, in essence, computational models inspired by biological neural networks. These models learn from observational data and can improve their performance through learning or training. They can approximate any nonlinear function to a high degree of accuracy, making them ideal for tackling the nonlinearities often associated with power electronic systems.
This chapter will delve into artificial neural networks (ANNs) fundamentals, discuss various training algorithms, and explore how neural network control can be effectively implemented in power electronic systems. We will weigh the advantages and disadvantages of this control strategy and examine its applications within the realm of power electronics. The goal is to provide a comprehensive understanding of neural network control's potential in optimizing the performance of power electronic systems.
Artificial Neural Networks (ANNs)
Artificial Neural Networks (ANNs) are computing systems inspired by the neural networks constituting animal brains, including our own. The structure of an ANN is based on interconnected nodes or "neurons", similar to the biological neurons in our brain. These systems learn from experience, improve their performance through training, and possess the ability to model and control complex, nonlinear systems.
A typical ANN consists of three types of layers: an input layer, one or more hidden layers, and an output layer. Each layer is made up of several interconnected nodes or neurons. Each neuron in a layer is connected to every neuron in the subsequent layer through links or weights, the key learning parameters in ANNs. These weights are tuned during training to minimize the difference between the network's predicted and actual output.
The fundamental unit of an ANN, the artificial neuron, is a computational model designed to simulate the neurons in the human brain. The artificial neuron receives one or more inputs, multiplies each input by a weight, sums them up, adds a bias, and then passes the result through a nonlinear activation function to produce an output. The goal of introducing the so-called bias element, which is independent of the output from the processing elements of the previous layer, is a significantly faster convergence of the value obtained at the output of the neural network towards the corresponding desired value (moreover, in some cases this convergence is impossible if bias elements are not introduced). The activation function introduces the nonlinearity that allows ANNs to approximate complex functions.
ANNs can be categorized into different types based on their architecture, including feedforward neural networks, recurrent neural networks (RNNs), convolutional neural networks (CNNs), and many more. Feedforward neural networks, where information moves in one direction from the input layer to the output layer, are commonly used in power electronic systems.
Training Algorithms for ANNs
Training algorithms are crucial in effectively operating artificial neural networks (ANNs). They adjust the weights and biases of the ANN to minimize the error between the network's output and the desired output, thereby optimizing its performance. The selection of a suitable training algorithm depends on the specific application, the complexity of the ANN, and the type of data to be processed.
Backpropagation: Perhaps the most widely used training algorithm, backpropagation utilizes a gradient descent method to adjust the weights and biases in the network. It propagates the error from the output layer to the hidden layers and adjusts the weights accordingly. Despite its computational intensity, backpropagation is favored for its effectiveness in training deep neural networks.
Figure 2 shows a neural network that receives two input values and produces two output data. Also, this neural network contains one hidden layer with two processing elements.

Figure 2: Structure of a simple feedforward neural network
In order to make the calculation as simple as possible, let's assume that the bias elements have constant values, equal to b1 and b2 respectively. It is accepted that all the activation functions, on the basis of which the output value of the processing elements in the hidden and output layers is determined, are of the form of a unipolar sigmoid function. Let the initial values of the weight coefficients be equal to w1(1), w2(1), ..., w8(1). The goal is to determine the values of these weighting coefficients after one backpropagation of the error: w1(2), w2(2), ..., w8(2).
The values that come to the input to the processing elements of the hidden layer are:
$$h_1^{\text{in}} = x_1 \cdot w_1^{(1)} + x_2 \cdot w_2^{(1)} + b_1$$ $$h_2^{\text{in}} = x_1 \cdot w_3^{(1)} + x_2 \cdot w_4^{(1)} + b_1$$Based on the values obtained using expressions above, taking into account that the activation function is in the form of a unipolar sigmoid function, the values at the output of the processing elements of the hidden layer are determined by:
$$h_1^{\text{out}} = \frac{1}{1 + e^{-\lambda h_1^{\text{in}}} }$$ $$h_2^{\text{out}} = \frac{1}{1 + e^{-\lambda h_2^{\text{in}}} }$$The values that come to the input to the processing elements of the output layer are:
$$y_1^{\text{in}} = h_1^{\text{out}} \cdot w_5^{(1)} + h_2^{\text{out}} \cdot w_6^{(1)} + b_2$$ $$y_2^{\text{in}} = h_1^{\text{out}} \cdot w_7^{(1)} + h_2^{\text{out}} \cdot w_8^{(1)} + b_2$$Finally, the output values from the processing elements of the output layer are:
$$y_1^{\text{out}} = \frac{1}{1+e^{-\lambda y_1^{\text{in}}}}$$ $$y_2^{\text{out}} = \frac{1}{1+e^{-\lambda y_2^{\text{in}}}}$$As the goal of this neural network training algorithm is to minimize the difference between the desired and estimated network outputs, a criterion training function (error function) is introduced which, after propagating the input vector X=[x1 x2] through the neural network, determines how close the network output is desired output:
$$E_{\text{total}} = \frac{1}{2} \sum_{n=1}^{N} \left(T_n - y_n^{\text{out}}\right)^2$$where Tn indicates the desired values, and N the total number of outputs from the neural network.
If it is assumed that the expected (desired) values at the output of the neural network are T1 and T2, then the error function is determined by:
$$E_{\text{total}} = E_1 + E_2 = \frac{1}{2} \left(T_1 - y_1^{\text{out}}\right)^2 + \frac{1}{2} \left(T_2 - y_2^{\text{out}}\right)^2$$Now, the weighting coefficients are recalculated by propagating the total error backward. First, the calculation of the new values of the coefficients w5,…, w8 will be performed.
The estimation error of the weighting coefficient w5 is:
$$w_5^{\text{error}} = \frac{\partial E_{\text{total}}}{\partial w_5}$$Since the total error Etotal is not a function of the weight coefficient w5, the partial derivative given in expression above will be determined as follows:
$$w_5^{\text{error}} = \frac{\partial E_{\text{total}}}{\partial w_5} = \frac{\partial E_{\text{total}}}{\partial y_1^{\text{out}}} \cdot \frac{\partial y_1^{\text{out}}}{\partial y_1^{\text{in}}} \cdot \frac{\partial y_1^{\text{in}}}{\partial w_5}$$The value of the weighting coefficient w5 after one backward error propagation is equal to:
$$w_5^{(2)} = w_5^{(1)} - \eta \cdot w_5^{\text{error}}$$The parameter η is the so-called training coefficient, the value of which can be selected in the range (0,1).
The new values of the weight coefficients w6, w7 and w8 are calculated in a similar way.
Now the new values of the coefficients w1, …, w4 are calculated.
The error of estimation of weight coefficient w1 is:
$$w_1^{\text{error}} = \frac{\partial E_{\text{total}}}{\partial w_1}$$Again, since the total error Etotal is not a function of the weight coefficient w1, the partial derivative given in expression above will be determined as follows:
$$w_1^{\text{error}} = \frac{\partial E_{\text{total}}}{\partial w_1} = \frac{\partial E_{\text{total}}}{\partial h_1^{\text{out}}} \cdot \frac{\partial h_1^{\text{out}}}{\partial h_1^{\text{in}}} \cdot \frac{\partial h_1^{\text{in}}}{\partial w_1}$$ $$\frac{\partial E_{\text{total}}}{\partial h_1^{\text{out}}} = \frac{\partial E_1}{\partial y_1^{\text{out}}} \frac{\partial y_1^{\text{out}}}{\partial y_1^{\text{in}}} \frac{\partial y_1^{\text{in}}}{\partial h_1^{\text{out}}} + \frac{\partial E_2}{\partial y_2^{\text{out}}} \frac{\partial y_2^{\text{out}}}{\partial y_2^{\text{in}}} \frac{\partial y_2^{\text{in}}}{\partial h_1^{\text{out}}}$$The value of the weighting coefficient w1 after one backward error propagation is equal to:
$$w_1^{(2)} = w_1^{(1)} - \eta \cdot w_1^{\text{error}}$$The principle of determining the value of the weighting coefficients w2 , w3 and w4 after one backward error propagation is analogous to the described principle of determining the new value of the weighting coefficient w1.
Stochastic Gradient Descent (SGD): SGD is a variant of the gradient descent algorithm that updates the weights using a single training example at each iteration. While this approach can lead to a more erratic convergence, it is computationally efficient and enables training on large datasets.
Levenberg-Marquardt Algorithm: The Levenberg-Marquardt algorithm is a modification of Newton's method and is often used for training small to medium-sized ANNs. It offers a balanced compromise between the speed of convergence and computational load.
Conjugate Gradient Algorithms: Conjugate gradient algorithms are iterative methods used to solve the system of linear equations involved in the training process. They converge faster than gradient descent methods, especially for large-scale problems.
Evolutionary Algorithms: Evolutionary algorithms, such as genetic algorithms and particle swarm optimization, use mechanisms inspired by biological evolution to optimize the weights in an ANN. These are population-based, stochastic search procedures that can explore a large solution space, making them suitable for complex, multimodal problems.
It should be noted that each algorithm has its strengths and weaknesses, and the choice of the algorithm should be based on the application's specific requirements. The chosen algorithm must strike a balance between training speed, accuracy, and the ability to avoid local minima. The training process is a vital aspect of implementing neural network control in power electronic systems, as the effectiveness of the ANN in controlling the system largely depends on how well it has been trained.
Implementation of Neural Network Control in Power Electronic Systems
Neural network control implementation in power electronic systems entails designing and applying artificial neural networks (ANNs) to manage various system elements. The implementation process follows a series of steps: system identification, network design, training, validation, and real-time implementation.
System Identification: The initial step in implementing neural network control involves identifying the system's dynamics. The system's input-output data are collected under different operating conditions. This data will serve as the training and testing dataset for the ANN.
Network Design: After system identification, the next step is to design the ANN architecture suitable for the application. This involves determining the number of layers in the network, the number of neurons in each layer, and the activation function for each neuron. The choice of these parameters depends on the complexity of the system and the type of control required.
Training: Once the network is designed, it is trained using the system's input-output data. This involves adjusting the weights and biases in the network using one of the training algorithms discussed in the previous section.
Validation: After training, the ANN's performance is validated using a separate set of data not used during training. This step is crucial to ensure the trained ANN can generalize its learning to new, unseen data.
Real-Time Implementation: The final step is the real-time implementation of the trained ANN controller in the power electronic system. This involves using the ANN to generate control signals based on the system's current state. It's worth noting that implementing the ANN controller requires powerful computational resources due to the complexity and real-time constraints of power electronic systems.
Neural network control has been successfully implemented in various power electronic systems, such as inverters, converters, drives, and power systems. Its ability to handle non-linearity, uncertainty, and time-variant characteristics makes it a promising control strategy for complex power electronic systems. However, the success of neural network control in a power electronic system largely depends on the accurate identification of the system, effective training of the ANN, and its proper real-time implementation.
Advantages and Disadvantages of Neural Network Control
Neural Network Control in power electronic systems presents a unique set of advantages and disadvantages that make it a compelling area of study but also one that requires careful consideration.
Advantages
Adaptability and Learning Ability: Neural networks can learn and adapt from the data they are trained on. This learning capability enables them to model complex nonlinear relationships without explicit mathematical equations, making them highly adaptable to various control problems in power electronics.
Tolerance to Nonlinearity and Uncertainty: Power electronic systems often exhibit nonlinear behavior and uncertainties. ANNs can effectively handle these nonlinearities and uncertainties, offering robust performance in varying operating conditions.
Parallel Processing: Neural networks process information in parallel, which leads to faster response times. This is especially useful in power electronic systems where real-time control is crucial.
Disadvantages
Difficulty in Design and Training: Designing and training neural networks can be complex. Selecting the appropriate network architecture, learning algorithm, and hyperparameters requires expertise and extensive experimentation.
Overfitting: Neural networks, especially those with many parameters, can overfit the training data. This means they perform exceptionally well on the training data but fail to generalize to unseen data. Techniques such as regularization and early stopping are often employed to mitigate this issue.
Lack of Transparency: Neural networks are often described as "black boxes", as it's difficult to interpret how they make decisions. This lack of transparency can be a disadvantage in applications where explainability is important.
Computational Demands: Neural networks, particularly deep neural networks, require significant computational resources for training and inference. This can be a limitation in resource-constrained environments.
Given these advantages and disadvantages, it's clear that while neural network control offers promising potential for power electronic systems, careful consideration and expert knowledge are needed to implement and leverage these methods effectively. As research continues in this area, new techniques and strategies are being developed to mitigate the disadvantages and further enhance the strengths of neural network control.
Applications of Neural Network Control in Power Electronics
The robustness, adaptability, and learning ability of neural networks have led to their application in various aspects of power electronics. The ability of neural networks to handle nonlinearity and uncertainty makes them particularly suited for controlling and optimizing power electronic systems. Below are a few key applications:
DC-DC Converters: Neural network control has been implemented in DC-DC converters for achieving high efficiency and stability under various operating conditions. The ANN can be trained to handle the converter's nonlinear characteristics and uncertainties, resulting in improved dynamic response and reduced overshoot and settling times.
Inverter Control: Neural networks have been used to control inverters to improve output voltage quality and current waveforms. Techniques like the sinusoidal pulse-width modulation (SPWM), used in inverter control, can be efficiently realized using neural networks, reducing total harmonic distortion (THD).
Electric Motor Drives: Neural network controllers can effectively deal with the nonlinearity of electric motor drives. For instance, in induction motor drives, neural networks can be used for direct torque control or vector control, resulting in improved performance and energy efficiency.
Power Quality Improvement: Neural networks have found applications in active power filters and dynamic voltage restorers for power quality improvement. They are employed to accurately identify and compensate for harmonic distortion and voltage sags or swells in the power system.
Renewable Energy Systems: In renewable energy systems, like solar photovoltaic (PV) and wind energy systems, neural networks are used for maximum power point tracking (MPPT), forecasting, and system optimization. This results in improved energy capture and overall system efficiency.
Battery Management Systems: In battery management systems, neural networks are used for accurate state-of-charge (SoC) and state-of-health (SoH) estimation. This leads to better battery utilization and longer lifespan.
These applications highlight the versatility and effectiveness of neural network control in power electronics. As research progresses, neural networks are expected to be increasingly utilized in more complex and wide-ranging power electronic applications.
直接登录
创建新帐号