Download Fuzzy Logic and Neural Nets

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Concept learning wikipedia , lookup

Perceptual control theory wikipedia , lookup

Gene expression programming wikipedia , lookup

Embodied cognitive science wikipedia , lookup

Neural modeling fields wikipedia , lookup

Hierarchical temporal memory wikipedia , lookup

Pattern recognition wikipedia , lookup

Catastrophic interference wikipedia , lookup

Convolutional neural network wikipedia , lookup

Type-2 fuzzy sets and systems wikipedia , lookup

Fuzzy concept wikipedia , lookup

Fuzzy logic wikipedia , lookup

Transcript
Today
• AI
– Fuzzy Logic
– Neural Nets
11/6/2001
CS 638, Fall 2001
Fuzzy Logic
• Philosophical approach
– Ontological commitment based on “degree of truth”
– Is not a method for reasoning under uncertainty
•
•
•
•
Crisp Facts – distinct boundaries
Fuzzy Facts – imprecise boundaries
Probability - incomplete facts
Example – Scout reporting an enemy
– “Two to three tanks at grid NV 123456“ (Crisp)
– “A few tanks at grid NV 123456” (Fuzzy)
– “There might be 2 tanks at grid NV 54 (Probabilistic)
11/6/2001
CS 638, Fall 2001
Apply to Computer Games
• Can have different characteristics of players
–
–
–
–
–
Strength: strong, medium, weak
Aggressiveness: meek, medium, nasty
If meek and attacked, run away fast
If medium and attacked, run away slowly
If nasty and strong and attacked, attack back
• Control of a vehicle
– Should slow down when close to car in front
– Should speed up when far behind car in front
• Provides smoother transitions – not a sharp boundary
11/6/2001
CS 638, Fall 2001
Fuzzy Sets
• Classical set theory
– An object is either in or not in the set
• Sets with smooth boundary
– Not completely in or out – somebody 6” is 80% tall
• Fuzzy set theory
–
–
–
–
An object is in a set by matter of degree
1.0 => in the set
0.0 => not in the set
0.0 < object < 1.0 => partially in the set
• Provides a way to write symbolic rules with terms like
“medium” but evaluate them in a quantified way
11/6/2001
CS 638, Fall 2001
Example Fuzzy Variable
• Each function tells us how
much we consider a
character in the set if it has
Nasty
a particular aggressiveness
value
• Or, how much truth to
attribute to the statement:
“The character is nasty (or
meek, or neither)?”
Membership
(Degree of Truth)
Meek
1.0
-1
-0.5
0.0
Medium
0.5
1
Aggressiveness
11/6/2001
CS 638, Fall 2001
Fuzzy Set Operations: Complement
Membership
• The degree to which you
believe something is not in
the set is 1.0 minus the
degree to which you
believe it is in the set
FS
1.0
¬FS
0.0
Units
11/6/2001
CS 638, Fall 2001
Fuzzy Set Ops: Intersection (AND)
• If you have x degree of faith in
statement A, and y degree of
faith in statement B, how
much faith do you have in the
statement A and B?
Membership
About 6’
1.0
Tall
– Eg: How much faith in “that
person is about 6’ high and tall”
• Does it make sense to attribute
more truth than you have in
one of A or B?
0.0
Height
11/6/2001
CS 638, Fall 2001
Fuzzy Set Ops: Union (OR)
• If you have x degree of faith in
statement A, and y degree of
faith in statement B, how
much faith do you have in the
statement A or B?
Membership
About 6’
1.0
Tall
– Eg: How much faith in “that
person is about 6’ high or tall”
• Does it make sense to attribute
less truth than you have in one
of A or B?
0.0
Height
11/6/2001
CS 638, Fall 2001
Fuzzy Rules
• “If our distance to the car in front is small, and the distance is
decreasing slowly, then decelerate quite hard”
–
–
–
–
Fuzzy variables in blue
Fuzzy sets in red
Conditions are on membership in fuzzy sets
Actions place an output variable (decelerate) in a fuzzy set (the quite
hard deceleration set)
• We have a certain belief in the truth of the condition, and
hence a certain strength of desire for the outcome
• Multiple rules may match to some degree, so we require a
means to arbitrate and choose a particular goal - defuzzification
11/6/2001
CS 638, Fall 2001
Fuzzy Rules Example (from Gems)
• Rules for controlling a car:
– Variables are distance to car in front and how fast it is changing, delta,
and acceleration to apply
– Sets are:
• Very small, small, perfect, big, very big - for distance
• Shrinking fast, shrinking, stable, growing, growing fast for delta
• Brake hard, slow down, none, speed up, floor it for acceleration
– Rules for every combination of distance and delta sets, defining an
acceleration set
• Assume we have a particular numerical value for distance and
delta, and we need to set a numerical value for acceleration
– Extension: Allow fuzzy values for input variables (degree to which we
believe the value is correct)
11/6/2001
CS 638, Fall 2001
Set Definitions for Example
v. small
small perfect
big
v. big
brake
distance
<<
<
=
>
present
fast
fastest
acceleration
>>
delta
11/6/2001
slow
CS 638, Fall 2001
Instance for Example
v. small
small perfect
big
v. big
brake
slow
present
distance
fast
fastest
acceleration
????
<<
<
=
>
>>
• Distance could be considered
small or perfect
• Delta could be stable or growing
• What acceleration?
delta
11/6/2001
CS 638, Fall 2001
Matching for Example
• Relevant rules are:
–
–
–
–
If distance is small and delta is growing, maintain speed
If distance is small and delta is stable, slow down
If distance is perfect and delta is growing, speed up
If distance is perfect and delta is stable, maintain speed
• For first rule, distance is small has 0.75 truth, and
delta is growing has 0.3 truth
– So the truth of the and is 0.3
• Other rule strengths are 0.6, 0.1 and 0.1
11/6/2001
CS 638, Fall 2001
Fuzzy Inference for Example
• Convert our belief into action
– For each rule, clip action fuzzy set by belief in rule
present
slow
acceleration
fast
11/6/2001
acceleration
CS 638, Fall 2001
acceleration
present
acceleration
Defuzzification Example
• We have three things sets we have reason to believe we are
in, and each set covers a range of values
• Two options in going from current state to a single value:
– Mean of Max: Take the rule we believe most strongly, and take the
(weighted) average of its possible values
– Center of Mass: Take all the rules we partially believe, and take their
weighted average
• In this example, we slow down either way, but we slow
down more with Mean of Max
– Mean of max is cheaper, but center of mass exploits more
information
11/6/2001
CS 638, Fall 2001
Evaluation of Fuzzy Logic
• Does not necessarily lead to non-determinism
• Advantages
– Allows use of numbers while still writing “crisp” rules
– Allows use of “fuzzy” concepts such as medium
– Biggest impact is for control problems
• Help avoid discontinuities in behavior
• In example problem strict rules would give discontinuous acceleration
• Disadvantages
– Sometimes results are unexpected and hard to debug
– Additional computational overhead
– There are other ways to get continuous acceleration
11/6/2001
CS 638, Fall 2001
References
• Nguyen, H. T. and Walker, E. A. A First Course in
Fuzzy Logic, CRC Press, 1999.
• Rao, V. B. and Rao, H. Y. C++ Neural Networks
and Fuzzy Logic, IGD Books Worldwide, 1995.
• McCuskey, M. Fuzzy Logic for Video Games, in
Game Programming Gems, Ed. Deloura, Charles
River Media, 2000, Section 3, pp. 319-329.
11/6/2001
CS 638, Fall 2001
Neural Networks
• Inspired by natural decision making structures (real nervous
systems and brains)
• If you connect lots of simple decision making pieces
together, they can make more complex decisions
– Compose simple functions to produce complex functions
• Neural networks:
–
–
–
–
–
11/6/2001
Take multiple numeric input variables
Produce multiple numeric output values
Normally threshold outputs to turn them into discrete values
Map discrete values onto classes, and you have a classifier!
But, the only time I’ve used them is as approximation functions
CS 638, Fall 2001
Simulated Neuron - Perceptron
• Inputs (aj) from other perceptrons with weights (Wi,j)
– Learning occurs by adjusting the weights
• Perceptron calculates weighted sum of inputs (ini)
• Threshold function calculates output (ai)
– Step function (if ini > t then ai = 1 else ai = 0)
– Sigmoid g(a) = 1/1+e-x
• Output becomes input for next layer of perceptron
aj
Wi,j
Σ Wi,j aj = ini
ai
ai = g(ini)
11/6/2001
CS 638, Fall 2001
Network Structure
• Single perceptron can represent AND, OR not XOR
– Combinations of perceptron are more powerful
• Perceptron are usually organized on layers
– Input layer: takes external input
– Hidden layer(s)
– Output layer: external output
• Feed-forward vs. recurrent
– Feed-forward: outputs only connect to later layers
• Learning is easier
– Recurrent: outputs can connect to earlier layers or same layer
• Internal state
11/6/2001
CS 638, Fall 2001
Neural network for Quake
Enemy
• Four input perceptron
Dead
Sound
Low Health
– One input for each condition
• Four perceptron hidden layer
– Fully connected
• Five output perceptron
– One output for each action
– Choose action with highest output
– Or, probabilistic action selection
• Choose at random weighted by output
Attack
Wander
Retreat
11/6/2001
CS 638, Fall 2001
Spawn
Chase
Learning Neural Networks
• Learning from examples
– Examples consist of input and correct output
• Learn if network’s output doesn’t match correct output
– Adjust weights to reduce difference
– Only change weights a small amount (η)
• Basic perceptron learning
–
–
–
–
11/6/2001
Wi,j = Wi,j + η(t-o)aj
If output is too high (t-o) is negative so Wi,j will be reduced
If output is too low (t-o) is positive so Wi,j will be increased
If aj is negative the opposite happens
CS 638, Fall 2001
Neural Net Example
• Single perceptron to represent OR
– Two inputs
– One output (1 if either inputs is 1)
– Step function (if weighted sum > 0.5 output a 1)
• Initial state (below) gives error on (1,0) input
– Training occurs
1
0.1
Σ Wj aj = 0.1
0
g(0.1) = 0
0
11/6/2001
0.6
CS 638, Fall 2001
Neural Net Example
•
•
•
•
Wj = Wj + η(t-o)aj
W1 = 0.1 + 0.1(1-0)1 = 0.2
W2 = 0.6 + 0.1(1-0)0 = 0.6
After this step, try (0,1)1 example
– No error, so no training
0
0.2
Σ Wj aj = 0.6
1
g(0.6) = 0
1
11/6/2001
0.6
CS 638, Fall 2001
Neural Net Example
1
0.2
Σ Wj aj = 0.2
0
g(0.2) = 0
• Try (1,0)1 example 0 0.6
– Still an error, so training occurs
• W1 = 0.2 + 0.1(1-0)1 = 0.3
• W2 = 0.6 + 0.1(1-0)0 = 0.6
• And so on…
– What is a network that works for OR?
– What about AND?
– Why not XOR?
11/6/2001
CS 638, Fall 2001
Neural Networks Evaluation
• Advantages
– Handle errors well
– Graceful degradation
– Can learn novel solutions
• Disadvantages
–
–
–
–
–
“Neural networks are the second best way to do anything”
Can’t understand how or why the learned network works
Examples must match real problems
Need as many examples as possible
Learning takes lots of processing
• Incremental so learning during play might be possible
11/6/2001
CS 638, Fall 2001
References
•
•
•
•
Mitchell: Machine Learning, McGraw Hill, 1997.
Russell and Norvig: Artificial Intelligence: A Modern Approach, Prentice Hall,
1995.
Hertz, Krogh & Palmer: Introduction to the theory of neural computation,
Addison-Wesley, 1991.
Cowan & Sharp: Neural nets and artificial intelligence, Daedalus 117:85-121,
1988.
11/6/2001
CS 638, Fall 2001