• 沒有找到結果。

Chapter 2 Foundations

2.3 Cooperative Coevolutionary Learning

Evolutionary algorithms (EAs) are the methods for solving difficult problems using notions of Darwinian evolution. EAs have been applied to many applications and the major benefit of EAs over traditional local search methods is their parallel search ability. However, EAs have difficulty in scaling to large problem domains. For solving this problem, researches have extended EAs to cooperative coevolutionary algorithms (CCEAs). Instead of solving the entire problem, the notion of cooperative coevolutionary learning is to reduce the complex of difficult problems through modularization. In other words, a difficult complete problem can be divided into small simple problems. In CCEAs, each individual represents only a partial solution and a full solution is built by means of cooperating with other partial solutions. Thus, each individual can be evolved locally and recombined it with other well-performed individuals to form a good total solution.

Symbiotic adaptive neruoevolution (SANE) is one of typical CCEAs. In SANE, partial solutions can be viewed as specializations. It indicates that partial solutions specialize toward one aspect of the full solution. To concern with fitness evaluation, the fitness of an individual is calculated by summing all combinations of that individual with other individuals and dividing by the total number of combinations. Thus, the fitness value reflects an average value of combined full solutions. Fig. 2.2 presents the basic steps of SANE. As shown in this figure, there are nine steps of SANE and they are described as follows.

Step1. Initialization: in this step, all fitness values are clear and all genes of individuals are

Step5. Selection times check: each individual must be selected sufficient times. If the selection time does not satisfy, then go to Step2 to continue the selection step.

Step6. In this step, the average fitness value of an individual is computed by dividing the total fitness value of each chromosome by the number of times that it has been selected to build networks.

Step7. Termination check: check the fitness value with respect the whole network not a single individual. If the fitness value of the whole network satisfies the pre-setting value, then SANE terminate.

Step8. Crossover: a one-point crossover strategy is used to exchange the site’s values between the selected sites of individual parents to create new individuals, which are offspring inheriting the parents’ merits.

Step9. Mutation: in the last step, the gene is mutated at the rate 0.1% drawn randomly from the domain of the corresponding variable. Then go to Step 2 to perform selection.

Figure 2-2: Basic Steps of SANE.

Although SANE can obtain better performance than traditional evolutionary approaches, it still has the problem that the algorithm cannot evaluate each partial solution independently.

More specifically, SANE use only one population to evaluate every partial solution, this will

cause partial solutions too similar. Therefore, the algorithm may have less chance to obtain optimal solution. To this end, MGCSE [15], which is a previous evolutionary algorithm and similar to ESP, was proposed for evolving TSK-type neural fuzzy networks. Compare to SANE, MGCSE provide several groups to evaluate each partial solution. Each group in the MGCSE represents a group that consists of the set of the chromosomes that belongs to the partial solution. In MGCSE, the population consists of several sub-populations and each sub-population represents the set of the chromosomes that belongs to one fuzzy rule. The structure of the chromosome is shown in Fig. 2.3. In this figure, each fuzzy rule represents a chromosome that is selected from a group, Psize represents there are Psize groups in a population, and “Mk” represents Mk

fuzzy rules are used to construct a TSK-type neural fuzzy

network.

Gaussian membership function with mean and deviation, respectively, and

w is the weight

ji with ith dimension and jth rule node.

m

1j

σ

1j

m

2j

σ

2j

m

nj

σ

nj

w

j0

w

j1

w

j2

w

jn

Figure 2-4: Coding a fuzzy rule of a TNFN into a chromosome in MGCSE.

However, MGCSE have difficulty in scaling to more complex tasks or high input dimension of networks, conduct the problem of the random group selection of fuzzy rules, and the lost of potential fuzzy rules combinations. In consideration of the lost of potential fuzzy rules combinations, Gomez had proposed HESP to accomplish it. Nevertheless, HESP suffers from the problems that the lengths of chromosomes must be the same and the number of neurons has to be assigned in advance. To this end, this dissertation proposes RGLS-HCCA to address the above mentioned problems.

