Probabilistic Models
Of
Sensory-motor Systems
Pierre Bessière, Gabriel Synnaeve
E-Motion team at INRIA Grenoble

CNRS - LPPA - Collège de France

Bayesian-Programming.org
1

Intelligence
Who is the most clever?

Baron Wolfgang von Kempelen (1769)
2

Overview
How to survive (perceive, reason, learn,decide and act) with incomplete information ?
Probability as an alternative to logic
How to develop better artifacts using
Bayesian reasoning?
Biological plausibility of Bayesian
reasoning at a macroscopic level?
Biological plausibility of Bayesian
reasoning at a microscopic level?

3

OverviewHow to survive (perceive, reason, learn,decide and act) with incomplete information ?
Probability as an alternative to logic
How to develop better artifacts using
Bayesian reasoning?
Biological plausibility of Bayesian
reasoning at a macroscopic level?
Biological plausibility of Bayesian
reasoning at a microscopic level?

4

Probability
as alternative to logic
Uncertainty is not in things but in our head: uncertainty is alack of knowledge.
Jacob Bernouilli, Ars Conjectandi (Bernouili, 1713)
Probability theory is nothing else than common sense madecalculus.
Marquis Pierre-Simon de Laplace, Théorie analytique desprobabilités (Laplace 1812)
The actual science of logic is conversant at present only withthings either certain, impossible, or entirely doubtful, none ofwhich (fortunately) we have to reason on. Therefore the true
logic for this world is the calculus of Probabilities, whichtakes account of the magnitude of the probability which is, orought to be, in a reasonable man's mind .
James Clerk Maxwell (1850)

5

Probability
as alternative to logic
Randomness is just the measure of our ignorance.
To undertake any probability calculation, and even for thiscalculation to have a meaning, we have to admit, as a starting point,
an hypothesis or a convention, that always comprises a certain
amount of arbitrariness. In the choice of this convention, we can be
guided only by the principle of sufficient reason.
From this point of view, everything in science would just beunconscious applications of the calculus of probabilities.
Condemning this calculus would be condemning the whole science.
Henri Poincaré, La science et l’hypothèse (Poincaré, 1902)
By inference we mean simply: deductive reasoning whenever enoughinformation is at hand to permit it; inductive or probabilistic
reasoning when - as is almost invariably the case in real problems all the necessary information is not available. Thus the topic of «Probability as Logic » is the optimal processing of uncertain andincomplete knowledge.
E.T. Jaynes, Probability theory theory: the logic of science (Jaynes,2003)

6

Probability
as an alternative to logic
Incompleteness7

Probability
as an alternative to logic
Incompleteness
Preliminary Knowledge+Experimental Data=
Probabilistic Representation

Learning
Entropy PrinciplesUncertainty

7Probability
as an alternative to logic
Incompleteness
Preliminary Knowledge+Experimental Data
=Probabilistic Representation

Learning
Entropy Principles

Uncertainty
P(a) + P(¬a) = 1
P(a ∧b) = P(a) × P(b | a)

Bayesian inference= P(b) × P(a | b)

€Decision€7

Bayesian Programming& ProBT®
Specification

Description

Bayesian Program•Variables•Decomposition•Parametric Forms

Identification•Learning from instances

Question

