Act, Confirm, or Stop? Smarter behavior for AI assistants, wearables & robots — Amit Desai, Roku
AAI Engineer
컴퓨터/소프트웨어가전제품/카메라
스크립트
00:00:00.
00:00:12Hi, everyone.
00:00:13How's it going?
00:00:15Hey, Patricia, how are you?
00:00:17So last presentation of the day, so let's make it count.
00:00:23All right.
00:00:24Let me start with a little bit of background on myself.
00:00:28And my background, I'm a voice subject matter expert.
00:00:34I've been working in voice AI for a long time
00:00:37across different surfaces, devices, and both at Alexa,
00:00:44at Roku, at my own startups, in the App Store.
00:00:48And my perspective is a little different
00:00:52from a lot of other voice AI practitioners.
00:00:56I think it's a combination of a deep voice user interface
00:01:03expertise and intuition mixed in with new technical approaches
00:01:09that I think can produce really magical experiences.
00:01:12So I think it's both sides.
00:01:13And I think that's especially true in this new area that we're in,
00:01:17with frontier tech, where the human interface is basically
00:01:21being redefined.
00:01:22So let me start with, I'll just blast through the first couple
00:01:27of slides, then get to the premise.
00:01:29I think everybody knows that voice has incredible potential.
00:01:32There's the power of voice.
00:01:34I think across everywhere, it's the most natural interface.
00:01:37Humans love talking.
00:01:39And the problem is, the other half is the pain of voice.
00:01:43So it's the power and the pain.
00:01:45Voice is error prone.
00:01:46And I think those errors are going to continue for a while.
00:01:52And I think the cost or consequence of those errors
00:01:56is going to grow, especially as we go from informational AI
00:02:00bots to embodied AI, where rather than just giving answers
00:02:04that might be erroneous, we're going to have AI systems take
00:02:09physical actions or digital actions where, you know,
00:02:13if the robot throws your watch out with the trash,
00:02:17it's a lot worse than playing the wrong song.
00:02:19So I do think that a new approach is definitely needed.
00:02:25And here's the TLDR of the premise
00:02:27we're going to walk through today.
00:02:29There are two ways to improve customer or user satisfaction
00:02:34of a voice AI assistant.
00:02:37And that is by increasing accuracy, which people know about.
00:02:40I mean, technically, accuracy.
00:02:43And the other is a different knob that we have
00:02:46that we are not using adequately.
00:02:48And I'll call that a system decision, which we will define,
00:02:53which is orthogonal, which is different from accuracy.
00:02:57And I believe this approach, which I have used
00:03:01in several different environments and seen some success,
00:03:05I think is a promising area that we should consider developing.
00:03:10Let me walk through this with a simple, smart speaker example.
00:03:16And we'll go step by step with this approach.
00:03:19But it is a scalable approach that I think
00:03:22can apply across different surfaces and devices.
00:03:25So let's get started.
00:03:27So suppose we all are making a smart speaker, coincidentally,
00:03:32called Alexa.
00:03:34And Alexa is very simple.
00:03:37It just allows you to ask for music, and it'll play a song.
00:03:41And of course, it will play either the song you wanted
00:03:45or a different song.
00:03:46So it'll either be right or it'll be wrong.
00:03:48This isn't that different from what you've seen out there.
00:03:53Now, let's first talk about accuracy.
00:03:55Accuracy, let's say we define it as we take 1,000 spoken requests.
00:04:00We observe the input and the output.
00:04:02We label it.
00:04:03And we look at this.
00:04:05This is the map of 1,000 points.
00:04:07And 79% of the time, 790 dots here,
00:04:12were actually the correct song.
00:04:13So this is, let's say, human annotated, 21% wrong song.
00:04:19So that's the accuracy.
00:04:21Now, like I said, knob 1 is to spend a lot of time
00:04:25working on improving the accuracy percentage
00:04:30point by percentage point at any layer in the stack.
00:04:33If it's a cascaded system, there's perhaps a wake word layer,
00:04:38and a speech ASR layer, and an NLU layer, which
00:04:41might have intent classification, entity extraction,
00:04:45a lot of different layers, VAD, et cetera.
00:04:46And any of those can contribute to errors.
00:04:48So we spent time.
00:04:50We might be able to reduce that 210 to a smaller number.
00:04:53That is, I think, a known area that we're tackling.
00:04:57But I think knob 2, which is what I was talking about,
00:05:01is what we'll go through here, which
00:05:02is keeping the accuracy exactly the same, so 79%.
00:05:07What could we do in conditions of uncertainty
00:05:11to improve user satisfaction?
00:05:13And I think we can do a lot.
00:05:15So let's start first with the original system is just acting.
00:05:19Like I said, user says something, system plays a song.
00:05:21It's either the right song or the wrong song.
00:05:24Immediately, I think just common sense
00:05:26tells us that we could introduce at least one system
00:05:29behavior to stop, or rather to reject the hypothesis
00:05:32and do nothing.
00:05:33So there is now one more option to decide.
00:05:37The system may decide and say, sorry, I didn't get that,
00:05:40or sorry, could you repeat that?
00:05:42The challenge, of course, is how, when
00:05:46do we decide to stop?
00:05:48And I mean quantitatively.
00:05:51Here's one approach to kind of visualizing this.
00:05:54Because if we don't, we'll just take probably
00:05:56some swag, like some guesstimate.
00:05:58And I'll prove that if we just took a guesstimate,
00:06:01we would end up with a worse situation
00:06:03than a more rigorous approach.
00:06:04So let's just assume I took those 1,000 data points.
00:06:08And like I said, they've been annotated.
00:06:10And we assign a confidence score, a single confidence score,
00:06:14to the hypothesis that was generated by the system,
00:06:18between 0 and 1.
00:06:19And let's say it's reasonably calibrated.
00:06:20This is a simplification.
00:06:22If it's a cascaded system, there are multiple layers
00:06:24and multiple confidence scores.
00:06:26But let's just assume that for now.
00:06:27Whoops.
00:06:28So we're going to have 790 points that are correct, 210 wrong.
00:06:33Each one has a confidence score.
00:06:35And we're going to plot it, plot the distributions.
00:06:39On the x-axis, I've just converted from 0 to 1 to percentages.
00:06:43And the question is, how do we choose a threshold T,
00:06:48such that whatever that percentage is, to the left of it,
00:06:52meaning if when the system forms a hypothesis,
00:06:57if the confidence score C is less than that T,
00:07:00stop and say sorry.
00:07:02Otherwise, play.
00:07:03The question is, how do we choose a T?
00:07:05So far, everything I'm saying is fairly commonsensical.
00:07:08But this is where intuition will fail us.
00:07:12We might say something like, OK, I don't know.
00:07:14Let's do 65%.
00:07:16It seems, you know, gut feeling like, OK, it's kind of confident.
00:07:19That's probably when we should speak.
00:07:22Now, here's where we start coming out with some sophistication.
00:07:26Any T we choose is producing bad outcomes.
00:07:30Bad in two fields.
00:07:32One is, obviously, on the left side,
00:07:35any time you stop, it's bad.
00:07:37The user doesn't want it to stop.
00:07:39They want to hear their song.
00:07:41The other bad is, if you do play a wrong song,
00:07:45of course that's bad as well.
00:07:47So these are two kinds of bad outcomes.
00:07:50But here is the important part.
00:07:52Now I've elaborated on the tree diagram.
00:07:56On the right-hand side, the bad outcomes are not equally bad.
00:08:01They're not the same thing from a user perspective.
00:08:03And obviously, let's think about it.
00:08:06If the wrong song plays, you said, play Kiss.
00:08:10And it starts playing Kiss Kiss by Chris Brown instead of the one
00:08:15by Prince, that's going to be the highest user cost.
00:08:20Let me define user cost from the user's perspective.
00:08:23First, I have to hear music and realize that is not Prince.
00:08:27Then I have to shout over my Alexa and get it to stop.
00:08:32And then I have to re-request.
00:08:33All of that is a lot of effort.
00:08:35That is definitely a worse outcome than the system stopping and saying,
00:08:40sorry, I didn't understand that.
00:08:42However, we should go further and try
00:08:44to quantify that relative badness.
00:08:47And there are many ways to do it.
00:08:48And I think this is an area to be explored.
00:08:50For now, let's just consider this a heuristic of if that outcome
00:08:55happens, how many more seconds, additional seconds,
00:08:58will it take for the user to get back to success,
00:09:01which is to play the song they wanted, Kiss by Prince.
00:09:04And I just put down some numbers here.
00:09:07Let's say, in the case of a bad song, it's 10 seconds
00:09:10if you add up all the things I got to do.
00:09:11And if it's a I didn't understand you,
00:09:14it's four seconds, because that's how long it would take you
00:09:16to re-speak and the extra latency.
00:09:19And now, here's where we can start utilizing that.
00:09:23If we go back to our distribution curve,
00:09:26and we're trying to find out where is T,
00:09:29now we have basically turned this into a problem
00:09:33of minimizing a cost function.
00:09:34It's a user cost function.
00:09:36It is the number of bad acts, whatever the T causes,
00:09:39times 10, because that was a unit cost we gave,
00:09:42plus the number of stops times four,
00:09:44because that's the unit cost we gave.
00:09:48By the way, one thing I should have elaborated,
00:09:51because I work in voice, and we like language,
00:09:53and we like puns, so this whole thing
00:09:55is called an outcome user cost heuristic.
00:09:59So that spells the word ouch, and that
00:10:01is some expression of pain.
00:10:03Yes, we are language nerds, so these kinds of things amuse us.
00:10:08And so now let's consider that the cost function is to minimize the ouch.
00:10:12And now that let's see if I'm going to bring up a tool.
00:10:17Let's see if this works.
00:10:19Where I have actually gotten, or with one of my coding assistants,
00:10:24gotten an interactive graph where we have actually plotted those thousand points.
00:10:32And as we vary the threshold T, you can see that the total user cost here,
00:10:41which is that function of x times y plus a times b, actually changes.
00:10:46So let's, in the very beginning when we said the system was just playing,
00:10:51the cost across those thousand points was 2,100,
00:10:56or divided by a thousand is 2.1 ouch points per turn.
00:11:01Then we said, OK, let's insert a stop behavior,
00:11:04and let's like wing it and say 65%.
00:11:07That's when I want the threshold.
00:11:09If we brought this up to 65, yeah, that's better.
00:11:12Now it's 1904, or 1.9 per turn.
00:11:16But it's not optimal.
00:11:17As it turns out, if we do actually ask for AI to solve the problem across this curve,
00:11:25it turns out 43%, so I'll drag it now to 43%,
00:11:30is in fact the optimal point of T.
00:11:38This minimizes the cost function.
00:11:40You can see it's the lowest point on this graph down here to 1.27.
00:11:45So effectively, we haven't changed the accuracy at all.
00:11:49The system is not any smarter in that sense.
00:11:51But with some clever system behavior, conversational behavior is what we'd call it,
00:11:56and some optimization, and a cost function called ouch.
00:12:00We have, from the user's perspective, produced a more satisfactory assistant.
00:12:06And this is not a trivial accomplishment.
00:12:09Okay, now let me go back to this.
00:12:11Let me see if I can get this.
00:12:14Oh, great.
00:12:15Okay.
00:12:16Let's continue this.
00:12:18Let's continue this by now adding one more behavior.
00:12:22Let's call it the confirm behavior.
00:12:23So there was play, obviously then stop, confirm.
00:12:26Confirm is basically the system after you said something, saying kiss, play kiss by Prince,
00:12:33or maybe play kiss kiss by Chris Brown.
00:12:36And, you know, the user can either confirm, like affirm it, or they can correct it.
00:12:41It is a different kind of behavior, and, again, this is kind of how humans behave.
00:12:45That's obviously the inspiration.
00:12:47Now, if we go back to our problem of optimization, we have a third, obviously, option, which is
00:12:56to confirm.
00:12:57So this would translate to two thresholds, two thresholds, which are separating the distribution
00:13:05into three spaces of stop, confirm, and act.
00:13:11And the question is, now, where are these T's?
00:13:14And we have now given up on guesstimating because we know it doesn't work.
00:13:18So we're going to be a lot smarter and go back to the concept of user outcome cost and
00:13:25then, you know, go look for some optimization in that graph.
00:13:29So let's define what are all the possible bad outcomes that T1 and T2 make for.
00:13:37So good, you can see my cursor.
00:13:39So of course, any stops are still bad.
00:13:43Then in the middle are confirmations.
00:13:46Confirmations are bad because they slow the user down.
00:13:49There's a confirmation outcome called confirm yes, where they just affirmed it by saying yeah.
00:13:55Or know where they had to correct it.
00:13:57And going back to our formula, these outcomes are not equally bad.
00:14:03And in fact, nobody will, I think, argue here from a user's perspective.
00:14:08Affirming, just saying yes, is obviously less painful than saying no and then having to restate
00:14:14whatever it is that you wanted in the first place.
00:14:16So now I've assigned values of two or six.
00:14:19And again, I said it was a heuristic.
00:14:21This would be roughly the amount of time it would take for the extra for the user to get
00:14:25to the song they want.
00:14:26Saying listening and then saying yes is like two seconds.
00:14:29And then now we restate the cost function for this added behavior as this number of bad type
00:14:42one times unit cost, bad type plus bad type two times unit cost, et cetera.
00:14:46And now we try to minimize this user cost function and minimize the ouch.
00:14:52Yes, I'm going to keep doing that pun.
00:14:57Let's go back.
00:14:58So this is now the interactive graph.
00:15:01But with the cost values, the unit cost here, 10, 2, 6, 4.
00:15:10And we're just going to ask the AI to tell us.
00:15:14Here's the heat map because it's now two dimensions, saying that the optimal values
00:15:19are 41 for the T1 and 49 for the T2.
00:15:26And if we employed that, then we would go to 1, 4, 6, 4.
00:15:31By the way, whatever numbers I put in here, like let's say I thought wrong act was 20.
00:15:37It's really irritating and painful and takes way longer to actually correct it when you hear
00:15:42a wrong song.
00:15:44That would change all these numbers and the optimal point.
00:15:48So again, it is about what is the relative badness of these outcomes.
00:15:51Also, of course, the distribution curves, naturally.
00:15:55Let's go back here.
00:15:57Okay, so I'm going to speed up a little bit.
00:16:05Let's go back here, presentation mode.
00:16:09Okay, so what have we shown?
00:16:12That if we did the super naive approach, it's 2.1.
00:16:17Act and stop, 1.9, then 1.27, then 1.26.
00:16:22We are able to bring this with every added layer of sophistication, adding more behaviors, being
00:16:27smart about user cost and optimizing.
00:16:32We have made a tremendous difference without changing the accuracy at all.
00:16:37This was a super-simplified example.
00:16:39In real systems, you're not going to have, obviously, some offline decision threshold or two.
00:16:45It's going to be a real-time, you know, learned decision model.
00:16:48But the principle is the same.
00:16:50And I believe this is scalable across all voice AI surfaces.
00:16:55Obviously this is a smart speaker.
00:16:58But if we go across any of these surfaces, you will find the equivalence.
00:17:06We will find the analogies with some differences, but the spirit and the, I think, the gain will
00:17:13be similar.
00:17:14So just, for example, in the TV AI assistant space, if you employ it here, you're going to
00:17:22have the same thing.
00:17:23When users express intents, like on TV, it's, you know, open a channel.
00:17:27That's one of the most common, obviously, requests on a TV voice assistant.
00:17:32Same thing, you're going to find you'll have exactly the same approach.
00:17:36But the difference will be maybe in the assignments of the user outcomes because the UI and the modalities
00:17:44are different.
00:17:45When you have a TV, you have a multimodal interface where choices can be shown.
00:17:50So instead of, you know, asking, did you mean ABC, you know, news live by speech, that you
00:17:58will, the system would display choices and not just one and show ABC News live this, that
00:18:03would be the confirmed step.
00:18:04And if it's visual and you can use your remote control to select something, it's less pain.
00:18:10So you would change some of these values.
00:18:12Or if, in fact, launching the channel would kick you out of your current state, then it
00:18:18would go in the other direction and the cost of, you know, a bad act would go much higher.
00:18:23So it's the same concept, but in this new modalities, variables can change, values can change, arguments
00:18:31can change.
00:18:32But the premise still holds and you can improve from the user's perspective, because we're all
00:18:37about, you know, making humans happy.
00:18:40You can make them happier.
00:18:42And this, as I said in conclusion, can be applied across all surfaces.
00:18:49I did say at the very beginning, just to recap for us, that voice is great when it works, bad
00:18:55when it doesn't.
00:18:57And as we get into embodied AI, where these AI assistants are taking actions, physical or
00:19:03even digital, like making a phone call or sending an email, it is getting more and more difficult
00:19:10just to rely on accuracy to improve user satisfaction.
00:19:14I believe there's a whole knob, the second knob, called smarter conversational behavior under
00:19:19uncertainty.
00:19:22And if we actually exploit that, we can very much help these AI systems reach acceptable
00:19:32user experience.
00:19:34Otherwise, I think this will continue to be a bottleneck.
00:19:37Like a lot of things will get better.
00:19:39But if the voice interface as experienced by a user does not improve, it is going to be
00:19:45a choke point.
00:19:47And if you just remember one word or two words from this whole presentation, it would be to
00:19:56minimize the ouch of the experience.
00:20:00So thank you.
00:20:01I'll stick around for questions if you guys got any.
00:20:04Thanks a lot.
00:20:15Bye.
00:20:16Bye.
00:20:16Bye.
커뮤니티 글
아직 글이 없습니다. 이 영상에 대한 첫 번째 글을 작성해 보세요!
이 영상에 대해 글쓰기