Everyone’s favorite new
buzzword is ‘machine learning’ (or ‘ML’) but what exactly is ML and
how is it already transforming everyday life and business? We chat
with Microsoft engineers about machine learning and the
significance of Windows ML, a new AI platform for developers
available through the upcoming Windows 10 update. We cover how ML
is changing the field of app development and how developers can get
started with Windows ML. Finally, a Windows Insider gives us a tour
under the hood of his app and discusses how machine learning is
baked into the app’s evolution.

Episode
transcription

JASON HOWARD:
Welcome to the Windows Insider Podcast. I'm your
host, Jason Howard, and you're listening to Episode 14, What's
Up with Machine Learning? In this episode we chat about
ML, its future influence on app development, and the impact of
Microsoft's recent Windows machine learning announcement.
Here in the studios with our first guests is Dona Sarkar

DONA SARKAR:
Hi. I'm Dona Sarkar, Chief Ninja Cat and head of the
Windows Insider Program

I'm here today in the studio with some
special guests from Microsoft to talk all about everyone's favorite
new buzzword, machine learning.

I would love for our guests to introduce themselves.
Clint, would you like to go first?

CLINT RUTKAS: Hi. I'm Clint
Rutkas. I am a Windows developer community champion. So
if you guys have APIs you want in the system, please talk to
me.

DONA SARKAR: Exactly. You'll see
him on Twitter a lot talking about the Windows SDK. So for
all of your Windows SDK needs, tweet @ClintRutkas.

LUCAS BRODZINSKI: Well, we're teaching
the robots how to think. You know, we've added capabilities
to Windows for people to do machine learning inference on the
edge. So we're introducing the intelligent edge to
Windows.

DONA SARKAR: That is really cool.
Thank you for joining us.

LUCAS BRODZINSKI: Thank you for having
me.

CLINT RUTKAS: I actually think it's even more
than that. Think about we're adding machine learning, the
ability for every Windows device, not just desktop, device, to be
able to do machine learning.

So I think the big question is like, what is machine learning
and why do we care?

DONA SARKAR: That's exactly the very
first question I have for both of you, which is let's go all the
way back, back, back. What is machine learning and why is it
different than AI?

LUCAS BRODZINSKI: Cool, totally. So
the way to think about AI and machine learning is machine learning
is a subset of AI. The whole concept of AI is you're trying
to get a computer to act intelligently, kind of like a human
would. So you can get a computer to do a function like a
human would and get a response from the computer as a human
would. Machine learning is a specific technique to try and do
that.

So for instance, if I'm having a conversation with you guys in
real life, like I am right now, you know, I can read your facial
expressions and I can kind of change my approach to the
conversation based on the facial expressions you guys are giving
me.

So that's my intelligence. And we would love to teach
computers to be able to react to human interaction in that
way.

One potential technique to go about doing that is emotion
detection, which there are machine learning models to do.

However, machine learning is this technique towards building out
this larger intelligence, which is AI.

CLINT RUTKAS: So I think the question is,
why would you use machine learning? Let's say for whatever
reason you want to build out a vegetable detector. Let's say
I wanted to detect a carrot versus broccoli versus
cauliflower. So what is a carrot?

So would I do it based on color? So I have an if-statement
that says, okay, well, if it's shaped kind of like a triangle, if
it's orange and it's roughly this long in the photo, that's a
carrot.

Well, there's purple carrots.

DONA SARKAR: Right.

CLINT RUTKAS: So now I have to add in an
additional if-statement there.

And then, okay, well, now, what's the difference between a
carrot and broccoli? That's a bit more easy. But what's
the difference between broccoli and cauliflower? If you ask a
kid that doesn't know, has never seen them, they might go like this
is a baby version of that.

So all those things, once you start having to factor in more and
more and more, that code becomes extremely unwieldy, and then
that's when machine learning comes in, because now you can start
giving -- start training your model, this is exactly what a carrot
is. Here are all the different examples, all the different
images we have of carrots, from different angles, different
viewpoints, different coloring, different variants. Same
thing with broccoli and cauliflower. And then magically now
we can start getting high confidences with that model, and all I
had to do was call a couple lines of code.

