ppt - Centre for Pattern Analysis & Machine Intelligence

Download Report

Transcript ppt - Centre for Pattern Analysis & Machine Intelligence

Introduction to Soft Computing
ECE457 Applied Artificial Intelligence
Spring 2007
Lecture #12
Outline


Overview of soft computing
Neural networks


Fuzzy logic


Russell & Norvig, sections 20.5
Russell & Norvig, pages 526-527
Genetic algorithms

Russell & Norvig, pages 116-120
 ECE 493 & ECE 750 (Prof. Karray)
ECE457 Applied Artificial Intelligence
R. Khoury (2007)
Page 2
Soft Computing


Branch of AI that deals with systems and
methodologies that can perform approximate,
qualitative, human-like reasoning
Humans can make intelligent decisions using
incomplete and imprecise information


Computer algorithms require complete and
precise information


“Soft” reasoning
“Hard” reasoning
Soft computing aims to bridge this gap
ECE457 Applied Artificial Intelligence
R. Khoury (2007)
Page 3
Soft vs. Hard Computing
Input
Hard Computing Soft Computing
Complete and Approximate and
exact data
incomplete data
Output
Overly-exact
solution
Solution that’s
“good enough”
Reasoning
Rational
Human-like
ECE457 Applied Artificial Intelligence
R. Khoury (2007)
Page 4
Soft Computing

Probabilistic reasoning


Artificial neural networks (ANN)


Human brain
Fuzzy logic (FL)


Human randomness
Human knowledge
Evolutionary computing


Genetic algorithms (GA)
Biological evolution
ECE457 Applied Artificial Intelligence
R. Khoury (2007)
Page 5
Artificial Neural Networks

Human Brain


Massively parallel network of
neurons
Each individual neuron is not
intelligent


Neuron is a simple computing
element
But the brain is intelligent!
ECE457 Applied Artificial Intelligence
R. Khoury (2007)
Page 6
Human Brain


Brain learns by changing and adjusting
the connections between neurons
Information encoded in many ways



Connection patterns of neurons
Amplification of signals by dendrites
Transfer function and threshold values
controlling whether the cell transmits the
signal
ECE457 Applied Artificial Intelligence
R. Khoury (2007)
Page 7
Neurons



Receives electric impulse from other
neurons through dendrites.
If impulse strong enough, travels
through axon.
Reaches synapses and transmits to
other neurons
ECE457 Applied Artificial Intelligence
R. Khoury (2007)
Page 8
Artificial Neuron



ith neuron sums inputs a1… aj… an, weighted
by weights wi1… wij… win
Threshold value i controls activation
If activated, input is transformed by transfer
function fi(.) into output ai
wij
aj
Cell
body

Axon
fi(.)
ai
Synapse
Dendrites
i

ai = fi( jwijaj - i ) = [0, 1]
ECE457 Applied Artificial Intelligence
R. Khoury (2007)
Page 9
Artificial Neural Networks


Large arrangement of inter-connected
artificial neurons
Different classes of network




Topology of the network
Transfer function of the neurons
Learning algorithm
Different networks appropriate for
different applications
ECE457 Applied Artificial Intelligence
R. Khoury (2007)
Page 10
Perceptron

x1
o1
x2
o2
x3


Simplest and most
commonly-used ANN
Feed-forward ANN
Single-layer


Input Hidden Output
layer
layer
layer
ECE457 Applied Artificial Intelligence

No hidden layer
Only linearlyseparable problems
Multi-layer

Non-linear problems
R. Khoury (2007)
Page 11
Examples
x1 1
x2
o
1
All these neurons
use step functions
f(<0) = 0
XOR Network
x1
1
-1
f(0) = 1
-1.5
1
AND Network
-0.5
-1
OR Network
x1 1
x2
o
1
-0.5
1
-0.5
o
x2 1
-0.5
ECE457 Applied Artificial Intelligence
R. Khoury (2007)
Page 12
Learning

Backpropagation algorithm




Train using a set of input-output pairs
Using the entire set = 1 epoch
Supervised learning
Algorithm





