Artificial Intelligence In the Real World Computing Science University of Aberdeen.

Post on 28-Mar-2015

214 views 1 download

Tags:

transcript

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, Machines will be capable,

within twenty years, within twenty years,

of doing any work that a man of doing any work that a man

can do.”can do.”

Herbert Simon, 1965.

What Happened?

““Machines will be capable, Machines will be capable,

within twenty years, within twenty years,

of doing any work that a man can do.”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, Machines will be capable,

within twenty years, within twenty years,

of doing any work that a man can do.”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, Machines will be capable,

within twenty years, within twenty years,

of doing any work that a man can do.”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…

““Machines will be capable, Machines will be capable,

within twenty years, within twenty years,

of doing any work that a man can do.”of doing any work that a man can do.”

Herbert Simon, 1965.

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

Biological Inspiration

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

(Maybe this is a bit too long – about 3 or 4 mins)

The Perceptron

add

weight1

output

input1

input2

input3

input4

weight4

(threshold)

weight2

wei

ght 3

The Perceptron

add

weight1

output

input1

input2

input3

input4

weight4

(threshold)

weight2

wei

ght 3

Save Graph and Data

The Perceptron

Note: example from Alison Cawsey

student first last year

male works hard

Lives in halls

First 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

The Perceptron

add

0.2

_output

First last year _

Male_

_hardworking _

Lives in halls

0.2Threshold

= 0.5

0.2

0.2

Note: example from Alison Cawsey

student first last year

male works hard

Lives in halls

First this year

1 Richard 1 1 0 1 0

The Perceptron

add

0.15

_output

First last year _

Male_

_hardworking _

Lives in halls

0.15Threshold

= 0.5

0.15

0.2

Note: example from Alison Cawsey

student first last year

male works hard

Lives in halls

First this year

1 Richard 1 1 0 1 0

The Perceptron

add

0.15

_output

First last year _

Male_

_hardworking _

Lives in halls

0.15Threshold

= 0.5

0.15

0.2

Note: example from Alison Cawsey

student first last year

male works hard

Lives in halls

First this year

2 Alan 1 1 1 0 1

The Perceptron

add

0.2

_output

First last year _

Male_

_hardworking _

Lives in halls

0.15Threshold

= 0.5

0.2

0.25

Note: example from Alison Cawsey

student first last year

male works hard

Lives in halls

First this year

2 Alan 1 1 1 0 1

The Perceptron

add

0.2

_output

First last year _

Male_

_hardworking _

Lives in halls

0.15Threshold

= 0.5

0.2

0.25

Note: example from Alison Cawsey

student first last year

male works hard

Lives in halls

First this year

3 Alison 0 0 1 0 0

The Perceptron

add

0.2

_output

First last year _

Male_

_hardworking _

Lives in halls

0.15Threshold

= 0.5

0.2

0.25

Note: example from Alison Cawsey

student first last year

male works hard

Lives in halls

First this year

4 Jeff 0 1 0 1 0

The Perceptron

add

0.2

_output

First last year _

Male_

_hardworking _

Lives in halls

0.15Threshold

= 0.5

0.2

0.25

Note: example from Alison Cawsey

student first last year

male works hard

Lives in halls

First this year

5 Gail 1 0 1 1 1

The Perceptron

add

0.2

_output

First last year _

Male_

_hardworking _

Lives in halls

0.15Threshold

= 0.5

0.2

0.25

Note: example from Alison Cawsey

student first last year

male works hard

Lives in halls

First this year

6 Simon 0 1 1 1 0

The Perceptron

add

0.2

_output

First last year _

Male_

_hardworking _

Lives in halls

0.10Threshold

= 0.5

0.15

0.20

Note: example from Alison Cawsey

student first last year

male works hard

Lives in halls

First this year

6 Simon 0 1 1 1 0

The Perceptron

add

0.2

_output

First last year _

Male_

_hardworking _

Lives in halls

0.10Threshold

= 0.5

0.15

0.20

Note: example from Alison Cawsey

student first last year

male works hard

Lives in halls