LUCAS BRODZINSKI: You hit it really on
the nail there. There are some problems that what we face as
developers, you know, our human intuition can solve that problem
very, very easily and quickly. However, when we sit
down to write code to fix that problem, it gets a little hard.

So, you know, to write the code to detect the difference between
two different types of apples can get pretty challenging.

An example, the cool thinking about machine learning is, like
you said, it creates this model that abstracts that problem away
from the developer, so the developer can feed a model on input, an
image of an apple. The model does a lot of computational work
to figure out the small nuance differences between different
species of apples based on all the training dataset that went into
making that model, and the developer just gets an answer of what
type of apple it is.

DONA SARKAR: So just to cut you both off
for a second rudely, what is "the model?" You guys are
saying, train the model, you know, give the developer the
model. What is that?

CLINT RUTKAS: Okay, so I think maybe a
good thing we should probably talk about machine learning is maybe
how it works and what are the big components. So you have an
engine, the inference engine, you have I'll say the training
system, and then you have the model. The model is actually
what is kind of evaluated. So if you said, is this an apple,
you give the system the model of what is an apple. Is that a
good way to think about it?

LUCAS BRODZINSKI: Yeah, the best way to
think about it is, given this large set of data, you can train on
that data, which basically means you apply a lot of math to it, and
you come up with an algorithm that notices patterns, that can solve
functions. And all of that is contained within this
model. So the model is the thing that describes the data that
you fed it during training.

DONA SARKAR: I see, okay.

CLINT RUTKAS: And then you have the
inference engine, and the reason why it's called an inference
engine is because we're not 100 percent confident. So we're
inferring is this thing an apple. It may be an apple, we may
be 99 percent sure it's an apple, but we're not 100 percent
sure. So it's not a definitive answer, but you have to have a
confidence that, yes, if it's, you know, let's say above 80
percent, we're pretty positive this is an apple.

Speech recognition is a great example of this where you may say,
turn on the lights. It's going to give you a fairly high
confidence rating if the model properly interpreted your natural
language, but it's never 100 percent sure.

DONA SARKAR: That's right.

And do you feel like right now machine learning has already
taking over our lives a little bit, that it's already kind of
infiltrated tools and services that we use on a day-to-day?
Do you feel that that is true? And if so, what are some
examples that normal people will understand?

LUCAS BRODZINSKI: Yeah, totally.
So, you know, the most recent example is if you look at the Windows
photos app, you can actually go into the photos app and type in
what you want to search for. So you can type in "dog" into
the search field, and suddenly, all of your photo albums will be
searched for what the computer thinks is a dog inside the
picture. And as a user, you're presented with all the
pictures that have a dog in it. And that's using machine
learning to do image classification and find specific things and
images, in this case being a dog.

DONA SARKAR: That's pretty awesome.

CLINT RUTKAS: Yeah, think about all the
speech recognition that is in the world now. So if you have
let's say an Amazon Echo Dot or a Harman Kardon Cortana device, if
you talk to it, that's machine learning.

You have machine learning built directly into Windows. If
you search as well, that's all machine learning. If you go to
a search engine, that's machine learning. There's tons of
areas in our lives that we have it, we just don't realize what's
it's called yet.

DONA SARKAR: So we think of it more like
computing rather than machine learning?

CLINT RUTKAS: Yeah. I mean, machine
learning I view it as it's much more of a topic programmers care
about, because it either benefits or hurts us the most when it
comes to programming what we need to program.

As an end user you just want your answer. It's like going
to a restaurant. You don't care how the food is made, as long
as it's made sanitary, but you get the food and you're happy.
You don't care if it's one person making it or 20 people making it,
you just get your yummy food.

DONA SARKAR: Okay. So that phrase,
machine learning, is quite buzzy these days. Everyone thinks
they're working on machine learning or want to work on machine
learning. And I think it was the most used term in job
descriptions last year. That and AI. So why do you
think people, who may not be technical, are so excited about this
phrase? What do you think is the potential like going
forward? We know it's been used a lot, but how can it be used
to transform all these other somewhat old school industries, like
think hotel, transportation, manufacturing, et cetera?

