+ All Categories
Home > Technology > Arduino Neural Networks

Arduino Neural Networks

Date post: 15-Jul-2015
Category:
Upload: tomas-jukin
View: 331 times
Download: 1 times
Share this document with a friend
Popular Tags:
66
Arduino and Neural Nets
Transcript
Page 1: Arduino Neural Networks

Tomáš Jukin@Inza

Arduino and Neural Nets

Page 2: Arduino Neural Networks
Page 3: Arduino Neural Networks

16 MHz

Page 4: Arduino Neural Networks

2 KB RAM 16 MHz

Page 5: Arduino Neural Networks

:-(

Page 6: Arduino Neural Networks

:’-(

Page 7: Arduino Neural Networks
Page 8: Arduino Neural Networks

? ? ?

Page 9: Arduino Neural Networks

7 + 8 + 4 = 19!

Page 10: Arduino Neural Networks

7 + 8 + 4 = 19

Page 11: Arduino Neural Networks

7 + 8 + 4 = 19 Input

Hidden

Output

Page 12: Arduino Neural Networks

7 + 8 + 4 = 19

7 Segment Display to Binary

Page 13: Arduino Neural Networks

Tomáš Jukin@Inza

www.juicymo.cz@JuicymoCZ

Page 14: Arduino Neural Networks

Tomáš Jukin@Inza

academy.juicymo.cz@JuicymoAcademy

Page 15: Arduino Neural Networks
Page 16: Arduino Neural Networks

Dendrite

NucleusAxon

Page 17: Arduino Neural Networks

Input

Activation FunctionOutput

Page 18: Arduino Neural Networks

Dendrite 2

Nucleus

Axon

Dendrite 1

Page 19: Arduino Neural Networks

Input 2

Activation Function

Output

Input 1

Page 20: Arduino Neural Networks

Input 2

Activation Function

Output

Input 10,2

0,80,43

0,18

0,37

Page 21: Arduino Neural Networks
Page 22: Arduino Neural Networks

Input

Hidden

Output

Feed Forward ANN

Page 23: Arduino Neural Networks

Input Hidden Output

Page 24: Arduino Neural Networks

Input Hidden Output

Ultrasonic Sensor

Gyroscope

Wheel Encoder

Left Motor

Right Motor

Page 25: Arduino Neural Networks

Input Hidden Output

Ultrasonic Sensor

Gyroscope

Wheel Encoder

Left Motor

Right Motor

Flow

Page 26: Arduino Neural Networks

Input Hidden Output

Ultrasonic Sensor

Gyroscope

Wheel Encoder

Left Motor

Right Motor

20º = 20/180 = 0,111…

Page 27: Arduino Neural Networks

Input Hidden Output

Ultrasonic Sensor

Gyroscope

Wheel Encoder

Left Motor

Right Motor

20º = 20/180 = 0,111…

Page 28: Arduino Neural Networks

Input Hidden Output

Ultrasonic Sensor

Gyroscope

Wheel Encoder

Left Motor

Right Motor

20º = 20/180 = 0,111…

Page 29: Arduino Neural Networks

Input Hidden Output

Ultrasonic Sensor

Gyroscope

Wheel Encoder

Left Motor

Right Motor

20º = 20/180 = 0,111…

0,345 = 34% power

Page 30: Arduino Neural Networks

Input Hidden Output

Ultrasonic Sensor

Gyroscope

Wheel Encoder

Left Motor

Right Motor

20º = 20/180 = 0,111…

0,345 = 34% power

0,4 = 40% power

Page 31: Arduino Neural Networks

Input Hidden Output

Ultrasonic Sensor

Gyroscope

Wheel Encoder

Left Motor

Right Motor

20º = 20/180 = 0,111…

0,345 = 34% power

0,4 = 40% power

0,4 - 0,345 = 0,055

Page 32: Arduino Neural Networks

Input Hidden Output

Ultrasonic Sensor

Gyroscope

Wheel Encoder

Left Motor

Right Motor

20º = 20/180 = 0,111…

0,345 = 34% power

0,4 = 40% power

0,4 - 0,345 = 0,055

Page 33: Arduino Neural Networks

Input Hidden Output

Ultrasonic Sensor

Gyroscope

Wheel Encoder

Left Motor

Right Motor

20º= 20/180 = 0,111…

0,345 = 34% power

0,4 = 40% power

0,4 - 0,345 = 0,055

W11 = 0,14

W12 = 0,65

W14 = 0,42

W13 = 0,26

W21 = 0,21

W22 = 0,37

W24 = 0,19

W23 = 0,46

Page 34: Arduino Neural Networks

Ultrasonic Sensor

Gyroscope

Wheel Encoder

Left Motor

Right Motor

20º= 20/180 = 0,111…

0,345 = 34% power

0,4 = 40% power

0,4 - 0,345 = 0,055

W11 = 0,14

W12 = 0,65

W14 = 0,42

W13 = 0,26

W21 = 0,21

W22 = 0,37

W24 = 0,19

W23 = 0,46

Backpropagation

Page 35: Arduino Neural Networks

Ultrasonic Sensor

Gyroscope

Wheel Encoder

Left Motor

Right Motor

20º= 20/180 = 0,111…

0,345 = 34% power

0,4 = 40% power

0,4 - 0,345 = 0,055

W11 = 0,14

W12 = 0,65

W14 = 0,42

W13 = 0,26

W21 = 0,21

W22 = 0,37

W24 = 0,19

W23 = 0,46

Backpropagation

Page 36: Arduino Neural Networks

Ultrasonic Sensor

Gyroscope

Wheel Encoder

Left Motor

Right Motor

20º= 20/180 = 0,111…

0,345 = 34% power

0,4 = 40% power

0,4 - 0,345 = 0,055

W11 = 0,14

W12 = 0,65

W14 = 0,42

W13 = 0,26

W21 = 0,21

W22 = 0,37

W24 = 0,19

W23 = 0,46

Backpropagation

Page 37: Arduino Neural Networks

Ultrasonic Sensor

Gyroscope

Wheel Encoder

Left Motor

Right Motor

20º= 20/180 = 0,111…

0,345 = 34% power

0,4 = 40% power

0,4 - 0,345 = 0,055

W11 = 0,14

W12 = 0,65

W14 = 0,42

W13 = 0,26

W21 = 0,21

W22 = 0,37

W24 = 0,19

W23 = 0,46

Backpropagation

Page 38: Arduino Neural Networks

When to use ANNs?

It can learn and detect patterns

Page 39: Arduino Neural Networks

When to use ANNs?

But beware local optimum!

Page 40: Arduino Neural Networks

When to use ANNs?

To much training is bad!

Page 41: Arduino Neural Networks

When to use ANNs?

To much training is bad! To few training is bad too!

Page 42: Arduino Neural Networks

And what about hardware?

Page 43: Arduino Neural Networks

How ANN stores data?

FF ANN needs just a two dimensional array

Page 44: Arduino Neural Networks

How ANN stores data?

FF ANN needs just a

Feed-Forward Artificial Neural Net

Page 45: Arduino Neural Networks

Nice!

So I can run it everywhere then, can I?

Page 46: Arduino Neural Networks
Page 47: Arduino Neural Networks

ANN on UNO?

NOPE :-(

Page 48: Arduino Neural Networks

ANN on UNO?

2 KB RAM => 19 neurons effectively

Page 49: Arduino Neural Networks

ANN on UNO?

Average ANN has >100 neurons

Page 50: Arduino Neural Networks

ANN on UNO?

Interesting ANN has >2000 neurons

Page 51: Arduino Neural Networks

ANN on UNO?

=> No go on UNO …

Page 52: Arduino Neural Networks
Page 53: Arduino Neural Networks

ANN on Raspi?

Yop, that is a start…

Page 54: Arduino Neural Networks

ANN on Raspi?

Yop, that is a start… and I2C or UART

will connect it with UNO…

Page 55: Arduino Neural Networks

ANN on Raspi?

Yop, that is a start… and I2C or UART

will connect it with UNO… but BEWARE the VOLTAGE!

Page 56: Arduino Neural Networks

Case Study

Page 57: Arduino Neural Networks

#Probee Robot

Page 58: Arduino Neural Networks

#Probee Robot

3x UltraSonic Sensor (Forward / Backward / Turret)

4x DC Motor

1x Motor Controller (Left / Right)

1x Arduino UNO (= brain)

1x Bluetooth Module

1x 2x16 I2C LCD (= status display)

Page 59: Arduino Neural Networks

#Probee Robot UNO ANN

Hours to learn movement…

Page 60: Arduino Neural Networks

#Probee Robot UNO ANN

Hours to learn movement…

15 minutes battery

Page 61: Arduino Neural Networks

#Probee Robot UNO ANN

Hours to learn movement…

15 minutes battery

Needs better HW preparation …=>

Page 62: Arduino Neural Networks

Interested?

Build or Implementstart today!

You can start right now……with any language…

…or on Arduino!

Page 63: Arduino Neural Networks

Inspiration

http://goo.gl/sKTfsdBlog post about ANN on UNO

http://goo.gl/cuIUiHANN controlling robot in video

Page 64: Arduino Neural Networks

Questions?

Page 65: Arduino Neural Networks

Tomáš Jukin@Inza

www.juicymo.cz@JuicymoCZ

Page 66: Arduino Neural Networks

Photo Credits

All photos used are CC from Flickr!


Recommended