24
Transfer Learning for Improving Model Predictions in Highly Configurable Software Pooyan Jamshidi, Miguel Velez, Christian Kästner Norbert Siegmund, Prasad Kawthekar

Transfer Learning for Improving Model Predictions in Robotic …echtzeitsysteme.github.io/fosd2017/themes/yellow-swan/presentatio… · Transfer Learning for Improving Model Predictions

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Transfer Learning for Improving Model Predictions in Robotic …echtzeitsysteme.github.io/fosd2017/themes/yellow-swan/presentatio… · Transfer Learning for Improving Model Predictions

Transfer Learning for Improving Model Predictions in Highly Configurable Software

Pooyan Jamshidi, Miguel Velez, Christian KästnerNorbert Siegmund, Prasad Kawthekar

Page 2: Transfer Learning for Improving Model Predictions in Robotic …echtzeitsysteme.github.io/fosd2017/themes/yellow-swan/presentatio… · Transfer Learning for Improving Model Predictions

2

Page 3: Transfer Learning for Improving Model Predictions in Robotic …echtzeitsysteme.github.io/fosd2017/themes/yellow-swan/presentatio… · Transfer Learning for Improving Model Predictions

Performance Influence of Configuration Parameters

Page 4: Transfer Learning for Improving Model Predictions in Robotic …echtzeitsysteme.github.io/fosd2017/themes/yellow-swan/presentatio… · Transfer Learning for Improving Model Predictions

Classic Sensitivity Analysis

Measure

Page 5: Transfer Learning for Improving Model Predictions in Robotic …echtzeitsysteme.github.io/fosd2017/themes/yellow-swan/presentatio… · Transfer Learning for Improving Model Predictions

Classic Sensitivity Analysis

Measure Learn

50 - 3*C1 + 20*C2 - 3*C1*C3

Page 6: Transfer Learning for Improving Model Predictions in Robotic …echtzeitsysteme.github.io/fosd2017/themes/yellow-swan/presentatio… · Transfer Learning for Improving Model Predictions

Classic Sensitivity Analysis

Measure Learn

50 - 3*C1 + 20*C2 - 3*C1*C3

Reasoning +Adaptation +Debugging +Optimization

Page 7: Transfer Learning for Improving Model Predictions in Robotic …echtzeitsysteme.github.io/fosd2017/themes/yellow-swan/presentatio… · Transfer Learning for Improving Model Predictions

Classic Sensitivity Analysis

Measure Learn

50 - 3*C1 + 20*C2 - 3*C1*C3

Reasoning +Adaptation +Debugging +Optimization

High measurement costs

Page 8: Transfer Learning for Improving Model Predictions in Robotic …echtzeitsysteme.github.io/fosd2017/themes/yellow-swan/presentatio… · Transfer Learning for Improving Model Predictions

Idea: Transfer Learning

Measure Learn w/TransferLearning

50 - 3*C1 + 20*C2 - 3*C1*C3

Reasoning +Adaptation +Debugging +Optimization

Reuse

Page 9: Transfer Learning for Improving Model Predictions in Robotic …echtzeitsysteme.github.io/fosd2017/themes/yellow-swan/presentatio… · Transfer Learning for Improving Model Predictions

Exploiting Similarity

Page 10: Transfer Learning for Improving Model Predictions in Robotic …echtzeitsysteme.github.io/fosd2017/themes/yellow-swan/presentatio… · Transfer Learning for Improving Model Predictions

Exploiting Similarity

Page 11: Transfer Learning for Improving Model Predictions in Robotic …echtzeitsysteme.github.io/fosd2017/themes/yellow-swan/presentatio… · Transfer Learning for Improving Model Predictions

GP for modeling black box response function

Motivations:1- mean estimates + variance2- all computations are linear algebra3- good estimations when few data

Page 12: Transfer Learning for Improving Model Predictions in Robotic …echtzeitsysteme.github.io/fosd2017/themes/yellow-swan/presentatio… · Transfer Learning for Improving Model Predictions

Scenarios and Assumptions

Environment change (configuration option vs. environment change)

Different benchmark/workloadDifferent program versionDifferent hardware

Shape of old and new model similar