Start with random weights
Forward propagation of each input, to get the
network’s output and compute the network error
Back propagate the network error to the output of
each neuron, to get the neuron error
Update the weights of the input of the neuron to
minimise the neuron error
Repeat until min error or max training epoch
ECE457 Applied Artificial Intelligence
R. Khoury (2007)
Page 13
ANN Topologies

Feed-forward
topology


Information can
only move forward
through the
network
Recurrent topology

Information can
loop back to create
feedback loop, or
network memory
ECE457 Applied Artificial Intelligence
x1
x2
o1
x3
x1
x2
o1
x3
R. Khoury (2007)
Page 14
Feed-Forward Networks

Perceptron




Basic network
Any transfer functions
Any number of hidden layers
Radial Basis Function (RBF) Network




Special class of multi-layer perceptron
Single hidden layer with RBF (typically Gaussian)
transfer function
Hidden neuron transformations are symmetric,
bounded and localized
Useful for modelling systems with complex
nonlinear behaviour, control systems, audio-video
signal processing, …
ECE457 Applied Artificial Intelligence
R. Khoury (2007)
Page 15
Feed-Forward Networks

Kohonen Self-Organising Map


Fully-connected two-layer network
Unsupervised learning




x1
x2

Output neuron compete to activate
Neuron with highest output value wins
Winning neuron and its neighbours
have their weights updated
Creates a 2D topological mapping of
the input vectors to the output layer
Useful for pattern recognition,
image analysis, data mining, …
ECE457 Applied Artificial Intelligence
R. Khoury (2007)
Page 16
Recurrent Networks

Hopfield Network


x1
o1
x2
o2
o3
x3



ECE457 Applied Artificial Intelligence
First kind of recurrent ANN
Implements an associative
memory
Previous-stored patterns
“complete” current (noisy or
incomplete) pattern
Network is attracted to stable
pattern in memory
Useful for information retrieval,
pattern/speech recognition, …
R. Khoury (2007)
Page 17
Limits of ANN

Black box


No formal design rules



What does each neuron do? What does
each weight do?
How many hidden layers? How many
neurons per layer? Which transfer
functions?
Prone to overfitting
Backpropagation is slow and can
converge on local optimum
ECE457 Applied Artificial Intelligence
R. Khoury (2007)
Page 18
Fuzzy Logic

In crisp logic, facts are either true or
false


Truth value = {0, 1}
This is an unnatural way of doing it
1
Cold
Warm
Hot
0
Temperature
ECE457 Applied Artificial Intelligence
R. Khoury (2007)
Page 19
Fuzzy Logic

In fuzzy logic, facts can be partially true
and partially false


Truth value = [0, 1]
This is closer to human knowledge
Cold
Warm
Hot
1
0
Temperature
ECE457 Applied Artificial Intelligence
R. Khoury (2007)
Page 20
Terminology


“Cold”, “warm” and “hot” are fuzzy set
The triangle function mapping a value
of temperature to a value of cold (or
warm or hot) is called a fuzzy
membership function


The value of cold (or warm or hot) to
which a temperature is mapped is called
a membership degree
Fz[t  Cold] = μCold(t):   [0,1]
ECE457 Applied Artificial Intelligence
R. Khoury (2007)
Page 21
Fuzzy Sets vs. Probabilities




Membership degrees are not
probabilities
Both are measures over the range [0,1]
Probabilistic view: x is or is not y, and
we have a certain probability of
knowing which
Fuzzy view: x is more or less y, with a
certain degree
ECE457 Applied Artificial Intelligence
R. Khoury (2007)
Page 22
Fuzzy Rules

If-then rules like other logics, but with
fuzzy sets




If Cold then VentilationHigh
If Warm then VentilationLow
If Hot then VentilationMedium
Variables belong partially to antecedent,
therefore consequence activated
partially
ECE457 Applied Artificial Intelligence
R. Khoury (2007)
Page 23
Fuzzy Controller