LUCAS BRODZINSKI: Sure. So, you
know, I think we're living in this time where you really have two
massive things coming together to kind of fuel all this. One
of it is data. There's a lot of data out in the world.
And the key thing for machine learning is you need a lot of data to
be able to rationalize over. The other part of it is having
access to a lot of compute. The process of training a machine
learning model can be quite rigorous from a computation
perspective. And we're at a point where these two
technologies as a for instance having the data and having the
compute power have come together.

And when you think about sort of all the cool end user scenarios
that are possible, I mean, wouldn't it be great if we could have
systems that, based on sort of the weather forecast, could predict
what kind of hotel availability may be available in a specific
city? That's just one example of how you can make sense of
all this data that's around us in a way that could benefit a
user.

CLINT RUTKAS: So think outside just the
user, think about how this could benefit humanity. So with
machine learning think about growing crops where you can directly
use machine learning and models to determine is this a good area
for that crop, is something bad happening, should we create
targeted pesticide usage versus just blanketing
everything.

Or disaster recovery potentially. Like there's so many
different areas where you could do things smarter and faster with
machine learning.

Manufacturing is another great example. We showed this at
Windows Developer Day. Imagine you're building out a circuit
board, and for whatever reason something hiccoughs and a single
transistor is skipped. With machine learning you can quickly
look at it and say, oh, this is missing. And it's the same
model then that would detect if a capacitor was missing, for the
most part.

I'm looking at Lukas to verify.

LUCAS BRODZINSKI: Yeah, no, that's
exactly right.

CLINT RUTKAS: You can use that same
thing, and then now rather than have to do a recall of, you know,
100,000 units, you caught it before it even shipped out.

DONA SARKAR: That's right.

LUCAS BRODZINSKI: Yeah, and, you know, to
build on that example, there are cases where in order to make sense
of the data that's available today requires a lot of specialized
expertise in an area.

DONA SARKAR: That's right.

LUCAS BRODZINSKI: And sometimes, that
expertise is not always available. With machine learning what
you can do is offer the computer to make sense of all the data that
a human expert would have accumulated over years, and make some
predictions that, you know, the hope of machine learning is to
create a model that is accurate enough to sort of mimic what a
human would have done in that situation.

And that's the really cool part about it, too, because you're
potentially unlocking a lot of scenarios where we just don't have
enough human experts to do something, and the machine could help in
those cases.

DONA SARKAR: That news article that just
came out, like the farmers in India who are figuring out how to
grow crops more efficiently using machine learning, because they
definitely don't have the computational expertise to look at
petabytes of data on crop growing, so they've been using machine
learning to do that, I thought that was such a cool story.

CLINT RUTKAS: Yeah.

LUCAS BRODZINSKI: Yeah, totally.

DONA SARKAR: That applies in like every
country in the world, agriculture as a thing, so yeah.

Okay, so recently, Microsoft, we made a big announcement about
the next Windows 10 update and machine learning. Do you mind
sharing with our listeners what the announcement was?

CLINT RUTKAS: So in Windows 10 Version
1803, Windows Machine Learning is built in. So that means
every system that is running version 18.03 will have machine
learning built-in. And it smartly takes over. If you're
on a GPU, it will leverage the GPU. If your device only has a
CPU, it will only leverage the CPU.

As a programmer you also have some toggle so you can pick and
choose. This also runs on basically any system -- correct me
if I'm wrong here, Lucas -- that runs 18.03, it will just work.

LUCAS BRODZINSKI: Yeah, and the cool
thing about it is what we've announced that's going to ship in our
next major update is a preview that solves a bunch of problems for
developers.

So historically, when a developer has approached machine
learning problems, there was a couple of barriers of entry that
made the process a little hard. So first, as a developer you
would have to figure out, hey, I have this model file that came
from somewhere. And that somewhere could have been one of a
handful of different training frameworks. And each one of
them had its own sort of file format associated with it.

