Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Artificial Intelligence In the Real World Computing Science University of Aberdeen Artificial Intelligence In the Movies Artificial Intelligence In the Real World Artificial Intelligence In the Movies Artificial Intelligence In the Real World Artificial Intelligence In the Movies Artificial Intelligence In the Real World Artificial Intelligence Began in 1956… Great expectations… “Machines will be capable, within twenty years, of doing any work that a man can do.” Herbert Simon, 1965. “Machines will be capable, within twenty years, of doing any work that a man can do.” Herbert Simon, 1965. What Happened? “Machines will be capable, within twenty years, of doing any work that a man can do.” Herbert Simon, 1965. What Happened? Machines can’t do everything a man can do… People thought machines could replace humans… instead they are usually supporting humans “Machines will be capable, within twenty years, of doing any work that a man can do.” Herbert Simon, 1965. What Happened? Machines can’t do everything a man can do… People thought machines could replace humans… instead they are usually supporting humans Healthcare, Science, Government, Business, Military… “Machines will be capable, within twenty years, of doing any work that a man can do.” Herbert Simon, 1965. What Happened? Machines can’t do everything a man can do… People thought machines could replace humans… instead they are usually supporting humans Healthcare, Science, Government, Business, Military… Most difficult problems are solved my human+machine astronomy, nuclear physics, genetics, maths, drug discovery… Neural Networks Neural Networks are a popular Artificial Intelligence technique Used in many applications which help humans The idea comes from trying to copy the human brain… Fascinating Brain Facts… 100,000,000,000 = 1011 neurons 100 000 are irretrievably lost each day Each neuron connects to 10,000 -150,000 others Every person on planet make 200 000 phone calls same number of connections as in a single human brain in a day Grey part folded to fit - would cover surface of office desk The gray cells occupy only 5% of our brains 95% is taken up by the communication network between them About 2x106km of wiring (to the moon and back twice) Pulses travel at more than 400 km/h (250 mph) 2% of body weight… but consumes 20% of oxygen All the time! Even when sleeping What about copying neurons in Computers? Biological Inspiration Artificial Neural Network (ANN) loosely based on biological neuron Each unit is simple, but many connected in a complex network If enough inputs are received Neuron gets “excited” Passes on a signal, or “fires” ANN different to biological: ANN outputs a single value Biological neuron sends out a complex series of spikes Biological neurons not fully understood Image from Purves et al., Life: The Science of Biology, 4th Edition, by Sinauer Associates and WH Freeman Now play with the flash animation to see how synapses work http://www.mind.ilstu.edu/curriculum/neurons_intro/flash_sum mary.php?modGUI=232&compGUI=1828&itemGUI=3160 (Maybe this is a bit too long – about 3 or 4 mins) The Perceptron input1 add output input2 (threshold) weight4 input3 input4 The Perceptron input1 add output input2 (threshold) weight4 input3 input4 Save Graph and Data The Perceptron student first last year male works hard Lives in First halls this year 1 Richard 1 1 0 1 0 2 Alan 1 1 1 0 1 3 Alison 0 0 1 0 0 4 Jeff 0 1 0 1 0 5 Gail 1 0 1 1 1 6 Simon 0 1 1 1 0 Save Graph and Data Note: example from Alison Cawsey The Perceptron First last year _ Male _ add _ output Threshold = 0.5 0.2 _ hardworking _ Lives in halls Note: example from Alison Cawsey 1 student first last year male works hard Lives in First halls this year Richard 1 1 0 1 0 The Perceptron First last year _ Male _ add _ output Threshold = 0.5 0.15 _ hardworking _ Lives in halls Note: example from Alison Cawsey 1 student first last year male works hard Lives in First halls this year Richard 1 1 0 1 0 The Perceptron First last year _ Male _ add _ output Threshold = 0.5 0.15 _ hardworking _ Lives in halls Note: example from Alison Cawsey 2 student first last year male works hard Lives in First halls this year Alan 1 1 1 0 1 The Perceptron First last year _ Male _ add _ output Threshold = 0.5 0.15 _ hardworking _ Lives in halls Note: example from Alison Cawsey 2 student first last year male works hard Lives in First halls this year Alan 1 1 1 0 1 The Perceptron First last year _ Male _ add _ output Threshold = 0.5 0.15 _ hardworking _ Lives in halls Note: example from Alison Cawsey 3 student first last year male works hard Lives in First halls this year Alison 0 0 1 0 0 The Perceptron First last year _ Male _ add _ output Threshold = 0.5 0.15 _ hardworking _ Lives in halls Note: example from Alison Cawsey 4 student first last year male works hard Lives in First halls this year Jeff 0 1 0 1 0 The Perceptron First last year _ Male _ add _ output Threshold = 0.5 0.15 _ hardworking _ Lives in halls Note: example from Alison Cawsey 5 student first last year male works hard Lives in First halls this year Gail 1 0 1 1 1 The Perceptron First last year _ Male _ add _ output Threshold = 0.5 0.15 _ hardworking _ Lives in halls Note: example from Alison Cawsey 6 student first last year male works hard Lives in First halls this year Simon 0 1 1 1 0 The Perceptron First last year _ Male _ add _ output Threshold = 0.5 0.10 _ hardworking _ Lives in halls Note: example from Alison Cawsey 6 student first last year male works hard Lives in First halls this year Simon 0 1 1 1 0 The Perceptron First last year _ Male _ add _ output Threshold = 0.5 0.10 _ hardworking _ Lives in halls Note: example from Alison Cawsey 1 student first last year male works hard Lives in First halls this year Richard 1 1 0 1 0 The Perceptron First last year _ Male _ add _ output Threshold = 0.5 0.10 _ hardworking _ Lives in halls Note: example from Alison Cawsey 2 student first last year male works hard Lives in First halls this year Alan 1 1 1 0 1 The Perceptron First last year _ Male _ add _ output Threshold = 0.5 0.10 _ hardworking _ Lives in halls Note: example from Alison Cawsey 3 student first last year male works hard Lives in First halls this year Alison 0 0 1 0 0 The Perceptron First last year _ Male _ add _ output Threshold = 0.5 0.10 _ hardworking _ Lives in halls Note: example from Alison Cawsey 4 student first last year male works hard Lives in First halls this year Jeff 0 1 0 1 0 The Perceptron First last year _ Male _ add _ output Threshold = 0.5 0.10 _ hardworking _ Lives in halls Note: example from Alison Cawsey 5 student first last year male works hard Lives in First halls this year Gail 1 0 1 1 1 The Perceptron First last year _ Male _ add _ output Threshold = 0.5 0.15 _ hardworking _ Lives in halls Note: example from Alison Cawsey 5 student first last year male works hard Lives in First halls this year Gail 1 0 1 1 1 The Perceptron First last year _ Male _ add _ output Threshold = 0.5 0.15 _ hardworking _ Lives in halls Note: example from Alison Cawsey 6 student first last year male works hard Lives in First halls this year Simon 0 1 1 1 0 The Perceptron First last year _ Male _ add _ output Threshold = 0.5 0.10 _ hardworking _ Lives in halls Note: example from Alison Cawsey 6 student first last year male works hard Lives in First halls this year Simon 0 1 1 1 0 The Perceptron First last year _ Male _ add _ output 0.10 _ hardworking _ Lives in halls Finished Threshold = 0.5 The Perceptron First last year _ Male _ add _ output 0.10 _ hardworking Threshold = 0.5 _ Lives in halls Finished Ready to try unseen examples The Perceptron First last year _ Male _ add _ output Threshold = 0.5 0.10 _ hardworking _ Lives in halls student first last year male works hard Lives in First halls this year James 0 1 0 1 ? First last year _ Male _ The Perceptron _ output add 0.10 _ hardworking Threshold = 0.5 _ Lives in halls Simple perceptron works ok for this example But sometimes will never find weights that fit everything In our example: Important: Getting a first last year, Being hardworking Not so important: Male, Living in halls Suppose there was an “exclusive or” Important: (male) OR (live in halls), but not both Can’t capture this relationship Stock Exchange Example Company Name Company less than 2 years old Paid dividend >10% last year Share price increases in following year 1 Robot Components Ltd. 1 1 0 2 Silicon Devices 1 0 1 3 Bleeding Edge Software 0 0 0 4 Human Interfaces Inc. 1 1 0 5 Data Management Inc. 0 1 1 6 Intelligent Systems 1 1 0 Multilayer Networks We saw: perceptron can’t capture relationships among inputs Multilayer networks can capture complicated relationships Stock Exchange Example Hidden Layer Neural Net example: ALVINN Autonomous vehicle controlled by Artificial Neural Network Drives up to 70mph on public highways Note: most images are from the online slides for Tom Mitchell’s book “Machine Learning” Neural Net example: ALVINN Autonomous vehicle controlled by Artificial Neural Network Drives up to 70mph on public highways Neural Net example: ALVINN Sharp left Straight ahead Sharp right 30 output units 4 hidden units 1 input pixel Input is 30x32 pixels = 960 values Neural Net example: ALVINN Sharp left Straight ahead Sharp right 30 output units 4 hidden units Learning means adjusting weight values 1 input pixel Input is 30x32 pixels = 960 values Neural Net example: ALVINN Sharp left Straight ahead Sharp right 30 output units 4 hidden units 1 input pixel Input is 30x32 pixels = 960 values Neural Net example: ALVINN Neural Net example: ALVINN This shows one hidden node Input is 30x32 array of pixel values = 960 values Note: no special visual processing Size/colour corresponds to weight on link Neural Net example: ALVINN Output is array of 30 values This corresponds to steering instructions E.g. hard left, hard right This shows one hidden node Input is 30x32 array of pixel values = 960 values Note: no special visual processing Size/colour corresponds to weight on link Let’s try a more complicated example with the program… In this example we’ll get the program to help us to build the neural network Neural Network Applications Particularly good for pattern recognition Neural Network Applications Particularly good for pattern recognition Sound recognition – voice, or medical Neural Network Applications Particularly good for pattern recognition Sound recognition – voice, or medical Character recognition (typed or handwritten) Neural Network Applications Particularly good for pattern recognition Sound recognition – voice, or medical Character recognition (typed or handwritten) Image recognition (e.g. human faces) Neural Network Applications Particularly good for pattern recognition Sound recognition – voice, or medical Character recognition (typed or handwritten) Image recognition (e.g. human faces) Robot control - hand-arm-block.mpg Neural Network Applications Particularly good for pattern recognition Sound recognition – voice, or medical Character recognition (typed or handwritten) Image recognition (e.g. human faces) Robot control ECG pattern – had a heart attack? Neural Network Applications Particularly good for pattern recognition Sound recognition – voice, or medical Character recognition (typed or handwritten) Image recognition (e.g. human faces) Robot control ECG pattern – had a heart attack? Application for credit card or mortgage Neural Network Applications Particularly good for pattern recognition Sound recognition – voice, or medical Character recognition (typed or handwritten) Image recognition (e.g. human faces) Robot control ECG pattern – had a heart attack? Application for credit card or mortgage Data Mining on Customers Neural Network Applications Particularly good for pattern recognition Sound recognition – voice, or medical Character recognition (typed or handwritten) Image recognition (e.g. human faces) Robot control ECG pattern – had a heart attack? Application for credit card or mortgage Data Mining on Customers Other types of Data Mining - Science Neural Network Applications Particularly good for pattern recognition Sound recognition – voice, or medical Character recognition (typed or handwritten) Image recognition (e.g. human faces) Robot control ECG pattern – had a heart attack? Application for credit card or mortgage Data Mining on Customers Other types of Data Mining Spam filtering Neural Network Applications Particularly good for pattern recognition Sound recognition – voice, or medical Character recognition (typed or handwritten) Image recognition (e.g. human faces) Robot control ECG pattern – had a heart attack? Application for credit card or mortgage Data Mining on Customers Other types of Data Mining Spam filtering Shape in Go Neural Network Applications Particularly good for pattern recognition Sound recognition – voice, or medical Character recognition (typed or handwritten) Image recognition (e.g. human faces) Robot control ECG pattern – had a heart attack? Application for credit card or mortgage Data Mining on Customers Other types of Data Mining Spam filtering Shape in Go… and many more! What are Neural Networks Good For? When training data is noisy, or inaccurate E.g. camera or microphone inputs Very fast performance once network is trained Can accept input numbers from sensors directly Human doesn’t need to interpret them first What are Neural Networks Good For? When training data is noisy, or inaccurate E.g. camera or microphone inputs Very fast performance once network is trained Can accept input numbers from sensors directly Human doesn’t need to interpret them first Disadvantages? Need a lot of data – training examples Training time could be very long This is the big problem for large networks Network is like a “black box” A human can’t look inside and understand what has been learnt Precise logical rules would be easier to understand