Typical application of fuzzy logic
Set of fuzzy rules
Define the behaviour of a system


Antecedent: variables that affect the
system
Consequent: reaction of the system
ECE457 Applied Artificial Intelligence
R. Khoury (2007)
Page 24
Fuzzy Controller Example


If Hot and Wet then VeryCool
If Warm and Humid then Cool
Hot
1
0
1
0
Wet
1
T
Warm
0
H
Humid
1
t
T
0
1
h
ECE457 Applied Artificial Intelligence
VeryCool
0
1
H 0
R. Khoury (2007)
C
Cool
C
Page 25
Fuzzy Controller Example



Defuzzification using centroid technique
Converts fuzzy consequent C into crisp
value that can be used by system
Centroid merges the output fuzzy sets
and finds the center of gravity
1
0
ECE457 Applied Artificial Intelligence
c
C
R. Khoury (2007)
Page 26
Advantages of Fuzzy Logic



Partial activation of multiple rules at
once
Achieve complex non-linear behaviour
with simple IF-THEN rules
Use linguistic variables to model words,
rules of thumb, human knowledge
ECE457 Applied Artificial Intelligence
R. Khoury (2007)
Page 27
Properties of Fuzzy Controllers

The rule base must be



The rules must



Complete
Continuous
Be consistent
Not interact
The rule base system must be


Robust
Stable
ECE457 Applied Artificial Intelligence
R. Khoury (2007)
Page 28
Limits of Fuzzy Logic


Writing the fuzzy rules
Designing the fuzzy membership
functions

Often requires work by a domain expert
ECE457 Applied Artificial Intelligence
R. Khoury (2007)
Page 29
Fuzzy Robot Navigation



Fuzzy controllers are very popular for
robot navigation
Eliminates need for complete world
model and complex reasoning rules
Basic robot



Known current position and target
Three sensors (front, left, right)
Left and right wheels can turn at different
speeds to make robot turn
ECE457 Applied Artificial Intelligence
R. Khoury (2007)
Page 30
Fuzzy Robot Navigation

Fuzzy linguistic variables of control
system



1
0
Near
Medium
Distance: near, medium, far
Direction angle: negative, zero, positive
Speed: slow, medium, fast
Far
Distance
1
Negative Zero
0
ECE457 Applied Artificial Intelligence
Positive
Direction
1
Slow
0
R. Khoury (2007)
Medium
Fast
Speed
Page 31
Fuzzy Robot Navigation

Going to target


Avoiding obstacles


IF (left obstacle is far) and (front obstacle is near) and (right
obstacle is far) and (angle is zero) THEN (left speed is fast)
and (right speed is slow)
Turning corners


IF (left obstacle is far) and (front obstacle is far) and (right
obstacle is far) and (angle is zero) THEN (left speed is fast)
and (right speed is fast)
IF (left obstacle is medium) and (front obstacle is near) and
(right obstacle is near) and (angle is any) THEN (left speed
is slow) and (right speed is fast)
Following edges

IF (left obstacle is far) and (front obstacle is far) and (right
obstacle is near) and (angle is positive) THEN (left speed is
medium) and (right speed is medium)
ECE457 Applied Artificial Intelligence
R. Khoury (2007)
Page 32
Fuzzy Robot Navigation
ECE457 Applied Artificial Intelligence
R. Khoury (2007)
Page 33
Genetic Algorithms



Biological evolution
Species adapt to better
survive in environment
Over generations



Pairs of individuals
reproduce
Individuals mutate
Fittest individuals
survive and go on to
reproduce
Source: David M. Hillis, Derrick Zwickl, and Robin Gutell, University of Texas.
ECE457 Applied Artificial Intelligence
R. Khoury (2007)
Page 34
Evolutionary Computing


Introduced by John Holland in “Adaptation in
Natural and Artificial Systems”, 1975
Stochastic search technique


Like simulated annealing!
Divided in four main classes (different
representation of individuals)




Genetic algorithms
Evolution strategies
Evolutionary programming
Genetic programming
ECE457 Applied Artificial Intelligence
R. Khoury (2007)
Page 35
Genetic Algorithms