Page 13: Transfer Learning for Improving Model Predictions in Robotic …echtzeitsysteme.github.io/fosd2017/themes/yellow-swan/presentatio… · Transfer Learning for Improving Model Predictions

Part

Some Results (“it works”)

Page 14: Transfer Learning for Improving Model Predictions in Robotic …echtzeitsysteme.github.io/fosd2017/themes/yellow-swan/presentatio… · Transfer Learning for Improving Model Predictions

First Feasibility Demonstration [SEAMS 2017]

Case study & controlled experimentsCan we improve prediction accuracy?Tradeoffs among #source and #target samples?Fast enough?

Subject sys.: Cobot, Apache Storm, Cassandra14

Page 15: Transfer Learning for Improving Model Predictions in Robotic …echtzeitsysteme.github.io/fosd2017/themes/yellow-swan/presentatio… · Transfer Learning for Improving Model Predictions

15

SourceModel

TargetModel

Prediction

from 4samples

Prediction w/

TransferLearning

Example:Performance predictionfor CoBot

Page 16: Transfer Learning for Improving Model Predictions in Robotic …echtzeitsysteme.github.io/fosd2017/themes/yellow-swan/presentatio… · Transfer Learning for Improving Model Predictions

16

SourceModel

TargetModel

Predictionfrom 4

samples

Prediction w/

TransferLearning

Example:Performance predictionfor CoBot

Page 17: Transfer Learning for Improving Model Predictions in Robotic …echtzeitsysteme.github.io/fosd2017/themes/yellow-swan/presentatio… · Transfer Learning for Improving Model Predictions

17

SourceModel

TargetModel

Predictionfrom 4

samples

Prediction w/TransferLearning

Example:Performance predictionfor CoBot

Page 18: Transfer Learning for Improving Model Predictions in Robotic …echtzeitsysteme.github.io/fosd2017/themes/yellow-swan/presentatio… · Transfer Learning for Improving Model Predictions

Accuracy andCosts

18

Page 19: Transfer Learning for Improving Model Predictions in Robotic …echtzeitsysteme.github.io/fosd2017/themes/yellow-swan/presentatio… · Transfer Learning for Improving Model Predictions

Accuracy andCosts

19

Page 20: Transfer Learning for Improving Model Predictions in Robotic …echtzeitsysteme.github.io/fosd2017/themes/yellow-swan/presentatio… · Transfer Learning for Improving Model Predictions

Part

Future work, insights and ideas

Page 21: Transfer Learning for Improving Model Predictions in Robotic …echtzeitsysteme.github.io/fosd2017/themes/yellow-swan/presentatio… · Transfer Learning for Improving Model Predictions

Selecting from Multiple Sources (Cost Model)

Source Simulator Target Simulator

Source Robot Target Robot

(1)

(2)

(3)

(4)

(5)

21

Page 22: Transfer Learning for Improving Model Predictions in Robotic …echtzeitsysteme.github.io/fosd2017/themes/yellow-swan/presentatio… · Transfer Learning for Improving Model Predictions

Checking Assumptions

How similar are source and target models for real environment changes (workload/infrastructure/code changes)?

Expected similarities:• Constant• Constant / proportional shift• More noise but similar trends• Many features and interactions with similar impact• Many important features and interactions remain important

22

Page 23: Transfer Learning for Improving Model Predictions in Robotic …echtzeitsysteme.github.io/fosd2017/themes/yellow-swan/presentatio… · Transfer Learning for Improving Model Predictions

Goal: find best sample points iteratively by gaining knowledge from source and target domain 23

Active learning + transfer learning

Measure Learn w/TransferLearning

50 - 3*C1 + 20*C2 - 3*C1*C3

Reasoning +Adaptation +Debugging +Optimization

Reuse

Page 24: Transfer Learning for Improving Model Predictions in Robotic …echtzeitsysteme.github.io/fosd2017/themes/yellow-swan/presentatio… · Transfer Learning for Improving Model Predictions

Transfer Learning for Improving Model Predictions in Highly Configurable Software

Improves the model accuracy up to several orders of magnitude

Is able to trade-off between different number of samples from source and target enabling a cost-aware model

Exploring similarity across environment changes and active learning

24Source Simulator Target Simulator

Source Robot Target Robot

(1)

(2)

(3)

(4)

(5)