Bayesian Programming& ProBT®
main (){//Variables

Description

Bayesian Program

plFloat read_time;
plIntegerType id_type(0,1);
plFloat times[5] = {1,2,3,5,10};
plSparseType time_type(5,times);
plSymbol id("id",id_type);
plSymbol time("time",time_type);//Parametrical forms//Construction of P(id)plProbValue id_dist[2] = {0.75,0.25};
plProbTable P_id(id,id_dist);//Construction of P(time | id = john)
plProbValue t_john_dist[5] = {20,30,10,5,2};
plProbTable P_t_john(time,t_john_dist);//Construction of P(time | id = bill)
plProbValue t_bill_dist[5] = {2,6,10,40,20};
plProbTable P_t_bill(time,t_bill_dist);//Construction de P(time | id)
plKernelTable Pt_id(time,id);plValues t_and_id(time^id);t_and_id[id] = 0;
Pt_id.push(P_t_john,t_and_id);t_and_id[id] = 1;
Pt_id.push(P_t_bill,t_and_id);//Decomposition// P(time id) = P(id) P(time | id)
plJointDistribution jd(time^id,P_id*Pt_id);

Question

Bayesian Programming& ProBT®
main (){//VariablesDescription

Bayesian Program

plFloat read_time;
plIntegerType id_type(0,1);
plFloat times[5] = {1,2,3,5,10};
plSparseType time_type(5,times);
plSymbol id("id",id_type);
plSymbol time("time",time_type);//Parametrical forms//Construction of P(id)plProbValue id_dist[2] = {0.75,0.25};
plProbTable P_id(id,id_dist);//Construction of P(time | id = john)
plProbValue t_john_dist[5] = {20,30,10,5,2};
plProbTable P_t_john(time,t_john_dist);//Construction of P(time | id = bill)
plProbValue t_bill_dist[5] = {2,6,10,40,20};
plProbTable P_t_bill(time,t_bill_dist);//Construction de P(time | id)
plKernelTable Pt_id(time,id);plValues t_and_id(time^id);t_and_id[id] = 0;
Pt_id.push(P_t_john,t_and_id);t_and_id[id] = 1;
Pt_id.push(P_t_bill,t_and_id);//Decomposition// P(time id) = P(id) P(time | id)
plJointDistribution jd(time^id,P_id*Pt_id);

Question//Question//Getting the question P(id | time)
plCndKernel Pid_t;
jd.ask(Pid_t,id,time);//Read a time from the key board
cout<<"P(id,time)= "<<Pid_t<<"\n";cout<<"Time? : ";cin>>read_time;//Getting P(id | time = read_time)
plKernel Pid_readTime;

Description

Bayesian Program

Bayesian Programming& ProBT®

Question

ProBAYES.com
Bayesian-Programming.org

Bayesian Programming
Related formalisms

9Overview
How to survive (perceive, reason, learn,decide and act) with incomplete information ?
Probability as an alternative to logic
How to develop better artifacts using
Bayesian reasoning?
Biological plausibility of Bayesianreasoning at a macroscopic level?
Biological plausibility of Bayesian
reasoning at a microscopic level?

10Olivier Lebeltel’s Ph.D

11

Carla Koike’s Ph.D

12

Kamel Mekhnacha’s Ph.D

13

Ruben Garcia’s Ph.D

14

Ronan Le Hy’s Ph.D

15

Bayesian Occupancy Filter (BOF)
for Avanced Driver Assist. Syst.
- Take uncertainty into account explicitly- No “data association problem”- Robustness to object occlusions/disappearances- Can be implemented on dedicated hardware (GPUor even DSP)

PhD thesis ofChristophe CouéCoué, C., Pradalier, C., Laugier, C., Fraichard, T. &Bessière, P. (2006) Bayesian Programming multi-target
tracking: an automotive application; IJRR (InternationalJournal of Robotic Research); Vol. 25, N° 1, pp. 19-30
Coué, C. (2003) Fusion d’information capteur pour l’aide àla conduite automobile; PhD thesis, INPG

16

1 sensor - 1 object

17

1 sensor - 1 object

z = ( 5, 2, 0, 0)
17

1 sensor - 1 object

P( [Ec=1] | z c)c = [x, y, 0, 0]

z = ( 5, 2, 0, 0)
17

1 sensor - 1 object

P( [Ec=1] | z c)c = [x, y, 0, 0]18

1 sensor - 1 object• Occupied spaceP( [Ec=1] | z c)c = [x, y, 0, 0]18

1 sensor - 1 object• Occupied spaceP( [Ec=1] | z c)c = [x, y, 0, 0]18

1 sensor - 1 object• Occupied space• Free spaceP( [Ec=1] | z c)c = [x, y, 0, 0]18

1 sensor - 1 object• Occupied space• Free spaceP( [Ec=1] | z c)c = [x, y, 0, 0]18

1 sensor - 1 object• Occupied space• Free space• Nonobservable spaceP( [Ec=1] | z c)c = [x, y, 0, 0]18

1 sensor - 1 object• Occupied space• Free space• Nonobservable spaceP( [Ec=1] | z c)c = [x, y, 0, 0]18

1 sensor - 1 object• Occupied space• Free space• Nonobservable space• Occultated spaceP( [Ec=1] | z c)c = [x, y, 0, 0]18

1 sensor - 1 object• Occupied space• Free space• Nonobservable space• Occultated spaceP( [Ec=1] | z c)c = [x, y, 0, 0]18

1 sensor - multiple target19

1 sensor - multiple target

z1 = ( 8.3, -4, 0, 0)
z2 = ( 7.3, 1.9, 0, 0.8)
z3 = ( 5, 3, 0, 0)

19

1 sensor - multiple target

z1 = ( 8.3, -4, 0, 0)
z2 = ( 7.3, 1.9, 0, 0.8)
z3 = ( 5, 3, 0, 0)P([Ec=1] | z1 z2 z3 c)c = [x, y, 0, 0]19

2 sensor - 3 targets

20

2 sensor - 3 targets

20

2 sensor - 3 targets

z1,1 = (5.5, -4, 0, 0) z1,2 = (5.5, 1, 0, 0)
z2,1 = (11, -1, 0, 0) z2,2 = (5.4, 1.1, 0,0)20

2 sensor - 3 targets

P([Ec=1] | z1,1 z1,2 z2,1 z2,2 c)c = [x, y, 0, 0]

z1,1 = (5.5, -4, 0, 0) z1,2 = (5.5, 1, 0, 0)
z2,1 = (11, -1, 0, 0) z2,2 = (5.4, 1.1, 0,0)20

Program

Bayesian Filter

21

Question

Description

Program

Bayesian Filter

21

Bayesian Filter

Description
Identification

Question

ProgramSpecification21

Bayesian Filter
Specification

Description
Identification

Question

Program• Variables

21

Bayesian Filter
Specification

Description
Identification

Question

Program• Variables

21

Bayesian Filter
Specification

Description• Decomposition (Conditional Independance Hypothesis)

Identification

Question

Program• Variables

21

Bayesian Filter
Specification

Description• Decomposition (Conditional Independance Hypothesis)

Identification

Question

Program• Variables

21

Bayesian Filter
Specification

Description• Decomposition (Conditional Independance Hypothesis)• Parametric Forms
or Bayesian Subroutines

Identification

Question

Program• Variables

21

Bayesian Filter
Specification

Description• Decomposition (Conditional Independance Hypothesis)• Parametric Forms
or Bayesian Subroutines

Identification

Question

Program• Variables

21

Bayesian Filter
Specification

Description• Decomposition (Conditional Independance Hypothesis)• Parametric Forms
or Bayesian Subroutines

Identification

Question

Program• Variables• Learning from instances

21

Bayesian Filter
Specification

Description• Decomposition (Conditional Independance Hypothesis)• Parametric Forms
or Bayesian Subroutines

Identification

Question

Program• Variables• Learning from instances

21

Bayesian Filter
P(S | O ) = ∑ [P(S | S ) × P(S | O )]t0:t−1tt−1t−1

0:t−1

S t −1€P(S | O ) = P(O | S ) × P(S | O )
t0:tt

€

22tt0:t−1

Bayesian Filter
P(S | O ) = ∑ [P(S | S ) × P(S | O )]t0:t−1tt−1t−10:t−1

S t −1€P(S | O ) = P(O | S ) × P(S | O )
t0:tt

€

22tt0:t−1

Bayesian Filter
P(S | O ) = ∑ [P(S | S ) × P(S | O )]t0:t−1

tt−1

t−1

0:t−1

S t −1€P(S | O ) = P(O | S ) × P(S | O )t0:tt€22tt0:t−1

Without vs with filtering(Videos)23

Real time filtering

24Real time filtering

24Overview
How to survive (perceive, reason, learn,decide and act) with incomplete information ?
Probability as an alternative to logic
How to develop better artifacts using
Bayesian reasoning?
Biological plausibility of Bayesian
reasoning at a macroscopic level?
Biological plausibility of Bayesian
reasoning at a microscopic level?

25Modeling behaviors

PhD Jihene Serkhane

Laurens Jean and Droulez Jacques
PhD C. Moulin-Frierelel

PhD Francis Colas

PhD Jean Laurens

26

PostDoc Francis ColasBayesian Action Perception:
Handwriting experiments

Ph.D Estelle Gilet
Gilet E, Diard J, Bessière P, 2011 Bayesian Action–Perception Computational Model: Interaction ofProduction and Recognition of Cursive Letters.PLoS ONE 6(6): e20387. doi:10.1371/journal.pone.0020387

27

Motor Equivalence?

28Motor Equivalence?

• Writer “style”
[Wright90]• Common activatedmotor areas
[Wing00][Serratrice93]29

Simulation of action during
perception?
[Longcamp03]

Writing

Pseudo letter reading

Letter reading30

Reading• OCR
[Meulenbroek96]
[Flash95]• Human models
[Crettez98][Vuori02]
[Dehaene07]

31

Writing• [Hinton05]• [Meulenbroek96]• [Flash95]

32

BAP model33

From motor perception theory
to Bayesian Action Perception

34

From motor perception theory
to Bayesian Action Perception

Motor perception theory[Liberman57]
Perception for action control theory[Schwartz01]

34

A common space for motor and perception
internal representation

35

Common features for both representations

36

Here come the probabilities

37

Learning succession of control points

38

Learning succession of control points

39

Learning succession of control points

40

Learning succession of control points

40

Learning succession of control points

41

Learning succession of control points

42

BAP model

43

BAP model

44

BAP model

45

BAP model

46

BAP model

47

BAP model48

Letter recognition
knowing the scripter

49

Letter recognition
knowing the scripter

50

Letter recognition
knowing the scripter

93,36%

51

Scripter recognition
knowing the letter

79,5%

52

Motor control

53

Motor control
Inter scripter variability

54

Motor equivalence

55Motor equivalence

56

Copy

Trace copy

Letter copy
57

Letter recognition
with motor simulation

58

Letter recognition
with motor simulation

59

Letter recognition
with motor simulation

60

Letter recognition
with motor simulation

60

Results

61

Perspectives
Speech? (Ph.D in progress)

62

Overview
How to survive (perceive, reason, learn,decide and act) with incomplete information ?
Probability as an alternative to logic
How to develop better artifacts using
Bayesian reasoning?
Biological plausibility of Bayesian
reasoning at a macroscopic level?
Biological plausibility of Bayesian
reasoning at a microscopic level?

63

Amoeba
How is it performing probabilistic inference?

64

Amoeba
How is it performing probabilistic inference?

Cell signaling648 allosteric states
2 messengers

65

8 allosteric states
2 messengers

66

8 allosteric states
2 messengers

67Bayesian gate

Φ

F1S

Φ

Σ==€

Σ

F2

P([ S = 1] | φ1φ 2[λ1 = 1][λ 2 = 1])
P([ S = 0] | φ1φ 2[λ1 = 1][λ 2 = 1])

P([ f 1 = 0][ f 2 = 0][ S = 1]) + P(011)φ 2 + P(101)φ1 + P(111)φ1φ 2P(000) + P(010)φ 2 + P(100)φ1 + P(110)φ1φ 268

Bayesian gate

Φ

F1S

Φ

Σ==€

Σ

F2P([ S = 1] | φ1φ 2[λ1 = 1][λ 2 = 1])
P([ S = 0] | φ1φ 2[λ1 = 1][λ 2 = 1])

P([ f 1 = 0][ f 2 = 0][ S = 1]) + P(011)φ 2 + P(101)φ1 + P(111)φ1φ 2P(000) + P(010)φ 2 + P(100)φ1 + P(110)φ1φ 268

Bayesian biochemistry:
Basic ideas
Bayesian values -> Concentration of messengers,
membrane potential & spike frequency
Bayesian gates -> equilibrium between allostericmacromolecules & messengers
Bayesian inference -> signal transduction.
The interplay between local biochemicalmechanisms and distant electrical propagation inneurons is the key level to understand brain
computation69

Bayesian biochemistry:
Open questions
how is information encoded at the different
scales (molecular, intra-cellular, cellular,inter-cellular, population, system)?
How is information processed at these different
scales?
How is information memorized at these different
scales?
What is meant by learning and adaptation at thesedifferent scales?
Do sensory-motor systems perceive values orprobabilities of values?
How do they make decisions on the actions toperform?
70

Want to know more?

Bayesian-Programming.org

Pierre.Bessiere@College-de-france.fr
71