* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download How the electronic mind can emulate the human mind: some
Wizard of Oz experiment wikipedia , lookup
Time series wikipedia , lookup
Computer Go wikipedia , lookup
Perceptual control theory wikipedia , lookup
Catastrophic interference wikipedia , lookup
Convolutional neural network wikipedia , lookup
Ethics of artificial intelligence wikipedia , lookup
Incomplete Nature wikipedia , lookup
Embodied cognitive science wikipedia , lookup
Human–computer interaction wikipedia , lookup
Machine learning wikipedia , lookup
Existential risk from artificial general intelligence wikipedia , lookup
Personal knowledge base wikipedia , lookup
Ecological interface design wikipedia , lookup
Philosophy of artificial intelligence wikipedia , lookup
Gene expression programming wikipedia , lookup
Pattern recognition wikipedia , lookup
Knowledge representation and reasoning wikipedia , lookup
How the electronic mind can emulate the human mind: some applications of Artificial Intelligence 7th International Interdisciplinary Seminar Luca Arcara, Federico Cassoli, Mattia Ferrini Politecnico di Milano – Campus of Como 1 Agenda Introduction Expert Systems Neural Networks A sample application Genetic Algorithms 2 Introduction What is Artificial Intelligence? Systems that think like humans Systems that act like humans Systems that think rationally Systems that act rationally 3 Acting humanly – the Turing test Described in “Computing machinery and intelligence” – Turing (1950) “Can machines think?” becomes “Can machines behave intelligently?” Operational test for intelligent behavior: the Imitation Game. 4 Acting humanly – the Turing test Suggested major components of AI Knowledge Reasoning Language understanding Learning Problem: Turing test is not reproducible, constructive or apt to mathematical analysis 5 Subjects linked to A. I. Philosophy Logic, methods of reasoning Mind as physical system Foundations of learning, language, rationality Mathematics Formal representation and proof Algorithms, computation, (un)decidability, (in)tractability Probability Psychology Adaptation Phenomena of perception and motor control Economics Formal theory of rational decisions Linguistics Knowledge representation Grammar Neuroscience Plastic physical substrate for mental activity Control theory Stability of systems Simple optimal agent designs 6 State of the art Artificial Intelligence Expert systems … Neural networks Genetic algorithms 7 Expert systems Def: software systems simulating expert-like decision making while keeping knowledge separate from the reasoning mechanism. Replace human expert decision making when not available Assist human expert when integrating various decisions Provides a user with: an appropriate hypothesis; methodology for knowledge storage and reuse. 8 Expert systems architecture Expert’s knowledge – facts and rules Inference engine Uses the k.b. to infer new facts and produce solutions Update module Explanation module Simplifies the user’s interaction User interface Knowledge base Lets the user change the k.b. Tells the user the steps that produced the solution User 9 Rule-Based Systems Knowledge in the form of if condition then effect rules Example: here fine not here absent absent and not seen at home absent and seen in the building in the building fine at home and not holiday sick here and holiday sick ? ? here no ? seen no ? holiday no sick ? here yes fine ? here yes ? holiday yes sick 10 Expert systems vs. conventional programs Aspect Expert systems Conventional programs Paradigm Heuristical rules, exploration of the space of states Algorithms, explicit predefined steps Approach Declarative Procedural Data manipulated Knowledge, often rules Vectors and matrixes of data Control system Inferential engine separated from the knowledge base Data and information integrated with programs User interface Highly interactive, usually questions and answers No standard typology Explanation capability It presents the steps that led to the proposed solution Not available Learning capability Present Not available 11 Applications Interpretation Diagnosis Monitoring Planning and scheduling Forecasting Project and configuration 12 Neural Networks Def: mathematical models that try to emulate the human nervous system. Final target of neural networks is to simulate the process of learning of the human brain, so that it can interact with the external environment without human help, except for the creation. The first models were developed by W. McCulloch and W. Pitts in 1943, with their manifest: “A logical calculus of the ideas immanent in nervous activity”. 13 Brain and Neurons General Structure of a Neuron Learning dendrites axon nucleus synapses 14 The structure of neural networks Artificial neural networks are typically composed of interconnected units which serve as a model for neurons. The synapse is modelled by a modifiable weight associated with each particular connection. Each unit converts the pattern of incoming activities that it receives into a single outgoing activity that it sends to other units. First: biased weighted sum Second: transfer function 15 How do they work? 1 0.19 + 0.88 + 0 - 0.8 = 0.27 x 0.19 0.88 x 0.4 + 0 - 0.73 = -0.33 1 x 1 0.4 0 0 -0.13 x 0 x 0 0 -0.13 + 0 - 0.82 = -0.95 0 Example of a two levels network 16 Learning After a neural network has been created it can be trained using one of the supervised learning algorithms (an example is back propagation), which uses the data to adjust the network's weights and thresholds so as to minimize the error in its predictions on the training set. 17 Why are they useful? If the network is properly trained, it can model the (unknown) function that relates the input variables to the output variables, and can subsequently be used to make predictions where the output is not known. They are based on the concept that often (not always), it is possible to teach to a mathematical system some laws that we did not know before, only by letting it analyze a lot of real cases. 18 Applications Common fields of application are when the statistical analysis of all the problem’s variables is too difficult or expensive (at the calculation level), but overall is not clear beforehand what kind of deterministic relationships there are between the different variables. OCR (Optical character recognition) Diagnosis Control of industrial productions quality Recognition of potentially dangerous molecules (using “electronic noses”) Engine management Control of robots 19 A sample application (1) Problem: We want to create a neural network that is able to determine if one binary number with 4 figures is even. 20 A sample application (2) We use a network with: 4 input nodes; 2 hidden nodes; 1 output node (1 if the number is even, 0 if it is odd). 21 A sample application (3) Training Data: 22 A sample application (4) DEMO To solve the problem we will use a program that was produced at the Laboratory for Computational Intelligence at the University of British Columbia. 23 GAs Definition – The idea Genetic algorithms are based on a biological metaphor: they view learning as a competition among a population of evolving candidate problem solutions. So a GA is a probabilistic optimization algorithm that makes use of a population of test solutions which artificially reproduce through operations analogous to gene transfer in sexual reproduction. 24 History Genetic Algorithms (GAs) originated from the studies conducted by John H. Holland and his colleagues at the University of Michigan. Holland’s book “Adaptation in Natural and Artificial Systems”, published in 1975, is generally acknowledged as the beginning of the research of genetic algorithms. 25 Definitions(1) – Chromosome A chromosome, a collection of genes, represents a possible solution of the problem. ENCODING EXAMPLES Binary encoding – A chromosome is a collection of bits Tree encoding - In the tree encoding every chromosome is a tree of some objects, such as functions or commands in a programming language ( i.e. LISP ) 26 Definitions(2) – Fitness Function Fitness Function A fitness function evaluates the ability of a candidate solution to solve the given problem. 27 Definitions(3) – Crossover Crossover operates on selected genes from parent chromosomes and creates new offspring. EXAMPLE – SINGLE POINT CROSSOVER WITH BINARY ENCODING FATHER - 101100 101 OFFSPRING MOTHER - 010111 111 28 Definitions(4) – Mutation The chromosome is randomly mutated to prevent premature convergence upon a local maximum. It’s a further techique through wich a GA explores the solution space: mutation gives an extra-probability to every possible solution of the problem out of the finite population of solutions generated by the GA. Mutation should not occur very often, because then GA will in fact change to random search. 29 Outline of a basic GA: Flowchart 30 Parameters(1) Crossover probability ( Pc ): how often crossover will be performed. If there are too few chromosomes, GAs have few possibilities to perform crossover and only a small part of search space is explored. On the other hand, if there are too many chromosomes, GA slow down. Crossover probability is usually beetween 0.4 and 0.7. Mutation probability ( Pm ): how often parts of chromosome will be mutated. Mutation should not occur very often, because then GA will in fact change to random search. Tipical Pm is 0.010.001. Population size: how many chromosomes are in a population (in one generation). Good population size is reported to be about 20-100. 31 Parameters(2) Elitism Number: Elitism is the name of the method that first copies the best chromosome (or few best chromosomes) to the new population. Elitism can rapidly increase the performance of GA, because it prevents a loss of the best found solution. Elitism number specifies how many chromosomes copy directly in the new population. 32 GAs vs. Ad-hoc approach Genetic Approach is a rather brutal approach, requiring large amounts of processing power, but with the immense advantage of supplying solutions to things we don't know how to solve, or don't know how to solve quickly. In fact no knowledge of how to solve the problem is needed BUT you need to be able to encode the chromosome and design the fitness function. This means implementation relies on a problemindependent "engine”. 33 What are GAs used for ? GAs are excellent for all tasks requiring optimization and are highly effective in any situation where many inputs (variables) interact to produce a large number of possible outputs (solutions). Some example situations are: Optimization such as data fitting, clustering, trend spotting, path finding, ordering. Management: Distribution, scheduling, project management, courier routing, container packing, task assignment, time tables. Financial: Portfolio balancing, budgeting, forecasting, investment analysis and payment scheduling. Data Mining ………………. 34