1 / 47

Introduction to Soft Computing

Introduction to Soft Computing. ECE457 Applied Artificial Intelligence Spring 2007 Lecture #12. Outline. Overview of soft computing Neural networks Russell & Norvig, sections 20.5 Fuzzy logic Russell & Norvig, pages 526-527 Genetic algorithms Russell & Norvig, pages 116-120

wkeenan
Download Presentation

Introduction to Soft Computing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Outline • Overview of soft computing • Neural networks • Russell & Norvig, sections 20.5 • Fuzzy logic • 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

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

  4. Soft vs. Hard Computing ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 4

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

  6. 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

  7. 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

  8. 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

  9. wij aj  fi(.) ai i 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 • ai = fi( jwijaj - i ) = [0, 1] Cell body Axon Synapse Dendrites ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 9

  10. 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

  11. x1 o1 x2 o2 x3 Input layer Hidden layer Output layer Perceptron • Simplest and most commonly-used ANN • Feed-forward ANN • Single-layer • No hidden layer • Only linearly-separable problems • Multi-layer • Non-linear problems ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 11

  12. x1 x1 1 1 x1 o o 1 1 1 x2 x2 1 -1 -1.5 -0.5 o -0.5 -1 1 -0.5 1 x2 -0.5 Examples XOR Network All these neurons use step functions f(<0) = 0 f(0) = 1 AND Network OR Network ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 12

  13. 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

  14. x1 o1 x2 x3 x1 o1 x2 x3 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 R. Khoury (2007) Page 14

  15. 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

  16. x1 x2 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, … ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 16

  17. 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, … x1 o1 o2 x2 o3 x3 ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 17

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

  19. Cold Warm Hot 1 0 Temperature Fuzzy Logic • In crisp logic, facts are either true or false • Truth value = {0, 1} • This is an unnatural way of doing it ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 19

  20. Cold Warm Hot 1 0 Temperature Fuzzy Logic • In fuzzy logic, facts can be partially true and partially false • Truth value = [0, 1] • This is closer to human knowledge ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 20

  21. 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

  22. 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

  23. 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

  24. 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

  25. 1 0 1 0 1 0 1 0 1 0 1 0 H C T H T C Fuzzy Controller Example • If Hot and Wet then VeryCool • If Warm and Humid then Cool Hot Wet VeryCool Warm Humid Cool t h ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 25

  26. 1 0 C c 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 ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 26

  27. 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

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

  29. 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

  30. 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

  31. Far Near Medium Negative Zero Positive Fast Slow Medium 1 0 1 0 1 0 Distance Direction Speed Fuzzy Robot Navigation • Fuzzy linguistic variables of control system • Distance: near, medium, far • Direction angle: negative, zero, positive • Speed: slow, medium, fast ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 31

  32. Fuzzy Robot Navigation • 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) ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 32

  33. Fuzzy Robot Navigation ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 33

  34. 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

  35. 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

  36. Genetic Algorithms • Simulating biological evolution in AI ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 36

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

  38. 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

  39. 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  ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 39

  40. 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   ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 40

  41. 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

  42. 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

  43. x x x Evolution Algorithm • Individuals are random, but population converges slowly towards solution * * * * * * * * * * * * * * * * * * * * * Populationfitness Generation ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 43

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

  45. Genetic Algorithm Example • Crossover operation  ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 45

  46. Genetic Algorithm Example • Mutation operation • Complements (1-8, 2-7, 3-6, 4-5) • Swap two random genes   ECE457 Applied Artificial Intelligence R. Khoury (2007) Page 46

  47. 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

More Related