Professional Documents
Culture Documents
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !2
Running case study - pose estimation
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !3
Hypothetical Co. Full Stack Robotics (FSR)
wants to use pose estimation to enable grasping
(x, y, z)
<latexit sha1_base64="VzuaXkC3pMHYMgeFzgbdHYPD3xo=">AAAB8HicbVBNSwMxEJ2tX7V+VT16CRahQim7Iuix4MWTVLAf0i4lm2bb0CS7JFmxLv0VXjwo4tWf481/Y9ruQVsfDDzem2FmXhBzpo3rfju5ldW19Y38ZmFre2d3r7h/0NRRoghtkIhHqh1gTTmTtGGY4bQdK4pFwGkrGF1N/dYDVZpF8s6MY+oLPJAsZAQbK92XHytoXEFPp71iya26M6Bl4mWkBBnqveJXtx+RRFBpCMdadzw3Nn6KlWGE00mhm2gaYzLCA9qxVGJBtZ/ODp6gE6v0URgpW9Kgmfp7IsVC67EIbKfAZqgXvan4n9dJTHjpp0zGiaGSzBeFCUcmQtPvUZ8pSgwfW4KJYvZWRIZYYWJsRgUbgrf48jJpnlU9t+rdnpdqN1kceTiCYyiDBxdQg2uoQwMICHiGV3hzlPPivDsf89ack80cwh84nz/sK480</latexit>
Grasp
model Motor commands
( , ✓, )
<latexit sha1_base64="BmkDtqmIRxqts5HvJACOgh3GSEs=">AAAB/XicbVDLSsNAFJ34rPUVHzs3g0WoICURQZcFN66kgn1AE8pkOmmGTiZh5kaoofgrblwo4tb/cOffOG2z0NYDl3s4517mzglSwTU4zre1tLyyurZe2ihvbm3v7Np7+y2dZIqyJk1EojoB0UxwyZrAQbBOqhiJA8HawfB64rcfmNI8kfcwSpkfk4HkIacEjNSzD6teGvEz7EHEgJiean7asytOzZkCLxK3IBVUoNGzv7x+QrOYSaCCaN11nRT8nCjgVLBx2cs0SwkdkgHrGipJzLSfT68f4xOj9HGYKFMS8FT9vZGTWOtRHJjJmECk572J+J/XzSC88nMu0wyYpLOHwkxgSPAkCtznilEQI0MIVdzcimlEFKFgAiubENz5Ly+S1nnNdWru3UWlflvEUUJH6BhVkYsuUR3doAZqIooe0TN6RW/Wk/VivVsfs9Elq9g5QH9gff4AtECUHw==</latexit>
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !4
Goals for the lecture
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !5
Lifecycle of a ML project
Planning &
project setup
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !6
Lifecycle of a ML project
• Decide to work on pose estimation
• Etc.
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !7
Lifecycle of a ML project
Planning &
project setup
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !8
Lifecycle of a ML project
Planning &
project setup
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !9
Lifecycle of a ML project
Planning &
project setup
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !10
Lifecycle of a ML project
Planning &
project setup
• Too hard to get data.
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !11
Lifecycle of a ML project
Planning &
project setup
Training &
debugging
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !12
Lifecycle of a ML project
Planning &
project setup
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !13
Lifecycle of a ML project
Planning &
project setup
Training &
debugging
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !14
Lifecycle of a ML project
Planning &
project setup
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !15
Lifecycle of a ML project
Planning &
project setup
Training &
debugging
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !16
Lifecycle of a ML project
Planning &
project setup
Training &
debugging
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !17
Lifecycle of a ML project
Planning &
project setup
Training &
debugging
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !18
Lifecycle of a ML project
Planning &
project setup
Training &
debugging
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !19
Lifecycle of a ML project
Planning &
project setup
Deploying &
testing
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !20
Lifecycle of a ML project
Planning &
project setup
Deploying &
testing
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !21
Lifecycle of a ML project
Per-project
activities
Planning &
project setup
Training &
debugging
Deploying &
testing
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !22
Lifecycle of a ML project
Per-project
activities
Planning &
project setup
Training &
debugging
Deploying &
testing
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !23
Lifecycle of a ML project
Cross-project Per-project
infrastructure activities
Planning &
Team & hiring
project setup
Training &
Infra & tooling
debugging
Deploying &
testing
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !24
What else do you need to know?
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !25
Lifecycle of a ML project
Cross-project Per-project
infrastructure activities
Planning &
Team & hiring
project setup
Training &
Infra & tooling
debugging
Deploying &
testing
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !26
Cross-project
Lifecycle of a ML project
infrastructure Per-project activities
Planning & project setup
Team & hiring Define Choose Evaluate Set up
project goals metrics baselines codebase
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !27
Cross-project
Lifecycle of a ML project
infrastructure Per-project activities
Planning & project setup
Team & hiring Define Choose Evaluate Set up
project goals metrics baselines codebase
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !28
Outline of the rest of the lecture
2. Choosing metrics
3. Choosing baselines
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !29
Outline of the rest of the lecture
2. Choosing metrics
3. Choosing baselines
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !30
1. Prioritizing projects
A. High-impact ML problems
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !31
1. Prioritizing projects
High priority
Impact
Low
Low Feasibility (e.g., cost) High
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !32
1. Prioritizing projects
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !33
1. Prioritizing projects
Prediction Machines: The Simple Economics of Artificial Intelligence (Agrawal, Gans, Goldfarb)
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !34
1. Prioritizing projects
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !35
1. Prioritizing projects
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !36
1. Prioritizing projects
High priority
Impact
Low
Low Feasibility (e.g., cost) High
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !37
1. Prioritizing projects
Data availability
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !38
1. Prioritizing projects
Accuracy requirement
Data availability
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !39
1. Prioritizing projects
Problem
difficulty
Accuracy requirement
Data availability
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !40
1. Prioritizing projects
Problem
difficulty
Accuracy requirement
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !41
1. Prioritizing projects
Problem
difficulty
Accuracy requirement
• How frequently does the system need to be
right to be useful?
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !42
1. Prioritizing projects
difficulty
• Compute available for deployment?
• How costly are wrong predictions?
Accuracy requirement
• How frequently does the system need to be
right to be useful?
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !43
1. Prioritizing projects
difficulty
• Compute available for deployment?
• How costly are wrong predictions?
Accuracy requirement
• How frequently does the system need to be
right to be useful?
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !44
1. Prioritizing projects
Project
cost
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !45
1. Prioritizing projects
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !46
1. Prioritizing projects
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !47
1. Prioritizing projects
Examples Counter-examples?
• Understand speech
• In-hand robotic
manipulation
• Translate speech
• Generalize to new
• Grasp objects
scenarios
• etc. • etc.
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !48
1. Prioritizing projects
pose estimation
• Slow
• Accuracy requirement
• Brittle
• Problem difficulty
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !49
1. Prioritizing projects
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !50
Outline of the rest of the lecture
2. Choosing metrics
3. Choosing baselines
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !51
2. Choosing metrics
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !52
2. Choosing metrics
Actual:
5 5 10
NO
Actual:
45 45 90
YES
50 50
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !53
2. Choosing metrics
Actual:
5 5 10
NO Correct
Accuracy
Actual:
Total
45 45 90
YES
50%
50 50
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !54
2. Choosing metrics
Actual:
5 5 10
NO true positives
Precision
Actual:
true positives + false positives
45 45 90
YES
90%
50 50
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !55
2. Choosing metrics
Actual:
5 5 10
NO true positives
Recall
Actual:
Actual YES
45 45 90
YES
50%
50 50
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !56
2. Choosing metrics
Precision Recall
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !57
2. Choosing metrics
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !58
2. Choosing metrics
Precision Recall
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !59
2. Choosing metrics
Precision Recall (p + r) / 2
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !60
2. Choosing metrics
Precision Recall (p + r) / 2
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !61
2. Choosing metrics
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !62
2. Choosing metrics
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !63
2. Choosing metrics
Thresholding metrics
• Domain judgment (e.g., which metrics can you
engineer around?)
values
• How well does the baseline model do?
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !64
2. Choosing metrics
Precision Recall (p + r) / 2
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !65
2. Choosing metrics
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !66
2. Choosing metrics
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !67
2. Choosing metrics
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !68
2. Choosing metrics
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !69
2. Choosing metrics
75%
0%
0% 25% 50% 75% 100%
Recall
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !70
2. Choosing metrics
75%
Average precision (AP)
= area under the curve
Precision mAP = mean AP,
e.g., over classes
25%
0%
0% 25% 50% 75% 100%
Recall
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !71
2. Choosing metrics
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !72
2. Choosing metrics
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !73
2. Choosing metrics
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !74
2. Choosing metrics
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !75
2. Choosing metrics
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !76
2. Choosing metrics
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !77
2. Choosing metrics
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !78
2. Choosing metrics
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !79
2. Choosing metrics
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !80
2. Choosing metrics
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !81
Outline
2. Choosing metrics
3. Choosing baselines
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !82
3. Choosing baselines
B. The tighter the lower bound, the more useful the baseline
(e.g., published results, carefully tuned pipelines, & human
baselines are better)
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !83
3. Choosing baselines
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !84
3. Choosing baselines
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !85
3. Choosing baselines
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !86
3. Choosing baselines
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !87
3. Choosing baselines
baselines
• Published results
• Scripted baselines
Internal
baselines
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !88
3. Choosing baselines
baselines
• Published results
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !89
3. Choosing baselines
baselines
• Published results
• Scripted baselines
Internal
baselines • Simple ML baselines
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !90
3. Choosing baselines
baselines
• Published results
• Scripted baselines
Internal
baselines • Simple ML baselines, e.g.,
• Find cases where model performs worse and concentrate data collection
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !93
3. Choosing baselines
B. The tighter the lower bound, the more useful the baseline
(e.g., published results, carefully tuned pipelines, human
baselines are better)
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !94
Cross-project
Lifecycle of a ML project
infrastructure Per-project activities
Planning & project setup
Team & hiring Define Choose Evaluate Set up
project goals metrics baselines codebase
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !95
Questions?
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !96
Where to go to learn more
• Andrew Ng’s “Machine Learning Yearning”
Full Stack Deep Learning (March 2019) Pieter Abbeel, Sergey Karayev, Josh Tobin L2: Projects !97