And the very first task you would have to do as a developer is
to ask, well, given this model, I need the corresponding evaluation
engine that ships with my software to be available to evaluate this
model.

With Windows ML we've taken that pain point away, because every
single version of Windows has Windows ML in it and is able to
evaluate that model.

The other problem was having these handful of different training
frameworks and different formats meant that as a developer you had
this giant format issue of, hey, there's like, you know, six or
plus different formats.

So, Windows ML has the ability to take an Onyx as a model an
input format. Onyx is something that we're working with
industry partners to standardize as the format exchange for ML
models. So as a developer that problem's gone away, too.

CLINT RUTKAS: And we have conversion
tools to get your existing models onto Onyx as well.

DONA SARKAR: Oh, that's nice.

LUCAS BRODZINSKI: Yeah, exactly.
And there's already frameworks that can produce Onyx natively as
well. So Azure machine learning can output Onyx today.
CNTK has a (for in-sys?) to save files as Onyx as well. And
more frameworks will be coming online and the converters are
there.

But thirdly, and you touched upon this point, Clint, as a
developer sometimes I need extra computational horsepower in order
to evaluate a model. I want to be able to use the hardware
that's on my clients' machines. And previously, as a
developer I would have to target hardware specifically and not in
an abstract manner. So I would have to know what hardware
specific GPUs are available on my customer's machines and write
code specific to those GPUs.

With Windows ML we've abstracted that hardware problem, and as
Clint said, we can do model evaluation on any DirectX 12 GPU or the
CPU, and the developer can choose or let Windows decide which one
to use.

DONA SARKAR: That's pretty cool.

CLINT RUTKAS: And what's even cooler is
it's built to be future proof, I guess future proof with
quotes. So we announced this at Windows Developer Days is
that it will also work on an MVPU.

LUCAS BRODZINSKI: Right, so what we want
to do is we recognize there's a bunch of new ML silicon out in the
world that's not exactly a GPU. But we want to be able to
talk about to the silicon in a way where a developer doesn't have
to make this decision about, well, how do I talk to that hardware
specifically.

So at Windows Developer Day we showed an early engagement with
Movidius, which is Intel's vision processing unit, to be able to do
evaluations using this driver model that we're working on in order
to bring these devices into Windows.

CLINT RUTKAS: So imagine in the future
you have a device that has one of these chips. Windows ML
will just leverage what the best item you have available on your
system.

DONA SARKAR: Right, without you having to
do a bunch of extra work and learn this new thing. Okay,
that's cool.

So machine learning technology now in Windows, super exciting,
but what made you guys on the team actually working on it decide to
include it in the 18.03 update?

CLINT RUTKAS: So we've been working on
this for years in various different ways, in various different
subsystems.

So I think the better way to think about it is how long it takes
to actually get a feature into Windows. Windows is
everywhere. It's in servers, it's in desktops, it's in a
plethora of devices. So we've been working on features like
this and many others, and it takes years for it to actually get
here.

So building out all the needed required items took a bit, and
now it's finally in a state where we can ship it externally and
allow developers to start getting their hands on it and really get
their hands dirty, without us literally changing out the plumbing
back and forth.

It's one thing for us inside of Microsoft to have to deal with
some of this stuff, it's a totally another thing when an external
developer has to deal with that kind of sausage making.

So now we feel that it's strong, it's in a shippable state, and
we'd love to get feedback and developers to start using it.

LUCAS BRODZINSKI: Yeah, and on Clint's
point, we've been doing this for a long time. We've had a lot
of investments in our cloud solutions around AI. So Azure
Machine Learning allows you to do machine learning training.
We have Cognitive Services that allow you to use prebuilt AI in the
cloud. And as Clint was saying, we've finally got it to a
point where we were in need of allowing developers to make the edge
intelligent as well and do some of these operations without
necessarily being able to talk to the cloud.

DONA SARKAR: That's right. That is
awesome. It sounds like this introduction to Windows machine
learning is really going to change the game for app developers
going forward.