First this year

1 Richard 1 1 0 1 0

The Perceptron

add

0.2

_output

First last year _

Male_

_hardworking _

Lives in halls

0.10Threshold

= 0.5

0.15

0.20

Note: example from Alison Cawsey

student first last year

male works hard

Lives in halls

First this year

2 Alan 1 1 1 0 1

The Perceptron

add

0.2

_output

First last year _

Male_

_hardworking _

Lives in halls

0.10Threshold

= 0.5

0.15

0.20

Note: example from Alison Cawsey

student first last year

male works hard

Lives in halls

First this year

3 Alison 0 0 1 0 0

The Perceptron

add

0.2

_output

First last year _

Male_

_hardworking _

Lives in halls

0.10Threshold

= 0.5

0.15

0.20

Note: example from Alison Cawsey

student first last year

male works hard

Lives in halls

First this year

4 Jeff 0 1 0 1 0

The Perceptron

add

0.2

_output

First last year _

Male_

_hardworking _

Lives in halls

0.10Threshold

= 0.5

0.15

0.20

Note: example from Alison Cawsey

student first last year

male works hard

Lives in halls

First this year

5 Gail 1 0 1 1 1

The Perceptron

add

0.25

_output

First last year _

Male_

_hardworking _

Lives in halls

0.15Threshold

= 0.5

0.15

0.25

Note: example from Alison Cawsey

student first last year

male works hard

Lives in halls

First this year

5 Gail 1 0 1 1 1

The Perceptron

add

0.25

_output

First last year _

Male_

_hardworking _

Lives in halls

0.15Threshold

= 0.5

0.15

0.25

Note: example from Alison Cawsey

student first last year

male works hard

Lives in halls

First this year

6 Simon 0 1 1 1 0

The Perceptron

add

0.25

_output

First last year _

Male_

_hardworking _

Lives in halls

0.10Threshold

= 0.5

0.10

0.20

Note: example from Alison Cawsey

student first last year

male works hard

Lives in halls

First this year

6 Simon 0 1 1 1 0

The Perceptron

add

0.25

_output

First last year _

Male_

_hardworking _

Lives in halls

0.10Threshold

= 0.5

0.10

0.20

Finished

The Perceptron

add

0.25

_output

First last year _

Male_

_hardworking _

Lives in halls

0.10Threshold

= 0.5

0.10

0.20

FinishedReady to try unseen examples

The Perceptron

add

0.25

_output

First last year _

Male_

_hardworking _

Lives in halls

0.10Threshold

= 0.5

0.10

0.20

student first last year

male works hard

Lives in halls

First this year

James 0 1 0 1 ?

The Perceptron

add

0.25

_output

First last year _

Male_

_hardworking _

Lives in halls

0.10Threshold

= 0.5

0.100.

20

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

Input is 30x32 pixels= 960 values

1 input pixel

4 hidden units

30 output units

Sharp right

Straight ahead

Sharp left

Neural Net example: ALVINN

Input is 30x32 pixels= 960 values

1 input pixel

4 hidden units

30 output units

Sharp right

Straight ahead

Sharp left

Learning means adjusting weight

values

Neural Net example: ALVINN

Input is 30x32 pixels= 960 values

1 input pixel

4 hidden units

30 output units

Sharp right

Straight ahead

Sharp left

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 ApplicationsParticularly good for pattern recognition

Neural Network ApplicationsParticularly good for pattern recognition

Sound recognition – voice, or medical

Neural Network ApplicationsParticularly good for pattern recognition

Sound recognition – voice, or medical Character recognition (typed or handwritten)

Neural Network ApplicationsParticularly good for pattern recognition

Sound recognition – voice, or medical Character recognition (typed or handwritten) Image recognition (e.g. human faces)

Neural Network ApplicationsParticularly 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 ApplicationsParticularly 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 ApplicationsParticularly 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 ApplicationsParticularly 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 ApplicationsParticularly 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 ApplicationsParticularly 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 ApplicationsParticularly 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 ApplicationsParticularly 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

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

Disadvantages?