640 likes | 908 Views
Artificial Intelligence In the Real World. Computing Science University of Aberdeen. 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.
E N D
Artificial IntelligenceIn the Real World Computing Science University of Aberdeen
Artificial IntelligenceIn the Real World Artificial IntelligenceIn the Movies
Artificial IntelligenceIn the Real World Artificial IntelligenceIn the Movies
Artificial IntelligenceIn the Real World Artificial IntelligenceIn the Movies ?
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 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 by human+machine astronomy, nuclear physics, genetics, maths, drug discovery… “Machines will be capable, within twenty years, of doing any work that a man can do.” Herbert Simon, 1965. What Happened?
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?
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_summary.php?modGUI=232&compGUI=1828&itemGUI=3160
The Perceptron input1 weight1 input2 weight2 add output weight3 (threshold) weight4 input3 input4
The Perceptron input1 weight1 input2 weight2 add output weight3 (threshold) weight4 input3 Save Graph and Data input4
The Perceptron Save Graph and Data Note: example from Alison Cawsey
The Perceptron First last year _ 0.2 add _ output 0.2 Male _ Threshold = 0.5 0.2 0.2 _ hardworking _ Lives in halls Note: example from Alison Cawsey
The Perceptron First last year _ 0.15 add _ output 0.15 Male _ Threshold = 0.5 0.2 0.15 _ hardworking _ Lives in halls Note: example from Alison Cawsey
The Perceptron First last year _ 0.15 add _ output 0.15 Male _ Threshold = 0.5 0.2 0.15 _ hardworking _ Lives in halls Note: example from Alison Cawsey
The Perceptron First last year _ 0.2 add _ output 0.2 Male _ 0.25 Threshold = 0.5 0.15 _ hardworking _ Lives in halls Note: example from Alison Cawsey
The Perceptron First last year _ 0.2 add _ output 0.2 Male _ 0.25 Threshold = 0.5 0.15 _ hardworking _ Lives in halls Note: example from Alison Cawsey
The Perceptron First last year _ 0.2 add _ output 0.2 Male _ 0.25 Threshold = 0.5 0.15 _ hardworking _ Lives in halls Note: example from Alison Cawsey
The Perceptron First last year _ 0.2 add _ output 0.2 Male _ 0.25 Threshold = 0.5 0.15 _ hardworking _ Lives in halls Note: example from Alison Cawsey
The Perceptron First last year _ 0.2 add _ output 0.2 Male _ 0.25 Threshold = 0.5 0.15 _ hardworking _ Lives in halls Note: example from Alison Cawsey
The Perceptron First last year _ 0.2 add _ output 0.15 Male _ 0.20 Threshold = 0.5 0.10 _ hardworking _ Lives in halls Note: example from Alison Cawsey
The Perceptron First last year _ 0.2 add _ output 0.15 Male _ 0.20 Threshold = 0.5 0.10 _ hardworking _ Lives in halls Note: example from Alison Cawsey
The Perceptron First last year _ 0.2 add _ output 0.15 Male _ 0.20 Threshold = 0.5 0.10 _ hardworking _ Lives in halls Note: example from Alison Cawsey
The Perceptron First last year _ 0.2 add _ output 0.15 Male _ 0.20 Threshold = 0.5 0.10 _ hardworking _ Lives in halls Note: example from Alison Cawsey
The Perceptron First last year _ 0.2 add _ output 0.15 Male _ 0.20 Threshold = 0.5 0.10 _ hardworking _ Lives in halls Note: example from Alison Cawsey
The Perceptron First last year _ 0.2 add _ output 0.15 Male _ 0.20 Threshold = 0.5 0.10 _ hardworking _ Lives in halls Note: example from Alison Cawsey
The Perceptron First last year _ 0.25 add _ output 0.15 Male _ 0.25 Threshold = 0.5 0.15 _ hardworking _ Lives in halls Note: example from Alison Cawsey
The Perceptron First last year _ 0.25 add _ output 0.15 Male _ 0.25 Threshold = 0.5 0.15 _ hardworking _ Lives in halls Note: example from Alison Cawsey
The Perceptron First last year _ 0.25 add _ output 0.10 Male _ 0.20 Threshold = 0.5 0.10 _ hardworking _ Lives in halls Note: example from Alison Cawsey
The Perceptron First last year _ 0.25 add _ output 0.10 Male _ 0.20 Threshold = 0.5 0.10 _ hardworking _ Lives in halls • Finished Note: example from Alison Cawsey
The Perceptron First last year _ 0.25 add _ output 0.10 Male _ 0.20 Threshold = 0.5 0.10 _ hardworking _ Lives in halls • Finished • Ready to try unseen examples Note: example from Alison Cawsey
The Perceptron First last year _ 0.25 add _ output 0.10 Male _ 0.20 Threshold = 0.5 0.10 _ hardworking _ Lives in halls Note: example from Alison Cawsey
The Perceptron 0.25 • 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 _ output 0.10 add 0.20 Threshold = 0.5 0.10
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 • Note: most images are from the online slides for Tom Mitchell’s book “Machine Learning”
ALVINN Sharp right Straight ahead Sharp left 30 output units 4 hidden units 1 input pixel Input is 30x32 pixels = 960 values
ALVINN Sharp right Straight ahead Sharp left 30 output units 4 hidden units Learning means adjusting weight values 1 input pixel Input is 30x32 pixels = 960 values
ALVINN Sharp right Straight ahead Sharp left 30 output units 4 hidden units 1 input pixel Input is 30x32 pixels = 960 values
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
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