LUCAS BRODZINSKI: Yeah, totally.

DONA SARKAR: So Windows machine learning
is here, it's in the product by the time this podcast airs, any app
developer can use it. It's in preview, so that's to be
noted. But how do you foresee the field of app development
changing as a result of introducing this technology?

LUCAS BRODZINSKI: Yeah. Well, just
imagine the intelligence that you can introduce to your app if you
had the ability to recognize patterns but not necessarily having to
write all the code to do that.

So for instance, if you could, given a camera input, realize
that, you know, there are these two people standing right in front
of me, they're wearing maybe a red shirt, and I know if they're
wearing a red shirt they're particularly a vendor at an
event. So maybe I want to provide them with some information
about the event. Imagine sort of all the code that you would
have to write if you were going to do that without machine
learning.

So one of the exciting things is developers will be able to take
on these way more rich scenarios in a way that doesn't require them
to write this code. Now, I think that's just going to unlock
like a giant cloud of creativity around how devs approach this
space.

CLINT RUTKAS: And I think that's one
amazing example. The other amazing example to me is it allows
developers to start doing AI computing on the edge. And when
we say on the edge, it's the end developer system. There's
still times where you're going to have to go up to the cloud and
leverage that big horsepower availability in the cloud. But
as a developer you can't do everything in the cloud because of
latency for between calls. Imagine you're dealing with a $30
million device that must have micro-millisecond precision.
I'm not sure if I just made up a term, but I just made up a
term.

DONA SARKAR: That's cool.

LUCAS BRODZINSKI: And that roundtrip for
going up to the cloud and back could be too big of a gap. But
there are also times where, hey, I might have to make a decision,
my model locally is unsure of what's going on. Then I can go
send that query up and leverage that big, rich horsepower of the
cloud and get a much more definitive answer. So you can start
doing cost reductions and everything and just make the most of what
you have available to you as a developer.

DONA SARKAR: That's really cool.

LUCAS BRODZINSKI: Yeah, totally.
I'll totally sum it up as doing intelligence on the edge so machine
learning evaluations on the edge gives you performance, it gives
you scalability, and it also gives you flexibility. I mean,
there's going to be times where you want to be able to do machine
learning evaluations, but you can't send your data to the cloud,
whether it's due to customer preferences, whether it's due to no
connectivity. Having Windows ML allows you to do that on the
edge in those cases where you couldn't do it otherwise.

DONA SARKAR: That is really, really
awesome.

So these are all of the upsides and all the goodness. Are
there any unknowns or challenges that you two can
foresee?

Radio silence on the radio.

CLINT RUTKAS: Okay, so I would say an
interesting thing is it's a new skillset for people to start
thinking about. Some people may think of it as, okay, so I
have this model. This model, I didn't code it, I don't know
what's in it, I don't know how to debug it.

But at the same time, to me as a developer when I step back and
I think about it, I'm okay with that. Because you can start
verifying your inputs and your outputs. You can also to be
sure like, hey, I've done enough unit testing, I trust this
thing.

Also, think about all the APIs you call where you didn't code
that thing. I got this external library from someone. I
didn't code it. I can't directly debug it. But I'm okay
with that.

To me it's the same concept; it's just another skill, it's
another tool in your toolbox to make you a more productive
developer.

LUCAS BRODZINSKI: Yeah, I think for me
where there's a challenge there's an opportunity, and I think one
of the coolest aspects of this is we're going to see two
communities that in the past may not have had the closest
collaboration start getting really, really close together.

And really what I'm talking about there is the data science
community and the developer community.

DONA SARKAR: Ah, yeah.

LUCAS BRODZINSKI: And when you think
about it, you know, historically, the data science community has
made these like massive advancements in machine learning, and a lot
of these advancements were geared at, hey, how do I get better
accuracy out of a model, how do I create a new algorithm to do
something that just wasn't possible before? And those are
great.

From a developer perspective you may have some other concerns
that you have to worry about. So, for instance, you might be
worrying about, well, how do I get an answer within, you know, some
small, little, tiny threshold of time to make my app useful, how do
I do that in a way where, for instance, my install size is not
massive?

