Presentation is loading. Please wait.

Presentation is loading. Please wait.

Introduction to Soft Computing ECE457 Applied Artificial Intelligence Spring 2008 Lecture #12.

Similar presentations


Presentation on theme: "Introduction to Soft Computing ECE457 Applied Artificial Intelligence Spring 2008 Lecture #12."— Presentation transcript:

1 Introduction to Soft Computing ECE457 Applied Artificial Intelligence Spring 2008 Lecture #12

2 ECE457 Applied Artificial Intelligence R. Khoury (2008)Page 2 Outline Overview of soft computing Fuzzy logic Russell & Norvig, pages 526-527 Neural networks Russell & Norvig, sections 20.5 Genetic algorithms Russell & Norvig, pages 116-120  ECE 493 & ECE 750 (Prof. Karray)

3 ECE457 Applied Artificial Intelligence R. Khoury (2008)Page 3 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 “Soft” reasoning Computer algorithms require complete and precise information “Hard” reasoning Soft computing aims to bridge this gap

4 ECE457 Applied Artificial Intelligence R. Khoury (2008)Page 4 Soft vs. Hard Computing Hard ComputingSoft Computing Input Complete and exact data Approximate and incomplete data Output Overly-exact solution Solution that’s “good enough” ReasoningRationalHuman-like

5 ECE457 Applied Artificial Intelligence R. Khoury (2008)Page 5 Soft Computing Probabilistic reasoning Human uncertainty and randomness Artificial neural networks (ANN) Human brain Fuzzy logic (FL) Human knowledge Evolutionary computing Genetic algorithms (GA) Biological evolution

6 ECE457 Applied Artificial Intelligence R. Khoury (2008)Page 6 Fuzzy Logic In crisp logic, facts are either true or false Truth value = {0, 1} This is an unnatural way of doing it Temperature 1010 ColdWarmHot

7 ECE457 Applied Artificial Intelligence R. Khoury (2008)Page 7 Temperature 1010 ColdWarmHot Fuzzy Logic In fuzzy logic, facts can be partially true and partially false Truth value = [0, 1] This is closer to human knowledge

8 ECE457 Applied Artificial Intelligence R. Khoury (2008)Page 8 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]

9 ECE457 Applied Artificial Intelligence R. Khoury (2008)Page 9 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

10 ECE457 Applied Artificial Intelligence R. Khoury (2008)Page 10 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

11 ECE457 Applied Artificial Intelligence R. Khoury (2008)Page 11 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

12 ECE457 Applied Artificial Intelligence R. Khoury (2008)Page 12 Fuzzy Controller Example If Hot and Wet then VentilationLow If Warm and Humid then VentilationMedium T 1010 Hot T 1010 Warm H 1010 H 1010 S 1010 S 1010 th Wet Humid VentilationLow VentilationMedium

13 ECE457 Applied Artificial Intelligence R. Khoury (2008)Page 13 Fuzzy Controller Example Defuzzification using centroid technique Converts fuzzy consequent into crisp value that can be used by system Centroid merges the output fuzzy sets and finds the center of gravity S 1010 s

14 ECE457 Applied Artificial Intelligence R. Khoury (2008)Page 14 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

15 ECE457 Applied Artificial Intelligence R. Khoury (2008)Page 15 Properties of Fuzzy Controllers The rule base must be Complete Continuous The rules must Be consistent Not interact The rule base system must be Robust Stable

16 ECE457 Applied Artificial Intelligence R. Khoury (2008)Page 16 Limits of Fuzzy Logic Writing the fuzzy rules Designing the fuzzy membership functions Often requires work by a domain expert

17 ECE457 Applied Artificial Intelligence R. Khoury (2008)Page 17 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

18 ECE457 Applied Artificial Intelligence R. Khoury (2008)Page 18 Fuzzy Robot Navigation Fuzzy linguistic variables of control system Distance: near, medium, far Direction angle: negative, zero, positive Speed: slow, medium, fast Distance 1010 NearMedium Far Direction 1010 NegativeZeroPositive Speed 1010 SlowMedium Fast

