neural programs: towards adaptive control in cyber

Post on 15-Oct-2021

8 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Motivation Background Neural Code C.elegans tap withdrawal simulation Parallel parking Conclusion

Neural Programs:Towards Adaptive Control in Cyber-Physical Systems

Konstantin Selyunin1, Denise Ratasich1

Ezio Bartocci1, M.A. Islam2

Scott A. Smolka2, Radu Grosu1

1Vienna University of TechnologyCyber-Physical Systems Group E182-1

Institut of Computer Engineering

2Stony Brook University, NY, USA

Motivation Background Neural Code C.elegans tap withdrawal simulation Parallel parking Conclusion

Motivation

• Programs are not robust

• Case studies: neural circuit simulation & parallel parking

• Parameter synthesis: plateaus are bad for optimizations0.00 0.02 0.04 0.06 0.08 0.10 0.12 0.14 0.16

Time, s

0.030

0.028

0.026

0.024

0.022

0.020

0.018

0.016

Pote

ntia

l, V

AVAAVB

Motivation Background Neural Code C.elegans tap withdrawal simulation Parallel parking Conclusion

Motivation II

This presentation:

• How to incorporate “smooth” decisions in CPS to makesystems more robust using neural circuits and GBN

• Technique to learn parameters of a model

• Application to two case studies and the relation between them

Motivation Background Neural Code C.elegans tap withdrawal simulation Parallel parking Conclusion

Background

• Bayesian Networks• express probabilistic dependencies between variables• are represented as DAGs• allow compact representation using CPDs

• Gaussian Distributions• Univariate and Multivariate Gaussian distributions

• Step function vs. sigmoid

D I

G

L

S

Motivation Background Neural Code C.elegans tap withdrawal simulation Parallel parking Conclusion

Background

• Bayesian Networks• express probabilistic dependencies between variables• are represented as DAGs• allow compact representation using CPDs

• Gaussian Distributions• Univariate and Multivariate Gaussian distributions

• Step function vs. sigmoid

D I

G

L

S

Motivation Background Neural Code C.elegans tap withdrawal simulation Parallel parking Conclusion

Background

• Bayesian Networks• express probabilistic dependencies between variables• are represented as DAGs• allow compact representation using CPDs

• Gaussian Distributions• Univariate and Multivariate Gaussian distributions

• Step function vs. sigmoid

D I

G

L

S

Motivation Background Neural Code C.elegans tap withdrawal simulation Parallel parking Conclusion

Background

• Passing random variables through conditions

if( q > 0.15) { q;}

if( p <= 3.0) { p;}

q ~ N(0 , 0.5)

p ~ N(4 , 0.7)

Motivation Background Neural Code C.elegans tap withdrawal simulation Parallel parking Conclusion

Towards the nif statement

Our setting:

• Program operates random variables (RVs)

• RVs are mutually dependent Gaussians

Questions:

• How to incorporate uncertainty of making a decision andmake decisions “smooth”?

• How to avoid cutting distributions when passing a variablethrough a condition or a loop?

We propose to use nifs instead of traditional if statements.

Motivation Background Neural Code C.elegans tap withdrawal simulation Parallel parking Conclusion

Towards the nif statement

Our setting:

• Program operates random variables (RVs)

• RVs are mutually dependent Gaussians

Questions:

• How to incorporate uncertainty of making a decision andmake decisions “smooth”?

• How to avoid cutting distributions when passing a variablethrough a condition or a loop?

We propose to use nifs instead of traditional if statements.

Motivation Background Neural Code C.elegans tap withdrawal simulation Parallel parking Conclusion

Towards the nif statement

Our setting:

• Program operates random variables (RVs)

• RVs are mutually dependent Gaussians

Questions:

• How to incorporate uncertainty of making a decision andmake decisions “smooth”?

• How to avoid cutting distributions when passing a variablethrough a condition or a loop?

We propose to use nifs instead of traditional if statements.

Motivation Background Neural Code C.elegans tap withdrawal simulation Parallel parking Conclusion

