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

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

May 20, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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)