Online Structure Learning for Traffic Management Evangelos - - PowerPoint PPT Presentation

online structure learning for traffic management
SMART_READER_LITE
LIVE PREVIEW

Online Structure Learning for Traffic Management Evangelos - - PowerPoint PPT Presentation

Online Structure Learning for Traffic Management Evangelos Michelioudakis 1 , Alexander Artikis 2 , 1 and Georgios Paliouras 1 1 Institute of Informatics and Telecommunications, NCSR Demokritos 2 Department of Maritime Studies, University of


slide-1
SLIDE 1

Online Structure Learning for Traffic Management

Evangelos Michelioudakis1, Alexander Artikis2,1 and Georgios Paliouras1

1Institute of Informatics and Telecommunications, NCSR “Demokritos” 2Department of Maritime Studies, University of Piraeus

26th International Conference on Inductive Logic Programming

September 6, 2016

slide-2
SLIDE 2

Introduction

◮ Event recognition applications in sensor environments:

◮ Mostly based on manually constructed patterns ◮ Patterns may be very hard to identify manually ◮ Learning relational structures in the presence of uncertainty is desirable

◮ We applied OSLα to learning definitions for traffic congestions

◮ Real sensor data provided in the context of the SPEEDD project1 ◮ Learned definitions are used for event detection 1www.speedd-project.eu Evangelos Michelioudakis Online Structure Learning for Traffic Management

1/13

slide-3
SLIDE 3

Event Recognition

INPUT ◮ RECOGNITION ◮ OUTPUT

Event Recognition System CE Definitions Streams of SDEs . . . . . . . . . . . . Recognised CEs . . . . . . . . . . . .

◮ Event Calculus & Axiomatization

◮ Logic formalism to represent and reason about events and their effects ◮ CE initiations and terminations define whether a fluent holds or not ◮ Law of inertia: Fluents persist over time, unless affected by an event Evangelos Michelioudakis Online Structure Learning for Traffic Management

2/13

slide-4
SLIDE 4

Learning CE Definitions

INPUT ◮ CE DEFINITION CONSTRUCTION

◭ INPUT

Machine Learning System CE Definitions Streams of SDEs . . . . . . . . . . . . Annotated CEs . . . . . . . . . . . .

Evangelos Michelioudakis Online Structure Learning for Traffic Management

3/13

slide-5
SLIDE 5

Procedure of OSLα

Learnt Hypothesis Ht: 0.4 HoldsAt(congestion(lid), t+1) ⇐ HappensAt(fast Slt20(lid), t)∧ HappensAt(fast Ogt45(lid), t) MLN − EC Axioms: HoldsAt(f, t+1) ⇐ InitiatedAt(f, t) HoldsAt(f, t+1) ⇐ HoldsAt(f, t) ∧ ¬TerminatedAt(f, t) ¬HoldsAt(f, t+1) ⇐ TerminatedAt(f, t) ¬HoldsAt(f, t+1) ⇐ ¬HoldsAt(f, t) ∧ ¬InitiatedAt(f, t)

OSLα

Micro-Batch Dt HappensAt(fast Slt25(53708), 99) HappensAt(fast Ogt55(53708), 99) HappensAt(slow Slt15(53708), 99) HappensAt(slow Ogt65(53708), 99) Next(99, 100) HoldsAt(congestion(53708), 100) . . .

Data Stream/Training Examples Evangelos Michelioudakis Online Structure Learning for Traffic Management

4/13

slide-6
SLIDE 6

Procedure of OSLα

Learnt Hypothesis Ht: 0.4 HoldsAt(congestion(lid), t+1) ⇐ HappensAt(fast Slt20(lid), t)∧ HappensAt(fast Ogt45(lid), t) MLN − EC Axioms: HoldsAt(f, t+1) ⇐ InitiatedAt(f, t) HoldsAt(f, t+1) ⇐ HoldsAt(f, t) ∧ ¬TerminatedAt(f, t) ¬HoldsAt(f, t+1) ⇐ TerminatedAt(f, t) ¬HoldsAt(f, t+1) ⇐ ¬HoldsAt(f, t) ∧ ¬InitiatedAt(f, t)

OSLα

