Industrial Applications of Genetic Algorithms:Space Shuttle Main Engine Condition Monitoring Using Genetic Algorithms and Radial Basis Function Neural Network

Previous | Table of Contents | Next

Genetic Approaches

The first major genetic invasion into neural network optimization can be found in the traditional backpropagation realm. The traditional backprop algorithm can incur long training times with subsequent poor generalization ability. To counter these effects, GA methods were developed that encoded individual layers of weights and optimized the network by de-linking (or pruning) those weights which were considered redundant. One such method was used successfully in [1].

Application of the GA to the RBFNN seemed to follow two paths: 1) Evolution based on search among whole networks and 2) Evolution of one neuron at a time. The methods of (1) would have a whole network be a single individual in the population. The GA would then choose among the various network structures (different centers, weights, and widths) as to which was the best. Those of method (2) would have a set of competing RBF units for one hidden unit addition (much like cascade correlation). Successive runs of the GA would then evolve the RBFNN one hidden unit at a time.

None of the aforementioned procedures give the desired flexibility necessary for the creation of higher order surfaces. To do this requires the simultaneous optimization of all RBF units within a single neural network. Whitehead and Choate contributed a seminal paper which attempted to do exactly this [2]. A cooperative-competitive algorithm was established in reference [2] that uses a population of strings to represent an RBFNN; not a population of RBFNNs. In other words, a single bit string was used to encode the center and width of one RBF. The algorithm attempted to evolve RBFs that would compete when doing the same job (in terms of the functional mapping), and implicitly share fitness (niching) when covering different parts of the overall functional region. In other words, if two RBFs are trying to cover the same area within the functional space, then they should compete, but if they’re supplying individual contributions to the overall job of approximating the function, then they should form niches. The algorithm thus established mandated a fixed number of hidden layer neurons and a pre-chosen kernel type which applied to all neurons. Subsequent testing revealed that the GA approach offered 50-70% better performance than the best k-means approach.

The work of Whitehead and Choate [2] is significant in that it optimizes a single RBF network by evolving all the RBF units at once. As suggested earlier, anything that introduces more flexibility into the RBF construction can potentially improve performance (this was shown in [2]). The attempt of the current paper is to extend the viability of that statement by augmenting the work of [2]. Specifically, the individual kernel type choice, widths, and centers will all be allowed to vary during the evolution. The individual RBF neurons will have their parameters encoded as a binary bit string and the collection of these will comprise a single population.

GENETIC ENCODING

The space spanned by the center vector defined on Rn, where n is the dimension of the input vector xi. In [2], the inputs were scaled to occupy the unit hypercube [0,1]n. This scaling forced the kernel centers (μi) to fall within the same unit hypercube. Encoding this arrangement required a translation of the fractional component along each dimension of the hypercube. The encoding scheme presented in the current effort does not place this restriction on center scaling. Centers are allowed to have components that have floating point numbers outside the range of [0,1].

The overall objective is to evolve a set of basis function parameters for a layer of neurons. The parameters are the neuron’s center, width, and basis function type. Assuming a binary alphabet {0,1} with l bits of precision for the integer part and k bits for the floating point part of a center component, then (log(max_comp_in_pop - 2) + l)*n bits will completely encode a single center. The width can be encoded with (l+k) bits of precision as well. Equations (10.1)-(10.3) give the various functions that a neuron can employ, thus, to encode the function type, will only require 2 bits (Gaussian is used for the redundant bit map). In summary, the parameters specifying a neuron are encoded in the following string form:

  φi = (center)(width)(function type)

The bit length can be written as:

  φi = {[log(max_comp_inpop - 2)+l]*n} [l+k][2]

Therefore, a single generation will consist of a string population that completely encodes a single RBFNN architecture. Successive generations will evolve the network as opposed to evolving a population of networks.

Previous | Table of Contents | Next

Copyright © CRC Press LLC