And I think you're going to start seeing these two communities
come together and start sort of cross-pollinating needs, wants,
desires, and together being able to train and also operationalize,
you're just going to see the space evolve huge.

DONA SARKAR: That is amazing.

So you guys can be super honest, do I need to call Sarah Connor
on the phone? Are we going to be ruled by machine
overlords?

LUCAS BRODZINSKI: You should always have
Sarah Connor on speed dial.

DONA SARKAR: So guys, for a dev like me
who has written UWPs and Win32s, how can I get started on machine
learning the hell out of my app?

CLINT RUTKAS: So my opinion is go to some
of the galleries with models already ready. This is how easy
it is to start getting coded once you have an Onyx model, which you
can download any model right now, convert it. All you have to
do is take that Onyx file, drag it into Visual Studio, into your
UWP, I believe also Win32.

LUCAS BRODZINSKI: We have Win32 and UWP
APIs.

DONA SARKAR: That's cool.

CLINT RUTKAS: So you drag it in to your
solution, it auto-creates the CS file for you. From there you
get basically your input, your output and your engine. And
basically, you load your model and you call evaluate and you parse
your results. It's basically three lines of code, really.

LUCAS BRODZINSKI: Yeah, totally.

CLINT RUTKAS: I made it sound really
simple.

LUCAS BRODZINSKI: No, but you know what, it
actually is that simple. The great thing is with the (for
in-sys?) that we added to Visual Studio, as a developer if you have
this Onyx file, you don't have to worry about what's inside of
it. We've done our best to expose sort of all the
nitty-gritty in a way where you're kind of just plumbing your data
types from your apps to data types that the model expects.

My way of getting started actually uses some of our other tech
that we have in the cloud today. The easiest thing to
remember is there's three steps to starting Windows ML. You
have to load a model. So that means you have to have a
model. You take some inputs from your application, you bind
it to Windows ML. And then you call evaluate.

So how do you get that model? My favorite way of getting a
model is using customvision.ai, which is a service that Microsoft
offers to allow you to classify a bunch of images with labels and
create a model that basically allows you to feed new images and
detect whatever labels you added to the images in the training
set.

Once you have that model, you bind your application data,
whether, you know, it's a picture that you loaded or something from
the camera, and you call evaluate.

If I wanted to make an app that, going back to the apple
example, detects different types of fruit, I could feed a bunch of
images of various types of fruit, each labeled with what fruit is
in the image, into customvision.ai, and it will go off and do all
the training for me, and just give me a model file that I can then
go use in my application.

DONA SARKAR: That is cool. So say
your family, you can take pictures of all of them, label who they
are, and then build like some sort of family tree thing.

LUCAS BRODZINSKI: Exactly.

DONA SARKAR: That's really, really
awesome.

CLINT RUTKAS: In all fairness, it's more
than a couple photos.

LUCAS BRODZINSKI: Family reunions will
never be the same.

DONA SARKAR: Yeah, all of them.

CLINT RUTKAS: I'm going to need to take a
photo of every angle from you. That'd be great, yeah.

DONA SARKAR: Ah, okay, there you go.

Well, you guys, it's Friday night and I know what I'm going to
do. I'm going to go home and ML the hell out of my UWP is
what I'm going to do.

LUCAS BRODZINSKI: Awesome. Love to
hear it.

DONA SARKAR: Because we are cool like
that.

LUCAS BRODZINSKI: That is the way to
spend a Friday evening.

CLINT RUTKAS: I know.

DONA SARKAR: Clint and Lucas, thank you
so much for being here and talking to Windows Insiders about
ML.

Many of them are coming to Build. They're going to be
insanely excited about this.

CLINT RUTKAS: I cannot wait for
Build.

DONA SARKAR: I am very excited for
Build.

And I'm going to go and actually try to ML some stuff. And
when I get stuck, I know who to call.

Thank you so much for being here.

LUCAS BRODZINSKI: Thanks for having
us.

DONA SARKAR: Have a wonderful day.

