2 NeuroEvolutionary Learning in Artificial Neural Networks
Evolutionary algorithms refer to a class of population-based stochastic search
algorithms that are developed from ideas and principles of natural evolution. They
include evolution strategies, evolutionary programming, genetic algorithms etc. [6].
One important feature of all these algorithms is their population based search strategy.
Individuals in a population compete and exchange information with each other in
order to perform certain tasks. Evolutionary algorithms are particularly useful for
dealing with large complex problems, which generate many local optima. They are
less likely to be trapped in local minima than traditional gradient-based search
algorithms. They do not depend on gradient information and thus are quite suitable
for problems where such information is unavailable or very costly to obtain or
estimate. They can even deal with problems where no explicit and/or exact objective
function is available. These features make them much more robust than many other
search algorithms. There is a good introduction to various evolutionary algorithms for
optimization in [6].
Evolution has been introduced into artificial neural networks at roughly three
different levels [7]: connection weights; architectures; and learning rules. The
evolution of connection weights introduces an adaptive and global approach to
training, especially in the reinforcement learning and recurrent network-learning
paradigm where gradient-based training algorithms often experience great difficulties.
The evolution of architectures enables artificial neural networks to adapt their
topologies to different tasks without human intervention and thus provides an
approach to automatic artificial neural network design as both connection weights and
structures can be evolved. The evolution of learning rules can be regarded as a
process of learning to learn in artificial neural networks where the adaptation of
learning rules is achieved through evolution. It can also be regarded as an adaptive
process of automatic discovery of novel learning rules.
The evolutionary approach to weight training in artificial neural networks consists
of two major phases. The first phase is to decide the representation of connection
weights, i.e., whether in the form of binary strings or real strings. The second one is
the evolutionary process simulated by an evolutionary algorithm, in which search
operators such as crossover and mutation have to be decided in conjunction with the
representation scheme. Different representations and search operators can lead to
quite different training performance. In a binary representation scheme, each
connection weight is represented by a number of bits with certain length. An artificial
neural network is encoded by concatenation of all the connection weights of the
network in the chromosome. The advantages of the binary representation lie in its
simplicity and generality. It is straightforward to apply classical crossover (such as
one-point or uniform crossover) and mutation to binary strings [6]. Real numbers
have been proposed to represent connection weights directly, i.e. one real number per
connection weight [6]. As connection weights are represented by real numbers, each
individual in an evolving population is then a real vector. Traditional binary crossover
and mutation can no longer be used directly. Special search operators have to be
designed. Montana and Davis [8] defined a large number of tailored genetic operators,
which incorporated many heuristics about training artificial neural networks. The idea
was to retain useful feature detectors formed around hidden nodes during evolution.
11