字幕表 動画を再生する
SPEAKER: This is CS50.
[MUSIC PLAYING]
DAVID MALAN: Hello world.
This is the CS50 podcast.
My name is David Malan.
And I'm here with CS50's own Colton, no Brian Yu.
BRIAN YU: Hi everyone.
DAVID MALAN: So Colton could no longer be here today.
He's headed out west.
But I'm so thrilled that CS50's own Brian Yu's, indeed,
now with us for our discussion today of machine learning.
This was the most asked about topic in a recent Facebook
poll that CS50 conducted.
So let's dive right in.
Machine learning is certainly all over the place these days in terms
of the media and so forth.
But I'm not sure I've really wrapped my own mind around what
machine learning is and what its relationship to artificial intelligence
is.
Brian, our resident expert, would you mind bring me and everyone up to speed?
BRIAN YU: Yeah, of course.
Machine learning is sometimes a difficult topic
to really wrap your head around, because it
comes in so many different forms and different shapes.
But, in general, when I think about machine learning, the way
I think about it is how a computer is performing a task.
And usually when we're programming a computer to be able to do a task,
we're giving it very explicit instructions-- do this.
And if this is true, then do that or do this some number
of times using a for loop, for example.
But in machine learning, what we do is, instead of giving the computer
explicit instructions for how to do something,
we, instead, give the computer instructions for how
to learn to do something on its own.
So instead of giving it instructions for how to perform a task,
we're teaching computer how to learn for itself
and how to figure out how to perform some kind of task on it.
DAVID MALAN: And I do feel like I hear about machine learning
and AI, artificial intelligence, almost always in the same breath.
But is there a distinction between the two?
BRIAN YU: Yeah, there is.
So artificial intelligence or AI is usually a little bit broader.
It used to describe any situation where a computer is acting rationally
or intelligently.
Machine learning is a way of getting computers
to act rationally or intelligently by learning from patterns
and learning from data and being able to learn from experiences.
But there are certainly forms of AI of being able to act intelligently
that don't require the computer to actually be able to learn, for example.
DAVID MALAN: OK.
And I feel like I've certainly heard about artificial intelligence, AI,
especially for at least 20 years, if not 30 or 40, especially in the movies
or anytime there's some sort of robotic device.
Like, artificial intelligence has certainly been with us for some time.
But I feel like there's quite the buzz around machine
learning, specifically these days.
So what is it that has changed in recent months, recent years that
put this at the top of this poll, even among CS50's own students?
BRIAN YU: Yeah, so a couple of things have changed, certainly.
One has definitely been just an increase in the amount of data
that we have access to-- the big companies that have a lot of data
from people on the internet that are using devices and going on websites,
for instance.
There's a lot of data that companies have access to.
And as we talk about machine learning, you'll
soon see that a lot of the way that these machine learning algorithms work
is that they depend upon having a lot of data
from which to draw understanding from and to try and analyze
in order to make predictions or draw conclusions, for example.
DAVID MALAN: So, then, is it fair to say,
because I have more familiarity myself with networking and hardware
and so forth that because we just have so much more disk space available to us
now and such higher CPU rates at which machines can operate that that's partly
what's driven this that we now have the computational abilities
to answer these questions?
BRIAN YU: Yeah, absolutely.
I would say that's a big contributing factor.
DAVID MALAN: So if we go down that road, like,
at what point are the algorithms really getting fundamentally
smarter or better, as opposed to the computers just getting so darn
fast that they can just think so many steps ahead
and just come up with a compelling answer to some current problem quicker
than, say, a human?
BRIAN YU: Yeah, it's a good question.
And the algorithms that we have right now tend to be pretty good.
But there's a lot of research that's happening
in machine learning right now about like,
trying to make these algorithms better.
Right now, they're pretty accurate.
Can we make them even more accurate, given the same amount of data?
Or even given less data-- can we make our algorithms
able to be able to perform tasks effectively just as effectively?
DAVID MALAN: OK, all right.
Well, so I feel like the type of AI or machine
learning that I grew up with or knew about or heard about
was always related to, like, games.
Like, chess was a big one.
I knew Google made a big splash with Go some years ago-- the game,
not the language-- and then video games more generally.
Like, if you ever wanted to play back in the '80s against the "CPU,"
quote, unquote, I'm pretty sure it was mostly just random at the time.
But there's certainly been some games that
are ever more sophisticated where it's actually
really hard to beat the computer or really easy to beat the computer,
depending on the settings you choose.
So how are those kinds of games implemented when
there's a computer playing the human?
BRIAN YU: Yeah, so this an area, a very development
in the last couple of decades that 30 years ago was unimaginable probably
that a computer could beat a human at chess, for example.
But now, the best computers can easily beat the best humans.
No question about it.
And one of the ways that you do this is via form of machine learning known
as reinforcement learning.
And the idea of this is just letting a computer learn from experience.
So if you want to train a computer to be good at chess,
you could try and give it instructions about you
thinking of strategies yourself as the human and telling the computer.
But then the computer can only ever be as good as you are.
But in reinforcement learning, what we do is,
you let the computer play a bunch of chess games.
And when the computer loses, it's able to learn from that experience,
figure out what to do and then in the future, know to do less of that.
And if the computer wins, then whatever it did to get to that position,
it can do more of that.
And so you imagine just having a computer play millions
and millions and millions of games.
And eventually, it starts to build up this intelligence, so to speak,
of knowing what worked and what didn't work.
And so in the future of being able to get better and a better
at playing this game.
DAVID MALAN: So is this all that different from even the human
and the animal world where, like, if humans
have tried to domesticate animals or pets where you sort of reinforce
good behavior positively and negatively reinforce, like, bad behavior?
I mean, is that essentially what we're doing with our computers?
BRIAN YU: Yeah, it's inspired by the same idea.
And when a computer does something right or does something in the works,
you give the computer a reward, so to speak, is what people actually call it.
And then there's the penalty if the computer isn't able to perform as well.
And so you just train the computer algorithm to maximize that reward,
whether that reward is the result of like winning a game of chess or a robot
being able to move a certain number of paces.
And the result is that with enough training,
you end up with a computer that can actually perform the task.
DAVID MALAN: Fascinating.
So I feel like another buzzword these days is, like,
smart city where somehow, cities are using computer science
and using software more sophisticatedly.
And I gather that you can even use this kind of reinforcement
learning for, like, traffic lights, even in our human world?
BRIAN YU: Yeah.
So traffic lights traditionally are just controlled by a timer
that after a certain number of seconds, the traffic light switches.
But recently, there's been growth in, like, AI-controlled traffic lights
where you have traffic lights that are connected to radar and cameras.
And that can actually see, like, when the cars
are approaching in different places--
what times of day they tend to approach.
And so you can begin to, like, train an AI traffic
light to be able to predict, all right, when should I
be switching lights and maybe even having traffic lights coordinated
across multiple intersections across the city to try
and figure out what's the best way to flip the lights in order
to make sure that people are able to get through those intersections quickly.
DAVID MALAN: So that's pretty compelling,
because I'm definitely in Cambridge, been, like, in a car
and stopped at a traffic light.
And there's, like, no one around.
And you wish it would just notice either via sensor or timer
or whatever that, like, this is clearly not the most efficient use of,
like, anyone's time.
So that's pretty amazing that it could adapt sort of seamlessly like that.
Though, what is the relationship between AI
and the buttons that the humans pushed across the street
that according to various things I've read
are actually placebos and don't actually do anything and in some cases,
aren't even connected to wires.
BRIAN YU: I'm not actually sure.
I've also heard that they may be placebos.
I've also heard that, like, the elevator close button is also
a placebo that you press that.
And it sometimes doesn't actually work.
DAVID MALAN: Yes, I've read it even, which not necessarily
authoritative source.
There is, like, a photo where someone showed
a door close button had fallen off.
But there was nothing behind it.
Now, could have been photoshop.
But I think there's evidence of this, nonetheless.
BRIAN YU: It might be the case.
I don't think there's any AI happening there.
But I think it's more just psychology of the people and trying to make people
feel better by giving them a button to press.
DAVID MALAN: Do you push the button when you run across the street?
BRIAN YU: I do usually push the button when I want to cross the street.
DAVID MALAN: This is such a big scam, though, on all of us it would seem.
BRIAN YU: Do not push the button?
DAVID MALAN: No, I do, because just, what if?
And actually it's so gratifying, because there's
a couple places in Cambridge, Massachusetts
where the button legitimately works.
When you want to cross the street, you hit the button.
Within half a second, it has changed the light.
It's the most, like, empowering feeling in the world
because that never happens.
Even in an elevator, half the time you push it, like, nothing happens,
or eventually it does and is very good positive reinforcement
to see the traffic lights changing.
I'm very well behaved-- the traffic lights as a result.
OK, so more recently, I feel like, computers
have gotten way better at some technologies that kind of sort of
existed when I was a kid, like, handwriting recognition.
There was the palm pilot early on, which is
like a popular PDA or personal digital assistant, which has now been replaced
with Androids and iPhones and so forth.
But handwriting recognition is a biggie for machine learning, right?
BRIAN YU: Yeah, definitely.
And this is an area that's gotten very, very good.
I mean, I recently have just started using an iPad.
And it's amazing that I can be taking handwritten notes.
But then my app will let me, like, search for them by text
that it will look at my handwriting, convert it to text
so that I can search through it all.
It's very, very powerful.
And the way that this is often working now
is just by having access to a lot of data.
So, for example, if you wanted to train a computer
to be able to recognize handwritten digits, like, digits on a check
that you could deposit virtually now, like,
my banking app can deposit checks digitally.
What you can do is give the machine learning algorithm
a whole bunch of data, basically a whole bunch of pictures
of handwritten numbers that people have drawn
and labels for them associated with what number it actually is.
And so the computer can learn from a whole bunch of examples of here
are some handwritten ones, and here are some handwritten twos,
and here's some handwritten threes.
And so when a new handwritten digit comes along,
the computer just learns from that previous data and says,
does this look kind of like the ones, or does it look more like the twos?
And it can make an assessment as a result of that.
DAVID MALAN: So how can we humans are sometimes
filling out those little captchas--
the little challenges on websites where they're asking us, the humans,
to tell them what something says?
BRIAN YU: Yeah.
Part of the ideas that the captchas are trying to prove to the computer
that you are, in fact, human.
They're asking you to prove that you're a human.
And so they're trying to give you a task that a computer might struggle
to do, for instance, like, identify which of these images happened to have,
like, traffic lights in them, for example.
Although nowadays, computers are getting pretty good at that
that they using machine learning techniques
they can tell which of them are traffic lights.
DAVID MALAN: Yeah, exactly.
I would think so.
BRIAN YU: And I've also heard people talk about it.
I don't don't, action, if this is true that you
can use the results of these captchas to actually train machine learning
algorithms that when you are choosing which of the images
have traffic lights in them, you're training the algorithms that
are powering, like, self-driving cars, for instance,
to be able to better assess whether there are traffic lights in an image,
because you're giving more and more of this data
that computers are able to draw from.
So we've heard that too.
DAVID MALAN: It's interesting how these algorithms
are so similar to presumably how humans work, because,
like, when you and I learned how to write text, whether it was in print
or cursive, like, the teacher just shows us, like, one canonical letter A or B
or C. And yet, obviously, like, every kid in the room
is probably drawing that A or B or C a little bit differently.
And yet, somehow, we humans just kind of know that that's close enough.
So is it fair to say, like, computers really are just kind of doing that?
They are just being taught what something is
and then tolerating variations, thereof?
BRIAN YU: Yeah, that's probably about it.
One of the inspirations for machine learning
really is that the types of things that computers are good at
and the types of things that people are good at
tend to be very, very different.
But, like, computers can very easily do complex calculations, no problem,
when we might struggle with it.
But a problem, like, identifying that in a picture,
is there a bird in the sky or not, for example?
That's something that for a long time, computers really struggled to do,
whereas, it's easy for a child to be able to look in the sky and tell you
if there's a bird there.
DAVID MALAN: Oh, I was just going to say, I could do that probably.
OK.
So if this is supervised learning, and handwriting recognition's one,
like, what other types of applications fall under this umbrella?
BRIAN YU: Yeah, so handwriting recognition
counts as supervised learning, because it's supervised in the sense
that when we're providing data to the algorithm,
like the handwritten numbers, we're also providing labels for that data, like,
saying, this is the number one-- this is the number two.
That way, the computer is able to learn from that.
But this shows up all over the place.
So, for instance, like, your email spam filter
that detects automatically which emails are spam
and puts them in the spam mailbox, it's trained the same way.
You basically give the computer a whole bunch of emails-- some of which
you tell the computer these are real emails that are good emails.
And here, these are some other emails that are spam emails.
And the computer tries to learn the characteristics and the traits of spam
email so that when a new email comes about,
the computer is able to make a judgment call about,
do I think this is a nonspam, or do I think it's a spam email?
And so you could get it to classify it in that way.
So this kind of classification problem is a big area and supervised.
DAVID MALAN: And is that what is happening if you use gmail,
and you click on an email and report it as spam,
like, you're training gmail to get better at distinguishing?
BRIAN YU: Yes.
You can think of that as a form of reinforcement learning of the computer
learning from experience.
DAVID MALAN: Good boy.
BRIAN YU: You tell the computer that it got it wrong.
And it's now going to try and learn to be better in the future
to be able to more accurately predict which emails are spam
or not spam based on what you tell it.
And gmail has so many users and so many emails
that are coming to the inbox every day that you do this enough times.
And the algorithm gets pretty good at figuring out whether an email's spam
or not.
DAVID MALAN: It's a little creepy that my inbox is becoming sentient somehow.
OK, so if there's supervised learning, I presume
there's also unsupervised learning.
Is there?
BRIAN YU: Yeah, there absolutely is.
So supervised learning requires labels on the data.
But sometimes, their data doesn't always have labels.
But you still want to be able to take a data set, give it to a computer
and get the computer to tell you something interesting about it.
And so one common example of this is for when you're doing consumer analysis,
like, when Amazon is trying to understand its customers, for instance,
Amazon might not know all the different categories of customers
that there might be.
So it might not be able to give them labels already.
But you could feed a whole bunch of customer data to an algorithm.
And the algorithm could group customers into similar groups, potentially,
based on the types of products they're likely to buy, for example.
And you might not know in advance how many groups there are
or even what the groups are.
But the algorithm can get pretty good at clustering people
into different groups.
So clustering is a big example of unsupervised learning.
That's pretty common.
DAVID MALAN: So how different is that from just, like, exhaustive search
if you sort of label every customer with certain attributes-- what they've
bought, what time they've bought it, how frequently they've bought it
and so forth?
Like, isn't this really just some kind of quadratic problem
where you compare every customer's habits against every other customers
habits, and you can, therefore, exhaustively
figure out what the commonalities are?
Like, why is this so intelligent?
BRIAN YU: So you could come up with an algorithm
to say, like, OK, how close together are two particular customers, for instance,
in terms of how many things that they've bought in common, for instance,
or when they're buying particular products?
But if you've got a lot of different users
that all have slightly different habits, and maybe some groups of people share
things in common with other groups but then don't share other characteristics
in common, it can be tricky to be able to group an entire user base
into a whole bunch of different clusters that are meaningful.
And so the unsupervised learning algorithms
are pretty good at trying to figure out how you would actually
cluster those people.
DAVID MALAN: Interesting.
OK.
And so this is true for things I know in radiology, especially these days, like,
computers can actually not only read film, so x-rays and other types
of images of human bodies.
They can actually identify things, like, tumors now,
without necessarily knowing what kind of tumor they're looking for.
BRIAN YU: Yeah.
So one application of unsupervised learning is, like a anomaly detection,
given a set of data, which things stand out as anomalous.
And so that has a lot of medical applications
where if you've got a whole bunch of medical scans or images, for instance,
you could have a computer just look at all that data
and try and figure out which are the ones that don't quite look right.
And that might be worth doctors taking another look,
because potentially, there might be a health concern there.
You see the exact same type of technology and finance a lot
when you're trying to detect, like, which transactions might be
fraudulent transactions, for instance.
Out of tons of transactions, can you find the anomalies?
The things that sort of stand out is not quite like the others.
And these unsupervised learning algorithms
can be pretty good at picking out those anomalies out of a data set.
DAVID MALAN: So what kind of algorithm triggers a fraud alert?
Almost every time, I tried to use my credit cards for work.
BRIAN YU: That one is, I don't really know what's going on with that.
I know the credit card will often trigger an alert if you're outside
of an area where you normally are.
But the details of how those algorithms are working--
I couldn't really tell you.
DAVID MALAN: Interesting.
Common frustration when we do travel here for work.
OK, so it's funny, as you described unsupervised learning,
it occurs to me that, like, 10, 15 years ago when
I was actually doing my dissertation work for my PhD, which
was, long story short, about security and specifically,
how you could with software detect sudden outbreaks of internet worms,
so malicious software that can spread from one computer to another.
The approach we took at the time was to actually look
at the system calls-- the low-level functions
that software was executing on Windows PCs
and look for common patterns of those system calls across systems.
And it only occurs to me, like, all these years later that arguably,
what we were doing in our team to do this
was really a form of machine learning.
I just think it wasn't very buzz worthy at the time
to say what we were doing was machine learning.
But I kind of think I know machine learning in retrospect.
BRIAN YU: Yeah, maybe.
I mean, it's become so common nowadays just to take anything and just
tack on machine learning to it to make it sound fancier or sound cooler
than it actually is.
DAVID MALAN: Yes.
That, and I gather statistics is now called data science, essentially,
perhaps, overstating though.
So certainly all the rage, though, speaking of trends
is, like, self-driving cars.
In fact, if I can cite another authoritative Reddit photo--
and this one I think actually made the national news.
What is it about AI that's suddenly enabling people to literally sleep
behind the wheel of a car?
BRIAN YU: Well, I don't think people should be doing that quite yet but--
DAVID MALAN: But you do eventually.
BRIAN YU: Well.
So self-driving technology is hopefully going to get better.
But right now, we're in sort of a dangerous middle ground
that cars are able to do more and more things autonomously.
They can change lanes on their own.
They can maintain their lane on their own.
They can parallel park by themselves, for example.
The consumer ones, at least, are certainly not at the place
where you could just ignore the wheel entirely and just
let them go on their own.
But a lot of people are almost treating cars as if they can do that.
And so it's a dangerous time, certainly, for these semi-autonomous vehicles.
DAVID MALAN: And it's funny you mentioned parallel parking.
In a contest between you and a computer, who could parallel park better,
do you think?
BRIAN YU: The computer would definitely beat me at parallel parking.
So I got my driver's license in California.
And learning to parallel park is not on the California driving test.
So I was not tested on it.
I've done it maybe a couple times with the assistance of my parents
but definitely not something I feel very comfortable doing.
DAVID MALAN: But I feel like when I go to California and San Francisco
in very hilly cities, it's certainly common to park diagonally
against the curb so not parallel, per se, partly just for the physics of it
so that there's less risk of cars presumably rolling down the hill.
But I feel like in other flatter areas of California,
I have absolutely when traveling, parallel park.
So, like, how is this not a thing?
[LAUGHS] I mean, it's definitely common.
People do parallel park.
It's just not required on the test.
And so people invariably learn when they need to.
But pretty soon after I got my driver's license,
I ended up moving across the country to Massachusetts for college.
And so once I got to college, I never really had
occasion to drive a whole lot.
So I just never really did a lot of driving.
DAVID MALAN: I will say, I've gotten very comfortable
certainly over the years, parallel parking,
when I'm parking on the right-hand side of the road,
because, of course, in the US, we drive on the left.
But it does throw me if it's like a one-way street,
and I need to park on the left-hand side, because all of my optics
are a little off.
So I can appreciate that.
So a self-driving car, like a Tesla, is like the off cited example these days.
Like, what are the inputs to that problem and like, the outputs,
the decisions that are being made by the car just to make this more concrete?
BRIAN YU: Yeah.
So I guess the inputs are probably at least two broad categories--
one input being all of the sensory information around the car
that these cars have so many sensors and cameras that
are trying to detect what items and objects are around it
and trying to figure all of that out.
And the second input being presumably a human-entered destination
where the user probably is typing into some device on the computer in the car
where it is that they actually want to go.
And the output, hopefully is that the computers or the car
is able to make all of the decisions about when to step on the gas,
when to turn the wheel, and all of those actions
that it needs to take to get you from point A to point B. I mean,
that's the goal of these technologies.
DAVID MALAN: Fascinating.
It would just really frighten me to see someone on the road
not holding the wheel of the car.
This is maybe a little more of a California thing.
Though, other states are certainly experimenting with this.
Or companies in various states are.
So my car is old enough that I don't so much have a screen in the car.
It's really just me and a bunch of glass mirrors.
And it still blows my mind in 2019 when I
get into a rental car or friend's car that even just has the LCD
screen with a camera in the back that shows you, like, the green, yellow,
and red markings.
And it beeps when you're getting too close to the car.
So is that machine learning when it's detecting something and beeping at you
when you're trying to park, for instance?
Well, I guess you wouldn't know.
BRIAN YU: [LAUGHS] My guess is that's probably not machine learning.
It's probably just a pretty simple logic of,
like, try and detect what the distance is via some sensor.
And if the distance is less than a certain amount,
then, beep or something like that.
You could try and do it using machine learning.
But probably, simple heuristics are good enough for that type of thing--
would be my guess.
DAVID MALAN: So how should people think about the line between software
just being ifs and else ifs and conditions
and loops, versus, like, machine learning,
which kind of takes things up a notch?
BRIAN YU: Yeah.
So I guess the line comes when it would be difficult to formally articulate
exactly what the steps should be.
And driving is a complicated enough task that trying to formally describe
exactly what the steps should be for every particular circumstance
is going to be extraordinarily difficult, if not impossible.
And so then you really need to start to rely
on machine learning to be able to answer questions, like,
is there a traffic light ahead of me?
And is the traffic light green or red?
And how many cars are ahead of me, and where are they?
Because those are questions that it's harder to just program
a definitive answer to just given, like, all the
pixels of what the sensor of the front of the car is seeing.
DAVID MALAN: So is that also true with this other technology that's
in vogue these days of these always listening devices,
so like Siri and hey, Google and Alexa?
Like, I presume it's relatively easy for companies
to support well-defined commands, so a finite set of words or sentences
that the tools just to understand.
But does AI come into play or machine learning coming into play
when you want to support an infinite language,
like English or any other spoken language?
BRIAN YU: Yes.
So certainly when it comes to natural language processing,
given the words that I have spoken, can you figure out what it is that I mean?
And that's a problem that you'll often use
machine learning to be able to try and get at some sense of the meaning for.
But even with those predefined commands, if you
imagine a computer that only supported a very limited number of fixed commands,
we're still giving those commands via voice.
And so the computer still needs to be able to translate the sounds that
are just being produced in the air that the microphone is picking up
on into the actual words that they are.
And there's usually machine learning involved there too,
because it's not simple to be able to just take the sounds
and convert them to words, because different people speak
at different paces or have slightly different accents
or will speak in slightly different ways.
They might mispronounce something.
And so being able to train a computer to listen to that
and figure out what the words are, that can be tricky too.
DAVID MALAN: So that's pretty similar, though, to handwriting recognition?
Is that fair to say?
BRIAN YU: Probably.
You could do it a similar way where you train a computer by giving it
a whole bunch of sounds and what they correspond to in getting the computer
to learn from all of that data.
DAVID MALAN: And so why is it that every time I talk to Google,
it doesn't know what song I wanted to play.
BRIAN YU: [LAUGHS] Well, this technology is definitely still in progress.
There is definitely a lot of room for these technologies to get better.
DAVID MALAN: Those are diplomatic.
BRIAN YU: [LAUGHS] I mean, Siri on my phone half the time.
It doesn't pick up on exactly what I'm trying to ask it.
DAVID MALAN: Oh, for me, it feels even worse than that.
Like, I can confidently set timers, like set timer for three minutes
if I'm boiling some water or something.
But I pretty much don't use it for anything else besides that.
BRIAN YU: Yeah, I think timers I can do.
I used to try to, like, if I needed to send, like, a quick text
message to someone, I used to try and say, like,
text my mom that I'll be at the airport in 10 minutes.
But even then, it's very hit or miss.
DAVID MALAN: Well, even with you the other day,
I sent you a text message verbally.
But I just let the audio go out, because I just
have too little confidence in the transcription capabilities
of these devices these days.
BRIAN YU: Yeah.
Like, the iPhone, now, we'll try to, like, transcribe voicemails for you.
Or, at least, it'll make an attempt to so that you can just
tap on the voicemail and see a transcription of what's
contained in the voicemail.
And I really haven't found it very helpful.
But it can get like a couple of words.
And maybe I'll get a general sense.
But it's not good enough for me to really get any meaning out of it.
That's tough to listen to voicemail.
DAVID MALAN: See, I don't know.
I think that's actually use case where it's useful enough usually for me
if I can glean who it's from, or what the gist of the messages
so then I don't have to actually listen to it in real time.
But the problem for me when sending outbound messages
is, I want to look like an idiot.
They were completely incoherent, because Siri or whatever technology
is not transcribing me correctly.
OK.
But the dream I have, at least-- one of my favorite books
ever was Douglas Adams' Hitchhiker's Guide to the Galaxy,
where the most amazing technology in that book
is called The Babel fish, where it's a little fish that you put in your ear.
And it somehow translates all spoken words
that you're hearing into your own native language, essentially.
So how close are we to being able to talk to another human being who
does not speak the same language but seamlessly chat with that person?
BRIAN YU: I think we're pretty far away from it.
I think Skype, I think, has this feature or, at least,
it's a feature that they've been developing where they can try
to approximate a real-time translation.
And I think I saw a video--
DAVID MALAN: I can't even talk successfully to someone in English
on Skype.
BRIAN YU: Yeah.
So I think the demo is pretty good.
But I don't think it's, like, commercially available yet.
But translation technology has gotten better.
But it's certainly still not good.
One of my favorite types of YouTube videos that I watch sometimes
are people that will, like, take a song and their lyrics of the song
and translate it into another language and translate back into English.
And the lyrics just get totally messed up,
because this translation technology is, it can approximate meaning.
But it's certainly far from perfect.
DAVID MALAN: That's kind of like playing operator in English where
you tell someone something, and they tell someone something,
and they tell someone-- someone.
And by the time you go around the circle,
it is not at all what you originally said.
BRIAN YU: Yeah, I think I played that game when I was younger.
I think we called it telephone.
We call it operator?
DAVID MALAN: Yeah.
No, actually we probably called it telephone too.
Was there an operator involved?
Maybe you call operator if you need a hint.
Or maybe--
BRIAN YU: I don't think you got hints when I was playing.
DAVID MALAN: No, I think we had a hint feature where you say, operator.
And maybe the person next to you has to tell you again or something.
Maybe it's been a long time since I played this too.
Fascinating.
Well, thank you so much for explaining to me
and everyone out there a little bit more about machine learning.
If folks want to learn more about ML, what would you suggest they google?
BRIAN YU: Yeah.
So you can look up basically any of the keywords that we talked about today.
You could just look up machine learning.
But if you wanted to be more specific, you
could look up reinforcement learning or supervised learning or unsupervised
learning.
If there's any of the particular technologies,
you could look those up specifically, like handwriting recognition
or self-driving cars.
There are a lot of resources available of people
that are talking about these technologies
and how they work for sure.
DAVID MALAN: Awesome.
Well, thanks so much.
This was Machine Learning on the CS50 podcast.
If you have other ideas for topics that you'd love for Brian and I and the team
to discuss and explore, do just drop us an email at podcast@cs50.harvard.edu.
My name is David Malan.
BRIAN YU: I'm Brian Yu.
DAVID MALAN: And this was the CS50 Podcast.