CLINT RUTKAS: Thank you.

DONA SARKAR: Bye.

JASON HOWARD: As our previous guests have
mentioned, machine learning is a pathway to achieving artificial
intelligence or machines that can make decisions like humans, only
faster and more efficiently.

Machine learning is built into the AI of so many everyday
tools. For example, Cortana can chat with you about your
favorite sports team, because its chitchat function is continually
learning from users how to talk about a variety of topics.

How are developers from around the world tapping into the power
of machine learning and AI? Up next, we take a tour under the
hood of an AI bot built by a Windows Insider from Kenya.

Irving Amukasa was awarded an Insider's for Good fellowship from
Microsoft for his innovative work with an artificial intelligence
app.

JASON HOWARD: So I'm going to ask you a
tough one, because doing live demos is always a tricky
proposition. Is it possible to open SophieBot and ask her a
question so we can hear her?

IRVING AMUKASA: I hope the sound is
good. Let's see if she can talk well.

SOPHIEBOT: Hi there. I'm Sophie.
What would you like to know?

IRVING AMUKASA: What is sexual
health?

SOPHIEBOT: Good health is considered to
be a state of complete physical, mental, and social wellbeing, and
not merely the absence of diseases or infirmity. The
principles of sexual health are the same. Physical wellbeing
means good health and hygiene for your genitals and related
systems. Mental wellbeing means feeling okay about your
sexual desires and needs and not guilty or depressed about
them. Social wellbeing means not facing social discrimination
because of your sexual desires and needs or because of any problem
that may result from unsafe sex. The combination of all these
factors makes for a sexually healthy you.

IRVING AMUKASA: You have the option to
turn off that sound. Before, it is text, no sound.

JASON HOWARD: It sounded like she gave a
very thorough answer.

IRVING AMUKASA: Yes.

JASON HOWARD: So let me ask you, what
were the existing challenges that prompted you to design
SophieBot?

IRVING AMUKASA: Yes, first thing first is
this side of the world, it's awkward and hard to talk about sexual
health openly. To even ask a question is even close to
taboo. And sexual health workers and centers aren't as
friendly. That was problem one. Problem two is the lack
of verifiable information out there. So those two main
problems helped us design SophieBot.

JASON HOWARD: So part of it was the
stigma of actually asking those questions, but the other half of it
is making sure that the answers you're getting are true and correct
and will actually, you know, guide you in the right direction.

IRVING AMUKASA: Yes, that's it.

JASON HOWARD: Here at Microsoft we've
found that a significant portion of user interactions with Cortana
are actually like a social response or a silly joke type
question. Which is super interesting because it shows users
the human side of AI as a whole.

In your view, why is being able to interact with a humanlike bot
appealing rather than using a digital encyclopedia or just a basic
search engine?

IRVING AMUKASA: On SophieBot not everyone
asks us about sexual health. Our most popular question we
learned was people want to see Sophie's face. So we also get
those questions that are socially type. So it's inherent in
our nature to ask a question, send out a message, and get feedback
and build on top of that. You can't do that with a blog, you
can't do that with any other media, that directly instantly sending
out a message and getting actual feedback. That element of
communication is ingrained in us, and that's why messaging bots are
big. And messaging apps are popular because they know that
one little secret.

JASON HOWARD: So real quick for our
listeners I want to talk a little bit about the difference between
AI and machine learning.

IRVING AMUKASA: Yes.

JASON HOWARD: As you know, in this
episode we're talking about machine learning. And as some of
the other guests have discussed, the terms machine learning and AI,
while they're used interchangeably sometimes, they're actually very
different things. Machine learning is a particular method of
achieving AI, which is of course allowing machines to have access
to tons of data using algorithms and learning how to perform tasks
rather than, you know, a developer hand-coding everything line by
line.

Can you talk some about how SophieBot uses machine learning to
become better?

IRVING AMUKASA: So let me go back to AI
in general. SophieBot started off with like old technology
that you had to provide everything. Now we just call the
Artificial Intelligence Markup Language. It falls under
something called rule-based AI. But that wasn't enough to
provide answers to our users, so we had to move up on the learning
curve.

