Applications of A Fuzzy-Logic-Controlled Neural Network

advertisement
Applications of A Fuzzy-Logic-Controlled Neural Network:
Optimization of Training and Performance
Shu-Fai Au and Patricia A. Nava, Ph.D.
Department of Electrical and Computer Engineering
University of Texas at El Paso
El Paso, TX 79968
Voice: (915) 747-5994
Fax: (915) 747-7871
Email: fau@ece.utep.edu
Email: pnava@ece.utep.edu
ABSTRACT: One major problem in the use of
neural networks is the long training time. The purpose of this paper is to demonstrate the optimization of training that occurs with the application of
fuzzy logic controller theory to neural networks.
The resulting fuzzy-logic-controlled neural network (FLCNN) exhibits a significant cut in the
training period. A fuzzy logic system (FLS) is employed to control the learning parameters of a neural network (NN) to reduce the possibility of overshooting during the learning process. Hence, the
learning time of the neural network can be shortened. This paper compares the training efficiency
and accuracy between a NN and a FLCNN, when
they are required to carry out the same assignment.
In one application, the training time is reduced by
30%.
1. INTRODUCTION
Neural networks have been proven to be very
efficient at handling a wide range of engineering
applications [1]. The use of neural networks is
enticing because a solution is obtained by allowing
the network to “learn” instead of designing a solution. A formal training procedure is required by the
neural network in order to learn.
One supervised training procedure, the backpropagation algorithm, has become one of the most
widely used procedures due to its simple mathematical operation. However, the back-propagation
algorithm has a major drawback: a long period of
training time. That is, for any given problem, the
network must have many solved examples presented repeatedly during the learning procedure before
the network learns the data with an acceptable degree of accuracy. Therefore, the learning stage is a
lengthy process. This process can be shortened by
the use of fuzzy logic controllers.
Fuzzy logic controllers have structured, numerical knowledge that can exploit noisy or inexact situations [2]. By employing a fuzzy logic control system to adaptively vary the learning parame-
ters of the network, the training time can be reduced significantly. The fuzzy logic control system
uses “expert knowledge” to determine the specific
change in learning parameters. The following sections describe, in detail, how the learning process
is streamlined. In addition to the training efficiency, the neural network still obtains an impressive
performance, which is evidenced by the experimental results, discussed in section 4.2.
2. NEURAL NETWORKS
Multilayer feedforward neural networks have
proven their abilities in solving and handling a
wide range of problems and applications, and these
systems have overcome limitations of the single
layer system. In order to “learn” a solution, a training strategy must be used. One of the most popular
training methods is backpropagation.
2.1 Backpropagation Training
In a typical backpropagation training session
for a multilayer network, the supervisor presents
input data to the network and compares the network’s actual output, Op, to the target (or desired)
output, Tp:
E = (Tp – Op)2/2
(1)
This difference, or error, is used to change the
connection weights between neurons in the network:
wj(t + 1) = (-∂E / ∂wj) + wj(t)
(2)
In this manner, the network learns from the data.
Once trained, the network interconnection weights
are static, and testing (new, unseen) data is presented to the network. With the backpropagation
algorithm, neural network weights are adjusted in a
gradient descent manner, as illustrated in Figure 1,
RMS error
RMS error =
Initial error