19 ECE457 Applied Artificial Intelligence R. Khoury (2008)Page 19 Going to target 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) 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 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) Fuzzy Robot Navigation

20 ECE457 Applied Artificial Intelligence R. Khoury (2008)Page 20 Fuzzy Robot Navigation

21 ECE457 Applied Artificial Intelligence R. Khoury (2008)Page 21 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!

22 ECE457 Applied Artificial Intelligence R. Khoury (2008)Page 22 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

23 ECE457 Applied Artificial Intelligence R. Khoury (2008)Page 23 Neuron Receives electric impulse from other neurons through dendrites. If impulse strong enough, travels through axon. Reaches synapses and transmits to other neurons

24 ECE457 Applied Artificial Intelligence R. Khoury (2008)Page 24 Artificial Neuron i th neuron sums inputs a 1 … a j … a n, weighted by weights w i1 … w ij … w in Threshold value  i controls activation If activated, input is transformed by transfer function f i (.) into output a i a i = f i (  j w ij a j -  i ) = [0, 1] ajaj w ij ii aiai  f i (.) Dendrites Axon Synapse Cell body

25 ECE457 Applied Artificial Intelligence R. Khoury (2008)Page 25 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

26 ECE457 Applied Artificial Intelligence R. Khoury (2008)Page 26 Perceptron Simplest and most commonly-used ANN Feed-forward ANN Single-layer No hidden layer Only linearly- separable problems Multi-layer Non-linear problems x1x1 x2x2 x3x3 o1o1 o2o2 Input layer Hidden layer Output layer

27 ECE457 Applied Artificial Intelligence R. Khoury (2008)Page 27 Examples x1x1 x2x2 -1.5 1 1 o x1x1 x2x2 -0.5 1 1 o x1x1 x2x2 o 1 1 1 1 OR Network AND Network XOR Network All these neurons use step functions f(<0) = 0 f(  0) = 1

28 ECE457 Applied Artificial Intelligence R. Khoury (2008)Page 28 Learning Backpropagation algorithm Train using a set of input-output vectors Modify weights of network to minimize the error Difference between the training output vector and the network’s actual output vector Supervised learning Using the entire training set = 1 epoch

29 ECE457 Applied Artificial Intelligence R. Khoury (2008)Page 29 Backpropagation algorithm Start with random weights For each epoch Forward propagation of each input vector, to get the network’s output vector Compare network output to target output of training set, and compute the network error Starting from output layer and going backwards, back propagate the network error to each layer Update the input weights of each neuron in each layer to minimise the network error Repeat until min network error or max epoch

30 ECE457 Applied Artificial Intelligence R. Khoury (2008)Page 30 Learning Given The weight vector w, where w (l) represents the weights of the connections from layer l-1 to layer l A set of n input-output vectors, each composed of an input a(k) and a target output t(k) A network with q output neurons Algorithm Forward propagation of each input vector k in n, to get the network’s output vector o(k) Compute the network error given each output neuron i in q Back-propagate and update weight vector w to minimize E c

31 ECE457 Applied Artificial Intelligence R. Khoury (2008)Page 31 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 x1x1 x2x2 x3x3 o1o1 x1x1 x2x2 x3x3 o1o1

32 ECE457 Applied Artificial Intelligence R. Khoury (2008)Page 32 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, …

33 ECE457 Applied Artificial Intelligence R. Khoury (2008)Page 33 Feed-Forward Networks Kohonen Self-Organising Map Fully-connected two-layer network Unsupervised learning 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, … x1x1 x2x2

34 ECE457 Applied Artificial Intelligence R. Khoury (2008)Page 34 Recurrent Networks Hopfield Network 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, … x1x1 x2x2 x3x3 o1o1 o2o2 o3o3

35 ECE457 Applied Artificial Intelligence R. Khoury (2008)Page 35 Limits of ANN Black box What does each neuron do? What does each weight do? No formal design rules How many hidden layers? How many neurons per layer? Which transfer functions? Prone to overfitting Backpropagation is slow and can converge on local optimum