Micro-Batch Dt HappensAt(fast Slt25(53708), 99) HappensAt(fast Ogt55(53708), 99) HappensAt(slow Slt15(53708), 99) HappensAt(slow Ogt65(53708), 99) Next(99, 100) HoldsAt(congestion(53708), 100) . . .

Data Stream/Training Examples Inference Evangelos Michelioudakis Online Structure Learning for Traffic Management

4/13

slide-7
SLIDE 7

Procedure of OSLα

Learnt Hypothesis Ht: 0.4 HoldsAt(congestion(lid), t+1) ⇐ HappensAt(fast Slt20(lid), t)∧ HappensAt(fast Ogt45(lid), t) MLN − EC Axioms: HoldsAt(f, t+1) ⇐ InitiatedAt(f, t) HoldsAt(f, t+1) ⇐ HoldsAt(f, t) ∧ ¬TerminatedAt(f, t) ¬HoldsAt(f, t+1) ⇐ TerminatedAt(f, t) ¬HoldsAt(f, t+1) ⇐ ¬HoldsAt(f, t) ∧ ¬InitiatedAt(f, t)

OSLα

Micro-Batch Dt HappensAt(fast Slt25(53708), 99) HappensAt(fast Ogt55(53708), 99) HappensAt(slow Slt15(53708), 99) HappensAt(slow Ogt65(53708), 99) Next(99, 100) HoldsAt(congestion(53708), 100) . . .

Data Stream/Training Examples Inference Hypergraph Evangelos Michelioudakis Online Structure Learning for Traffic Management

4/13

slide-8
SLIDE 8

Procedure of OSLα

Learnt Hypothesis Ht: 0.4 HoldsAt(congestion(lid), t+1) ⇐ HappensAt(fast Slt20(lid), t)∧ HappensAt(fast Ogt45(lid), t) MLN − EC Axioms: HoldsAt(f, t+1) ⇐ InitiatedAt(f, t) HoldsAt(f, t+1) ⇐ HoldsAt(f, t) ∧ ¬TerminatedAt(f, t) ¬HoldsAt(f, t+1) ⇐ TerminatedAt(f, t) ¬HoldsAt(f, t+1) ⇐ ¬HoldsAt(f, t) ∧ ¬InitiatedAt(f, t)

OSLα

Micro-Batch Dt HappensAt(fast Slt25(53708), 99) HappensAt(fast Ogt55(53708), 99) HappensAt(slow Slt15(53708), 99) HappensAt(slow Ogt65(53708), 99) Next(99, 100) HoldsAt(congestion(53708), 100) . . .

Data Stream/Training Examples Inference Hypergraph Paths to Clauses Clause Evaluation Weight Learning Evangelos Michelioudakis Online Structure Learning for Traffic Management

4/13

slide-9
SLIDE 9

Procedure of OSLα

Learnt Hypothesis Ht: 0.4 HoldsAt(congestion(lid), t+1) ⇐ HappensAt(fast Slt20(lid), t)∧ HappensAt(fast Ogt45(lid), t)

+

MLN − EC Axioms: HoldsAt(f, t+1) ⇐ InitiatedAt(f, t) HoldsAt(f, t+1) ⇐ HoldsAt(f, t) ∧ ¬TerminatedAt(f, t) ¬HoldsAt(f, t+1) ⇐ TerminatedAt(f, t) ¬HoldsAt(f, t+1) ⇐ ¬HoldsAt(f, t) ∧ ¬InitiatedAt(f, t)

OSLα

Micro-Batch Dt HappensAt(fast Slt25(53708), 99) HappensAt(fast Ogt55(53708), 99) HappensAt(slow Slt15(53708), 99) HappensAt(slow Ogt65(53708), 99) Next(99, 100) HoldsAt(congestion(53708), 100) . . . Micro-Batch Dt+1 HappensAt(fast Sgt70(53708), 200) HappensAt(fast Olt25(53708), 200) HappensAt(slow Sgt40(53708), 200) HappensAt(slow Olt18(53708), 200) Next(200, 201) ¬HoldsAt(congestion(53708), 201) . . .

. . . . . .

Data Stream/Training Examples Inference Hypergraph Paths to Clauses Clause Evaluation Weight Learning Evangelos Michelioudakis Online Structure Learning for Traffic Management

4/13

slide-10
SLIDE 10

Dataset

◮ Real data collected from sensors

