![]() |
Fusion of Neural Networks, Fuzzy Systems and Genetic Algorithms: Industrial Applications
by Lakhmi C. Jain; N.M. Martin CRC Press, CRC Press LLC ISBN: 0849398045 Pub Date: 11/01/98 |
Previous | Table of Contents | Next |
Once the optimal set of inputs and outputs has been identified, the next step is to collect sample input and output data to train the neural net. As mentioned earlier, various methods exist to collect the training data. For this application, the training data was collected by measurements.
NeuFuz requires several training parameters to be set before training. These parameters are error (convergence) criterion, learning rate, and number of membership functions. Convergence criterion, epsilon, is the maximum allowable deviation of the neural network outputs from the output specified in the training data set. Learning rate determines the rate at which the neural net weights will change during the training process. These parameters can have significant effect on the final system solution. The learning rate and epsilon can be changed during the training process. The network converges when the neural net learns to produce outputs within the specified error range for all training patterns. Unlike conventional approaches, this approach allows the designer to preset the desired level of accuracy. The number of membership functions chosen affects the level of accuracy achievable by the neural net. In general, with more membership functions, a better level of accuracy is achieved at the expense of larger code and slower response time.
In this design, six membership functions were used for each input. The neural network generated nonlinear (exponential) membership functions which were approximated using shouldered trapezoidal membership functions using NeuFuzs function-editing feature [19]. This approximation allows a cost-effective implementation of the fuzzy solution on a low-cost microcontroller.
The generated solution was evaluated using the rule evaluation feature of NeuFuz. Accuracy of the solution was acceptable for the entire range of operation. The rule optimization feature of NeuFuz was used to reduce the number of rules by deleting rules whose contributions were insignificant. In this particular case, the optimizer did not delete any rules without significantly degrading the accuracy level. Hence all the generated rules (36 in total) were used.
Several tests were performed to evaluate the performance of the NeuFuz based fuzzy controller and the PID controller. Results are summarized in Figure 10. These tests show that the NeuFuz controller has reduced overshoots and settling time at start up, while maintaining approximately the same rise time. Both controllers produce zero steady state error. However, when load is changed (not shown in the figure), NeuFuz produces considerably less error than the PID approach. The time domain equation for the motor-generator-load is
y(t)= 1 - 1.25e-1.1t +0.25e-6.9t
The s-domain transfer function for the PID solution is based on this equation.
The key problem in a toaster control is to maintain the desired darkness level for variations in moisture content, types of bread, size of bread and initial temperature. Most conventional toasters use a pre-programmed timer to determine the length of time its coils will be heated. This approach cannot modify the heating time depending on the initial temperature of the toaster. The result is toast with varying degrees of darkness even if the darkness setting is unchanged.
Figure 11 shows the control structure of a toaster controller [18]. In this figure C is the controller and T is the toaster. For any darkness setting, the controller will generate an output that will be used by the toaster to control the heat applied to the slice of bread. The heat applied to the bread can be calculated from the instantaneous temperature of the toaster. This is then fed back to the controller. Based on the darkness setting and how much heat has been applied, the controller decides how much more heat is required and generates appropriate inputs to the toaster. In this example, C can be a PID, neural controller, fuzzy controller, or a neural fuzzy (e.g., NeuFuz) controller. The hardware structure is shown in Figure 12.
Figure 10 Plots of the response of the NeuFuz and PID controllers for a desired speed of 1000 rpm.
Figure 11 Control structure for a toaster.
Figure 12 Block diagram fort the hardware.
There are several variables that determine the darkness of the toast. For example, moisture content of the bread, darkness setting, initial temperature of the toaster, bread size, type of bread, etc. For simplicity, the initial temperature of the toaster and the darkness setting were varied while the other variables were kept constant.
The NeuFuz based solution uses 52 rules and 2, 4, and 7 membership functions for darkness setting, initial temperature and energy-to-be-applied inputs, respectively. The solution provides the desired darkness level. The assembly language code for the fuzzy logic module requires approximately 1K bytes of memory. Some additional memory is required for the code to read temperature, calculate energy, and control toaster output.
Speech recognition, perception, and understanding have been active research fields since the 1950s. Over the years many technological innovations have boosted the level of performance. However, for more and more difficult tasks the performance currently achieved by state-of-the-art systems is not yet at the level of a mature technology [2], mainly because of the complexity of tasks, especially considering continuous speech and any simple speech under a noisy environment. The dominant technology, today, is hidden Markow model (HMM) and some combinations of HMM and Neural net [16, 2] which have shown better performance than HMM itself. This is believed to be the right trend for medium and large vocabulary systems. For small vocabulary systems, HMM implementation is not usually cost effective and hence researchers started exploring fuzzy logic and neural fuzzy approaches [5, 13]. In [13], Recurrent Fuzzy Logic (RFL) based on Recurrent Neural Fuzzy System (RNFS) is used to do the word recognition. Below is a brief description of this RNFS based small vocabulary speech recognition system.
Previous | Table of Contents | Next |