Machine learning comes in two ways on SophieBot. First is
us getting insights of the question they're asking. We don't
know who you are but we keep track of the questions you ask and the
answers we provide for you. So when users ask questions, it's
insightful for us to know which topics are more prevalent and which
is the most popular question.

So point one is us finding out which is the most popular
question. We don't do a tally of each question, because
people have asked similar questions but then in different
ways. You can't do a tally and manually count. People
have asked about STIs or people have asked about HIV and AIDS.

What we do instead is use a machine learning model that looks at
the words in every single question, looks at the frequency of those
words, and how much they weigh on each single question they've
asked, so we can have a popularity graph of the most popular
question and the most least popular question.

So that's how we use machine learning specifically on
SophieBot. It isn't on answering questions, it's on getting
insights on the questions already been asked.

JASON HOWARD: Yeah, so you're
highlighting key words from what people say to make sure that, you
know, even if somebody does ask it differently, that you know how
to respond appropriately. But then because people are very
different in how they address topics, they may not use the right
words to get the answer they're actually looking for. So it
sounds like you're going to use some of the machine learning to
figure out what they're trying to ask, even if they're not asking
the question the right way.

IRVING AMUKASA: Yes. Also including
typos. If somebody doesn't know how to spell chlamydia or
gonorrhea, machine learning points them in the right direction.

JASON HOWARD: So not only are you giving
them the right answer, but you're helping take some of the human
error out of it as well?

IRVING AMUKASA: Yes.

JASON HOWARD: That's brilliant.

See, that's one of the fun things about this whole concept of
machine learning and AI in general. It's like even if we
don't get it quite right, and we as humans are the ones that set up
the constructs that we're working in, we can still use this
cloud-based learning and machine learning and the whole concept of
AI to correct ourselves to make sure we're going in the right
direction still.

IRVING AMUKASA: Yes.

JASON HOWARD: So as machine learning
becomes more and more sophisticated in the future, what's your
vision for the next evolution of SophieBot?

IRVING AMUKASA: Interesting. So the
next evolution of SophieBot is an end-to-end system that can take
any dataset of questions and answers and be able to automate
them. That's the next evolution of SophieBot. So rather
than us elaborately designing full process flows or designing
questions and answers, we go to someone who already has a huge
dataset of questions and answers.

JASON HOWARD: So are you trying to take
her further than answering questions about sexual health? Are
you trying to expand her beyond that? Or are you trying to
make her more adept and capable in the space that she's functioning
in currently?

IRVING AMUKASA: We're doing both.
In essence like that's our business model. We don't make
money from you coming to us to ask questions. That's we fund
it to do that by the native nation population.

But we are a business, we are going to make SophieBot
sustainable. And the goal for that is to build that model and
be able to monetize that end-to-end model in other domains rather
than just sexual health.

JASON HOWARD: That's awesome.

Well, Irving, I've got to say, thank you so much for taking the
time to be here with us today.

IRVING AMUKASA: No, thanks a lot, and
thanks for having me and have a nice day.

JASON HOWARD: Cheers, man.

IRVING AMUKASA: Bless you.

JASON HOWARD: That's a wrap for Episode
14.

Get the Windows Insider Podcast automatically every
month by subscribing on your favorite podcast app. You can
also find all of our past episodes on the Windows Insider
website.

Thanks for listening and until next time, Insiders.

NARRATION: The Windows Insider Podcast is
produced by Microsoft Production Studios and the Windows Insider
team, which includes Tyler Ahn -- that's me -- Michelle Paison,
Ande Harwood, and Kristie Wang.

Visit us on the Web at insider.windows.com. Follow
@windowsinsider on Instagram and Twitter.

Support for the Windows Insider Podcast comes from Microsoft,
empowering every person and every organization on the planet to
achieve more.

Please subscribe, rate, and review this podcast wherever you get
your podcasts.

Moral support and inspiration come from Ninja Cat, reminding us
to have fun and pursue our passions.