36 ECE457 Applied Artificial Intelligence R. Khoury (2008)Page 36 ANN Classifier Typical application of ANN Requires A set of crisp, mutually-exclusive classes A set of well-defined, measurable attributes relevant to classification Correctly-classified training data Compared to Naïve Bayes Classifier Does not require any probabilities

37 ECE457 Applied Artificial Intelligence R. Khoury (2008)Page 37 ANN Classifier Design Pick network architecture based on problem Or simply pick perceptron One input neuron per attribute One output neuron per class Add hidden layers if classification is non-linear function of input space Exact number of layers or neurons difficult to discover Train network

38 ECE457 Applied Artificial Intelligence R. Khoury (2008)Page 38 ANN Classifier Example Paper on website Classification of pixels in aerial photograph Classes: lake, forest or land Input: pixel’s RGB value Data 180 training pixels 300 testing pixels

39 ECE457 Applied Artificial Intelligence R. Khoury (2008)Page 39 ANN Classifier Example Perceptron network Good for complex classification problems Two hidden layers Number of hidden layers / neurons per hidden layer discovered by trial-and-error One hidden layer not precise enough First layer neurons  input neurons Second layer neurons  max(input neurons, output neurons) More hidden neurons give higher precision, need more training time

40 ECE457 Applied Artificial Intelligence R. Khoury (2008)Page 40 ANN Classifier Example Classification precision: 93% Naïve Bayes Classifier: 88% Network later expanded to 7 classes Water, marsh, farmland, woodland, grassland, residential area, salina Still has RGB input, two hidden layers 7 output neurons, more neurons on hidden layers Precision: 97% Naïve Bayes Classifier: 89%

41 ECE457 Applied Artificial Intelligence R. Khoury (2008)Page 41 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.

42 ECE457 Applied Artificial Intelligence R. Khoury (2008)Page 42 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

43 ECE457 Applied Artificial Intelligence R. Khoury (2008)Page 43 Genetic Algorithms Simulating biological evolution in AI BiologyGenetic Algorithms Individuals States Solutions to a problem Environment State space to explore Problem to solve FitnessEvaluation function Changes from one generation to the next Operators

44 ECE457 Applied Artificial Intelligence R. Khoury (2008)Page 44 Individuals Individuals have a chromosome String of genes (bits) Encodes the solution represented by the individual Often binary representation, but can be anything Length, nature of bits, meaning, varies according to problem 11001010

45 ECE457 Applied Artificial Intelligence R. Khoury (2008)Page 45 Operators To evolve, the population must change GA typically use three operators to change the population Crossover (sexual reproduction) Mutation (mutation) Selection (natural selection)

46 ECE457 Applied Artificial Intelligence R. Khoury (2008)Page 46 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 11001010 11000110 0100011001001010 

47 ECE457 Applied Artificial Intelligence R. Khoury (2008)Page 47 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 11000110 11010110  

48 ECE457 Applied Artificial Intelligence R. Khoury (2008)Page 48 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

49 ECE457 Applied Artificial Intelligence R. Khoury (2008)Page 49 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

50 ECE457 Applied Artificial Intelligence R. Khoury (2008)Page 50 Evolution Algorithm Individuals are random, but population converges slowly towards solution Population fitness Generation xxx ** * * * * * * * * * ** * * * * *** *

51 ECE457 Applied Artificial Intelligence R. Khoury (2008)Page 51 Genetic Algorithm Example 8-Queen problem Environment: state space Chromosome: encodes position of queens Fitness: number of attacks 26715725

52 ECE457 Applied Artificial Intelligence R. Khoury (2008)Page 52 Genetic Algorithm Example 26715725 48536515 26736515 48515725  Crossover operation

53 ECE457 Applied Artificial Intelligence R. Khoury (2008)Page 53 Genetic Algorithm Example Possible mutation operations Complements (1-8, 2-7, 3-6, 4-5) Swap two random genes 48515725 48514725 45518725   

54 ECE457 Applied Artificial Intelligence R. Khoury (2008)Page 54 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)


Download ppt "Introduction to Soft Computing ECE457 Applied Artificial Intelligence Spring 2008 Lecture #12."

Similar presentations


Ads by Google