5. Putting the Human Back in the Loop - Antti Oulasvirta Cagliari June 7, 2023
Optimal design
<latexit sha1_base64="By1QtCmC3SL2Yll2dZFkd6ngNzA=">AAACkXicfVHfS9xAEN6Lttr0h2d9bB+WHoKVciSlan0QjlZBkFILPT24pMdkMxcXN5uwuxGPJS/+NX2t/43/TTdnCq1KBxY+vvlmduabpBRcmyC46XgLi48eLy0/8Z8+e/5ipbv68kQXlWI4ZIUo1CgBjYJLHBpuBI5KhZAnAk+T889N/vQCleaF/G5mJcY5ZJJPOQPjqEn3dfpjk+7RCFSWw+XEpjTiku7XNNtI3066vaAfzIPeB2ELeqSN48lqJ47SglU5SsMEaD0Og9LEFpThTGDtR5XGEtg5ZDh2UEKOOrbzNWq67piUTgvlnjR0zv5dYSHXepYnTpmDOdN3cw35UG5cmenH2HJZVgYlu/1oWglqCtp4QlOukBkxcwCY4m5Wys5AATPOOd+P9tEto/CLa/y1RAWmUJu2tax2y2XRuwb9T8jlH6FDDwptdDCqbdRMnyT2oK7XKV6Wbi7nyQWICn3fdwcJ79p/H5y874fb/a1vH3qDT+1plskr8oZskJDskAE5JMdkSBi5Ij/JL3LtrXm73sBrtV6nrVkj/4R39BtOycis</latexit>
dā¤
= arg max
d2D
g(d)
Find the design
ā¦from a finite set of designs ā¦
ā¦that maximizes the goodness function
6. Putting the Human Back in the Loop - Antti Oulasvirta Cagliari June 7, 2023
Optimal design
<latexit sha1_base64="By1QtCmC3SL2Yll2dZFkd6ngNzA=">AAACkXicfVHfS9xAEN6Lttr0h2d9bB+WHoKVciSlan0QjlZBkFILPT24pMdkMxcXN5uwuxGPJS/+NX2t/43/TTdnCq1KBxY+vvlmduabpBRcmyC46XgLi48eLy0/8Z8+e/5ipbv68kQXlWI4ZIUo1CgBjYJLHBpuBI5KhZAnAk+T889N/vQCleaF/G5mJcY5ZJJPOQPjqEn3dfpjk+7RCFSWw+XEpjTiku7XNNtI3066vaAfzIPeB2ELeqSN48lqJ47SglU5SsMEaD0Og9LEFpThTGDtR5XGEtg5ZDh2UEKOOrbzNWq67piUTgvlnjR0zv5dYSHXepYnTpmDOdN3cw35UG5cmenH2HJZVgYlu/1oWglqCtp4QlOukBkxcwCY4m5Wys5AATPOOd+P9tEto/CLa/y1RAWmUJu2tax2y2XRuwb9T8jlH6FDDwptdDCqbdRMnyT2oK7XKV6Wbi7nyQWICn3fdwcJ79p/H5y874fb/a1vH3qDT+1plskr8oZskJDskAE5JMdkSBi5Ij/JL3LtrXm73sBrtV6nrVkj/4R39BtOycis</latexit>
dā¤
= arg max
d2D
g(d)
Find the design
ā¦from a finite set of designs ā¦
ā¦that maximizes the goodness function
Generative design
Adaptive interfaces
Personalization
Recommendations
Calibration
7. Solutions to this challenge would
enable computers that can better
serve users, taking their needs,
capabilities, and situations into
account
8. They would help designers
reach beyond intuition and
empirical evaluation
10. Putting the Human Back in the Loop - Antti Oulasvirta Cagliari June 7, 2023
Oulasvirta et al. IEEE Proc. 2020
Combinatorial optimization
Example: generating menus with
human performance models
Computer-generated menus are 25% more usable
Model
Objectives
Constraints
Design task
Design solution
Solver
11. Putting the Human Back in the Loop - Antti Oulasvirta Cagliari June 7, 2023
Oulasvirta et al. IEEE Proc. 2020
Combinatorial optimization
Example: generating menus with
human performance models
Computer-generated menus are 25% more usable
Model
Objectives
Constraints
Design task
Design solution
Solver
12. Putting the Human Back in the Loop - Antti Oulasvirta Cagliari June 7, 2023
Underlying models are weak,
which hampers application
Towards Real-time Perceptual Optimisation of Scaļæ½erplots ELEC-E7861 Research Project in HumanāComputer Interaction,
Figure 6: The same data set as in Fig. 4, optimised with the
algorithm presented in this paper, in ā 17 seconds. Aspect
Figure 7: A random data set with 15 625 data points, opti-
mised (in ā 16 seconds) for correlation estimation using the
algorithm presented in this paper.
Micallef et al. 2017 IEEE TVCG
Objective function
Lots of fiddling required to
set up an objective function
14. Putting the Human Back in the Loop - Antti Oulasvirta Cagliari June 7, 2023
Cognitive architectures
GLEAN3 ā Kieras et al. 1999
Programs
Processor
Modules
15. Putting the Human Back in the Loop - Antti Oulasvirta Cagliari June 7, 2023
Cognitive architectures
GLEAN3 ā Kieras et al. 1999
Programs
Processor
Modules
Basically rule-based AI
New design, new
production system
16. Putting the Human Back in the Loop - Antti Oulasvirta Cagliari June 7, 2023
Reinforcement learning
RL agents simulating users
State
Action
Reward
Jokinen et al. CHIā21
Ikkala et al. UISTā22
Reward functions very
hard to engineer
Scope limited to
sensorimotor
performance
17. Putting the Human Back in the Loop - Antti Oulasvirta Cagliari June 7, 2023
Supervised learning
Input vector
Prediction vector
Data
Real human data Predicted by model
Fails with OODs
Jiang et al. CHI 2023
18. Putting the Human Back in the Loop - Antti Oulasvirta Cagliari June 7, 2023
Supervised learning
Input vector
Prediction vector
Data
Real human data Predicted by model
Fails with OODs
Jiang et al. CHI 2023
19. Putting the Human Back in the Loop - Antti Oulasvirta Cagliari June 7, 2023
All methods fail to capture usersā
tacit preferences
All methods fail to
capture tacit
preferences and
individual differences
20.
21. Putting the Human Back in the Loop - Antti Oulasvirta Cagliari June 7, 2023
The field is in an impasse
?
22. āThe race is between the
tortoise of cumulative
science and the hare of
intuitive designā
ā Allen Newell at CHIā85
https://upload.wikimedia.org/wikipedia/commons/2/27/Frans_Snyders_
-_Fable_of_the_hare_and_the_tortoise.jpg
The Aesopian
race of HCI
24. Putting the Human Back in the Loop - Antti Oulasvirta Cagliari June 7, 2023
It uses two elements to tackle the
exploration/exploitation problem
1. A probabilistic surrogate model
ā¢ a prior distribution that
captures beliefs about the
behavior of the unknown
objective function
2. An acquisition function
ā¢ describes how optimal a
query is
Shahriari et al. 2016
25. Putting the Human Back in the Loop - Antti Oulasvirta Cagliari June 7, 2023
It acquires and updates, iteratively
Step n
Step n+1
Step n+2
26. Putting the Human Back in the Loop - Antti Oulasvirta Cagliari June 7, 2023
It is proposed to automate tasks
that normally require an expert
ādesign problems are fraught with choices,
choices that are often complex and high
dimensional, with interactions that make
them difficult for individuals to reason
about. ā
(p. 148)
A global method
Derivative-free
Sample-efficient
Black box
27. Putting the Human Back in the Loop - Antti Oulasvirta Cagliari June 7, 2023
The method is popular in ML and
applied engineering
https://pubs.acs.org/doi/abs/10.1021/acsami.1c16506
Hyperparameter tuning
It needs an āoracleā that
tells how good a design is
But what if the
āoracleā is a human?
29. Putting the Human Back in the Loop - Antti Oulasvirta Cagliari June 7, 2023
Human-in-the-loop applications
Optimizer
Chan et al. CHIā22; submitted
30. Putting the Human Back in the Loop - Antti Oulasvirta Cagliari June 7, 2023
Preparing an optimizer
Define design variables
(<20)
Define objectives
(<10)
Set up a testing
environment
31. Putting the Human Back in the Loop - Antti Oulasvirta Cagliari June 7, 2023
The method is sample-efficient
6 times fewer iterations needed than with manual design
Brochu et al. 2010
Significant savings
over manual editing
32. Putting the Human Back in the Loop - Antti Oulasvirta Cagliari June 7, 2023
What makes tactility good?
Liao et al. CHIā20
33. Putting the Human Back in the Loop - Antti Oulasvirta Cagliari June 7, 2023
Optimizing tactile experience
Liao et al. CHIā20
34. Putting the Human Back in the Loop - Antti Oulasvirta Cagliari June 7, 2023
35. Putting the Human Back in the Loop - Antti Oulasvirta Cagliari June 7, 2023
The method can optimize UIs
5-10% improvements in pointing throughput achievable
Kim et al. CHIā20
36. Putting the Human Back in the Loop - Antti Oulasvirta Cagliari June 7, 2023
A typical surrogate model in that
study
Kim et al. CHIā20
The method tackles
variability and
noise in user inputs
37. Putting the Human Back in the Loop - Antti Oulasvirta Cagliari June 7, 2023
It can optimize for tacit preferences
Zhu et al. UMAPā23
Which SHAP-based explanation of ādogā is the best?
38. Putting the Human Back in the Loop - Antti Oulasvirta Cagliari June 7, 2023
āHyperparameter tuning with
humansā Zhu et al. UMAPā23
Optimal accuracyāexplainability tradeoffs found with BO
39. Putting the Human Back in the Loop - Antti Oulasvirta Cagliari June 7, 2023
It can handle multiple
objectives
User A
User B
40. Putting the Human Back in the Loop - Antti Oulasvirta Cagliari June 7, 2023
Example: Tailoring a VR keyboard
Bayesian optimization for speed (WPM) and accuracy
Shen et al. ISMAR 22
41. Putting the Human Back in the Loop - Antti Oulasvirta Cagliari June 7, 2023
It also supports
designer-in-the-loop optimization
It reduces cognitive effort in design
Chan et al. CHIā22; submitted
42. Putting the Human Back in the Loop - Antti Oulasvirta Cagliari June 7, 2023
It can adapt using sensor data
Kim et al. 2016 Plos One
43. Putting the Human Back in the Loop - Antti Oulasvirta Cagliari June 7, 2023
It can work with implicit signals
AdaptiFont - Kadner et al. CHIā22
Measure reading speed Optimize font
44. Putting the Human Back in the Loop - Antti Oulasvirta Cagliari June 7, 2023
It can optimize for groups
(as well as individuals)
āGlobal GPā exploits information from multiple users to compute a
an optimal compromise
Liao et al. submitted
45. Putting the Human Back in the Loop - Antti Oulasvirta Cagliari June 7, 2023
Getting started with code is quick
GPyOpt
46. Putting the Human Back in the Loop - Antti Oulasvirta Cagliari June 7, 2023
It may have potential applications
in end-user development
Speculation warning!
CoScripter Scaffidi et al. 2010
Generative design
Adaptive interfaces
Personalization
Recommendations
Calibration
49. Putting the Human Back in the Loop - Antti Oulasvirta Cagliari June 7, 2023
Bayesian optimization
āexperimentsā on people
50. Putting the Human Back in the Loop - Antti Oulasvirta Cagliari June 7, 2023
Chan
et
al.
CHIā22
Human-in-the-loop methods may
diminish agency
51. Putting the Human Back in the Loop - Antti Oulasvirta Cagliari June 7, 2023
The reason: āOptimal designā
does not consider interaction
<latexit sha1_base64="By1QtCmC3SL2Yll2dZFkd6ngNzA=">AAACkXicfVHfS9xAEN6Lttr0h2d9bB+WHoKVciSlan0QjlZBkFILPT24pMdkMxcXN5uwuxGPJS/+NX2t/43/TTdnCq1KBxY+vvlmduabpBRcmyC46XgLi48eLy0/8Z8+e/5ipbv68kQXlWI4ZIUo1CgBjYJLHBpuBI5KhZAnAk+T889N/vQCleaF/G5mJcY5ZJJPOQPjqEn3dfpjk+7RCFSWw+XEpjTiku7XNNtI3066vaAfzIPeB2ELeqSN48lqJ47SglU5SsMEaD0Og9LEFpThTGDtR5XGEtg5ZDh2UEKOOrbzNWq67piUTgvlnjR0zv5dYSHXepYnTpmDOdN3cw35UG5cmenH2HJZVgYlu/1oWglqCtp4QlOukBkxcwCY4m5Wys5AATPOOd+P9tEto/CLa/y1RAWmUJu2tax2y2XRuwb9T8jlH6FDDwptdDCqbdRMnyT2oK7XKV6Wbi7nyQWICn3fdwcJ79p/H5y874fb/a1vH3qDT+1plskr8oZskJDskAE5JMdkSBi5Ij/JL3LtrXm73sBrtV6nrVkj/4R39BtOycis</latexit>
dā¤
= arg max
d2D
g(d)
Would keep asking the
user forever
Assumes that users do
not change
Users have no control
over process
Shortcomings
Users cannot express
their knowledge
53. Putting the Human Back in the Loop - Antti Oulasvirta Cagliari June 7, 2023
From optimal experiments to
optimal interaction
Users have knowledge
Users also learn
Users have limited time
Principles we need to recognize
55. Putting the Human Back in the Loop - Antti Oulasvirta Cagliari June 7, 2023
Exploit ācommon knowledgeā
from other users
Warm-start GP uses a prior learned from other users
Liao et al. submitted
56. Putting the Human Back in the Loop - Antti Oulasvirta Cagliari June 7, 2023
Yields a significant improvement
in efficiency
Liao et al. submitted
57. Putting the Human Back in the Loop - Antti Oulasvirta Cagliari June 7, 2023
Cooperative interfaces for BO
Mo et al. submitted
Designers using
the UI explored
more and had high
agency
58. Putting the Human Back in the Loop - Antti Oulasvirta Cagliari June 7, 2023
59. Putting the Human Back in the Loop - Antti Oulasvirta Cagliari June 7, 2023
Infer usersā goals without asking
directly
Estimate usersā goal from slider manipulations and use that to
drive a Bayesian optimizer
Koyama et al UISTā22
60. Putting the Human Back in the Loop - Antti Oulasvirta Cagliari June 7, 2023
Examples
61. Putting the Human Back in the Loop - Antti Oulasvirta Cagliari June 7, 2023
62. Putting the Human Back in the Loop - Antti Oulasvirta Cagliari June 7, 2023
āHuman first, machine lastā
Let an expert explore first, use BO
to drive the rest
Significant savings over human-
only and machine-only approaches
You can find an optimal handover
point empirically
63. We need to recast the problem
of optimal design
64. Putting the Human Back in the Loop - Antti Oulasvirta Cagliari June 7, 2023
WIP: Sequential decision-
making with latent rewards
<latexit sha1_base64="uoIjEr73vYJO0XYlZq1QSBS8w7Q=">AAAC2HicfVFNbxMxEHWWr7J8pXDkYhFVSUoV7SK+LkgVUIkLIiCSRsRL5HUmW6v27tb2Vo2MJW6IK/+Kn8Cv4Ao3vOkioK0YydLTmzfjmTdpKbg2UfStFZw7f+HipbXL4ZWr167faK/fHOuiUgxGrBCFmqRUg+A5jAw3AialAipTAbvp/rM6v3sISvMif2uWJSSSZjlfcEaNp2ZtNn5vSck3XU/38ROMSZXPvRyMPXBE0iNMUp5lxOI3Pb110Md3McmolBQTXcmZ1V2Hhz3dxR/wKv2nW7fflLpw1u5Eg2gV+DSIG9BBTQxn662EzAtWScgNE1TraRyVJrFUGc4EuJBUGkrK9mkGUw9zKkEnduWGwxuemeNFofzLDV6xf1dYKrVeytQrJTV7+mSuJs/KTSuzeJxYnpeVgZwdf7SoBDYFrq3Fc66AGbH0gDLF/ayY7VFFmfGOhiF5Dn4ZBS9941clKGoKtWkJVZn32fnlMrJVo/8Jef5b6NGZQkt2Js6Sevo0tTvObWA4Kv1c3pNDKioIw/og8Un7T4PxvUH8cPDg9f3O9tPmNGvoNrqDeihGj9A2eoGGaIQY+oq+ox/oZ/Au+Bh8Cj4fS4NWU3ML/RPBl1/iA+M8</latexit>
V ā”ā¤
(s) = max
q
ā¢
R(s, q) +
X
s0
P(s0
|s, q)V ā”ā¤
(s0
)
<latexit sha1_base64="lLgJyvGKt4bwKSHBLsuXq1DqI6A=">AAAC+nicfVHLbhMxFPUMrzK8EtjRjUVUlFZpNEG8NkgVUIkNoiDSRoqHyOO5mVj1eCa2pyQys+RH2CG2/AzfwE/gSQaptBVXsnx07rkPH8eF4NqE4S/Pv3T5ytVrG9eDGzdv3b7Tat891HmpGAxZLnI1iqkGwSUMDTcCRoUCmsUCjuLjV3X+6ASU5rn8aJYFRBlNJZ9yRo2jJq2v2MWHF0F9kRhSLi1z7XS1YjBOu8mnna7uzbe3e/ghJgYWxvJpRTDJ4nxhDaiMSyrwvARdt6wwIU3tLmbd+amy3MxAfeYa1s0JyKQZNml1wn64CnweDBrQQU0cTNpeRJKclRlIwwTVejwICxNZqgxnwg0gpYaCsmOawthBSTPQkV35VeEtxyR4mit3pMEr9nSFpZnWyyx2yoyamT6bq8mLcuPSTJ9HlsuiNCDZetC0FNjkuDYfJ1wBM2LpAGWKu10xm1FFmbNRBwF5De4xCt66xu8KUNTkascSqtKMLir3uJT0avQ/IZd/hQ5dKLRkf1RZUm8fx3a/qrYwLAq3l/PkhIoSgiBwHzI4a/95cPioP3jaf/L+cWfvZfM1G2gTPUBdNEDP0B56gw7QEDH022t7971N/4v/zf/u/1hLfa+puYf+Cf/nHz1M6lc=</latexit>
R =
(
g(dā¤
(s, q)), if terminal question
c(q), otherwise
Choose a sequence of questions that maximizes subjective payoff,
i.e. the benefits of the best design minus the costs of asking
De Peuter et al. AI Magazine 2023
66. Objectives
Min CdA
Max avg W
Min RPE
Objectives
Tactile experience
Durability
Price
Optimize
Saddle height
Stem length
Bar width
Optimize
Material
Thickness
Texture
Material
design
Bike
fitting
67. Putting the Human Back in the Loop - Antti Oulasvirta Cagliari June 7, 2023
Characteristics of the 99%
ā¢ Do not know optimization
ā¢ Have both objective and
subjective measurements
ā¢ Rely on wonky measurements
ā¢ Have plenty of prior
knowledge
ā¢ Have limited time
Algorithms and UI
design must
converge
68. Landing page
Optimize Anything!
Let AI help you find the best solution
Three steps:
1. Define. Tell us what you want to
optimize (5 mins)
2. Optimize. Let AI help you find the
best options. (Stop when you want.)
3. Results. Weāll present you the best
options with their tradeoffs.
Learn how X
optimized
their Y (sports)
Learn how X
optimized
their Y
(engineering)
Learn how X
optimized
their Y
(design)
69. How it works
You AI
A solution
idea
Evaluation Ready
Skip this
one
More like
this
AI will propose you solutions one at a time. You evaluate them
and tell the AI. You can always propose solutions and steer the AI.
I want us
to try
this:ā¦
Learn why this
method works
70. 1. Define: Decisions
Let us know what you want to optimize
What factors do you need to
decide?
Describe each factor that you want to decide.
Examples: āsaddle heightā, āmaterial thicknessā,
ālamp colorā.
1: [name ] [units] [min][max]
Next
Example case
Example case
+ add Tips
71. 1. Define: Objectives
Let us know what you want to optimize
Which measurements do you
want to optimize?
Describe your objectives. You can include also
subjective measurements, even opinions.
Examples: āfatigueā, āfuel efficiencyā, āpriceā.
1: [name ] [type] [units] [min/max]
Ready
Example case
Example case
+ add Tips
72. One question before we startā¦
Are there known good/bad solutions we should include?
Known solutions
Variable 1 (Saddle height): [type value]
Variable 2 (Stem length): [type value]
[good / bad solution]
Example case
Example case
+ add Tips
Yes, some
No, letās
start
73. 2. Optimize
Let AI suggest solutions with you
1st solution idea
[saddle = 18cm] [stem length = 11cm]
Iām done
Tips
Skip. I know
itās not good
I want to
evaluate this
[Give a memorable name to this idea]
CdA = [enter measurement]
W = [enter measurement]
RPE = [enter measurement]
Give me the
next one
I want to
refine this
74. 3. Results
Here are the best options we found
Option 1
[stem length = 9cm] [saddle = 17cm]
This option is great in CdA and W, but
weaker in RPE.
Restart
Show all
results in a
single plot
Option 2
[stem length = 12cm] [saddle=13cm]
This option is great in RPE, but weaker
in CdA and W.
Visualize
Visualize
76. Putting the Human Back in the Loop - Antti Oulasvirta Cagliari June 7, 2023
ML methods were not developed for
interaction with humans
77. Putting the Human Back in the Loop - Antti Oulasvirta Cagliari June 7, 2023
Bayesian optimization is great for design
ā¢ It works for cases where human input is scarce but
informative
ā¢ Great for personalizing interactions
Butā¦
ā¢ Ironically, users lack agency
ā¢ This can be alleviated by
ā¢ by interface design for cooperation
ā¢ by rethinking the optimization problem
ā¢ by stronger user models
78. Putting the Human Back in the Loop - Antti Oulasvirta Cagliari June 7, 2023
As a field we need to converge
algorithms with designā¦
ā¢ We need not just apply algorithms but appropriate
them and make them human-centric
ā¢ What assumptions do they make about people?
ā¢ How can interfaces optimally support these?
ā¢ We need to design interactions that require minimum
technical knowledge
79. Also big thanks to my collaborators Per Ola Kristensson,
Liwei Chan, Yi-Chi Liao, Samuel Kaski, Sebastiaan De
Peuter, John Dudley, Tomi Peltola, Jukka Corander, Antti
KangasrƤƤsiƶ, John Williamson, Suyog Chandramouli,
Yifan Zhu, Jukka Corander, Byungjoo Lee, Sunjun Kim
Notebook to teach BO for HCI students
https://github.com/oulasvir/bayesianoptimization/blob/mas
ter/Introduction_to_Bayesian_Optimization.ipynb
Thank you!
SIGGRAPH tutorial by Igarashi et al.
https://dl.acm.org/doi/pdf/10.1145/3450508.3464551