2.4 2D Image Alignment

In this subsection, a 2D image alignment task is introduced. Image alignment can be viewed as a mapping between two images by means of a geometric transformation. Typically, geometric transformation contains many types, including affine, similarity, and projective transformation. Among them, affine transformation is the most common used type and it composites of translation, rotation, and scaling. Thus, this paper adopts the affine transformation as the transformation model. Figure 2.5 shows an example of a remote controller with different transformation parameters. In Fig. 2.5 (a), it represents a reference image which other transformed images want to align with. In other words, if the pose of the transformed image is known, then the transformed image can be recovered to the original pose of the reference image by reversing the pose. Thus, a 2D image alignment task defined in this dissertation is to align transformed images with the reference image.

(a) (b)

(c) (d)

Figure 2-5: Example of generating training images with different affine transformation: (a) reference image, (b) translation, (c) clockwise rotation, and (d) counterclockwise rotation.

Since industrial inspection tasks are assumed, area-based alignment methods that adopt global descriptors are recommended. Thus, this study tries to focus on developing a good area-based alignment method. Figure 2.6 illustrates a typical procedure of an area-based 2D image alignment system. As shown in this figure, the sensed image is sent into the descriptor to extract the feature. Then, feed the feature into a pose estimation block to estimate the pose with respect to the reference image. Finally, the estimated affine transformation parameters can be used to align the sensed image with the reference image. Toward this end, seeking accurate affine transformation parameters is the most important fields for aligning images.

Figure 2.7 illustrates an example of aligning 2D images where figure (a) is a reference image, figure (b) is an input image, and figure (c) is a alignment result of using neural network based alignment scheme defined in [44]. In Fig. 2.7 (c), the cross sign denotes the estimated results of Sarnel’s work [44] and from the location of this cross sign, the alignment results is not good enough. The major drawback of such approach is that they have difficulty in applying to align images on a large range of affine transformation. Thus, this dissertation proposes a CNFN-based 2D image alignment method to perform coarse-to-fine alignment of the sensed image and the reference image.

(a) (b)

(c)

Figure 2-7: Example of 2D alignment: (a) reference image, (b) image with an affine transformed, and (c) alignment results of neural network based scheme.

2.5 3D Image Alignment

The 3D image defined in this dissertation is a range image which is scanned by an

imaging laser scanner. Each pixel in the range image reflects a range data which indicates a distance from the sensed point to the scanner. In other words, the range data can be considered as a 3D point with respect to the scanner. Thus, the scanner can be a center of a coordinate system to represent each sensed range data. Figure 2.8 presents an example of the range image, intensity image, and a 3D point cloud data. From this figure, the range image utilizes the color bar to represent the range data. The intensity image, which is also generated by the imaging lasers scanner, is used to be the corresponding map of range image. The 3D point cloud data, which is created by transforming range data to Cartesian coordinate, shows the 3D position of each pixel.

Figure 2.9 illustrates the procedure of a 3D image alignment task. From this figure, the 3D scene is scanned by a 3D imaging laser scanner where the size of the scanned scene is 256×256 with 20 degree field of view. The region of interest (ROI) is extracted by using the segmentation algorithm described in [68]. The reference model is a target 3D surface that the ROI wants to align with. Thus, the purpose of the 3D image alignment task is to align the ROI with the reference model.

Figure 2-8: Example of 3D image.

Figure 2-9: Procedure of a 3D surface alignment task

Intensity image

Range image

Coordinate Transformation 3D point cloud

3D scene

Segmentation

Align ROI

Reference Model

Alignment Result

According to Chapter 1, a coarse-to-fine technique is a useful way to perform 3D image alignment tasks. In consideration of coarse image alignment, common methods [45] and [46]

utilized PCA [51] for coarsely aligning two images due to its high-speed performance. In consideration of traditional fine alignment methods, iterative closest point (ICP) [52] is a typical method to iteratively calculate the rigid-body transformation to minimize the cost function.