Simulating biological evolution in AI
Biology
Individuals
Environment
Genetic Algorithms
States
Solutions to a problem
State space to explore
Problem to solve
Fitness
Evaluation function
Changes from one
generation to the next
Operators
ECE457 Applied Artificial Intelligence
R. Khoury (2007)
Page 36
Individuals

Individuals have a chromosome



String of genes (bits)
Encodes the solution represented by the
individual
Often binary representation, but can be
anything
1

1
0
0
1
0
1
0
Length, nature of bits, meaning, varies
according to problem
ECE457 Applied Artificial Intelligence
R. Khoury (2007)
Page 37
Operators


To evolve, the population must change
GA typically use three operators to
change the population



Crossover (sexual reproduction)
Mutation (mutation)
Selection (natural selection)
ECE457 Applied Artificial Intelligence
R. Khoury (2007)
Page 38
Crossover




Select two fittest parents
Select (random) splitting point in the
chromosomes
Recombine the genes to get children
Causes slow move of the population
around state space
1 1 0 0 1 0 1 0
0 1 0 0 0 1 1 0
ECE457 Applied Artificial Intelligence

1 1 0 0 0 1 1 0
0 1 0 0 1 0 1 0
R. Khoury (2007)
Page 39
Mutation



Select random child
Select random gene
Switch gene value according to
mutation rule



Depends on representation
Typically very rare (low mutation rate)
Causes large leap across state space
1 1 0 0 0 1 1 0

ECE457 Applied Artificial Intelligence

1 1 0 1 0 1 1 0
R. Khoury (2007)
Page 40
Selection

GA population have zero population
growth





We can’t keep them all (computer limits)
and we don’t want to (they’re useless)
But each crossover operation generates
two more, new individuals
Survival of the fittest!
Evaluate fitness of all individuals
Kill off (i.e. delete) least fit ones,
keeping only the fittest (best solutions)

Each generation, the population improves
ECE457 Applied Artificial Intelligence
R. Khoury (2007)
Page 41
Evolution Algorithm



Starts with random population
Evaluate fitness of all individuals
For each generation





Select fittest parents and crossover
Mutate children according to mutation rate
Evaluate fitness of new individuals
Select individuals that survive for next generation
Repeat until


Generation limit reached
An individual achieves the target fitness
ECE457 Applied Artificial Intelligence
R. Khoury (2007)
Page 42
Evolution Algorithm

Individuals are random, but population
converges slowly towards solution
*
*
*
x
x
*
*
*
*
* *
*
*
*
***
x*
***
*
*
Population
fitness
Generation
ECE457 Applied Artificial Intelligence
R. Khoury (2007)
Page 43
Genetic Algorithm Example




8-Queen problem
Environment: state
space
Chromosome: encodes
position of queens
Fitness: number of
attacks
2 6 7 1 5 7 2 5
ECE457 Applied Artificial Intelligence
R. Khoury (2007)
Page 44
Genetic Algorithm Example

Crossover operation
2
6
7
1
5 7 2
5
4
8
5
3
6 5 1
5
ECE457 Applied Artificial Intelligence

2
6
7
3
6 5 1
5
4
8
5
1
5 7 2
5
R. Khoury (2007)
Page 45
Genetic Algorithm Example

Mutation operation


Complements (1-8,
2-7, 3-6, 4-5)
Swap two random
genes

4
8
5
1
5 7 2

4
8
5
1
4 7 2
5
4
5
5
1
8 7 2
5
5
ECE457 Applied Artificial Intelligence
R. Khoury (2007)
Page 46
Limits of Genetic Algorithms




Not guaranteed to find the optimal
solution
In large complex state spaces, or with a
low mutation rate, might converge to
local optimum (premature convergence)
High mutation rate can prevent
convergence (mutation interference)
Interdependence between genes makes
it hard to find solution (epistasis)
ECE457 Applied Artificial Intelligence
R. Khoury (2007)
Page 47