Transfer Learning for Improving Model Predictions in Highly - - PowerPoint PPT Presentation
Transfer Learning for Improving Model Predictions in Highly - - PowerPoint PPT Presentation
Transfer Learning for Improving Model Predictions in Highly Configurable Software Pooyan Jamshidi, Miguel Velez , Christian Kstner, Norbert Siegmund, Prasad Kawthekar Highly Configurable Systems In Dynamic Environments [Credit to CMU
Highly Configurable Systems In Dynamic Environments
[Credit to CMU CoBot]
Options Influence Performance
Adapt to Different Environments
TurtleBot
Adapt to Different Environments
50 + 3*C1 + 15*C2 - 7*C2 *C3 TurtleBot
Adapt to Different Environments
50 + 3*C1 + 15*C2 - 7*C2 *C3 TurtleBot
Classic Sensitivity Analysis
50 + 3*C1 + 15*C2 - 7*C2 *C3 TurtleBot
Classic Sensitivity Analysis
50 + 3*C1 + 15*C2 - 7*C2 *C3 TurtleBot
Measure
Classic Sensitivity Analysis
50 + 3*C1 + 15*C2 - 7*C2 *C3 TurtleBot
Measure Learn
Classic Sensitivity Analysis
50 + 3*C1 + 15*C2 - 7*C2 *C3 TurtleBot
Measure Learn
Applications
50 + 3*C1 + 15*C2 - 7*C2 *C3 TurtleBot
Measure Learn
Optimization Adaptation + Reasoning + Debugging +
Measuring Performance is Expensive
25 options × 10 values = 1025 configurations Measure
[Credit to Peng Hou]
Transfer Learning
Reuse Data From Similar System
TurtleBot
Measure
Reuse Data From Similar System
TurtleBot
Measure
Simulator (Gazebo)
Reuse Data From Similar System
TurtleBot
Measure Measure
Simulator (Gazebo)
Reuse Data From Similar System
TurtleBot
Measure Reuse Measure
Simulator (Gazebo)
Reuse Data From Similar System
50 + 3*C1 + 15*C2 - 7*C2 *C3 TurtleBot
Measure Reuse Measure
Learn with TL
Simulator (Gazebo)
Reuse Data From Similar System
50 + 3*C1 + 15*C2 - 7*C2 *C3 TurtleBot
Measure Reuse Measure
Learn with TL
Simulator (Gazebo)
Transfer Between Different Systems
Transfer Between Different Systems
Transfer Between Different Systems
Transfer Between Different Systems
(0, 0) → (7, 12) (0, 0) → (0, 10)
Exploiting Similarity
Function Prediction
1 3 5 9 10 11 12 13 14 50 100 150 200 Target function Target samples
Prediction without Transfer Learning
Prediction with More Data but without Transfer Learning
Prediction with Transfer Learning
Technical Details
Prediction With Transfer Learning
true function GP mean GP variance
- bservation
selected point true minimum
Motivations:
- 1. mean estimates + variance
- 2. all computation are linear algebra
- 3. good estimations with few data
Prediction With Transfer Learning
true function GP mean GP variance
- bservation
selected point true minimum
Motivations:
- 1. mean estimates + variance
- 2. all computation are linear algebra
- 3. good estimations when few data
https://github.com/pooyanjamshidi/transferlearning
Prediction With Transfer Learning
true function GP mean GP variance
- bservation
selected point true minimum
Motivations:
- 1. mean estimates + variance
- 2. all computation are linear algebra
- 3. good estimations when few data
https://github.com/pooyanjamshidi/transferlearning pjsamshid@cs.cmu.edu
Evaluation
RQ1: Improve prediction accuracy? RQ2: Tradeoffs among number of source and target samples? RQ3: Fast enough for self-adaptive systems?
Case Study and Controlled Experiments
Autonomous service robot Environmental change 3 stream processing apps Workload change NoSQL DBMS Workload & hardware changes
Analyzed Systems
Prediction Accuracy
5 10 15 20 25 5 10 15 20 25 5 10 15 20 25
Performance Prediction for CoBot
Source Model
5 10 15 20 25 5 10 15 20 25 5 10 15 20 25 5 10 15 20 25 5 10 15 20 25 5 10 15 20 25
Performance Prediction for CoBot
Source Model Target Model
5 10 15 20 25 5 10 15 20 25 5 10 15 20 25 5 10 15 20 25 5 10 15 20 25 5 10 15 20 25
Performance Prediction for CoBot
Source Model Target Model
5 10 15 20 25 5 10 15 20 25 5 10 15 20 25
Prediction with 4 samples
CPU usage[%]
5 10 15 20 25 5 10 15 20 25 5 10 15 20 25 5 10 15 20 25 5 10 15 20 25 5 10 15 20 25 5 10 15 20 25 5 10 15 20 25 5 10 15 20 25
Performance Prediction for CoBot
Source Model Target Model
5 10 15 20 25 5 10 15 20 25 5 10 15 20 25
Prediction with 4 samples Prediction with TL
CPU usage[%] CPU usage[%]
Number of Source and Target Samples
Prediction Error with Different Source and Target Samples
% Source %Target
Prediction Error with Different Source and Target Samples
% Source %Target
Prediction Error with Different Source and Target Samples
% Source %Target
Prediction Error with Different Source and Target Samples
% Source %Target
Prediction Error with Different Source and Target Samples
% Source %Target
Prediction Error with Different Source and Target Samples
% Source %Target
Accuracy and Costs
% Source %Target B u d g e t
Prediction error of other systems
Applicable in Self-Adaptive Systems
Low model training overhead Produces accurate models Models can improve at each adaptation cycle
Transfer Learning in Self-Adaptive Systems
Future Work, Insights, and Ideas
Selecting from Multiple Sources
Source Simulator Target Simulator Source Robot Target Robot (1) (2) (3) (4) (5)
C1 C2 C3
Active Learning with Transfer Learning
50 + 3*C1 + 15*C2 - 7*C2 *C3 TurtleBot
Measure Reuse Measure
Learn with TL
Simulator (Gazebo)
Iteratively find best sample points that maximize knowledge