Figure 2.10 illustrates an example of aligning an input 3D point with reference model using PCA. From this figure, (a) and (b) represents the principal axes of a 3D reference model and input 3D point data, respectively. Figure 2.10 (c) depicts the alignment results of PCA method. From Fig. 2.10 (a)-(c), we can know that since the input laser scanned 3D data is partial, its principal axes would be askew with respect to the 3D reference model and such case results in the large alignment error of PCA method (seen from Fig. 2.10 (c)). Based on this fact, this dissertation will propose a TNFN-based coarse alignment method that utilizes the pose estimation to replace of aligning principal axes.

Figure 2.11 illustrates an example of performing ICP fine alignment where figure (a) is the initial alignment yielded by PCA coarsely alignment and figure (b) is final fine alignment performed by ICP. Although ICP can get a good result for fine alignment, its heavy computational cost in searching corresponding points is a problem. To this end, this paper proposed a TNFN-based fine alignment method which combines surface modeling and the downhill simplex optimization method to improve the problem.

Figure 2-10: Example of coarse alignment using PCA: (a) the principal axes of the reference model, (b) the principal axes of the input 3D data, and (c) alignment results of the PCA method.

Figure 2-11: Example of fine alignment using ICP: (a) the initial alignment yielded by PCA and (b) alignment results of the ICP method.

(a) (b)

(c)

(a) (b)

Chapter 3

Regularized Least Squares Based Hierarchical Cooperative Coevolutionary Algorithm

The learning process of RGLS-HCCA is shown in Fig. 3.1. As show in this figure, RGLS-HCCA involves two major evolutions: parameter level evolution (PLE) and structure level evolution (SLE). The blocks of inserting good networks and inserting good neurons (i.e.

good fuzzy rules) are the connection between the parameter and structure level evolution.

These two operations indicate that good evolved results in one level evolution would be transferred to another level evolution. Once receiving good neurons or networks, the received chromosomes would be mated with other old chromosomes to yield some new offspring.

Therefore, by exchanging the good information between two levels of evolution, we have more chance to find the global optimal solution.

This chapter is divided into two subsections to introduce the proposed two-level evolution. In Section 3.1, parameter level evolution is discussed. Section 3.2 describes how structure evolution works.

Figure 3-1: Learning process of RGLS-HCCA.

3.1 Parameter Level Evolution

In this subsection, we will discuss the parameter level evolution (PLE). In PLE, it aims to determine not only the suitable fuzzy rules of TNFN automatically but also the suitable individuals used to construct a TNFN. Regarding the former aim, PLE proposes a self-regulated mechanism (SRM) to determine the number of fuzzy rules automatically. SRM utilizes the probability vector to represent the suitability of TNFN with different fuzzy rules.

In Fig. 3.2, SRM codes the probability vector

Mk

P to represent the suitability of a TNFN

with Mk rules where the number of fuzzy rules is limited to a certain bound, i.e., [Mmin, Mmax].

After the SRM is carried out, the probability of the suitable number of fuzzy rules in a TNFN will increase, and the probability of the unsuitable number of fizzy rules in a TNFN will decrease. Therefore, the number of fuzzy rules would be self-regulated. Regarding the later

aim, although SRM can determine the suitable number of rules, there is a need to identify the suitable groups used to select individuals to construct TNFN. More specifically, we should consider the well-performing groups of individuals to cooperate for producing better a generation than the current one. To face this issue, this study proposes a data-mining based selection method (DMSM) to determine which groups should be used to select individuals.

The DMSM involves two major parts, namely, finding frequent patterns and mining association rules. Regarding the former, the FP-growth algorithm [27] is used to find the frequent patterns that do not have candidate generation. Regarding latter, association rules are identified by using the confidence value. In DMSM, the FP-growth is used to find the sets of groups that occur frequently from transactions. In this paper, a “transaction” refers to the collection of groups that have good or bad performance. After the candidate sets of frequently occurring groups are found, DMSM identifies the association rules by setting the suitable confidence and uses the found association rules to determine Mk groups that are used to select

