CellNet CoEv:
Co-Evolving Robust Pattern Recognizers
Nawwaf Kharma,
Taras Kowaliw, Christopher Jensen,
Hussein Moghnieh,
Jie Yao
1
Introduction and Review
The aim of project CellNet is the creation of a software system capable of
automatically evolving complete pattern recognizers for arbitrary pattern sets,
and utilizing as little expert input as possible. This is, indeed, an ambitious
goal, requiring much additional work. This paper describes a step toward that
goal: Using the CellNet system, use co-evolution to evolve increasingly more
robust pattern recognizers capable of correctly classifying noisy and deformed
patterns from a large pattern database. One important result of this approach is
the elimination of the perennial problem of overfitting.
A Pattern Recognition System is almost always
defined in terms of two functionalities: the description of patterns and the
identification of those patterns. The first functionality is called feature
extraction and the second, pattern classification. Since there are many types of
patterns in this world ranging from the images of fruit flies to those of
signatures and thumb prints, the focus of most research endeavours in pattern
recognition has rightfully been directed towards the invention of features that
can capture what is most distinctive about a pattern. This leads to two
overlapping areas of research associated with features: feature selection and
feature creation. Feature selection has to do with choosing a small set of
features from a larger set, in order to maximize the rate of recognition of an
associated classifier, and simultaneously reduce the (computational) cost of
classification. Feature creation, on the other hand, has to do with the creation
or growth of complex features from a finite set of simpler ones, also for the
benefit of an associated classifier. Both areas of research are reviewed below.
1.1 Feature
Selection
Siedlecki in
[11] is the first paper to suggest the use of GA for feature selection. Ten
years later, Kudo [6] demonstrates the superiority of GA over a number of
traditional search & optimization methods, for sets with a large number of
features. Vafaie [13] shows that a GA is better than Backward Elimination in
some respects, including robustness. Guo [4] uses a GA for selecting the best
set of inputs for a neural network used for fault diagnosis of nuclear power
plant problems. Moser [8] surveys previous attempts at speeding up the action of
GA, and then proposes two new architectures of his own: VeGA, which uses
parallelism to simultaneously evaluate different sets of features (on one
computer), and DveGA, which utilizes an adaptive load balancing algorithm to use
a network of heterogeneous computers to carry out the various evaluations. Shi
[10] applies a GA to the selection of relevant features in hand-written Chinese
character recognition. Fung [2] uses a GA to minimize the number of features
required to achieve a minimum acceptable hit-rate, in signature recognition.
Yeung [14] succeeds in using a GA in tuning four selectivity parameters of a Neocognitron, which is used to recognize images of hand-written Arabic
Numerals.
1.2 Feature
Creation
The first paper
to speak about feature creation appears to be [12]. In his work, Stentiford uses
evolution to create and combine a set of features (into a vector), which is
compared to reference vectors, using nearest-neighbour classifiers. A single
feature is a set of black- or white-expecting pixel locations. The results were
generated using a training set of 30,600 printed characters and a test set of
10,200 printed characters. The error rate, on the test set, was 1.01%, and was
obtained using 316 nearest-neighbour classifiers automatically generated by the
evolutionary system. More recently, a group of researchers including Melanie
Mitchell used evolution to create features for use in analyzing satellite and
other remote-sensing captured images [1]. Specifically, the researchers defined
a genetic programming scheme for evolving complete image processing algorithms
for, for example, identifying areas of open water. Their system called GENIE
successfully evolved algorithms that were able to identify the intended ground
features with 98% accuracy.
1.3 Evolvable Pattern
Recognition Systems
It was natural for
researchers to move from feature creation to attempt to create whole pattern
recognition systems. After all, the hardest part of successful pattern
recognition is the selection/creation of the right set of features. Indeed, the
first such systems seem to have focused on the evolution of features or feature
complexes, which are useful for classification. Two systems described below do
this. CellNet [5] blurs the line between feature selection and the construction
of binary classifiers out of these features. HELPR [9] also evolves feature
detectors, but the classification module is completely separate from the feature
extraction module. Other differences exist, but, both attempts are the only
systems, that we know of, that aim at using artificial evolution to synthesize
complete recognition systems (though currently for different application
domains), with minimum human intervention.
CellNet
is an ongoing research project aiming at the production of an autonomous pattern
recognition software system, for a large selection of pattern types. Ideally, a
CellNet operator would need little to no specialized knowledge to operate the
system. To achieve this, CellNet divides the problem (and hence the solution)
into two parts: feature creation and classifier synthesis.
The long-term goal of the
CellNet project is the inclusion of methodologies for the simultaneous evolution
of both feature and classifiers (Cells and Nets); at present, however, a set of
hard-coded features are used. Some interesting perspectives are offered as to
how an evolvable feature creation framework may be structured; The most
interesting of these suggestions is the use of a pre-processing routine
deconstructing images using techniques inspired by pre-attentive vision in
humans - from there, a wide array of possible machine learning techniques may be
used.
In its current form, CellNet
is capable of evolving classifiers for a given set of patterns. To achieve this
it uses a specialized genetic operator: Merger. Merger is an operator, somewhat
similar to that used in MessyGAs [3], designed to allow the algorithm to search
increasingly larger feature spaces in an incremental manner; This is different
from a normal GA, where the dimensionality of the search space is fixed at the
start of the run. CellNet is cast as a general system, capable of self-adapting
to many hand-written alphabets, currently having been applied to both Arabic and
Indian numbers. This paper may be viewed as an extension of the CellNet system -
as such, CellNet is described in more detail in section 2.
HELPR
is composed of two modules: a features extraction module and a classification
module. The classification system is not evolvable; only the feature extractor
is. The feature extraction module is made of a set of feature detectors. Its
input is the raw input pattern and its output is feature vector. The system is
designed to handle signals (not visual patterns or patterns in general).
Each
feature extractor has two stages: a transformation network followed by a
capping mechanism. A transformation network utilizes a set of morphological
operations (such as Open and Erode) with structuring elements in addition to a
small number of arithmetic operations (such as addition and multiplication). As
such a transformation network (or TN) represents a mixed morpho-arithmatic
expression which transforms an n-element digitized input signal into an
n-element output signal. The purpose of the TN is to highlight those features
of the input signal that are most distinctive of the target classes. On the
other hand, the purpose of the capping mechanism (which is a single-layer of
perceptrons) is to transform the n-element signal coming out of the TN into a
k-element array of scalars, where k is the number of target classes defined by
the user. Ideally, every element will return a +1 for a single class and -1 for
the rest.
The most interesting features of this work is that a) it adopts a holistic
approach to the evolution of pattern classifiers: it boldly states, starting
with the title, that such a goal is possible; b) it demonstrates that it is
possible for a computerized system to automatically evolve a pattern
classifier, which can be used for a real-world application; c) it augments the
standard evolutionary processes in very creative ways to produce a customized
system, which perform well and e) it suggests that it is possible to use of a
small set of morphological operations (in addition to simple arithmetic) to
characterize a wide range of signals. There is no doubt that this paper, as
well as the CellNet architecture are examples of a new trend in pattern
classification: that of the autonomous pattern recognizer. However, there is
also no doubt that both works still have a number of deficiencies to deal with.
Both HELPR and CellNet only evolve part of the system: other parts of the
system are hard-coded. In addition, both systems have a large number of
parameters that are manually set by an expert user. Finally, both systems only
work on specific input signals/images; the promise of extension is there but
not yet realized. This is why the following set of problems must be dealt
with:
1.
Feature Creation
(or Detection) mechanisms that are suited to large sets of classification
problems. This is to eliminate the need for serious re-configuration or worse
still, re-engineering, every time a different application domain is targeted.
2.
Elimination of Parameters,
many of which need to be set by the user before the system is exploited. These
parameters include: probability distributions types, probability values,
population size, number of feature extractors and so on.
3.
Thorough Testing
of the evolved system against a diverse set of pattern databases (and not just
Radar signatures or Arabic Numerals), and doing so, without subjecting the
system to any amount of re-configuration.
This paper may be viewed as a step towards the
realization of points 2 and 3; Co-Evolution is demonstrated to help eliminate
the problem of overfitting in the creation of a classifier, hence eliminating
the need for an expert to manually determine the correct parameters;
Additionally, the camouflage routines presented aid in the diversification of a
given pattern database, allowing for greater variance in any given set of data.
2 Hunters
and Prey
2.1 Hunters
CellNet hunters were first introduced in [5], a
reader interested in their formal representation is urged to consult that source
- our implementation is identical. However, given they are an entirely new and
rather complicated representation for pattern recognizers, we offer an informal
explanation of their structure, along with some illustrative examples.
2.1.1
Feature Functions
The basis on which Hunters are built is a set of
normalized feature functions; The functions (all applied to thinned figures)
used by CellNet CoEv are {parameterized histograms, central moments, Fourier
descriptors, Zernike moments, normalized width (of a bounding box), normalized
height, normalized length, number of terminators, numer of intersections}.
However, for the purposes of explanation, we shall assume that our examples use
only two: F1 and F2. This assumption is made for ease of
visual representation of a 2-dimensional Feature Space, and is easily
generalized.
2.1.2
Hunters
A Hunter is a binary classifier - a structure which
accepts an image as input, and outputs a classification. The fitness function
which is used to drive the Genetic Algorithm determines which digit the agent
classifies; For example, assuming our fitness function specifies that we are
evolving Hunters to recognize the digit "ONE", a Hunter which returns "yes"
given an image will implicitly be stating that the image is a "ONE", as opposed
to "NOT-ONE", i.e. any other digit. We will refer to these classes as the
primary class and the non-primary class. Hence, a Hunter outputs a value from
{PRIMARY, NON-PRIMARY, UNCERTAIN} when presented with an image.
A Hunter consists of Cells, organized in a Net. A
Cell is a logical statement - it consists of the index of a Feature Function,
along with bounds. Every cell is represented by the following format:
Feature Function Fi
|
Bound b1
|
Bound b2
|
Provided
with an image I, a cell returns TRUE, if b1 < Fi (I) < b2, and FALSE
otherwise.
A Net is an overall structure which organizes cells
into a larger tri-valued logical statement. That is, a Net is a logical
structure which combines the TRUE / FALSE values of its constituent Cells to
return a value from {PRIMARY, NON-PRIMARY, UNCERTAIN}.
The
structure of a Net is as follows: A Net is a tree, with a voting mechanism as
its root node. At depth 1, there are a set of one or more Chromosomes.
Chromosomes consist of trees which begin with a
Class Bit - this bit determines whether or not the Chromosome votes for
"PRIMARY" or "NON-PRIMARY". Following the Class Bit is a tree of one or more
Cells, connected into a logical structure by AND and NOT nodes. A Chromosome may
be represented as a string as follows:
Class Bit C
|
[NOT]
|
Cell1
|
AND
|
[NOT]
|
Cell2
|
AND
|
.
|
Hence, a chromosome is a logical statement, which
returns TRUE or FALSE. A Chromosome will return C if the logical
statement returns TRUE - otherwise it will remain silent.
A Net is a collection of such Chromosomes,
connected via a Vote mechanism. The Vote mechanism collects input from each
Chromosome (although some Chromosomes will remain silent), consisting of a
series of zero or more values of "PRIMARY" or "NON-PRIMARY". The Vote mechanism
will tally the number of each, and output the majority, or "UNCERTAIN" in the
case of no input or a tie.
For example, consider the following Example Agent,
specified by the two Chromosomes chromosome1 and chromosome2:
This Example Agent may be drawn as a tree, shown in Figure
2.1.2.1.
Fig. 2.1.2.1
- Tree Diagram of the Example Agent
A
Hunter is a Net - that is, a Hunter is an organized collection of one or more
Cells, which when presented with an image, will return one of "PRIMARY",
"NON-PRIMARY" or "UNCERTAIN". The complexity of a Hunter is the number of cells
it contains, regardless of organization.
2.1.3
Examples of Hunters of
Complexity One
The following are some examples of Hunters with complexity one, and
interpretations in a two-dimensional feature space. Assume the Primary class is
"ONE", and the non-primary class is "NOT-ONE".
Our first Hunter, A1, consist of a single cell in a single chromosome
- It is illustrated in Fig. 2.1.3.1. It is instructive to consider the Feature
Space of all images on the basis of Feature F1 and F2 -
every image maps to an <x,y> coordinate in this space, and hence may be drawn in
a unit square. Agent A1 may be viewed as a statement which partitions
Feature Space into three disjoint sets - this is also illustrated in Fig.
2.1.3.1. A second Hunter, A2, is illustrated in Fig. 2.1.3.2; This agent's
partition of the same feature space is also illustrated.
|
Fig. 2.1.3.1
-
Agent A1 and its partition
of Feature Space
Fig. 2.1.3.2
- Agent A2 and its partition of Feature Space
|
2.1.4
Merger
Thus far, we have
given examples only of Hunters with complexity one - this is the state of the
CellNet Co-Ev system when initialized. What follows is a system of cooperative
co-evolution which generates agents of increasing complexity.
Cooperative Co-evolution is achieved through the inclusion of a new Genetic
Operator, augmenting the typical choices of Crossover and Mutation. This new
operator, Merger, serves to accept two Hunters and produce a single new Hunter
of greater complexity; The complexity of the merged Hunter will be the sum of
the complexities of the parents.
Merger operates at the level of Chromosomes - when merging two Hunters,
Chromosomes are paired randomly, and merged either Horizontally or Vertically.
Vertical Merger simply places both Chromosomes in parallel under the Vote
mechanism - they are now in direct competition to determine the outcome of the
Vote. Horizontal Merger, on the other hand, combines the two Chromosomes to
produce a single and more complex Chromosome, where the two original Chromosomes
are connected via a AND or AND-NOT connective. Hence, Horizontal Merger serves
to refine a particular statement in the vote mechanism.
There are several decisions made when selecting which type of Merger is
undertaken, and how connections are made in the Horizontal case - these
decisions are under the control of two Affinity bits which are associated with
each Chromosome. These Affinity bits ensure that all decisions are under genetic
control, and may be selected for. For more detail, refer to [5].
2.1.5
Horizontal and
Vertical Merger
The Cooperative Co-evolution of Hunters, as realized through Merger is a
technical process, more easily explained visually. We re-consider agents A1
and A2 of Section 3.1.3, considering their children through the
Merger operator.
Consider the Horizontal Merger of Hunters A1 and A2 -
here, we produce agent A3 by combining the Chromosomes of A1
and A2 into one new one, linked via an AND connective. As is visible
in Fig. 2.1.5.1, Horizontal Merger may be viewed as the refinement of a
partition created by two Chromosomes.
Fig. 2.1.5.1
- Agent A3 and its partition of Feature Space
In
contrast, consider the Vertical Merger of these same two Hunters, producing
agent A4 - in this case, the Chromosomes are combined directly under
the Vote mechanism. As shown in Fig. 2.1.5.2, Vertical Merger may be loosely be
viewed as the union of the partitions generated by two Chromosomes.
Fig. 2.1.5.2
- Agent A4
and its partition of Feature Space
Page 1, Page 2
DEC Lab Home
Last Updated April 6, 2004
|