p
k
(t kp  x kp )
2
n p no
(3)
Finally, the NN may complete its learning, and
possibly take thousands iterations of data presentations.
X
Initial error
Z
Global minimum
Figure 1. A neural network converging to
a global minimum.
minimum
Global minimum
which means the minimization of the error between the expected output and the actual output for
a particular input. However, two major problems
exist with this kind of network. First, slow convergence rate and second, the possibility of settling
into a local minimum. A potentially large number
of iterations are required to train the network until
it learns the data with an acceptable degree of accuracy. A method of shortening the training time is
desirable and exists in the form of a fuzzy logic
controller in the role of supervisor.
2.2 Standard Training Shortcomings
One major problem with a back-propagation
neural network is its slow convergence time [3].
Let’s picture the following scenario in a 3-D space.
During training, a NN is trying to converge to the
global minimum with the shortest path. Global
minimum is the maximum performance that the
neural network can yield given the size of the network. At the beginning of a learning process, the
network learns rapidly, and its value of RMS error
decreases fast. In general, the value of RMS reflects how a neural network is performing, and
computed by equation (3). The learning process
starts to slow down after some point in time, as the
NN starts overshooting the global minimum, as
illustrated in Figure 2.
Figure2: A neural network overshoots a global
minimum.
3. FUZZY LOGIC CONTROLLERS
A fuzzy logic control system consists of four
components as shown in Figure 3 [4]. A fuzzifier
converts crisp inputs into fuzzy numbers and associates them with membership value . The fuzzy
rule base contains the relations between the input
and output, and the applications of these rules are
called firing. The inference engine combines the
output of all rules. And, the defuzzifier converts
the fuzzy numbers back to a crisp value.
There are two reasons that fuzzy logic control
systems are preferred: the infinite measurement
resolution, and imprecise linguistic descriptions.
Because of the use of fuzzy sets and linguistic variables, there is no limited resolution as it does in a
conventional control system. “Forced efficiency”
on the output can be the result caused by low resolution. Linguistic variables are variables whose
values are expressed in words or sentences. The
concept was introduced by Zadeh [5] to provide a
method to characterize some situations that are too
complex to be defined with conventional
Input
Fuzzy logic
controller
Fuzzifier
Fuzzy rule
base
Inference
engine
Defuzzifier
Output
Figure 3. A general scheme of a Fuzzy
Logic Controller
quantitative terms. An example of the use of linguistic variables is shown in Figure 4 [6]. “Slow,”
“moderate” and “fast” in relation to speed, in miles
per hour, are shown with their respective categories and membership values. In addition to using
linguistic variables, fuzzy logic control systems
can encapsulate complex input/output operations
in the form of rules.
Also, the operations of most control systems
are based on “expert knowledge”. “Expert
knowledge” is the experience gained by a human
operator about the input and output relationships of
the system, and it might be very difficult to express
in precise terms.
4. FUZZY LOGIC CONTROLLED NEURAL
NETWORK
The implementation of fuzzy logic control
system to adaptively determine learning parameters in neural networks is discussed in this section.
The experimental results are presented, too.
4.1 Implementation
A fuzzy logic control system to adaptively
determine learning parameters (i.e. learning rate
and momentum) in neural networks is the focus of
this study. As proposed by Choi [7], this contrasts
with regular neural networks, in which the learning
parameters are fixed. The on-line fuzzy logic controller is utilized to adapt the learning parameters
based on the RMS error generated by the neural
network. A basic architecture for such an integrated system is shown in Figure 5.
The purpose of the FLC is to automatically
adjust the learning rate  and momentum term
according to the RMS error surface. To describe
the error surface, there are four parameters used to
create the rules for the FLC. First, the change in
error (CE) described as
CE(t) = error(t) – error(t-1),
(5)
second, the change in CE (CCE):
CCE = CE(t) – CE(t-1),
(7)
third, the sign change in error (SC):
SC(t) = 1 - || ½[sgn(CE(t-1) + sgn(CE(t))] ||,
(8)
And lastly, the cumulative sum of SC (CSC):
Slow
Moderate
Fast
t
CSC(t) =
 SC (m).
(9)
m t  4

are used.
The collection of rules created (called the
rule base) reflects the use of these parameters to
adaptively change the neural network’s learning
rate and momentum. To demonstrate the idea, two
of the fuzzy IF-THEN rules that are employed in
the FLC are listed:
0
10 20 30 40 50 60 70 80
mph
Figure 4: An example of linguistic variables.
RULE 1:
IF CE is small AND CSC is less or equal to
two, THEN the value of learning parameters
should be increased.
RULE 2:
IF CSC is larger than three, THEN the value of
learning parameters should be decreased regardless
the value of CE and CCE.
Target Output
Training
samples
Actual
Output
Table 2: Decision table for ∆, when CSC  2.
CE
CCE
NL
NS
ZE
PS
PL
NL
NS
ZE
PS
PL
-0.01
-0.01
0
0
0
-0.01
0
0.01
0
0
0
0
0.01
0
0
0
0
0.01
0
-0.01
0
0
0
-0.01
-0.01
Neural
Network
Error
Learning
Parameters
Fuzzy logic
Controller
Figure 5: A fuzzy logic controlled neural network.
The rule base can be summarized concisely in the
form of a decision table. Two of the fuzzy rule
bases (decision tables) for the applications discussed in section 4.2 are shown below. Table 1
describes the rule base for the change in the learning parameter, ∆, and Table 2 describes the rule
base for the change in momentum, ∆. In these
decision tables, the utilization of five linguistic
variables has been used. Specifically, NL represents a “Negative Large” value, NS is “Negative
Small,” ZE is zero, PS is “Positive Small,” and PL
is “Positive Large.”
4.2 Application to Letter Recognition
The system was tested on a classic
application area, letter recognition. The FLCNN
showed a 30% average improvement in training
time [8]. That is, compared the performance of a
regular neural network with different value
learning rate, and momentum term trained in the
normal fashion, the fuzzy logic controlled system
requires about 2/3 of the iterations (measured to
convergence by an error limit). Futhermore, the
fuzzy
logic
controlled
system
assesses
performance with each iteration, and the
performance is actually improved. In one specific
case when both systems have a learning rate of 0.7
and momentum term of 0.7, the regular NN fails to
learn in about 100 iterations as shown in next two
figures, while the FLCNN system is able to
continue learning.
Rms
error
0.8
0.7
0.6
0.5
0.4
Table 1: Decision table for ∆, when CSC  2.
CE
CCE
NL
NS
ZE
PS
PL
NN
0.3
0.2
NL
NS
ZE
PS
PL
NS
NS
ZE
NS
NS
NS
ZE
PS
ZE
NS
NS
PS
ZE
PS
NS
NS
ZE
NS
ZE
NS
NS
NS
ZE
NS
NS
0.1
FLCNN
0
0
50
100
150
200
250
iterations
Figure 7: RMS error of FLCNN vs. NN with  =
0.7 and  = 0.7.
FLCNN
Accuracy,
%
90
80
70
60
50
40
30
NN
20
10
0
0
50
100
150
200
250
iterations
Figure 8: Accuracy of FLCNN vs. NN with  =
0.7 and  = 0.7.
5. Conclusions
This study demonstrated that the neural network’s training time is reduced dramatically by
employing a fuzzy logic controller to adaptively
vary the learning parameters. When this method is
applied for the letter recognition task, it yields a
92% accuracy, which is a better performance than
the originally proposed approach, a Holland-style
classifier. In addition, this technique can reduce
the possibility of overshooting and sometimes help
the network get out of a local minimum [8]. The
network’s ability to converge during training and
the final performance are dependent on the learning parameters. Our study reinforces this fact, as
our simulations have demonstrated that a “wrong”
value of learning rate can lead to poor letter recognition accuracy. Furthermore, the methodology is
portable, and can be exercised on other neural
network applications.
6. References
[1]Zurada, J., An Introduction to Artificial Neural
Systems, West Publishing Company, St. Paul,
Minnesota, 1992.
[2] Kosko, B., “Fuzzy systems as universal approximators,” Proc. Of the IEEE Int. Conference
on Fuzzy Systems, San Diego, CA, p. 1153-1162,
1992.
[3]Dayhoff, J.E., Neural Network Architecture: An
Introduction, Van Nostrand Reinhold, New York,
NY, 1990.
[4] Kosko, Bart, Neural Networks and Fuzzy Systems: A Dynamical Approach to Machine Intelligence, Prentice Hall, Englewood Cliffs, NJ, 1992.
[5] Zadeh, L.A., Fuzzy Sets and Applications: Selected Papers by L. A. Zadeh, John Wiley & Sons,
New York, 1987.
[6] Klir, G.J., and Yuan, B., Fuzzy Sets and Fuzzy
Logic: Theory and Applications, Prentice Hall Inc.,
Upper Saddle River, NJ, 1995.
[7] Lin, C.T., and Lee, C.S., Neural Fuzzy Systems: A Neuro-Fuzzy Synergism to Intelligent Systems, Prentice Hall Inc., Upper Saddle River, NJ,
1996.
[8] Au, S.F., “Letter Recognition using a Fuzzy
Logic Controlled Neural Network,” Master’s Thesis, University of Texas at El Paso, 1998.
Download