M

k chromosomes that form TNFN with Mk rules. To this end, two actions are defined in this study: normal and explore actions. In the normal action, Mk groups are chosen randomly. In the explore action, Mk groups are chosen according to association rules. These two actions will be discussed in the procedures of PLE.

Mmin

P P

Mmin+1

P

MkPMmax1

Mmax

P

Figure 3-2: Coding the probability vector to represent the suitability of a TNFN with Mk rules.

To consider the structure of TNFN, unlike MGCSE encoding one fuzzy rule into a

population, and Mk indicates that there are Mk

rules used in TNFN construction. In addition,

PLE adopts the variable length of a combination of chromosomes with RGLS method to construct a TNFN. Thus, the length of combined chromosomes to construct TNFNs can be different.

Figure 3-3: Structure of chromosomes to TNFN construction in PLE.

After discussing the structure of chromosomes to construct TNFNs, details of the coding step for PLE and RGLS method are described as follows:

(1) Coding Step:

The coding structure of chromosomes in the proposed PLE is shown in Fig. 3.4. This figure describes an antecedent part of a fuzzy rule that has the form in Eq. (2.5), where

m

ij

and

σ

ij represent a Gaussian membership function with mean and deviation of ith dimension and jth rule node, respectively. Besides, a pair of (m,σ ) indicates a neuron in Layer 2 of a TNFN. Evolving an antecedent part of a fuzzy rule is likely to evolve a neuron which is a parameter of a neural network. Thus, the evolution of this level is called a parameter (i.e.

neuron) level evolution.

Figure 3-4: Coding an antecedent part of a fuzzy rule into a chromosome in PLE.

(2) RGLS method:

Assume a TSK-type neural fuzzy model composed of m fuzzy rules as the following form:

R IF x

j : 1

is A

1j

and…and x

n

is A , THEN

nj yj =woj +w1jx1+L+wnjxn

, (3.1)

where

j

=1 L, ,

m

and

A

ij is the linguistic part with respect the input i and Rule j. From Eq.

(3.1), the output can be written as:

ˆ1 1 ˆ2 2 ˆ , express the equation above into the form:

y

=

u

ˆ1(

w

10 +

w

11

x

1+L+

w

n1

x

n)+L+

u

ˆm(

w

0m +

w

1m

x

1 +L+

w

nm

x

n)=

aW

, (3.3)

solution can be written as follows:

d T

TA I A Y

A

Wˆ =( +

λ

)1 , (3.5) where λ is a regularization parameter which adjusts the smoothness. Thus, by getting Eq.

(3.5), we finish the estimation of the consequent part of fuzzy rules. Based on this fact, this dissertation utilizes RGLS to calculate the consequent part of a TSK-type neural fuzzy network. This operation would not only reduce the number of parameters that must be trained but also increase the convergence rate of the evolutionary algorithm. Thus, the phenomenon of reducing training number and increasing convergence rate would promote the evolutionary algorithm to adapt the neural network to more complex tasks.

The learning process of PLE involves seven operators: initialization, self-regulated mechanism, data-mining based selection method, fitness assignment, reproduction, crossover, mutation, and insert good networks. The whole learning process is introduced below:

a. Initialization: Before we start the parameter level evolution, the initial groups of

individuals should be generated. Thus, initial groups are generated randomly within a predefined range. The following formulations show how to generate the initial chromosomes in each group:

Deviation: Chrg, c

[p]=random [ σ

min,

σ

max],

where p=2, 4,…, 2n; g=1, 2,…, Psize; c=1, 2,…, NC,

(3.6)

Mean: Chrg, c

[p]= random [

mmin,

m

max],

where p=1, 3,…, 2n-1, (3.7) where Chrg, c represents cth chromosome in the gth group, NC is the total number of chromosomes in each group, p represents the pth gene in a Chrg, c, and [

σ

min,

σ

max], [mmin

,

m

max] represent the predefined range to generate the chromosomes.