Neural if

The nif statement: nif( x # y, σ2 )

• Inequality relation {≥, >,<,≤}• Variance (represents our confidence of making a decision)

Example:

nif( x >= a, σ2) S1 else S2

Motivation Background Neural Code C.elegans tap withdrawal simulation Parallel parking Conclusion

nif( x # a, σ2 ) : Evaluation

1. Compute the difference between x, a

diff(x,a) =

x - a− ε if # is >,

x - a if # is ≥,a - x− ε if # is <,

a - x if # is ≤ .

2. Compute quantiles of the probability density function

q1(0,4)

q1(0,0.4) q2(0,0.4)q1(0, ) q2(0, )

q2(0,4)

0.0 0.0-5 0 5 -5 0 5

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

di�(x,a)

di�(1,0)

x

* **

3. Check if a random sample is within the interval

Motivation Background Neural Code C.elegans tap withdrawal simulation Parallel parking Conclusion

nif( x # a, σ2 ) : Evaluation

1. Compute the difference between x, a

diff(x,a) =

x - a− ε if # is >,

x - a if # is ≥,a - x− ε if # is <,

a - x if # is ≤ .

2. Compute quantiles of the probability density function

q1(0,4)

q1(0,0.4) q2(0,0.4)q1(0, ) q2(0, )

q2(0,4)

0.0 0.0-5 0 5 -5 0 5

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

di�(x,a)

di�(1,0)

x

* **

3. Check if a random sample is within the interval

Motivation Background Neural Code C.elegans tap withdrawal simulation Parallel parking Conclusion

nif( x # a, σ2 ) : Evaluation

1. Compute the difference between x, a

diff(x,a) =

x - a− ε if # is >,

x - a if # is ≥,a - x− ε if # is <,

a - x if # is ≤ .

2. Compute quantiles of the probability density function

q1(0,4)

q1(0,0.4) q2(0,0.4)q1(0, ) q2(0, )

q2(0,4)

0.0 0.0-5 0 5 -5 0 5

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

di�(x,a)

di�(1,0)

x

* **

3. Check if a random sample is within the interval

Motivation Background Neural Code C.elegans tap withdrawal simulation Parallel parking Conclusion

nif: Example

if( x > 0.15) { x;}

nif( x > 0.15, 0.1) { x;}

x ~ N(0 , 0.1)

x

No. o

f sam

ples

0.0 0.2-0.2-0.4 0.4

x

x0.0 0.2-0.2-0.4 0.4

0.0 0.2-0.2-0.4 0.4No

. of s

ampl

esNo

. of s

ampl

es

Motivation Background Neural Code C.elegans tap withdrawal simulation Parallel parking Conclusion

Limit case σ2 → 0

• For the case with “no uncertainty” (σ2 → 0) the PDF isexpressed as the Dirac function:

• δ(x) = +∞ if x = 0 else 0•∫∞−∞ δ(x) dx = 1

• σ2 → 0 : the nif statement is equivalent to the if condition

nif( x >= a, σ2) S1 else S2

Motivation Background Neural Code C.elegans tap withdrawal simulation Parallel parking Conclusion

Limit case σ2 → 0

• For the case with “no uncertainty” (σ2 → 0) the PDF isexpressed as the Dirac function:

• δ(x) = +∞ if x = 0 else 0•∫∞−∞ δ(x) dx = 1

• σ2 → 0 : the nif statement is equivalent to the if condition

nif( x >= a, σ2) S1 else S2

Motivation Background Neural Code C.elegans tap withdrawal simulation Parallel parking Conclusion

nwhile

Extension of a traditional while statement that incorporatesuncertainty

nwhile( x # a, σ2){P1}

Evaluation:

1. Compute diff(x,a), obtain quantiles q1 and q2

2. Check if a random sample is within the interval

3. If sample within the interval, execute P1 and go to 1, else exit

Motivation Background Neural Code C.elegans tap withdrawal simulation Parallel parking Conclusion

nwhile

Extension of a traditional while statement that incorporatesuncertainty

nwhile( x # a, σ2){P1}

Evaluation:

1. Compute diff(x,a), obtain quantiles q1 and q2

2. Check if a random sample is within the interval

3. If sample within the interval, execute P1 and go to 1, else exit

Motivation Background Neural Code C.elegans tap withdrawal simulation Parallel parking Conclusion

Case study 1: C.elegans

C.elegans

• a 1-mm round worm

• each adult individual has exactly 302 neurons

• extensively studied in evolutional- and neurobiology

Tap withdrawal response

• apply stimulus to mechanosensory (input) neurons

• observe the behavior: forward / backward movement

Goal

• express the behavior using neural program

Motivation Background Neural Code C.elegans tap withdrawal simulation Parallel parking Conclusion

Case study 1: C.elegans

C.elegans

• a 1-mm round worm

• each adult individual has exactly 302 neurons

• extensively studied in evolutional- and neurobiology

Tap withdrawal response

• apply stimulus to mechanosensory (input) neurons

• observe the behavior: forward / backward movement

Goal

• express the behavior using neural program

Motivation Background Neural Code C.elegans tap withdrawal simulation Parallel parking Conclusion

Case study 1: C.elegans

C.elegans

• a 1-mm round worm

• each adult individual has exactly 302 neurons

• extensively studied in evolutional- and neurobiology

Tap withdrawal response

• apply stimulus to mechanosensory (input) neurons

• observe the behavior: forward / backward movement

Goal

• express the behavior using neural program

Motivation Background Neural Code C.elegans tap withdrawal simulation Parallel parking Conclusion

Neural connections 101

V(i)

V(i) ggap

wgapV(j)

V(j)

V(i) V(j)

V(i)

E(ij)

gsyn(V(i))

wsyn

V(j)

Synaptic connection

• chemical nature

• either active or not

• synaptic weight wsyn

• use nif to model eachsynaptic connection

Gap junction connection

• instantaneous resistive connection

• linear combination of inputs

• gap junction weight wgap

Motivation Background Neural Code C.elegans tap withdrawal simulation Parallel parking Conclusion

C.elegans Tap withdrawal circuit

REV  

FWD  

2  2  

AVM  

PLM  

Why  not  as  simple  as  this?  

56  

REV  

28  

FWD  

AVB  

AVA  

2  2  

PVC  

AVD  

AVM  

PLM  

Why  gap  junc>ons  AVM-­‐AVD  and  PLM-­‐PVC?  

Why  the  synapses  and  neurons  AVD,  PVC?  

What  is  a  gap  junc>on  from  the  point  of  view  of  control?    

56  

REV  

10  28  

FWD  

4  

AVB  

AVA  

2  

1  

2  

PVC  

8  

1  AVD  

AVM  

PLM  

What  is  the  role  of  inhibitory  junc>ons  such  as  PLM-­‐AVA?  

56  

REV  

10  28  

FWD  

4  

6   2  

AVB  

10  17  

21  

AVA  4  

2  

13  

1  

2  

PVC  

8  

1  AVD  

1  3  

AVM  

PLM  

Why  is  the  en>re  circuit  so  complicated?  

Why  both  synapses  and  gap  junc>ons  between  PVC-­‐AVA?  

PLM

REV FWD

PVD ALM AVM

AVA

DVA

AVB

PVC

21

2

1

12

55 51

1

2827

9

10

12

227

28108

1

44

14

27270

AVD

Motivation Background Neural Code C.elegans tap withdrawal simulation Parallel parking Conclusion

C.elegans Tap withdrawal circuit

REV  

FWD  

2  2  

AVM  

PLM  

Why  not  as  simple  as  this?  

56  

REV  

28  

FWD  

AVB  

AVA  

2  2  

PVC  

AVD  

AVM  

PLM  

Why  gap  junc>ons  AVM-­‐AVD  and  PLM-­‐PVC?  

Why  the  synapses  and  neurons  AVD,  PVC?  

What  is  a  gap  junc>on  from  the  point  of  view  of  control?    

56  

REV  

10  28  

FWD  

4  

AVB  

AVA  

2  

1  

2  

PVC  

8  

1  AVD  

AVM  

PLM  

What  is  the  role  of  inhibitory  junc>ons  such  as  PLM-­‐AVA?  

56  

REV  

10  28  

FWD  

4  

6   2  

AVB  

10  17  

21  

AVA  4  

2  

13  

1  

2  

PVC  

8  

1  AVD  

1  3  

AVM  

PLM  

Why  is  the  en>re  circuit  so  complicated?  

Why  both  synapses  and  gap  junc>ons  between  PVC-­‐AVA?  

PLM

REV FWD

PVD ALM AVM

AVA

DVA

AVB

PVC

21

2

1

12

55 51

1

2827

9

10

12

227

28108

1

44

14

27270

AVD

Motivation Background Neural Code C.elegans tap withdrawal simulation Parallel parking Conclusion

C.elegans Tap withdrawal circuit

REV  

FWD  

2  2  

AVM  

PLM  

Why  not  as  simple  as  this?  

56  

REV  

28  

FWD  

AVB  

AVA  

2  2  

PVC  

AVD  

AVM  

PLM  

Why  gap  junc>ons  AVM-­‐AVD  and  PLM-­‐PVC?  

Why  the  synapses  and  neurons  AVD,  PVC?  

What  is  a  gap  junc>on  from  the  point  of  view  of  control?    

56  

REV  

10  28  

FWD  

4  

AVB  

AVA  

2  

1  

2  

PVC  

8  

1  AVD  

AVM  

PLM  

What  is  the  role  of  inhibitory  junc>ons  such  as  PLM-­‐AVA?  

56  

REV  

10  28  

FWD  

4  

6   2  

AVB  

10  17  

21  

AVA  4  

2  

13  

1  

2  

PVC  

8  

1  AVD  

1  3  

AVM  

PLM  

Why  is  the  en>re  circuit  so  complicated?  

Why  both  synapses  and  gap  junc>ons  between  PVC-­‐AVA?  

PLM

REV FWD

PVD ALM AVM

AVA

DVA

AVB

PVC

21

2

1

12

55 51

1

2827

9

10

12

227

28108

1

44

14

27270

AVD

Motivation Background Neural Code C.elegans tap withdrawal simulation Parallel parking Conclusion

C.elegans Tap withdrawal circuit

REV  

FWD  

2  2  

AVM  

PLM  

Why  not  as  simple  as  this?  

56  

REV  

28  

FWD  

AVB  

AVA  

2  2  

PVC  

AVD  

AVM  

PLM  

Why  gap  junc>ons  AVM-­‐AVD  and  PLM-­‐PVC?  

Why  the  synapses  and  neurons  AVD,  PVC?  

What  is  a  gap  junc>on  from  the  point  of  view  of  control?    

56  

REV  

10  28  

FWD  

4  

AVB  

AVA  

2  

1  

2  

PVC  

8  

1  AVD  

AVM  

PLM  

What  is  the  role  of  inhibitory  junc>ons  such  as  PLM-­‐AVA?  

56  

REV  

10  28  

FWD  

4  

6   2  

AVB  

10  17  

21  

AVA  4  

2  

13  

1  

2  

PVC  

8  

1  AVD  

1  3  

AVM  

PLM  

Why  is  the  en>re  circuit  so  complicated?  

Why  both  synapses  and  gap  junc>ons  between  PVC-­‐AVA?  

PLM

REV FWD

PVD ALM AVM

AVA

DVA

AVB

PVC

21

2

1

12

55 51

1

2827

9

10

12

227

28108

1

44

14

27270

AVD

Motivation Background Neural Code C.elegans tap withdrawal simulation Parallel parking Conclusion

C.elegans Tap withdrawal circuit

REV  

FWD  

2  2  

AVM  

PLM  

Why  not  as  simple  as  this?  

56  

REV  

28  

FWD  

AVB  

AVA  

2  2  

PVC  

AVD  

AVM  

PLM  

Why  gap  junc>ons  AVM-­‐AVD  and  PLM-­‐PVC?  

Why  the  synapses  and  neurons  AVD,  PVC?  

What  is  a  gap  junc>on  from  the  point  of  view  of  control?    

56  

REV  

10  28  

FWD  

4  

AVB  

AVA  

2  

1  

2  

PVC  

8  

1  AVD  

AVM  

PLM  

What  is  the  role  of  inhibitory  junc>ons  such  as  PLM-­‐AVA?  

56  

REV  

10  28  

FWD  

4  

6   2  

AVB  

10  17  

21  

AVA  4  

2  

13  

1  

2  

PVC  

8  

1  AVD  

1  3  

AVM  

PLM  

Why  is  the  en>re  circuit  so  complicated?  

Why  both  synapses  and  gap  junc>ons  between  PVC-­‐AVA?  

PLM

REV FWD

PVD ALM AVM

AVA

DVA

AVB

PVC

21

2

1

12

55 51

1

2827

9

10

12

227

28108

1

44

14

27270

AVD

Motivation Background Neural Code C.elegans tap withdrawal simulation Parallel parking Conclusion

Tap Withdrawal Simulations as Neural Program

Biological Model Neural Program

dV (i)

dt=

VLeak − V (i)

R(i)m C

(i)m

+

∑Nj=1(I

(ij)syn + I

(ij)gap) + I

(i)stim

C(i)m

(1)

I(ij)gap = w

(ij)gap g

(ij)gap (Vj − Vi ) (2)

I(ij)syn = w

(ij)syn g

(ij)syn (E (ij) − V (j)) (3)

g(ij)syn (V (j)) =

gsyn

1 + eK

(V (j)−Veqj

Vrange

) (4)

1: nwhile ( t ≤ tdur , 0)

2: compute I(ij)gap using equation 2

3: nwhile ( k ≤ w(ij)syn , 0)

4: nif (V (j) ≤ Veq , K/Vrange)

5: g(ij)syn ← g

(ij)syn + gsyn

6: compute I(ij)syn using equation 3

7: compute dV (i) using equation 18: V (i) ← V (i) + dV (i)

9: t ← t + dt

Motivation Background Neural Code C.elegans tap withdrawal simulation Parallel parking Conclusion

C.elegans Tap withdrawal simulations

ODE Neural Program: One execution Neural Program: Average

Motivation Background Neural Code C.elegans tap withdrawal simulation Parallel parking Conclusion

Case study 2: Parallel parking

Given:

• P3AT-SH Pioneer rover

• Carma Devkit

• ROS on Ubuntu 12.04

• Pi with Gertboard

Goal:Write a parallel parking controller as a neural program

Raspberry PI withaccelerometer and gyroscope

Carma Board runningUbuntu & ROS

Sonars

Bumbers

Motivation Background Neural Code C.elegans tap withdrawal simulation Parallel parking Conclusion

Program skeleton

nwhile(currentDistance < targetLocation1 , sigma1){

moving ();

currentDistance = getPose ();

}

updateTargetLocations ();

nwhile(currentAngle < targetLocation2 , sigma2){

turning ();

currentAngle = getAngle ();

}

updateTargetLocations ();

nwhile(currentDistance < targetLocation3 , sigma3){

moving ();

currentDistance = getPose ();

}

...

Question: how to find the unknown parameters and how uncertainare we about each of them?

Motivation Background Neural Code C.elegans tap withdrawal simulation Parallel parking Conclusion

Program skeleton

nwhile(currentDistance < targetLocation1 , sigma1){

moving ();

currentDistance = getPose ();

}

updateTargetLocations ();

nwhile(currentAngle < targetLocation2 , sigma2){

turning ();

currentAngle = getAngle ();

}

updateTargetLocations ();

nwhile(currentDistance < targetLocation3 , sigma3){

moving ();

currentDistance = getPose ();

}

...

Question: how to find the unknown parameters and how uncertainare we about each of them?

Motivation Background Neural Code C.elegans tap withdrawal simulation Parallel parking Conclusion

Learning

Parking example:

• Sequence of moves and turns

• Each action depends on the previous one

• The dependence is probabilistic

• RVs are normally distributed (assumption)

Gaussian Bayesian Network:

l1 α1 l2 α2 l3 α3 l4b21 b32 b43 b54 b65 b76

Motivation Background Neural Code C.elegans tap withdrawal simulation Parallel parking Conclusion

Learning

Parking example:

• Sequence of moves and turns

• Each action depends on the previous one

• The dependence is probabilistic

• RVs are normally distributed (assumption)

Gaussian Bayesian Network:

l1 α1 l2 α2 l3 α3 l4b21 b32 b43 b54 b65 b76

Motivation Background Neural Code C.elegans tap withdrawal simulation Parallel parking Conclusion

Learning: Good traces

l1 α1 l2 α2 l3 α3 l4b21 b32 b43 b54 b65 b76

0.2 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.61

0.5

0

0.5

Task: learn the parameters of the GBN from the good traces

1. Convert the GBN to the MGD[HG95]

2. Update the precision matrix T of the MGD[Nea03]

3. Extract σ2s and bijs from T

Motivation Background Neural Code C.elegans tap withdrawal simulation Parallel parking Conclusion

Learning: Good traces

l1 α1 l2 α2 l3 α3 l4b21 b32 b43 b54 b65 b76

0.2 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.61

0.5

0

0.5

Task: learn the parameters of the GBN from the good traces

1. Convert the GBN to the MGD[HG95]

2. Update the precision matrix T of the MGD[Nea03]

3. Extract σ2s and bijs from T

Motivation Background Neural Code C.elegans tap withdrawal simulation Parallel parking Conclusion

Learning: Update step

• Iterative learning procedure• Incrementally update mean µ and covariance matrix β of the

prior• Mean update:

x =

∑Mh=1 x

(h)

M

µ∗ =vµ+ Mx

v + M

• Covariance matrix update:

s =M∑h=1

(x(h) − x

)(x(h) − x

)Tβ∗ = β + s +

vM

v + M

(x(h) − x

)(x(h) − x

)T(T∗)−1 ∼ β∗

Motivation Background Neural Code C.elegans tap withdrawal simulation Parallel parking Conclusion

Learning: Update step

• Iterative learning procedure• Incrementally update mean µ and covariance matrix β of the

prior• Mean update:

x =

∑Mh=1 x

(h)

M

µ∗ =vµ+ Mx

v + M

• Covariance matrix update:

s =M∑h=1

(x(h) − x

)(x(h) − x

)Tβ∗ = β + s +

vM

v + M

(x(h) − x

)(x(h) − x

)T(T∗)−1 ∼ β∗

Motivation Background Neural Code C.elegans tap withdrawal simulation Parallel parking Conclusion

Learning: Data

“Good trajectories”:

• *.bag files (collection of messagesthat are broadcasted in ROS)

• extract coordinates in the 2-Dspace and angle

• find important points

• obtain samples in the form:l1, α1, l2, α2, l3, α3, l4

.

.

.

.

.

.

.

.

.

1.204 -0.911 -1.221

1.207 -0.920 -1.221

1.209 -0.927 -1.221

1.211 -0.930 -1.221

1.211 -0.931 -1.221

1.211 -0.931 -1.221

1.211 -0.931 -1.221

1.211 -0.931 -1.215

.

.

.

.

.

.

.

.

.

Motivation Background Neural Code C.elegans tap withdrawal simulation Parallel parking Conclusion

Learning: Data

“Good trajectories”:

• *.bag files (collection of messagesthat are broadcasted in ROS)

• extract coordinates in the 2-Dspace and angle

• find important points

• obtain samples in the form:l1, α1, l2, α2, l3, α3, l4

.

.

.

.

.

.

.

.

.

1.204 -0.911 -1.221

1.207 -0.920 -1.221

1.209 -0.927 -1.221

1.211 -0.930 -1.221

1.211 -0.931 -1.221

1.211 -0.931 -1.221

1.211 -0.931 -1.221

1.211 -0.931 -1.215

.

.

.

.

.

.

.

.

.

Motivation Background Neural Code C.elegans tap withdrawal simulation Parallel parking Conclusion

Learning: Data

“Good trajectories”:

• *.bag files (collection of messagesthat are broadcasted in ROS)

• extract coordinates in the 2-Dspace and angle

• find important points

• obtain samples in the form:l1, α1, l2, α2, l3, α3, l4

.

.

.

.

.

.

.

.

.

1.204 -0.911 -1.221

1.207 -0.920 -1.221

1.209 -0.927 -1.221

1.211 -0.930 -1.221

1.211 -0.931 -1.221

1.211 -0.931 -1.221

1.211 -0.931 -1.221

1.211 -0.931 -1.215

.

.

.

.

.

.

.

.

.

Motivation Background Neural Code C.elegans tap withdrawal simulation Parallel parking Conclusion

Learning: Data

“Good trajectories”:

• *.bag files (collection of messagesthat are broadcasted in ROS)

• extract coordinates in the 2-Dspace and angle

• find important points

• obtain samples in the form:l1, α1, l2, α2, l3, α3, l4

.

.

.

.

.

.

.

.

.

1.204 -0.911 -1.221

1.207 -0.920 -1.221

1.209 -0.927 -1.221

1.211 -0.930 -1.221

1.211 -0.931 -1.221

1.211 -0.931 -1.221

1.211 -0.931 -1.221

1.211 -0.931 -1.215

.

.

.

.

.

.

.

.

.

Motivation Background Neural Code C.elegans tap withdrawal simulation Parallel parking Conclusion

Parking system architecture

Engine

nwhile ( . ) moving();nwhile ( . ) turning();...

initial motioncommands

velocitycommands

vl, vr, a, ω

x, y, θ

actualposition

resampledcommands

GBN(distributions)

Rover Interface

SensorFusion

Motivation Background Neural Code C.elegans tap withdrawal simulation Parallel parking Conclusion

Conclusion and Future Work

Recap:

• use of smooth Probit distribution in conditional and loopstatements

• use of Gaussian Bayesian Network to capture dependenciesbetween Probit distributions

• Case studies: robust parking controller and tap withdrawalsimulation

Future work:

• Apply these techniques to monitoring

Motivation Background Neural Code C.elegans tap withdrawal simulation Parallel parking Conclusion

References I

David Heckerman and Dan Geiger.Learning bayesian networks: A unification for discrete andgaussian domains.In UAI, pages 274–284, 1995.

Richard E. Neapolitan.Learning Bayesian Networks.Prentice-Hall, Inc., Upper Saddle River, NJ, USA, 2003.

Motivation Background Neural Code C.elegans tap withdrawal simulation Parallel parking Conclusion

Motivation Background Neural Code C.elegans tap withdrawal simulation Parallel parking Conclusion

Learning Parameters in a Neural Program

Neural Program with Uncertain Parameters

Set of traces

Samplingfrom GBN

with learnedparameters

Learningprocedure

Learning phase

Execution phase

LearnedParameters

Motivation Background Neural Code C.elegans tap withdrawal simulation Parallel parking Conclusion

Integration into ROS

• Rover Interface

• Sensor Fusion

• GBN and Engine

Motivation Background Neural Code C.elegans tap withdrawal simulation Parallel parking Conclusion

Denotational Semantics

E ::= xi | c | bop(E1,E2) | uop(E1)

S ::= skip | xi := E | S1;S2 | nif( xi # c , σ2 ) S1 else S2 |nwhile( xi # c , σ2){ S1 }

Motivation Background Neural Code C.elegans tap withdrawal simulation Parallel parking Conclusion

Denotational Semantics

JskipK(x) = x

Jxi := E K(x) = x[JEK(x) 7→ xi ]

J S1;S2 K(x) = JS2K(JS1K(x))

Jnif( xi # c , σ2) S1 else S2K(x) =

Jcheck(xi , a, σ2,#)K(x)JS1K(x) +

J¬check(xi , a, σ2,#)K(x)JS2K(x)

Jnwhile( xi # c, σ2){ S1 }K(x) =

xJ¬check(xi , a, σ2,# )K(x) +

Jcheck(xi , a, σ2,# )K(x)Jnwhile( xi # c , σ2){ S1 }K(JS1Kx)

Motivation Background Neural Code C.elegans tap withdrawal simulation Parallel parking Conclusion

Learning: Conversion step

1. Define an ordering starting from initial node

t1 =1

σ21

bi =

bi1

...

bi,i−1

µ =

µ1

...

µn

2. Use iterative algorithm from[Heckerman and Geiger, 1995

]:

T1 = (t1);

for(i = 2; i ≤ n; i + +)

Ti =

Ti−1 + tibibTi −tibi

−tibTi ti

;

T = Tn;

l1 α1 l2 α2 l3 α3 l4b21 b32 b43 b54 b65 b76

Motivation Background Neural Code C.elegans tap withdrawal simulation Parallel parking Conclusion

Learning: Conversion step

1. Define an ordering starting from initial node

t1 =1

σ21

bi =

bi1

...

bi,i−1

µ =

µ1

...

µn

2. Use iterative algorithm from

[Heckerman and Geiger, 1995

]:

T1 = (t1);

for(i = 2; i ≤ n; i + +)

Ti =

Ti−1 + tibibTi −tibi

−tibTi ti

;

T = Tn;

l1 α1 l2 α2 l3 α3 l4b21 b32 b43 b54 b65 b76

Motivation Background Neural Code C.elegans tap withdrawal simulation Parallel parking Conclusion

Learning: Conversion step

• l1, α1:

T1 = (t1) =1

σ21

;

T2 =

1σ2

1+

b221

σ22−b21

σ22

−b21

σ22

1σ2

2

b2 =

(b21

)

l1 α1 l2 α2 l3 α3 l4b21 b32 b43 b54 b65 b76

Motivation Background Neural Code C.elegans tap withdrawal simulation Parallel parking Conclusion

Learning: Conversion step

• l2:

T3 =

1σ2

1+

b221

σ22

−b21

σ22

0

−b21

σ22

1σ2

2+

b232

σ23−b32

σ23

0 −b32

σ23

1σ2

3

b3 =

0

b21

l1 α1 l2 α2 l3 α3 l4b21 b32 b43 b54 b65 b76

Motivation Background Neural Code C.elegans tap withdrawal simulation Parallel parking Conclusion

Learning: Conversion step

• α2:

T4 =

1σ2

1+

b221

σ22

−b21

σ22

0 0

−b21

σ22

1σ2

2+

b232

σ23

−b32

σ23

0

0 −b32

σ23

1σ2

3+

b243

σ24−b43

σ24

0 0 −b43

σ24

1σ2

4

b4 =

0

0

b43

l1 α1 l2 α2 l3 α3 l4b21 b32 b43 b54 b65 b76

Motivation Background Neural Code C.elegans tap withdrawal simulation Parallel parking Conclusion

Learning: Conversion step

• l3:

T5 =

1σ2

1+

b221

σ22

−b21

σ22

0 0 0

−b21

σ22

1σ2

2+

b232

σ23

−b32

σ23

0 0

0 −b32

σ23

1σ2

3+

b243

σ24

−b43

σ24

0

0 0 −b43

σ24

1σ2

4+

b254

σ25−b54

σ25

0 0 0 −b54

σ25

1σ2

5

b5 =

0

0

0

b54

We can generalize T for arbitrary number of moves

l1 α1 l2 α2 l3 α3 l4b21 b32 b43 b54 b65 b76

top related