• 沒有找到結果。

Chapter 3 Neuron-Based Structure Learning for Prediction

3.2 Symbiotic Structure Learning Algorithm

3.2.3 Reproduction Phase

= T

t t n

n f

f T

1

1 (3.1)

where f is the shared fitness in tth NN and t = 1,2,…,T. nt

3.2.3 Reproduction Phase

This subsection presents the reproduction phase of SSLA which is performed only on the neuron population. The objective of this phase is to reproduce new neuron population from current neuron population so that various NNs can be constructed from new neuron population. The reproduction phase includes neuron crossover, neuron mutation, and survival selection. The neuron crossover exchanges the structure of two parent neurons to produce two offspring neurons and the neuron mutation modifies the structure of one offspring neuron. The survival selection attempts to probabilistically promote better solutions for the next generation from the parents and offspring of the current generation. According to the three operations, the reproduction phase mainly uses the current neuron population to evolve new neuron population for next generation and then guides the evolution to achieve near optimal solution, i.e., appropriate structure and weights of NN. Note that each parent neuron has the same length of chromosome, thus the offspring neuron also has the same length with the parent neuron. The detail concepts of the three operations are described as follows.

A. Neuron Crossover

The neuron crossover simultaneously exchanges the structure and weights of the

neurons and performs in three steps. First, select two parents according to the binary-tournament selection via their fitness. Second, randomly select the crossover point as shown in Fig. 3.6. Third, exchange the components starting from the crossover point to the end of the parents. Then two offspring, Neuron A’ and Neuron B’, are generated.

B. Neuron Mutation

The neuron mutation mainly attempts to modify the activation function and disconnect or connect the input for global searching of NN structure. It uses a mutation probability pm to decide whether to perform neuron mutation on a gene, where pm is a user specified parameter. For each gene excepted for wo, a random number r with a uniform distribution between [0, 1] is generated. If r < pm, then the neuron mutation is performed on the gene. As shown in Fig. 3.7, three kinds of neuron mutation are presented. The first one shows the modification of activation function where the activation function type is modified from “0” to “1,” i.e., from linear function to hyperbolic tangent function. The second one shows the disconnection of input where whb is modified from “−0.4” to “0,” i.e., the bias is accordingly disconnected. The third one shows the connection of input where wh1 is modified from “0” to “2.9,” i.e., the input is consequently connected. Note that the value of “2.9” is randomly assigned via a normal distribution with zero mean and unit variance after the input is connected.

1.5 1 0.9 1.3 2.1 0.2 0.1 Neuron A

0.7 0 0 0 0 2.5 −0.2 Neuron B

Crossover point

1.5 1 0.9

1.3 2.1 0.2 0.1 Neuron A’

0.7 0 0

0 0 2.5 −0.2 Neuron B’

Parents

Offspring

Fig. 3.6 Neuron crossover.

Mutation point

0.3 0 −0.4 0 0 0 0 Neuron C

0.3 1 0 2.9 0 0 0 Neuron C’

Fig. 3.7 Neuron mutation.

C. Survival Selection

The offspring neurons are generated in two ways as shown in Fig. 3.8. The parents are first rearranged in descending order of their fitness and then the best Np/2 parents are copied as Np/2 offspring. The rest Np/2 offspring are generated via the neuron crossover and neuron mutation based on the whole parents. In Fig. 3.8, Neuron 7’ is not necessarily generated from Neuron 7 and is indexed for convenience. In SSLA, the generational replacement is adopted as the survival selection, i.e., the offspring immediately replace all parents and become the parents in the next generation.

Neuron 19

Fig. 3.8 Neuron reproduction.

Based on the three phases described above, SSLA is summarized in Fig. 3.9 as follows.

Initialization phase:

Step 1) Create a neuron population which consists of Np neurons whose lengths of the chromosome are the same.

Step 2) Create a network population which consists of P×d empty individuals whose lengths of the chromosome are different.

Step 3) Randomly select one group, Group p, and randomly select p neurons to construct an NN for an empty individual.

Evaluation phase:

Step 4) Train the built NN by BP for ϕ epochs so that the chromosome of NN would be updated expected for the activation function type. Calculate the fitness of the NN to evaluate the chromosome of the network population.

Step 5) Share the fitness to each participated neuron. Go to Step 3) until the network population has no empty individual.

Step 6) Determine the fitness of all neurons in the neuron population via (3.1).

Step 7) Preserve the NN with the best fitness.

Step 8) If the maximum generation is achieved, then stop the algorithm;

otherwise, go to Step 9).

Reproduction phase:

Step 9) Copy the best Np/2 parents as the offspring in the neuron population.

Step 10) Generate the rest Np/2 offspring by the neuron crossover based on the whole neuron population.

Step 11) Perform the neuron mutation on the rest Np/2 offspring.

Step 12) Perform the generational replacement and go to Step 2).

Create neuron population

Construct an NN for a randomly selected group

Train the NN and calculate its fitness

Share fitness to the participate neurons

Determine fitness of all neurons in the neuron population

Preserve the best NN Generate Np/2 offspring

by neuron crossover

3.3 Numerical Results

This section provides two examples to verify the performance of the proposed FNAGM-SSLA, where the structure of FNAGM is evolved by SSLA. The first example is to predict the chaotic time series and the second example is to predict the object trajectory acquired from Eye-Robot. The numerical simulations were executed by MATLAB software in an Intel Pentium CPU at 1.5 GHz with 512 MBytes RAM.

相關文件