b. Self-regulated mechanism (SRM): To select fuzzy rules automatically, PLE proposes

SRM to determine the suitability of TNFN models with different fuzzy rules. The

self-regulated mechanism encodes the probability vector

Mk

P

to stands for the suitability of a TNFN with Mk rules. In addition, in SRM, the minimum and maximum number of rules must be predefined to limit the number of fuzzy rules to a certain bound, i.e., [Mmin, Mmax].

The processing steps of SRM are described as follows:

Step 0. Initialize the probability vectors

Mk

Step 1. Update the probability vectors

Mk

P

according to the following procedures:

(1) Evaluate the fitness value of TNFN with Mk rules:

1 is the sum of the fitness values of the TNFN with Mk rules and fitcount is a count as Eq. (3.10) satisfies.

(2) Calculate the average fitness value:

, / fitcount

fit

Avgfit

M = M (3.11)

= probability vector, and r is a predefined ratio value.

Step 2. Determine the selection times of TNFN with different rules according to the

probability vectors as follows:

in each generation and

Rp

Mk represents the selection times of TNFN with Mk rules in one generation.

Step 3. In SRM, to prevent suitable selection times from falling into the local optimal solution,

we uses two different procedures to update

P . Such actions are defined as follows:

Mk

Procedure 1: update the probability vector

where SRMTimes is a predefined value,

Best _ Fitness

g represents the best fitness value of the best combination of chromosomes in the gth generation, and

Best _ Fitness

represents the best fitness value of the best combination of chromosomes in the current generations.

To consider the amount of the computation in SRE, Eq. (3.14) is the major computation

process for SRM. Since the amount of the computation in Eq. (3.11)-(3.13) is not heavy (depend on the number of

Fitness and it is often not much), updating a

Mk

P in Eq. (3.14)

Mk is also less computation. It implies that SRM is not a heavy computation procedure.

Procedure 2: initialize the probability vector

, 0 and

0 Step do then ,

if

Accumulato r

>

SRMTimes Accumulato r

= (3.18) If Eq. (3.18) is satisfied, it indicates that the suitable selection times may fall into the local optimal solution. At this time, the processing step of SRM should return to Step 0 to initialize the probability vector

P .

Mk

c. The data-mining based selection method (DMSM):

After operating SRM, the selection times of TNFNs with different numbers of rules are determined. Thereafter, PLE performs the selection step, which involves the selection of groups and the selection of chromosomes. In selection of groups, this paper proposes DMSM to determine the suitable groups for chromosomes selection to form a TNFN.

In DMSM, suitable groups are selected according to the groups, which conduct from association rules that indicate good performance. To achieve these aims, DMSM utilizes the FP-growth [27] and the association rules mining. Regarding former, the FP-growth is used to identify frequently pattern. It was proposed by Han et al. [27], and it aims to find the frequently occurring patterns that do not have candidate generation. In the proposed DMSM,

that are used to choose chromosomes to form TNFNs with Mk rules. To prevent the selected groups from falling into the local optimal solution, DMSM uses normal and explore actions to select well-performed groups. The details of the DMSM are discussed below:

Step 1. Normal action:

If Accumulator don not exceed the NormalTimes, the current action is the explore action.

The aims of this action include two parts: accumulate the transaction set and select groups which are described as follows:

Part 1: Accumulate the transaction set

The transactions are built, as in the following equations:

,

Fitness represents the fitness value of TNFN with M

k rules, ThreadFitnessvalue is a predefined value, TransactionNumis the total number of transactions,

Transactio n

j[i] represents the ith item in the jth transaction,

TNFNRuleSe t

[i]

Mk represents the ith group in the Mk groups used for chromosomes selection, and

Performanc e Index

=

g

and

Mk represents the ith group in the Mk groups used for chromosomes selection, and

Performanc e Index

=

g

and