◮ Mounted on the southern part of the Grenoble ring road ◮ 19 collection points along 12km stretch on the highway ◮ Each collection point has a sensor per lane

◮ Consists of one month of data (≈ 3.3GiB) ◮ Annotated by human traffic controllers for traffic congestion ◮ Sensor data are collected every 15 seconds and contain:

◮ Total number of vehicles passing through a lane ◮ Average speed and sensor occupancy Evangelos Michelioudakis Online Structure Learning for Traffic Management

5/13

slide-11
SLIDE 11

Learning Challenges (1/3)

◮ Traffic congestion annotation is largely incomplete

◮ Leading to the incorrect penalization of good rules

1400 1500 1600 1700 1800

timepoints (x15 sec)

10 20 30 40 50 60 70 80 90 100

average speed (km/hour)

1400 1500 1600 1700 1800

timepoints (x15 sec)

5 10 15 20 25 30 35 40 45 50 55 60
  • ccupancy (% of time)

Evangelos Michelioudakis Online Structure Learning for Traffic Management

6/13

slide-12
SLIDE 12

Learning Challenges (2/3)

◮ Quality of information of each sensor differs

7100 7150 7200 7250 7300 7350 7400 7450 7500

timepoints (x15 sec)

10 20 30 40 50 60 70 80 90 100 110 120

average speed (km/hour)

(a) Fast

7100 7150 7200 7250 7300 7350 7400 7450 7500

timepoints (x15 sec)

10 20 30 40 50 60 70 80 90 100 110 120

average speed (km/hour)

(b) Queue

Evangelos Michelioudakis Online Structure Learning for Traffic Management

7/13

slide-13
SLIDE 13

Learning Challenges (3/3)

◮ Generic location- and lane-agnostic rules are not sufficient

◮ They capture the concept of traffic congestion in a few locations, and

completely fail in others.

InitiatedAt(congestion(lid), t) ⇐ HappensAt(aggr(lid, occupancy, avgspd), t) ∧ avgspd < 50 ∧ occupancy > 25

Evangelos Michelioudakis Online Structure Learning for Traffic Management

8/13

slide-14
SLIDE 14

Experimental Setup

◮ Data are stored in a database

◮ Micro-batches were constructed dynamically by querying the database

◮ Input events were produced by discretizing the numerical data ◮ The total length of the training sequence consists of 172799 timepoints

◮ We consider only SDEs in fast lanes

◮ 10-fold cross-validation ◮ Compare OSLα vs AdaGrad online weight learner

◮ OSLα starting from an empty hypothesis ◮ AdaGrad operating on manually constructed definitions Evangelos Michelioudakis Online Structure Learning for Traffic Management

9/13

slide-15
SLIDE 15

Experimental Results

0.5 50 0.5495 0.55 40 3000 F1 score 0.6 Structure Learning 2500 batch size (minutes) 30 0.5796 #batches 2000 0.5911 0.65 1500 20 0.5984 1000 10 500 0.6913 1500 10 2 2.8938 4 6 20 Structure Learning
  • avg. batch processing (seconds)
6.3153 1000 8 batch size (SDEs) batch size (minutes) 10 30 12 11.4362 500 40 50 0.5 600 0.55 3000 0.5387 F1 score 400 0.6 Weight Learning Only batch size (minutes) 2000 #batches 0.65 200 1000 0.6331 0.6077 0.6062 0.6115 0.397 0.064 0.864 15000 2 3.012 4 6
  • avg. batch processing (seconds)
Weight Learning Only 200 10000 8 batch size (minutes) batch size (SDEs) 10 12 400 5000 600

Evangelos Michelioudakis Online Structure Learning for Traffic Management

10/13

slide-16
SLIDE 16

Summary & Future Work

◮ OSLα achieves comparable predictive accuracy to manually curated rules ◮ OSLα can process data batches efficiently

◮ Faster search procedure may match AdaGrad processing time

◮ Low predictive accuracy of the learned model

◮ Extend OSLα to handle missing supervision Evangelos Michelioudakis Online Structure Learning for Traffic Management

11/13

slide-17
SLIDE 17

Acknowledgements

Evangelos Michelioudakis Online Structure Learning for Traffic Management

12/13

slide-18
SLIDE 18

Any Questions?