
ladies gentlemen and beyond we are in
the midst of an AI bandwagon this isn’t
the first time there’s been an AI
bandwagon for this keeping count we’re
in fact in the fourth boom era for AI
who the first going as far back as the
50s and bandwagon isn’t necessarily a
bad thing every now and again an idea
comes along and starts to get a lot of
attention and if the idea is generally a
good idea then this is a good thing
however the good part of the idea is
usually rigorously studied by only a
small minority make sure you are part of
that minority as a lecture of mine used
to say if you are going to jump on a
bandwagon jump on the bit that’s worth
writing so let me explain to you what I
think is the most interesting part of
the current AI boom and in order to do
that I need to take a step back and
start with something a little different
how many of you in the audience would
consider yourself programmers let’s see
a show of hands you are all also
programmers why because programming is
nothing but specifying behavior when you
press a button to send an email or tap
on an icon to open an application you’re
doing a tiny bit of programming you’re
saying computer
I intend for you to send this email or
phone I intend for you to open this
application and you might not think of
it as programming but it is and in fact
in this view the entire history of
computer interface design can be thought
of as getting more and more people to
program without realizing that doing it
when we went from feeding punch cards in
in to computers to command-line
interfaces we reduced the amount of time
it took to get a response from the
computer from days to seconds and this
meant that you didn’t have to get your
code right the first time it was ok to
make mistakes you could just try again
and when we went from command-line
interfaces to graphical user interfaces
we had all these rich visual analogies
like buttons and icons and menus and
each step along the way more and more
people were able to use computers to get
their work done
achieving with clicks
and taps what decades earlier would have
required them to write several lines of
code which brings us back to AI
interacting with an artificial
intelligence is like programming because
it is about specifying behavior when you
ask the assistant on your phone to fetch
you some information you’re specifying
how you would like that agent to behave
you can get smart thermostats now that
learn how you like the temperature based
on how you set it in the first few days
of use and thereafter learn how to set
the temperature by themselves a more
subtle example is product
recommendations on an online store such
as Amazon and when you browse and make
purchases on such a store you’re
teaching the system your preferences and
thereby specifying the behavior of the
recommender system or think about social
media on social media platforms your
every click your likes your posts your
shares even the amount of time you dwell
on a post is recorded and used to
personalize your experience of that
platform your recorded actions are the
program and in this way
more and more of our experience of the
Internet as well as the world around us
is being programmed by us implicitly or
explicitly now just claimed that AI is
like programming and if it was exactly
like programming then there wouldn’t be
any problem to solve we could all just
go home because we’ve been helping
professional software developers to
program for decades it now just so
happens that you know everybody is
programming their environment using AI
we just use the tools we use for
professional software developers and
give them to everyday folk and have them
use that right wrong there are two key
ways in which AI differs from
traditional programming the first is
that the goal when you’re interacting
with an AI system is often unknown or
ill-defined
let’s think about two examples that
we’ve already seen when you set an alarm
on your alarm clock the goal is simple
you want the alarm to ring at a certain
time so this makes it really easy to
work out when there’s a an error or a
bug in your
if the alarm rings when you wanted a
turret I didn’t want it to ring or if
the alarm doesn’t ring when you did want
it to ring there’s a bug now compare
this to the behavior of online shopping
recommendations or perhaps those
annoying ads that seem to follow you
around everywhere on the Internet you
might get ones that seem more relevant
or ones that seem less relevant but it’s
hard to say whether the behavior of the
program is right or wrong I mean the
ultimate objective of course is to get
better recommendations but this is a
fuzzy and ever-changing target and so
there’s there’s no real concept of
whether the behavior the whether the
program is behaving correctly in any
absolute sense of the word and this
first problem I hope it’s clear is
deeper than what we can solve through
technology alone because we wish to
apply AI to these ill-defined problems
like human preferences the solutions
inevitably need to be human centric so a
well-designed recommender system would
help both human and AI develop a sense
for what a good recommendation is and a
good recommender system would help both
human and AI come to terms with the idea
that there isn’t any such thing as the
perfect recommendation the second way in
which AI departs from traditional
programming is on how the program is
stored
traditionally programs are stored as
lines of code or sets of rules or as
combinations of simple settings think
again about your alarm clock stored in
its memory whether digital or analog are
two pieces of information the first is
whether the alarm is on or off and the
second is what time the alarm is set for
and these combined to make the following
very simple program if the alarm is on
and the current time matches the stored
alarm time then ring and this program is
run every minute and if something goes
wrong and it doesn’t work you can always
inspect those two pieces of information
was the alarm set what time was it set
for in order to work out what went wrong
in comparison in contrast rather AI
programs
are stored as vast quantities of numbers
which represent statistical parameters
which taken individually have no meaning
but collectively create this rich
behavior that we see in AI systems today
so simply inspecting the settings of the
program doesn’t tell us much it doesn’t
help us understand the program and the
second problem is really where we need
to make some traction you might have
heard of this problem by many names you
know the intelligibility problem the
transparency problem the black box
problem in AI and when people talk about
this you often hear things like oh we
must ensure that AI augments human
capabilities or we must ensure that AI
empowers and augments and amplifies
human abilities or we must ensure there
aren’t any hidden biases in our AI
systems where as much of this discussion
can just be traced back to the fact that
simply inspecting the individual
settings that make up an AI program
don’t tell us much about what this
program does and how it does it then
there are many potential solutions to
this problem one school of thought is
that we should just reduce the
complexity of AI programs by forcing
them to have fewer of these parameters
and this is the root of structural
simplicity which has a drawback because
these simpler programs find it much
harder to reproduce this rich complex
behavior that we want our AI systems to
learn such as navigating a driver
driverless car through all sorts of
different road terrains these simpler
programs just don’t perform as well in
my research I’ve explored an alternative
theory that instead of looking at it as
a structural problem we should be
looking at it as an interaction design
problem that is to say looking at the
individual numbers that make up an
artificial intelligence is the wrong
level of abstraction at which to
interact with them when we went from
command-line interfaces to graphical
user interfaces we used metaphors and
abstraction to help us make sense of
these complex systems when you move a
file on your computer today you don’t
have to type in some obscure command
involved
whether file currently is and we wanted
to go you just drag-and-drop its icon
this wasn’t incidental this interaction
is the hard one result of several years
of careful research into the design of
these systems and I’m arguing that we
should be applying those same design
research principles to the design of AI
systems to make them more accessible
today’s AI systems are actually quite
patronizing to the user think about the
assistant on your phone or the
recommender systems when these systems
come to a decision if you don’t tell you
how they’ve come to that decision on
what data the decision was based how
confident they are in that decision and
so if you’re somehow unsatisfied with
the answer that is to say you found an
error there’s very little support for
you to work out what you should do next
and ultimately any information the
information you’re after is any
information that’s going to help you get
what you want out of the system to
improve its behavior to better specify
its behavior that is any information
that’s going to help you program the
system in fact we know through research
there are specific kinds of information
that help non-expert end users of these
systems interact with understand and
program AI information such as why or
why not
does this system make a certain decision
what input does the system take to make
its decisions what kind of decisions is
it actually capable of what would the
system do in a certain scenario how
confident is the system of its decision
and what controls do I as the user have
to affect the decision making process of
the system and to help it do better and
in my research I’ve proposed that this
information might be generated using
meta intelligences that is to say
smaller peripheral intelligences that
look at the main AI program and report
what they’ve learnt about it in higher
level terms and these high-level terms
might be presented as charts
illustrating the confidence of the
system or perhaps as images in a
stretching what the system sees when it
looks at an image or even as natural
language text but the design of these
higher level
as well as what controls or affordances
the user has to act upon them is really
the key to the design of these AI
systems now I have enough time to tell
you a story about one thing we have
learnt about the design of AI systems
through research I was involved in a
project at Microsoft where we were
trying to build an AI system that looks
at videos of patients with multiple
sclerosis performing standardized
clinical movements and assess the
severity of their illness now multiple
sclerosis is a motor neuron disease and
the worse it gets the harder it is for
patients to perform the standard
movements such as the finger to nose
movement because of things like tremor
and so the system was supposed to look
at videos of patients and produce an
assessment score a severity of illness
score on a scale of 0 to 4 for each of
them with zero being completely normal
and for being so impaired you couldn’t
complete the movement and you can
imagine how useful a system like this
would be because this would allow
patients to be assessed much more
regularly which has enormous
implications for treatment decisions
allows them to make much better
treatment decisions and systems like
this learn by first taking a bunch of
examples that have already been labeled
by expert humans so we needed to create
a learning data set for the system where
we’d already gotten neurologists to
label some videos with their appropriate
a via a severity of illness ratings and
the we went to a neurologist with our
videos and the problem is this is such a
hard concept that even neurologists have
a hard time working out what the ratings
should be so we’d give to neurologists
the same video and they’d only agree
with each other’s scores about 60% of
the time
moreover we’d give the same neurologists
the same video several hours apart and
they’d even disagree with their own
previous ratings so we tried many things
to improve this situation we try to work
with the neurologists to create new
rubrics for how to assess these videos
we tried to select gold standard videos
that would be exemplary of each of the
levels of severe severity so that so
that
neurologists would be able to refer to
something no improvement in consistency
our solution required us to really
rethink our approach to this entire
problem the key observation was that
humans are fundamentally better at
comparing things than they are at
assigning absolute scores to things so
instead of having each neurologists rate
every video separately we asked we gave
them small sets of videos and said
please order these videos according to
the severity of the illness and then we
were able to take these resultant
orderings and extract the zero to four
scale scores from them and these
resulting scores were far more
consistent than anything we’d seen
before well beyond the state-of-the-art
well beyond clinical gold standards it
was a real breakthrough for both AI as
well as neurology now you might have
noticed that this example is even about
the AI system itself it’s about the data
we feed into it but I hope this just
goes to show that there is an entire
story to the design of these systems
that happens before and after these
systems even enter the picture and our
approach to designing these systems
needs to be holistic I mean think about
how often your humans are asked to rate
things all the time you’re asked to rate
movies or on Netflix products on Amazon
your us to like posts on social media as
to rate songs on your music streaming
services and humans don’t deal in
absolutes
we deal in relatives and if asked to
produce absolute scores we can but these
scores are often inconsistent or
meaningless so how would all of these
systems look if instead we were asked to
compare songs to compare videos to
compare films to compare different posts
to summarize we’ve learned that
programming is specifying behavior we’ve
learned that AI is like programming and
where it departs from traditional
programming is where interaction design
can step in to fill the gaps so the next
time you read an article or hear a talk
about how AI is everywhere and we can’t
understand it
you can take comfort in the fact that
the core problem of finding the right
metaphors and the right level of
abstraction is not new to computer
science we’ve done it before with
command-line interfaces and with
graphical user interfaces and with
touchscreen and gestural interfaces and
we can do it again now don’t get me
wrong it is a very hard design problem
but I’m confident that it can be tackled
through the principled application of
our design of our understanding of
design and human psychology and in order
to do this we need more
interdisciplinary researchers there is
people who can bridge the technical
aspects of machine learning with the
social aspects of user research and the
craft aspects of interaction design and
I don’t just mean we should have more
social science critiques of AI we have
plenty of those already in fact these
critiques of a aya are so detached from
the technical realities of AI that
they’re often they’ve they border on
facile and impractical and the converse
is often is also true when AI
researchers respond to human centric
critiques the result is often
reductionist or Universalist assuming
that some complex facet of human
experience can be captured by adding
another parameter into the system now
there are exceptions but the center true
introduced disciplinary expertise is
hard to find so here’s my wish I want
more social science researchers to make
a real effort to learn how to build and
design AI systems I want more AI
researchers to make a real effort to
learn the theories and methods of social
science and design and together I’m
confident that we will build the most
accessible and powerful computer
interfaces yet thank you [Applause]
the midst of an AI bandwagon this isn’t
the first time there’s been an AI
bandwagon for this keeping count we’re
in fact in the fourth boom era for AI
who the first going as far back as the
50s and bandwagon isn’t necessarily a
bad thing every now and again an idea
comes along and starts to get a lot of
attention and if the idea is generally a
good idea then this is a good thing
however the good part of the idea is
usually rigorously studied by only a
small minority make sure you are part of
that minority as a lecture of mine used
to say if you are going to jump on a
bandwagon jump on the bit that’s worth
writing so let me explain to you what I
think is the most interesting part of
the current AI boom and in order to do
that I need to take a step back and
start with something a little different
how many of you in the audience would
consider yourself programmers let’s see
a show of hands you are all also
programmers why because programming is
nothing but specifying behavior when you
press a button to send an email or tap
on an icon to open an application you’re
doing a tiny bit of programming you’re
saying computer
I intend for you to send this email or
phone I intend for you to open this
application and you might not think of
it as programming but it is and in fact
in this view the entire history of
computer interface design can be thought
of as getting more and more people to
program without realizing that doing it
when we went from feeding punch cards in
in to computers to command-line
interfaces we reduced the amount of time
it took to get a response from the
computer from days to seconds and this
meant that you didn’t have to get your
code right the first time it was ok to
make mistakes you could just try again
and when we went from command-line
interfaces to graphical user interfaces
we had all these rich visual analogies
like buttons and icons and menus and
each step along the way more and more
people were able to use computers to get
their work done
achieving with clicks
and taps what decades earlier would have
required them to write several lines of
code which brings us back to AI
interacting with an artificial
intelligence is like programming because
it is about specifying behavior when you
ask the assistant on your phone to fetch
you some information you’re specifying
how you would like that agent to behave
you can get smart thermostats now that
learn how you like the temperature based
on how you set it in the first few days
of use and thereafter learn how to set
the temperature by themselves a more
subtle example is product
recommendations on an online store such
as Amazon and when you browse and make
purchases on such a store you’re
teaching the system your preferences and
thereby specifying the behavior of the
recommender system or think about social
media on social media platforms your
every click your likes your posts your
shares even the amount of time you dwell
on a post is recorded and used to
personalize your experience of that
platform your recorded actions are the
program and in this way
more and more of our experience of the
Internet as well as the world around us
is being programmed by us implicitly or
explicitly now just claimed that AI is
like programming and if it was exactly
like programming then there wouldn’t be
any problem to solve we could all just
go home because we’ve been helping
professional software developers to
program for decades it now just so
happens that you know everybody is
programming their environment using AI
we just use the tools we use for
professional software developers and
give them to everyday folk and have them
use that right wrong there are two key
ways in which AI differs from
traditional programming the first is
that the goal when you’re interacting
with an AI system is often unknown or
ill-defined
let’s think about two examples that
we’ve already seen when you set an alarm
on your alarm clock the goal is simple
you want the alarm to ring at a certain
time so this makes it really easy to
work out when there’s a an error or a
bug in your
if the alarm rings when you wanted a
turret I didn’t want it to ring or if
the alarm doesn’t ring when you did want
it to ring there’s a bug now compare
this to the behavior of online shopping
recommendations or perhaps those
annoying ads that seem to follow you
around everywhere on the Internet you
might get ones that seem more relevant
or ones that seem less relevant but it’s
hard to say whether the behavior of the
program is right or wrong I mean the
ultimate objective of course is to get
better recommendations but this is a
fuzzy and ever-changing target and so
there’s there’s no real concept of
whether the behavior the whether the
program is behaving correctly in any
absolute sense of the word and this
first problem I hope it’s clear is
deeper than what we can solve through
technology alone because we wish to
apply AI to these ill-defined problems
like human preferences the solutions
inevitably need to be human centric so a
well-designed recommender system would
help both human and AI develop a sense
for what a good recommendation is and a
good recommender system would help both
human and AI come to terms with the idea
that there isn’t any such thing as the
perfect recommendation the second way in
which AI departs from traditional
programming is on how the program is
stored
traditionally programs are stored as
lines of code or sets of rules or as
combinations of simple settings think
again about your alarm clock stored in
its memory whether digital or analog are
two pieces of information the first is
whether the alarm is on or off and the
second is what time the alarm is set for
and these combined to make the following
very simple program if the alarm is on
and the current time matches the stored
alarm time then ring and this program is
run every minute and if something goes
wrong and it doesn’t work you can always
inspect those two pieces of information
was the alarm set what time was it set
for in order to work out what went wrong
in comparison in contrast rather AI
programs
are stored as vast quantities of numbers
which represent statistical parameters
which taken individually have no meaning
but collectively create this rich
behavior that we see in AI systems today
so simply inspecting the settings of the
program doesn’t tell us much it doesn’t
help us understand the program and the
second problem is really where we need
to make some traction you might have
heard of this problem by many names you
know the intelligibility problem the
transparency problem the black box
problem in AI and when people talk about
this you often hear things like oh we
must ensure that AI augments human
capabilities or we must ensure that AI
empowers and augments and amplifies
human abilities or we must ensure there
aren’t any hidden biases in our AI
systems where as much of this discussion
can just be traced back to the fact that
simply inspecting the individual
settings that make up an AI program
don’t tell us much about what this
program does and how it does it then
there are many potential solutions to
this problem one school of thought is
that we should just reduce the
complexity of AI programs by forcing
them to have fewer of these parameters
and this is the root of structural
simplicity which has a drawback because
these simpler programs find it much
harder to reproduce this rich complex
behavior that we want our AI systems to
learn such as navigating a driver
driverless car through all sorts of
different road terrains these simpler
programs just don’t perform as well in
my research I’ve explored an alternative
theory that instead of looking at it as
a structural problem we should be
looking at it as an interaction design
problem that is to say looking at the
individual numbers that make up an
artificial intelligence is the wrong
level of abstraction at which to
interact with them when we went from
command-line interfaces to graphical
user interfaces we used metaphors and
abstraction to help us make sense of
these complex systems when you move a
file on your computer today you don’t
have to type in some obscure command
involved
whether file currently is and we wanted
to go you just drag-and-drop its icon
this wasn’t incidental this interaction
is the hard one result of several years
of careful research into the design of
these systems and I’m arguing that we
should be applying those same design
research principles to the design of AI
systems to make them more accessible
today’s AI systems are actually quite
patronizing to the user think about the
assistant on your phone or the
recommender systems when these systems
come to a decision if you don’t tell you
how they’ve come to that decision on
what data the decision was based how
confident they are in that decision and
so if you’re somehow unsatisfied with
the answer that is to say you found an
error there’s very little support for
you to work out what you should do next
and ultimately any information the
information you’re after is any
information that’s going to help you get
what you want out of the system to
improve its behavior to better specify
its behavior that is any information
that’s going to help you program the
system in fact we know through research
there are specific kinds of information
that help non-expert end users of these
systems interact with understand and
program AI information such as why or
why not
does this system make a certain decision
what input does the system take to make
its decisions what kind of decisions is
it actually capable of what would the
system do in a certain scenario how
confident is the system of its decision
and what controls do I as the user have
to affect the decision making process of
the system and to help it do better and
in my research I’ve proposed that this
information might be generated using
meta intelligences that is to say
smaller peripheral intelligences that
look at the main AI program and report
what they’ve learnt about it in higher
level terms and these high-level terms
might be presented as charts
illustrating the confidence of the
system or perhaps as images in a
stretching what the system sees when it
looks at an image or even as natural
language text but the design of these
higher level
as well as what controls or affordances
the user has to act upon them is really
the key to the design of these AI
systems now I have enough time to tell
you a story about one thing we have
learnt about the design of AI systems
through research I was involved in a
project at Microsoft where we were
trying to build an AI system that looks
at videos of patients with multiple
sclerosis performing standardized
clinical movements and assess the
severity of their illness now multiple
sclerosis is a motor neuron disease and
the worse it gets the harder it is for
patients to perform the standard
movements such as the finger to nose
movement because of things like tremor
and so the system was supposed to look
at videos of patients and produce an
assessment score a severity of illness
score on a scale of 0 to 4 for each of
them with zero being completely normal
and for being so impaired you couldn’t
complete the movement and you can
imagine how useful a system like this
would be because this would allow
patients to be assessed much more
regularly which has enormous
implications for treatment decisions
allows them to make much better
treatment decisions and systems like
this learn by first taking a bunch of
examples that have already been labeled
by expert humans so we needed to create
a learning data set for the system where
we’d already gotten neurologists to
label some videos with their appropriate
a via a severity of illness ratings and
the we went to a neurologist with our
videos and the problem is this is such a
hard concept that even neurologists have
a hard time working out what the ratings
should be so we’d give to neurologists
the same video and they’d only agree
with each other’s scores about 60% of
the time
moreover we’d give the same neurologists
the same video several hours apart and
they’d even disagree with their own
previous ratings so we tried many things
to improve this situation we try to work
with the neurologists to create new
rubrics for how to assess these videos
we tried to select gold standard videos
that would be exemplary of each of the
levels of severe severity so that so
that
neurologists would be able to refer to
something no improvement in consistency
our solution required us to really
rethink our approach to this entire
problem the key observation was that
humans are fundamentally better at
comparing things than they are at
assigning absolute scores to things so
instead of having each neurologists rate
every video separately we asked we gave
them small sets of videos and said
please order these videos according to
the severity of the illness and then we
were able to take these resultant
orderings and extract the zero to four
scale scores from them and these
resulting scores were far more
consistent than anything we’d seen
before well beyond the state-of-the-art
well beyond clinical gold standards it
was a real breakthrough for both AI as
well as neurology now you might have
noticed that this example is even about
the AI system itself it’s about the data
we feed into it but I hope this just
goes to show that there is an entire
story to the design of these systems
that happens before and after these
systems even enter the picture and our
approach to designing these systems
needs to be holistic I mean think about
how often your humans are asked to rate
things all the time you’re asked to rate
movies or on Netflix products on Amazon
your us to like posts on social media as
to rate songs on your music streaming
services and humans don’t deal in
absolutes
we deal in relatives and if asked to
produce absolute scores we can but these
scores are often inconsistent or
meaningless so how would all of these
systems look if instead we were asked to
compare songs to compare videos to
compare films to compare different posts
to summarize we’ve learned that
programming is specifying behavior we’ve
learned that AI is like programming and
where it departs from traditional
programming is where interaction design
can step in to fill the gaps so the next
time you read an article or hear a talk
about how AI is everywhere and we can’t
understand it
you can take comfort in the fact that
the core problem of finding the right
metaphors and the right level of
abstraction is not new to computer
science we’ve done it before with
command-line interfaces and with
graphical user interfaces and with
touchscreen and gestural interfaces and
we can do it again now don’t get me
wrong it is a very hard design problem
but I’m confident that it can be tackled
through the principled application of
our design of our understanding of
design and human psychology and in order
to do this we need more
interdisciplinary researchers there is
people who can bridge the technical
aspects of machine learning with the
social aspects of user research and the
craft aspects of interaction design and
I don’t just mean we should have more
social science critiques of AI we have
plenty of those already in fact these
critiques of a aya are so detached from
the technical realities of AI that
they’re often they’ve they border on
facile and impractical and the converse
is often is also true when AI
researchers respond to human centric
critiques the result is often
reductionist or Universalist assuming
that some complex facet of human
experience can be captured by adding
another parameter into the system now
there are exceptions but the center true
introduced disciplinary expertise is
hard to find so here’s my wish I want
more social science researchers to make
a real effort to learn how to build and
design AI systems I want more AI
researchers to make a real effort to
learn the theories and methods of social
science and design and together I’m
confident that we will build the most
accessible and powerful computer
interfaces yet thank you [Applause]
Please follow and like us: