WEBVTT

00:00:00.080 --> 00:00:01.997
The following is a conversation with Yan

00:00:02.080 --> 00:00:04.477
Lakun. He's considered to be one of the

00:00:04.560 --> 00:00:09.357
fathers of deep learning, which if
you've been hiding under a rock, is the

00:00:09.440 --> 00:00:12.637
recent revolution in AI that has
captivated the world with the

00:00:12.720 --> 00:00:14.717
possibility of what machines can learn

00:00:14.800 --> 00:00:17.677
from data. He's a professor at New York

00:00:17.760 --> 00:00:19.757
University, a vice president and chief

00:00:19.840 --> 00:00:23.197
AI scientist at Facebook, and co-reient

00:00:23.280 --> 00:00:27.677
of the touring award for his work
on deep learning. He's probably best known

00:00:27.760 --> 00:00:31.917
as the founding father of convolutional
neural networks, in particular their

00:00:32.000 --> 00:00:33.437
application to optical character

00:00:33.520 --> 00:00:36.557
recognition and the famed emnest data

00:00:36.640 --> 00:00:40.077
set. He is also an outspoken personality

00:00:40.160 --> 00:00:44.397
unafraid to speak his mind in a
distinctive French accent and explore

00:00:44.480 --> 00:00:46.637
provocative ideas both in the rigorous

00:00:46.720 --> 00:00:49.437
medium of academic research and the

00:00:49.520 --> 00:00:51.437
somewhat less rigorous medium of Twitter

00:00:51.520 --> 00:00:54.077
and Facebook. This is the artificial

00:00:54.160 --> 00:00:58.717
intelligence podcast. If you enjoy it,
subscribe on YouTube, give it five stars

00:00:58.800 --> 00:01:01.037
on iTunes, support it on Patreon, or

00:01:01.120 --> 00:01:03.277
simply connect with me on Twitter at Lex

00:01:03.360 --> 00:01:07.517
Freedman, spelled F R I D M. And now,

00:01:07.600 --> 00:01:13.000
here's my conversation with Yan Lun.

00:01:21.220 --> 00:01:23.240
[music]

00:01:28.880 --> 00:01:31.277
You said that 2001 Space Odyssey is one

00:01:31.360 --> 00:01:33.357
of your favorite movies.

00:01:33.440 --> 00:01:36.877
Hell 9000 decides to get rid of the

00:01:36.960 --> 00:01:38.397
astronauts for people who haven't seen

00:01:38.480 --> 00:01:42.797
the movie. Spoiler alert, because he it

00:01:42.880 --> 00:01:46.637
she believes that the astronauts they

00:01:46.720 --> 00:01:49.037
will interfere with the mission. Do you

00:01:49.120 --> 00:01:54.637
see Hal as flawed in some fundamental
way or even evil or did he do the right

00:01:54.720 --> 00:01:58.717
thing? >> Neither.
There's no notion of evil in

00:01:58.800 --> 00:02:01.117
that in that context other than the fact

00:02:01.200 --> 00:02:06.317
that people die. But it was an example
of what people call uh value

00:02:06.400 --> 00:02:10.077
misalignment, right? And you give
an objective to a machine and the machine

00:02:10.160 --> 00:02:14.797
strives to achieve this objective and if
you don't put any constraints on this

00:02:14.880 --> 00:02:16.717
objective like don't kill people and

00:02:16.800 --> 00:02:19.677
don't do things like this.

00:02:19.760 --> 00:02:24.717
The machine given the power will do
stupid things just to achieve this this

00:02:24.800 --> 00:02:28.397
objective or damaging things to achieve
this objective. It's a little bit like I

00:02:28.480 --> 00:02:30.237
mean we are used to this in the context

00:02:30.320 --> 00:02:32.957
of human society.

00:02:33.040 --> 00:02:36.877
We we put in place

00:02:36.960 --> 00:02:40.397
laws to prevent people from doing bad
things because spontaneously they would

00:02:40.480 --> 00:02:44.877
do those bad things, right?
So we have to shape their

00:02:44.960 --> 00:02:48.077
cost function, their objective function
if you want through laws to kind of

00:02:48.160 --> 00:02:50.797
correct and education obviously to sort

00:02:50.880 --> 00:02:55.117
of correct for for those. So maybe just

00:02:55.200 --> 00:02:59.197
pushing a little further on on that point,

00:02:59.280 --> 00:03:01.517
Hal, you know, there's a mission.

00:03:01.600 --> 00:03:04.157
there's a this fuzziness around the the

00:03:04.240 --> 00:03:06.077
ambiguity around what the actual mission

00:03:06.160 --> 00:03:08.557
is but

00:03:08.640 --> 00:03:11.357
you know do you think that there will be

00:03:11.440 --> 00:03:15.917
a time from a utilitarian perspective
where an AI system where it is not

00:03:16.000 --> 00:03:20.557
misalignment where it is alignment
for the greater good of society that an AI

00:03:20.640 --> 00:03:23.037
system will make decisions
that are difficult

00:03:23.120 --> 00:03:27.997
>> well that's the trick I mean eventually
we'll have to figure out how to do this

00:03:28.080 --> 00:03:30.797
and again we're not starting from
scratch because we've been doing this

00:03:30.880 --> 00:03:33.677
with humans for for millennia.

00:03:33.760 --> 00:03:35.837
>> So designing objective functions for

00:03:35.920 --> 00:03:37.437
people is something that we know how to

00:03:37.520 --> 00:03:40.957
do and we don't do it by um you know

00:03:41.040 --> 00:03:43.597
programming things although

00:03:43.680 --> 00:03:48.397
the legal code is called code.
Um so that tells you something and it's

00:03:48.480 --> 00:03:51.277
actually the design of an objective
function. That's really what legal code

00:03:51.360 --> 00:03:54.877
is right. It tells you here is what you
can do here is what you can't do. If you

00:03:54.960 --> 00:03:58.877
do it you pay that much.
That's that's an objective function.

00:03:58.960 --> 00:04:02.957
So there is this idea somehow that it's
a new thing for people to try to design

00:04:03.040 --> 00:04:05.917
objective functions that are aligned
with the common good. But no, we've been

00:04:06.000 --> 00:04:07.357
writing laws for millennia and that's

00:04:07.440 --> 00:04:09.997
exactly what it is. Um so this that's

00:04:10.080 --> 00:04:13.837
where you know uh the science of uh law

00:04:13.920 --> 00:04:18.477
making and uh and computer
science will >> come together

00:04:18.560 --> 00:04:21.597
>> will come together.
>> So it's nothing there's nothing special

00:04:21.680 --> 00:04:24.637
about hell or AI systems. It's just a

00:04:24.720 --> 00:04:28.797
continuation of tools used to make some
of these difficult ethical judgments

00:04:28.880 --> 00:04:31.757
that laws make. >> Yeah.
And we and we have systems like

00:04:31.840 --> 00:04:37.117
this already that you know uh make many
decisions for for ourselves in society

00:04:37.200 --> 00:04:40.957
that you know need to be designed in a
way that they like you know rules about

00:04:41.040 --> 00:04:45.837
things that sometime sometimes have bad
side effects and we have to be flexible

00:04:45.920 --> 00:04:48.957
enough about those rules so that they
can be broken when it's obvious that

00:04:49.040 --> 00:04:52.637
they shouldn't be applied. So,
you don't see this on the camera

00:04:52.720 --> 00:04:56.317
here, but all the decoration in this room
is all pictures from 2001 of Space

00:04:56.400 --> 00:05:00.557
Odyssey. [laughter] >> Wow.
Is that by accident or is there a

00:05:00.640 --> 00:05:00.797
lot?

00:05:00.880 --> 00:05:04.557
>> It's not by accident. It's by design.

00:05:04.640 --> 00:05:07.757
>> Oh, wow. So, if you were um if you were

00:05:07.840 --> 00:05:12.637
to build HAL 10,000,
so an improvement of HAL 9,000,

00:05:12.720 --> 00:05:14.717
what would you improve? Well, first of

00:05:14.800 --> 00:05:17.757
all, I wouldn't ask it to hold secrets

00:05:17.840 --> 00:05:21.757
and tell lies because that's really
what breaks it in the end. That's the the

00:05:21.840 --> 00:05:26.157
fact that it's asking itself questions
about the purpose of the mission and

00:05:26.240 --> 00:05:29.997
it's you know pieces things together
that it's heard you know all the secrecy

00:05:30.080 --> 00:05:34.077
of the preparation of the mission and
the fact that it was discovery on on the

00:05:34.160 --> 00:05:35.677
lunar surface that really was kept

00:05:35.760 --> 00:05:38.957
secret and and one part of how's memory

00:05:39.040 --> 00:05:43.117
knows this and the other part is does
not know it and is supposed to not tell

00:05:43.200 --> 00:05:45.197
anyone and that creates internal

00:05:45.280 --> 00:05:46.797
conflict. So you think there's never

00:05:46.880 --> 00:05:50.317
should be a set of things that an AI

00:05:50.400 --> 00:05:53.677
system should not be allowed

00:05:53.760 --> 00:05:56.717
like a a set of facts that should not be

00:05:56.800 --> 00:05:59.357
shared with the human operators.

00:05:59.440 --> 00:06:01.437
Well, I think no. I think that I think

00:06:01.520 --> 00:06:06.797
it should be a bit like in the design of

00:06:06.880 --> 00:06:09.357
autonomous AI systems. Um, there should

00:06:09.440 --> 00:06:12.237
be the equivalent of, you know, the the

00:06:12.320 --> 00:06:16.237
the the oath that hypocratic oath Yeah.

00:06:16.320 --> 00:06:21.197
>> that uh doctors sign up to, right?
So, there's certain things, certain rules

00:06:21.280 --> 00:06:25.197
that that that you have to abide by and we
can sort of hardwire this into into

00:06:25.280 --> 00:06:29.197
our into our machines to kind of make
sure they don't go. So I'm not you know

00:06:29.280 --> 00:06:33.837
an advocate of the the three law three
laws of robotics you know the azimov

00:06:33.920 --> 00:06:35.277
kind of thing because I don't think it's

00:06:35.360 --> 00:06:38.477
practical but but you know some some

00:06:38.560 --> 00:06:41.757
level of uh of limits but but to be

00:06:41.840 --> 00:06:44.637
clear uh this is not these are not

00:06:44.720 --> 00:06:48.317
questions that are kind of really worth

00:06:48.400 --> 00:06:52.237
asking today because we just don't have
the technology to do this. We don't we

00:06:52.320 --> 00:06:54.637
don't have autonomous intelligent
machines. We have intelligent machines,

00:06:54.720 --> 00:06:57.997
semi- intelligent machines
that are very specialized,

00:06:58.080 --> 00:07:01.277
but they don't they don't really sort
of satisfy an objective. They're just, you

00:07:01.360 --> 00:07:03.757
know, kind of trained to do one thing.

00:07:03.840 --> 00:07:07.037
>> So, until we have some idea for design

00:07:07.120 --> 00:07:11.837
of a full-fledged autonomous intelligent
system, asking the question of how how

00:07:11.920 --> 00:07:15.677
we design is objective, I think
is a little a little too abstract.

00:07:15.760 --> 00:07:17.117
>> It's a little too abstract. There's

00:07:17.200 --> 00:07:19.757
useful elements to it in that it helps

00:07:19.840 --> 00:07:23.997
us understand our own ethical codes,

00:07:24.080 --> 00:07:26.397
humans. So even just as a thought

00:07:26.480 --> 00:07:29.437
experiment, if you imagine that an AGI

00:07:29.520 --> 00:07:32.397
system is here today, h how would we

00:07:32.480 --> 00:07:34.317
program it is a kind of nice thought

00:07:34.400 --> 00:07:37.677
experiment of constructing how should we

00:07:37.760 --> 00:07:40.717
have a law have a system of laws for us

00:07:40.800 --> 00:07:42.877
humans. It's it's just a nice practical

00:07:42.960 --> 00:07:45.677
tool. And I think there's echoes of that

00:07:45.760 --> 00:07:49.197
idea too in the AI systems we have today

00:07:49.280 --> 00:07:53.357
that don't have to be that intelligent
like autonomous vehicles. These things

00:07:53.440 --> 00:07:55.757
start creeping in that they're worth

00:07:55.840 --> 00:07:57.037
thinking about but certainly they

00:07:57.120 --> 00:08:00.877
shouldn't be framed as as hell. Yeah.

00:08:00.960 --> 00:08:04.237
>> Looking back,
what is the most I'm sorry

00:08:04.320 --> 00:08:07.677
if it's a silly question, but what is

00:08:07.760 --> 00:08:12.317
the most beautiful or surprising idea
in deep learning or AI in general that

00:08:12.400 --> 00:08:14.077
you've ever come across sort of

00:08:14.160 --> 00:08:17.117
personally where you sat back

00:08:17.200 --> 00:08:21.997
and and just had this kind of a that's
pretty cool moment. That's nice

00:08:22.080 --> 00:08:24.397
surprising. >> I don't know
if it's an idea rather than

00:08:24.480 --> 00:08:27.277
a sort of empirical

00:08:27.360 --> 00:08:29.357
uh fact.

00:08:29.440 --> 00:08:31.997
The fact that

00:08:32.080 --> 00:08:36.797
you can build gigantic
neural nets train them on,

00:08:36.880 --> 00:08:40.557
you know, relatively small
amounts of data relatively

00:08:40.640 --> 00:08:44.557
with stoastic gradient and descent
and that it actually works. Uh breaks

00:08:44.640 --> 00:08:48.637
everything you read in every textbook,
right? Every pre deep learning textbook

00:08:48.720 --> 00:08:53.037
that told you you need to have fewer
parameters than you have data samples.

00:08:53.120 --> 00:08:56.397
Um you know if you have a non-convex
objective function, you have no

00:08:56.480 --> 00:08:59.197
guarantee of convergence. You know all
those things that you read in textbook

00:08:59.280 --> 00:09:02.397
and they tell you stay away
from this and they're all wrong.

00:09:02.480 --> 00:09:05.117
>> Huge number of parameters non-convex

00:09:05.200 --> 00:09:10.797
and somehow which just vary relative
to the number of uh parameters data it's

00:09:10.880 --> 00:09:14.717
able to learn anything >> right >>
does that still surprise you today?

00:09:14.800 --> 00:09:17.517
>> Well it it was kind of obvious to me

00:09:17.600 --> 00:09:21.997
before I knew anything that that
this is a good idea and then it became

00:09:22.080 --> 00:09:26.397
surprising that it worked because
I started reading those textbooks.

00:09:26.480 --> 00:09:29.997
>> Okay. Wait. So, okay. So, can you
talk through the intuition of why it was

00:09:30.080 --> 00:09:31.437
obvious to you if you remember?

00:09:31.520 --> 00:09:34.797
>> Well, okay. So, the intuition was it's
it's sort of like, you know, those

00:09:34.880 --> 00:09:37.437
people in the late 19th century who

00:09:37.520 --> 00:09:41.437
proved that heavier than than air flight

00:09:41.520 --> 00:09:45.597
was impossible, right? And of course,
you have birds, right? They do fly. And

00:09:45.680 --> 00:09:50.237
so, on the face of it, it it's obviously
wrong as an empirical question, right?

00:09:50.320 --> 00:09:54.397
And so, we have the same kind of thing
that, you know, the we know that the

00:09:54.480 --> 00:09:58.557
brain works. We don't know how but we
know it works and we know it's a large

00:09:58.640 --> 00:10:01.917
network of neurons in interaction
and that learning takes place by changing

00:10:02.000 --> 00:10:05.837
the connections. So kind of getting
this level of inspiration without covering

00:10:05.920 --> 00:10:11.837
the details but sort of trying
to derive basic principles

00:10:11.920 --> 00:10:15.677
you know that kind of gives you a clue
as to which direction to go. There's

00:10:15.760 --> 00:10:19.357
also the idea somehow that I' I've been
convinced of since I was in undergrad

00:10:19.440 --> 00:10:22.877
that even before that intelligence is

00:10:22.960 --> 00:10:25.277
inseparable from learning. So you the

00:10:25.360 --> 00:10:27.277
idea somehow that you can create an

00:10:27.360 --> 00:10:30.077
intelligent machine by basically

00:10:30.160 --> 00:10:33.597
programming for me was a non-starter you

00:10:33.680 --> 00:10:36.237
know from the start every intelligent

00:10:36.320 --> 00:10:40.717
entity that we know about arrives
at this intelligence through

00:10:40.800 --> 00:10:43.197
learning so learning you know machine

00:10:43.280 --> 00:10:46.397
learning was completely obvious path

00:10:46.480 --> 00:10:50.637
uh also because I'm lazy
so you know [laughter]

00:10:50.720 --> 00:10:54.477
>> you automate basically everything and
learning is the automation of >> exactly

00:10:54.560 --> 00:10:56.637
>> intelligence, >> right?

00:10:56.720 --> 00:10:59.677
>> So do you think so what is learning

00:10:59.760 --> 00:11:02.717
then? What falls under learning? Because

00:11:02.800 --> 00:11:06.397
do you think of reasoning is learning?

00:11:06.480 --> 00:11:08.957
>> Well, reasoning is certainly a a a

00:11:09.040 --> 00:11:11.597
consequence of of learning as well just

00:11:11.680 --> 00:11:14.397
like other functions of uh of the brain.

00:11:14.480 --> 00:11:19.197
The big question about reasoning is how
do you make reasoning compatible with

00:11:19.280 --> 00:11:22.077
gradient-based learning? >> Do you
think neural networks can be made

00:11:22.160 --> 00:11:25.837
to reason? Yes, there is no question
about that. Again, we have a good

00:11:25.920 --> 00:11:29.997
example, right? The question
is is how? So, the question

00:11:30.080 --> 00:11:34.237
is how much prior structure do you
have to put in the neural net so that

00:11:34.320 --> 00:11:38.557
something like human reasoning will
emerge from it you know from learning.

00:11:38.640 --> 00:11:41.117
Uh another question is all of our kind

00:11:41.200 --> 00:11:43.757
of model of what reasoning is that are

00:11:43.840 --> 00:11:49.437
based on logic are discrete and and and
are therefore incompatible with gradient

00:11:49.520 --> 00:11:52.157
based learning. Mhm. >> And I'm
a very strong believer in this

00:11:52.240 --> 00:11:57.117
idea gradient based learning. I don't
believe that uh other types of learning

00:11:57.200 --> 00:11:59.677
that don't use kind of gradient
information if you want.

00:11:59.760 --> 00:12:01.197
>> So you don't like discrete mathematics.

00:12:01.280 --> 00:12:02.797
You don't like anything discrete.

00:12:02.880 --> 00:12:05.917
>> Well, that's it's not that I don't
like it. It's just that it's it's

00:12:06.000 --> 00:12:07.917
incompatible with learning and I'm I'm a

00:12:08.000 --> 00:12:13.277
big fan of learning, right?
So in fact, that's perhaps one reason why

00:12:13.360 --> 00:12:15.997
deep learning has been kind of looked
at with suspicion by a lot of computer

00:12:16.080 --> 00:12:19.517
scientists because the math is very
different. the math that uh you use for

00:12:19.600 --> 00:12:21.357
deep learning, you know, kind of has

00:12:21.440 --> 00:12:24.237
more to do with, you know, cybernetics,

00:12:24.320 --> 00:12:28.477
uh the kind of math you do in electrical
engineering than the kind of math you do

00:12:28.560 --> 00:12:32.557
in computer science. [snorts] And and you
know, nothing in in machine learning

00:12:32.640 --> 00:12:34.477
is exact, right? Computer science is all

00:12:34.560 --> 00:12:39.597
about sort of, you know, obviously
compulsive attention to details of like,

00:12:39.680 --> 00:12:43.117
you know, every index has to be right
and you can prove that an algorithm is

00:12:43.200 --> 00:12:47.587
correct, right? Uh machine learning
is the science of sloppiness. Really?

00:12:47.670 --> 00:12:49.690
[laughter]

00:12:49.920 --> 00:12:53.917
>> That's beautiful. So okay, maybe let's

00:12:54.000 --> 00:12:56.557
feel around in the dark of what is a

00:12:56.640 --> 00:13:00.397
neural network that reasons or a system

00:13:00.480 --> 00:13:02.077
that

00:13:02.160 --> 00:13:05.037
is works with continuous functions

00:13:05.120 --> 00:13:09.597
that's able to do uh build knowledge.

00:13:09.680 --> 00:13:11.917
However we think about reasoning, build

00:13:12.000 --> 00:13:14.397
on previous knowledge, build on extra

00:13:14.480 --> 00:13:16.717
knowledge, create new knowledge,

00:13:16.800 --> 00:13:19.437
generalize outside of any training set

00:13:19.520 --> 00:13:22.717
ever built. What does that look like? If

00:13:22.800 --> 00:13:25.517
uh yeah, maybe do you have inklings of

00:13:25.600 --> 00:13:27.517
thoughts of what that might look like?

00:13:27.600 --> 00:13:31.917
>> Well, yeah. I mean, yes and no. If I
had precise ideas about this, I think, you

00:13:32.000 --> 00:13:36.157
know, we'd be building it right now. But
and there are people working on this or

00:13:36.240 --> 00:13:38.477
whose main research interest is actually

00:13:38.560 --> 00:13:43.197
exactly that right. So what you need to
have is a working memory. So you need to

00:13:43.280 --> 00:13:44.877
have

00:13:44.960 --> 00:13:47.357
some device if you want uh some

00:13:47.440 --> 00:13:51.197
subsystem that can store uh a relatively

00:13:51.280 --> 00:13:53.757
large number of factual episodic

00:13:53.840 --> 00:13:57.117
information for you know a reasonable

00:13:57.200 --> 00:14:00.077
amount of time. So you you know in the

00:14:00.160 --> 00:14:01.517
in the brain for example there are kind

00:14:01.600 --> 00:14:04.157
of three main types of memory. one is

00:14:04.240 --> 00:14:09.037
the the sort of memory
of the the the state of your

00:14:09.120 --> 00:14:12.637
cortex and that sort
of disappears within 20

00:14:12.720 --> 00:14:16.477
seconds. You can't remember things
for more than about 20 seconds or a minute

00:14:16.560 --> 00:14:20.157
if if if you don't have any other form
of memory. Uh [snorts] the second type

00:14:20.240 --> 00:14:23.757
of memory which is longer term but still
shortterm is the hippoc campus. So you

00:14:23.840 --> 00:14:25.517
can you know you came into this building

00:14:25.600 --> 00:14:27.597
you remember where the where the the

00:14:27.680 --> 00:14:31.037
exit is where the uh elevators are. Um,

00:14:31.120 --> 00:14:34.717
you have some map of that building
that's stored in your hippoc campus.

00:14:34.800 --> 00:14:38.477
>> You might remember something about
what I said, you know, a few minutes ago.

00:14:38.560 --> 00:14:41.917
>> I forgot it all already. >> It's
been erased, but you know, but that

00:14:42.000 --> 00:14:44.397
that would be in your
in your hypoc campus.

00:14:44.480 --> 00:14:46.237
>> Uh, and then the the longer term memory

00:14:46.320 --> 00:14:49.517
is in the synapse, the synapses, right?

00:14:49.600 --> 00:14:52.877
>> Um, so what you need if you want
a system that's capable of reasoning is

00:14:52.960 --> 00:14:57.277
that you want the hypocampus
like thing, right?

00:14:57.360 --> 00:15:00.637
And [snorts] that's what people have
tried to do with memory networks and you

00:15:00.720 --> 00:15:02.637
know neural machines and stuff like that

00:15:02.720 --> 00:15:07.677
right and and now with transformers
which have sort of a a memory in their

00:15:07.760 --> 00:15:12.797
kind of self attention system you
can you can think of it this way so

00:15:12.880 --> 00:15:16.957
so that's one element you need another
thing you need is some sort of network

00:15:17.040 --> 00:15:19.037
that can

00:15:19.120 --> 00:15:22.237
access this memory

00:15:22.320 --> 00:15:26.317
get an information back
and then kind of crunch on it and

00:15:26.400 --> 00:15:28.077
do this iteratively multiple times

00:15:28.160 --> 00:15:31.037
because a chain of reasoning

00:15:31.120 --> 00:15:34.717
is is a process by which you you you

00:15:34.800 --> 00:15:38.637
kind of you update your knowledge about
the state of the world about you know

00:15:38.720 --> 00:15:42.957
what's going to happen etc and that
that has to be this sort of recurrent

00:15:43.040 --> 00:15:46.637
operation basically >> and you
think that kind of if if we

00:15:46.720 --> 00:15:48.877
think about a transformer so that seems

00:15:48.960 --> 00:15:54.077
to be too small to contain the knowledge
that's that's uh to represent the

00:15:54.160 --> 00:15:56.317
knowledge that's contained
in Wikipedia media for example

00:15:56.400 --> 00:15:59.997
>> but transformer doesn't have this idea
of recurrence it's got a fixed number of

00:16:00.080 --> 00:16:03.597
layers and that's the number of steps
that you know limits basically it

00:16:03.680 --> 00:16:07.197
representation >>
but recurrence would build on the

00:16:07.280 --> 00:16:09.197
knowledge somehow I mean it would it

00:16:09.280 --> 00:16:13.277
would evolve the knowledge and expand

00:16:13.360 --> 00:16:17.597
the amount of information perhaps or
useful information within that knowledge

00:16:17.680 --> 00:16:22.557
>> but is is this something that just
can emerge with size because it seems like

00:16:22.640 --> 00:16:26.637
everything we have now is too small no
it's not It's not it's not clear I mean

00:16:26.720 --> 00:16:30.957
how how you access and write into
an associative memory in efficient way. I

00:16:31.040 --> 00:16:34.157
mean sort of the original memory network
maybe had something like the right

00:16:34.240 --> 00:16:38.637
architecture but uh if you try to scale
up a memory network so that the memory

00:16:38.720 --> 00:16:42.237
contains all Wikipedia it
doesn't quite work >> right

00:16:42.320 --> 00:16:46.397
>> so so there's there's a need for new
ideas there okay but it's not the only

00:16:46.480 --> 00:16:50.077
form of reasoning so there's another
form of reasoning which is through which

00:16:50.160 --> 00:16:52.877
is very classical also in some types of

00:16:52.960 --> 00:16:56.877
AI uh and it's based on u let's call it

00:16:56.960 --> 00:17:00.717
energy minimization okay so you have uh

00:17:00.800 --> 00:17:02.637
some sort of objective, some energy

00:17:02.720 --> 00:17:06.957
function that represents the the the um

00:17:07.040 --> 00:17:09.917
the quality or the negative quality.

00:17:10.000 --> 00:17:14.557
Okay, energy goes up when things get bad
and they get low when things get good.

00:17:14.640 --> 00:17:16.877
So, let's say you you want to figure

00:17:16.960 --> 00:17:18.797
out, you know, what gestures do I need

00:17:18.880 --> 00:17:23.677
to to do to grab an object or walk out

00:17:23.760 --> 00:17:27.117
the door. [snorts] If you have
a good model of uh your own

00:17:27.200 --> 00:17:31.437
body, a good model of the environment
using this kind of energy minimization,

00:17:31.520 --> 00:17:33.357
you can make a you can make you can do

00:17:33.440 --> 00:17:38.557
planning and it's uh in optimal control
is called it's called model model

00:17:38.640 --> 00:17:41.437
predictive control. You have a model of
what's going to happen in the world as a

00:17:41.520 --> 00:17:45.757
consequence of your actions and that
allows you to by energy minimization

00:17:45.840 --> 00:17:48.477
figure out a sequence of action
that optimizes a particular objective

00:17:48.560 --> 00:17:51.517
function which measures you know
minimizes number of times you're going

00:17:51.600 --> 00:17:55.437
to hit something and the energy you're
going to spend doing the gesture and

00:17:55.520 --> 00:17:59.597
etc. So so that's a form of reasoning.

00:17:59.680 --> 00:18:00.877
Planning is a form of reasoning. And

00:18:00.960 --> 00:18:03.837
perhaps what led to the ability of

00:18:03.920 --> 00:18:07.837
humans to reason is the fact that or you

00:18:07.920 --> 00:18:10.397
know species you know that appear before

00:18:10.480 --> 00:18:12.557
us had to do some sort of planning to be

00:18:12.640 --> 00:18:17.677
able to hunt and survive and survive
the winter in particular and so you know

00:18:17.760 --> 00:18:19.277
it's the same capacity that that you

00:18:19.360 --> 00:18:24.637
need to have. So in your intuition is um

00:18:24.720 --> 00:18:27.197
if we look at expert systems and

00:18:27.280 --> 00:18:30.637
encoding knowledge as logic systems

00:18:30.720 --> 00:18:34.477
as graphs or in this kind of way is not

00:18:34.560 --> 00:18:37.437
a useful way to think about knowledge.

00:18:37.520 --> 00:18:40.237
>> Graphs are a little brittle or or logic

00:18:40.320 --> 00:18:45.437
uh representation. So basically you know
variables that that have values and then

00:18:45.520 --> 00:18:48.877
constraint between them that are
represented by rules uh is a little too

00:18:48.960 --> 00:18:52.717
rigid and too brittle right. So one
of the you know some of the early efforts

00:18:52.800 --> 00:18:54.717
in that respect

00:18:54.800 --> 00:18:57.997
um were were to put probabilities on

00:18:58.080 --> 00:19:01.997
them. So a rule you know you know if you
have this and that symptom you know you

00:19:02.080 --> 00:19:05.277
have this uh disease with that
probability and you should prescribe

00:19:05.360 --> 00:19:07.437
that antibiotic with that probability

00:19:07.520 --> 00:19:09.677
right this the m system from the from

00:19:09.760 --> 00:19:13.037
the 70s um and that that's what that

00:19:13.120 --> 00:19:16.317
branch of AI led to uh you know basics

00:19:16.400 --> 00:19:19.037
and graphical models and causal

00:19:19.120 --> 00:19:21.437
inference and viral you know

00:19:21.520 --> 00:19:26.237
>> method so so there
there is I mean certainly

00:19:26.320 --> 00:19:28.157
a lot of interesting work going on in

00:19:28.240 --> 00:19:29.757
this area. The main issue with this is

00:19:29.840 --> 00:19:36.077
is knowledge acquisition. How do you
uh reduce a bunch of data to a graph of

00:19:36.160 --> 00:19:39.357
this type? >> Yeah.
It relies on the expert to on a

00:19:39.440 --> 00:19:42.157
human being to encode to add knowledge

00:19:42.240 --> 00:19:44.317
>> and that's essentially impractical.

00:19:44.400 --> 00:19:47.757
>> Yeah, it's not scalable. >> That's
that's a big question. The second

00:19:47.840 --> 00:19:52.637
question is do you want to represent
knowledge as symbols and do you want to

00:19:52.720 --> 00:19:54.717
manipulate them with logic? And again

00:19:54.800 --> 00:19:58.557
that's incompatible with learning. So uh

00:19:58.640 --> 00:20:00.637
one suggestion which Jeffington has been

00:20:00.720 --> 00:20:03.117
advocating for many decades is replace

00:20:03.200 --> 00:20:07.117
symbols by uh vectors. Think of it as

00:20:07.200 --> 00:20:09.597
pattern of activities in a bunch of

00:20:09.680 --> 00:20:14.797
neurons or units or whatever you
want to call them and replace logic by

00:20:14.880 --> 00:20:16.717
continuous functions. >> Mhm.

00:20:16.800 --> 00:20:19.037
>> Okay. And that becomes now compatible.

00:20:19.120 --> 00:20:23.117
There's a very good set of ideas by uh

00:20:23.200 --> 00:20:25.197
written in a paper about 10 years ago by

00:20:25.280 --> 00:20:29.837
Leon Bou on who is here at Facebook. Um

00:20:29.920 --> 00:20:32.957
um the title of the paper is from
machine learning to machine reasoning

00:20:33.040 --> 00:20:37.197
and his idea is that uh a learning
learning system should be able to

00:20:37.280 --> 00:20:41.197
manipulate objects that are in the same
spa in a space and then put the result

00:20:41.280 --> 00:20:45.437
back in the same space. So it's this idea
of working memory basically [snorts]

00:20:45.520 --> 00:20:47.757
and it's uh it's very enlightening

00:20:47.840 --> 00:20:50.477
>> and in a sense that might learn

00:20:50.560 --> 00:20:53.277
something like the simple expert

00:20:53.360 --> 00:20:57.837
systems. I mean it's
you can learn basic logic

00:20:57.920 --> 00:21:00.797
operations there. >> Yeah,
quite possibly. Yeah, there's a

00:21:00.880 --> 00:21:04.797
big debate on sort of how much prior
structure you have to put in for this

00:21:04.880 --> 00:21:08.077
kind of stuff to emerge. That's
the debate I have with Gary Marcus and

00:21:08.160 --> 00:21:12.717
people like that. >> Yeah. Yeah.
So and the other person so I

00:21:12.800 --> 00:21:14.637
just talked to Judea Pearl

00:21:14.720 --> 00:21:16.397
>> from you mentioned causal inference

00:21:16.480 --> 00:21:20.397
world. So his worry is that the current

00:21:20.480 --> 00:21:25.837
neural networks are not able to learn

00:21:25.920 --> 00:21:29.917
what causes what causal
inference between things.

00:21:30.000 --> 00:21:32.077
>> So I think I think he's right and wrong

00:21:32.160 --> 00:21:34.717
about this. uh if he's talking about the

00:21:34.800 --> 00:21:39.197
sort of classic uh type
of neural nets, people sort of

00:21:39.280 --> 00:21:42.317
didn't worry too much about this,
but there's a lot of people now working on

00:21:42.400 --> 00:21:45.757
calls on inference and there's a paper
that just came out last week by Leonu

00:21:45.840 --> 00:21:47.517
among others, David Lopez and a bunch of

00:21:47.600 --> 00:21:51.197
other people exactly on that problem of

00:21:51.280 --> 00:21:54.237
um how do you kind of you know get a

00:21:54.320 --> 00:21:56.957
neural net to sort of pay attention to

00:21:57.040 --> 00:21:59.597
real causal relationships which may also

00:21:59.680 --> 00:22:04.317
solve issues of bias.
in data and things like

00:22:04.400 --> 00:22:06.957
this. So >> I' I'd like
to read that paper because

00:22:07.040 --> 00:22:09.037
uh that ultimately the challenge there

00:22:09.120 --> 00:22:12.557
is also seems to fall back on the human

00:22:12.640 --> 00:22:17.677
expert to ultimately decide causality

00:22:17.760 --> 00:22:20.397
between things. >> People are
not very good at establishing

00:22:20.480 --> 00:22:24.477
causality first of all. So first of all
you talk to physicists and physicists

00:22:24.560 --> 00:22:27.677
actually don't believe
in causality because look at the

00:22:27.760 --> 00:22:32.637
>> all the basic laws of microfysics are
time reversible. So there is no causality.

00:22:32.720 --> 00:22:34.317
>> The arrow of time is not real.

00:22:34.400 --> 00:22:35.917
>> It's it's as soon as you start looking

00:22:36.000 --> 00:22:38.077
at microscopic systems where there is

00:22:38.160 --> 00:22:43.037
unpredictable randomness where there
is clearly an arrow of time but it's a big

00:22:43.120 --> 00:22:46.237
mystery in physics actually
how that emerges. Um

00:22:46.320 --> 00:22:49.437
>> is it emergent or is it part of the

00:22:49.520 --> 00:22:54.397
fundamental fabric of reality? Yeah. Or
is it a bias of intelligent systems that

00:22:54.480 --> 00:22:57.917
you know because of the second law
of thermodynamics we perceive a particular

00:22:58.000 --> 00:23:02.237
hour of time but in fact
it's kind of arbitrary right

00:23:02.320 --> 00:23:06.557
>> so yeah physicists mathematicians they
don't care about I mean the math doesn't

00:23:06.640 --> 00:23:10.237
care about the flow of time >> well
certainly certainly micro physics

00:23:10.320 --> 00:23:12.477
doesn't people themselves are not very

00:23:12.560 --> 00:23:15.597
good at establishing causal causal

00:23:15.680 --> 00:23:17.997
relationships if you ask this I think it

00:23:18.080 --> 00:23:21.757
was in one of simar paper's book on on

00:23:21.840 --> 00:23:26.397
um like children learning you know he
studied with Jean Pia you know he's the

00:23:26.480 --> 00:23:29.757
guy who co-authored [snorts] the book
perceptron with Marvin Minsky that kind

00:23:29.840 --> 00:23:31.357
of killed the first wave of neural nets

00:23:31.440 --> 00:23:34.077
but but he was actually a a learning

00:23:34.160 --> 00:23:39.117
person he uh in the sense of studying
learning in humans and and machines

00:23:39.200 --> 00:23:40.077
that's why he got interested in

00:23:40.160 --> 00:23:43.917
perceptron and uh and he he he wrote

00:23:44.000 --> 00:23:47.277
that if you ask a little kid uh about

00:23:47.360 --> 00:23:51.037
what is the cause of of the wind a lot

00:23:51.120 --> 00:23:54.317
of kids will say they will think for
a while and they'll say oh it's the the

00:23:54.400 --> 00:23:57.837
branches in the trees they move and
that creates wind right so they get the

00:23:57.920 --> 00:24:01.517
causal relationship backwards and it's
because their understanding of the world

00:24:01.600 --> 00:24:04.397
and intuitive physics is not that great
right I mean these are like you know

00:24:04.480 --> 00:24:08.317
four or five year old kids >> you
know it gets better and then you

00:24:08.400 --> 00:24:11.117
understand that this it can't be right

00:24:11.200 --> 00:24:14.637
but there are many things which we can

00:24:14.720 --> 00:24:19.357
because of our common sense
understanding of things what people call

00:24:19.440 --> 00:24:23.837
common sense >> and with
understanding of physics we can

00:24:23.920 --> 00:24:26.877
>> there's a lot of stuff that we can
figure out causality even with diseases

00:24:26.960 --> 00:24:30.717
we can figure out what's not causing what

00:24:30.800 --> 00:24:33.197
>> often there's a lot
of mystery of course

00:24:33.280 --> 00:24:37.757
but the idea is that you should be able
to encode that into systems it seems

00:24:37.840 --> 00:24:39.917
unlikely they'd be able
to figure that out themselves

00:24:40.000 --> 00:24:43.277
>> well whenever we can do intervention
but you know all of humanity has been

00:24:43.360 --> 00:24:45.517
completely deluded for millennia

00:24:45.600 --> 00:24:50.797
probably since existence about a very
very wrong causal relationship where

00:24:50.880 --> 00:24:55.837
whatever you can explain you attribute it
to you know some deity some divinity right

00:24:55.920 --> 00:24:59.197
>> um and that's a copout that's a way
of saying like I don't know the cause so

00:24:59.280 --> 00:25:01.517
you know God did it right so you

00:25:01.600 --> 00:25:05.037
mentioned Marvin Minsky and uh the irony

00:25:05.120 --> 00:25:07.277
of um

00:25:07.360 --> 00:25:10.477
uh you know maybe causing the first AI

00:25:10.560 --> 00:25:15.437
winter you were there in the '9s you
were there in the 80s of course uh in

00:25:15.520 --> 00:25:17.437
the '9s why do you think people lost

00:25:17.520 --> 00:25:22.637
faith in deep learning in the '9s
and found it again a decade later, over a

00:25:22.720 --> 00:25:24.637
decade later. >> Yeah,
it wasn't called deep learning

00:25:24.720 --> 00:25:28.717
yet. It was just called
neural nets, but um

00:25:28.800 --> 00:25:33.997
>> yeah, they lost interest. I mean,
I think I would put that around 1995, at

00:25:34.080 --> 00:25:35.277
least the machine learning community.

00:25:35.360 --> 00:25:39.357
There was always a neural net
community, but it but became

00:25:39.440 --> 00:25:41.837
kind of disconnected from sort of

00:25:41.920 --> 00:25:45.357
mainstream machine learning if you want.

00:25:45.440 --> 00:25:49.997
There were it was basically electrical
engineering that kept at it, >> right?

00:25:50.080 --> 00:25:52.797
>> Uh and computer science >> just gave up

00:25:52.880 --> 00:25:56.077
>> gave up on uh on neural nets. I don't I

00:25:56.160 --> 00:25:57.517
don't know, you know, I was too close to

00:25:57.600 --> 00:26:00.077
it to really

00:26:00.160 --> 00:26:03.357
sort of analyze it with sort of a

00:26:03.440 --> 00:26:07.197
unbiased eye if you want. But I I
would I would I would I would make a few

00:26:07.280 --> 00:26:10.317
guesses. So the first one is at the time

00:26:10.400 --> 00:26:12.397
neural nets

00:26:12.480 --> 00:26:14.957
were it was very hard to make them work

00:26:15.040 --> 00:26:18.077
in the sense that you would you know

00:26:18.160 --> 00:26:20.397
implement back prop in your favorite

00:26:20.480 --> 00:26:25.517
language um and that favorite language
was not Python it was not matlab it was

00:26:25.600 --> 00:26:26.877
not any of those things because they

00:26:26.960 --> 00:26:29.197
didn't exist right you had to write it

00:26:29.280 --> 00:26:33.437
in forc or something like this right um

00:26:33.520 --> 00:26:37.357
so you would uh experiment with it
you would probably make some very basic

00:26:37.440 --> 00:26:40.957
mistakes takes like you know badly
initialize your weights make the network

00:26:41.040 --> 00:26:43.277
too small because you read in the
textbook you know you don't want too

00:26:43.360 --> 00:26:46.637
many parameters right and of course you
know and you would train on exor because

00:26:46.720 --> 00:26:49.997
you didn't have any other data set
to train it on and of course you know it

00:26:50.080 --> 00:26:52.797
works half the time so you' say I give

00:26:52.880 --> 00:26:57.837
up also you train it with batch gradient
which you know isn't efficient so

00:26:57.920 --> 00:27:01.437
there's a lot of there's bag of tricks
that you had to know to make those

00:27:01.520 --> 00:27:03.997
things work or you you had to reinvent

00:27:04.080 --> 00:27:08.557
and a lot of people just didn't and they
just couldn't make it work. Um, so

00:27:08.640 --> 00:27:10.717
that's one thing. The investment in

00:27:10.800 --> 00:27:15.837
software platform to be able to kind of,
you know, display things, figure out why

00:27:15.920 --> 00:27:19.197
things don't work, kind of get a good
intuition for how to get them to work,

00:27:19.280 --> 00:27:22.637
have enough flexibility so you can create,
you know, network architectures

00:27:22.720 --> 00:27:26.717
like convolutional nets and stuff like
that. It was hard. I mean, you had to

00:27:26.800 --> 00:27:29.597
write everything from scratch and again
you didn't have any Python or MATLAB or

00:27:29.680 --> 00:27:32.957
anything, right? >> [snorts] >> I
read that, sorry to interrupt, but I

00:27:33.040 --> 00:27:35.997
read that you wrote in in lisp the your

00:27:36.080 --> 00:27:40.477
first uh versions of uh Lynette with
convolutional networks, which by the

00:27:40.560 --> 00:27:42.557
way, one of my favorite languages.

00:27:42.640 --> 00:27:46.877
>> That's how I knew you were legit.
Uh touring award, whatever. This what you

00:27:46.960 --> 00:27:50.557
programmed in Lisp. That's >> it's
still my favorite language. But

00:27:50.640 --> 00:27:53.597
>> it's not that we programmed in Lisp,
it's that we had to write a list

00:27:53.680 --> 00:27:58.317
interpreter. >> Okay? Because it's
not like we used one that existed. So

00:27:58.400 --> 00:28:02.797
>> we wrote a list interpreter that we
hooked up to you know a backend library

00:28:02.880 --> 00:28:07.117
that we wrote also for sort of neural
net computation. And then after a few

00:28:07.200 --> 00:28:12.317
years around 1991 we invented this idea
of uh basically having modules that know

00:28:12.400 --> 00:28:15.197
how to forward propagate and back
propagate gradients and then

00:28:15.280 --> 00:28:17.037
interconnecting those modules in a

00:28:17.120 --> 00:28:22.637
graph. [snorts] Leotu had made proposals
on this about this in the late 80s and

00:28:22.720 --> 00:28:26.557
we're able to implement this using
a list system. Eventually we wanted to use

00:28:26.640 --> 00:28:30.637
that system to make build
production code for character

00:28:30.720 --> 00:28:33.597
recognition at Bell Lab. So we
actually wrote a compiler for that list

00:28:33.680 --> 00:28:37.837
interpreter so that Patricy Mart who's
now Microsoft kind of did did the bulk

00:28:37.920 --> 00:28:40.557
of it with Leon and and me and uh and so

00:28:40.640 --> 00:28:45.037
we could write our system in list and
then compile to C and then we'll have a

00:28:45.120 --> 00:28:47.277
self-contained complete system that

00:28:47.360 --> 00:28:50.557
could kind of do the entire thing.

00:28:50.640 --> 00:28:55.277
Neither PyTorch nor transform can
do this today yet. Okay, it's coming.

00:28:55.360 --> 00:28:58.797
>> Yeah, >> I mean there's
something like that in

00:28:58.880 --> 00:29:01.757
PyTorch called you know to script

00:29:01.840 --> 00:29:03.757
>> and so you know we
had to write all this

00:29:03.840 --> 00:29:07.437
interpreter. to this compiler. where
to invest a huge amount of effort to do

00:29:07.520 --> 00:29:12.477
this and not everybody if if you don't
completely believe in the concept you're

00:29:12.560 --> 00:29:14.397
not going to invest
the time to do this right

00:29:14.480 --> 00:29:17.677
>> now at the time also you know or today

00:29:17.760 --> 00:29:21.517
>> this would turn into torture pietor
torture tensorflow or whatever we put it

00:29:21.600 --> 00:29:22.957
in open source everybody would use it

00:29:23.040 --> 00:29:25.597
and you know realize it's good back

00:29:25.680 --> 00:29:28.957
before 1995 working at AT&T there's no

00:29:29.040 --> 00:29:31.357
way the lawyers would let you release

00:29:31.440 --> 00:29:36.477
anything in open source of this nature
And so we could not distribute our code

00:29:36.560 --> 00:29:39.997
really. >> And on that point
and sorry to go on a

00:29:40.080 --> 00:29:42.237
million tangents but on that point I

00:29:42.320 --> 00:29:47.837
also read that there was some almost
pat like a patent on convolution networks

00:29:47.920 --> 00:29:51.037
labs. >> [sighs and gasps] >> So that

00:29:51.120 --> 00:29:55.117
>> first of all I mean just >>
there's two actually [laughter]

00:29:55.200 --> 00:29:57.197
>> uh that ran out uh the that

00:29:57.280 --> 00:29:59.197
>> thankfully in 2007

00:29:59.280 --> 00:30:03.917
>> in 2007 I what

00:30:04.000 --> 00:30:07.357
can we can we just talk about that for I
know you're a Facebook but you're also

00:30:07.440 --> 00:30:09.917
at NYU and and

00:30:10.000 --> 00:30:12.877
what does it mean to patent ideas like

00:30:12.960 --> 00:30:14.397
these

00:30:14.480 --> 00:30:20.077
software ideas essentially or what
or mathematical ical ideas or what are

00:30:20.160 --> 00:30:22.877
they? >> Okay, so they're
not mathematical ideas.

00:30:22.960 --> 00:30:24.797
There are, you know, algorithms and

00:30:24.880 --> 00:30:27.917
there was a period where the US patent

00:30:28.000 --> 00:30:30.637
office would allow the patent of

00:30:30.720 --> 00:30:35.517
software as long as it was embodied.
Uh the Europeans are very different. They

00:30:35.600 --> 00:30:40.077
don't they don't quite accept that. They
have a different concept. But you know,

00:30:40.160 --> 00:30:43.677
I don't I no longer I mean I never
actually strongly believed in this, but

00:30:43.760 --> 00:30:45.117
I I don't believe in this kind of

00:30:45.200 --> 00:30:51.000
patent. Facebook basically doesn't
believe in this kind of patent.

00:30:51.280 --> 00:30:55.037
Google fights patents because they've been

00:30:55.120 --> 00:30:59.277
burned with Apple. And so now they do
this for defensive purpose. But usually

00:30:59.360 --> 00:31:02.157
they say we're not going
to sue you if you infringe.

00:31:02.240 --> 00:31:04.397
>> Facebook has a has a similar policy.

00:31:04.480 --> 00:31:08.077
They say, you know, we patent on certain
things for defensive purpose. We're not

00:31:08.160 --> 00:31:09.677
going to see you if you infringe unless

00:31:09.760 --> 00:31:15.117
you sue us. Um so the the industry does

00:31:15.200 --> 00:31:17.117
not believe in in patents. They're there

00:31:17.200 --> 00:31:22.557
because of you know the legal landscape
and and and various things but but I

00:31:22.640 --> 00:31:24.877
don't really believe in patents
for this kind of stuff.

00:31:24.960 --> 00:31:27.517
>> Okay. So that's that's
a great thing. So I I

00:31:27.600 --> 00:31:29.197
>> I'll tell you a worst
story actually. So

00:31:29.280 --> 00:31:33.517
what happens was the the first the first
patent about convolutional net was about

00:31:33.600 --> 00:31:35.997
kind of the early version
of convolutional net that didn't have

00:31:36.080 --> 00:31:40.717
separate pooling layers. It had
convolutional layers which tried more

00:31:40.800 --> 00:31:44.877
than one if you want right >>
and then there was a second one on

00:31:44.960 --> 00:31:46.877
convolutional nets with separate pooling

00:31:46.960 --> 00:31:50.077
layers uh train with back prop and they

00:31:50.160 --> 00:31:52.637
were filed filed in ' 89 and 1990

00:31:52.720 --> 00:31:57.757
something like this at the time the life
life of a patent was 17 years so here's

00:31:57.840 --> 00:32:01.757
what what happened over the next few
years is that we started developing um

00:32:01.840 --> 00:32:04.317
character recognition technology around

00:32:04.400 --> 00:32:09.277
conviction nets [snorts] and uh in 1994

00:32:09.360 --> 00:32:11.837
a check reading system was deployed in

00:32:11.920 --> 00:32:15.357
ATM machines. In 1995 it was for large

00:32:15.440 --> 00:32:20.637
check reading machines in back
offices etc. And those systems were

00:32:20.720 --> 00:32:24.237
developed by an engineering group that
we were collaborating with at AT&T and

00:32:24.320 --> 00:32:26.157
they were commercialized by NCR which at

00:32:26.240 --> 00:32:28.717
the time was a subsidiary of AT&T. Mhm.

00:32:28.800 --> 00:32:33.357
>> Now, AT&T split up in 1996,

00:32:33.440 --> 00:32:37.837
199 early 1996 and the lawyers just
looked at all the patents and they

00:32:37.920 --> 00:32:42.077
distributed the patents among
the various companies. They gave the the

00:32:42.160 --> 00:32:45.517
commercial net patent to NCR because
they were actually selling products that

00:32:45.600 --> 00:32:49.517
used it. But nobody at NCR had
any idea what a commercial net was.

00:32:49.600 --> 00:32:50.477
>> Yeah.

00:32:50.560 --> 00:32:55.037
>> Okay. So between 1996 and 2007,

00:32:55.120 --> 00:32:58.877
so there's a whole period until 2002
where I didn't actually work on machine

00:32:58.960 --> 00:33:02.957
learning or control it.
I resumed working on this around 2002

00:33:03.040 --> 00:33:07.037
and between 2002 and 2007 I was working
on them crossing my finger that nobody

00:33:07.120 --> 00:33:09.277
at NCR would notice and nobody noticed.

00:33:09.360 --> 00:33:12.157
>> Yeah. And I and I
hope that this kind of

00:33:12.240 --> 00:33:15.517
somewhat as you said lawyers aside

00:33:15.600 --> 00:33:18.797
relative openness of the community now

00:33:18.880 --> 00:33:21.277
will continue. It accelerates the entire

00:33:21.360 --> 00:33:24.957
progress of of the industry. And

00:33:25.040 --> 00:33:29.357
you know the problems that Facebook
and Google and others are

00:33:29.440 --> 00:33:34.237
facing today is not whether Facebook or
Google or Microsoft or IBM or whoever is

00:33:34.320 --> 00:33:37.357
ahead of the other. It's that we don't
have the technology to build the things

00:33:37.440 --> 00:33:40.717
we want to build. We want to build
intelligent virtual assistants that have

00:33:40.800 --> 00:33:44.557
common sense. We don't have monopoly on
good ideas for this. We don't believe we

00:33:44.640 --> 00:33:47.117
do. Maybe others do believe they do, but

00:33:47.200 --> 00:33:52.717
we don't. Okay. If a startup tells you
they have the secret to, you know, human

00:33:52.800 --> 00:33:54.077
level intelligence and common sense,

00:33:54.160 --> 00:33:56.477
don't believe them. They don't. And it's

00:33:56.560 --> 00:34:00.397
going to take the entire uh work of the

00:34:00.480 --> 00:34:04.717
world research community for a while
to get to the point where you can go off

00:34:04.800 --> 00:34:08.077
and in each of those companies kind of
start to build things on this. We're not

00:34:08.160 --> 00:34:09.037
there yet.

00:34:09.120 --> 00:34:11.117
>> Absolutely. And this this calls to the

00:34:11.200 --> 00:34:15.197
the gap between the space of ideas and

00:34:15.280 --> 00:34:19.757
the rigorous testing of those ideas
of practical application that you often

00:34:19.840 --> 00:34:24.157
speak to. You've uh written advice
saying don't get fooled by people who

00:34:24.240 --> 00:34:28.317
claim to have a solution to artificial
general intelligence who claim to have

00:34:28.400 --> 00:34:30.877
an AI system that work just like the

00:34:30.960 --> 00:34:32.637
human brain or who claim to have figured

00:34:32.720 --> 00:34:35.917
out how the brain works. Ask them what

00:34:36.000 --> 00:34:40.557
the error rate they get
on emnest or imageet. Yeah,

00:34:40.640 --> 00:34:42.637
>> this is a little dated
by the way [laughter]

00:34:42.720 --> 00:34:45.517
>> 2000 I mean five years who's counting

00:34:45.600 --> 00:34:47.997
okay but I think your opinion is still

00:34:48.080 --> 00:34:52.077
emnest and imageet uh yes maybe data

00:34:52.160 --> 00:34:54.077
there may be new benchmarks right but I

00:34:54.160 --> 00:34:56.797
think that philosophy is one you still

00:34:56.880 --> 00:35:00.397
and and somewhat hold that benchmarks

00:35:00.480 --> 00:35:04.077
and the practical testing the practical
application is where you really get to

00:35:04.160 --> 00:35:06.877
test the ideas >> well it may
not be completely practical

00:35:06.960 --> 00:35:10.557
like for examp you know it could be
a toy data set or but but it to be some

00:35:10.640 --> 00:35:15.197
sort of task that the community
as a whole has accepted as some sort of

00:35:15.280 --> 00:35:18.797
standard you know kind of benchmark if
you want it doesn't need to be real. So

00:35:18.880 --> 00:35:23.837
for example many years ago here at fair
um people you know chisen west on auto

00:35:23.920 --> 00:35:27.597
and board and a few others proposed
the the baby tasks which were kind of a a

00:35:27.680 --> 00:35:30.477
toy problem to test the ability of

00:35:30.560 --> 00:35:34.797
machines to reason actually to access
working memory and things like this and

00:35:34.880 --> 00:35:38.557
uh it was very useful even though it
wasn't a real task. amnest is kind of

00:35:38.640 --> 00:35:41.757
halfway a real task. Uh so you know toy

00:35:41.840 --> 00:35:46.157
problems can be very useful. It's just
that I was really struck by the fact

00:35:46.240 --> 00:35:49.997
that a lot of people particularly a lot
of people with money to invest would be

00:35:50.080 --> 00:35:54.717
fooled by people telling them oh we have
you know the algorithm of the cortex and

00:35:54.800 --> 00:35:56.557
you should give us 50 million.

00:35:56.640 --> 00:36:01.117
>> Yes. Absolutely.
So there's a lot of people who

00:36:01.200 --> 00:36:03.437
who try to take advantage of the hype

00:36:03.520 --> 00:36:05.917
for business reasons and so on. But let

00:36:06.000 --> 00:36:08.957
me sort of talk to this idea

00:36:09.040 --> 00:36:11.837
that sort of new ideas the ideas that

00:36:11.920 --> 00:36:16.877
push the field forward may not yet have
a benchmark or it may be very difficult

00:36:16.960 --> 00:36:19.597
to establish a benchmark.
>> I agree that's part of the process.

00:36:19.680 --> 00:36:21.117
Establishing benchmarks is part of the

00:36:21.200 --> 00:36:24.397
process. So what are your thoughts about

00:36:24.480 --> 00:36:27.437
so we have these benchmarks on around

00:36:27.520 --> 00:36:32.557
stuff we can do with images from
classification to captioning to just

00:36:32.640 --> 00:36:35.997
every kind of information you can pull
off from images and the surface level

00:36:36.080 --> 00:36:37.997
there's audio data sets there's some

00:36:38.080 --> 00:36:39.997
video

00:36:40.080 --> 00:36:45.037
what can we start natural language
what kind of stuff what kind of

00:36:45.120 --> 00:36:46.637
benchmarks do you see that start

00:36:46.720 --> 00:36:49.517
creeping on to more something like

00:36:49.600 --> 00:36:53.757
intelligence like reasoning like maybe

00:36:53.840 --> 00:36:58.637
you don't like the term but AGI
echoes of that kind of uh

00:36:58.720 --> 00:37:01.757
>> a lot of people are working
on interactive environments in which you

00:37:01.840 --> 00:37:04.397
can you can train and test uh

00:37:04.480 --> 00:37:06.637
intelligent systems so so there for

00:37:06.720 --> 00:37:10.477
example uh you know it's

00:37:10.560 --> 00:37:15.117
the classical paradigm of supervised
learning is that you you have a data set

00:37:15.200 --> 00:37:16.637
you partition it into a training set

00:37:16.720 --> 00:37:18.477
validation set test set and there's a

00:37:18.560 --> 00:37:22.237
clear protocol right but What if the

00:37:22.320 --> 00:37:26.477
that assumes that the samples are
stat statistically independent? You can

00:37:26.560 --> 00:37:29.277
exchange them. The order in which you
see them doesn't shouldn't matter. You

00:37:29.360 --> 00:37:33.917
know, things like that. But what if
the answer you give determines the next

00:37:34.000 --> 00:37:37.837
sample you see, which is the case
for example in robotics, right? You robot

00:37:37.920 --> 00:37:41.997
does something and then it gets exposed
to a new room and depending on where it

00:37:42.080 --> 00:37:45.037
goes, the room will be different.
So that's the that creates the exploration

00:37:45.120 --> 00:37:47.277
problem. >> Mhm.

00:37:47.360 --> 00:37:50.717
the what if the samples. So that creates

00:37:50.800 --> 00:37:55.197
also a dependency between samples,
right? You you if you move if you can

00:37:55.280 --> 00:37:58.637
only move in in space, the next sample
you're going to see is going to be

00:37:58.720 --> 00:38:03.517
probably in the same building most
likely, right? So so the all the

00:38:03.600 --> 00:38:08.877
assumptions about the validity of this
training set test set hypothesis break

00:38:08.960 --> 00:38:11.757
>> whenever a machine can take an action
that has an influence in the in the

00:38:11.840 --> 00:38:13.437
world and it's what it's going to see.

00:38:13.520 --> 00:38:16.157
So people are setting up artificial

00:38:16.240 --> 00:38:18.717
uh environments where where that takes

00:38:18.800 --> 00:38:22.077
place, right? The robot runs around a 3D

00:38:22.160 --> 00:38:26.237
model of a house and can interact with
objects and things like this. So you do

00:38:26.320 --> 00:38:28.237
robotics by simulation. You have those,

00:38:28.320 --> 00:38:33.357
you know, open eye gym
type thing or muoko kind of

00:38:33.440 --> 00:38:37.197
simulated uh robots and you
have games, you know,

00:38:37.280 --> 00:38:40.877
things like that. Um so that that's
where the field is going really. um this

00:38:40.960 --> 00:38:43.837
kind of environment. [snorts] Now back

00:38:43.920 --> 00:38:48.397
to the question of AGI like
I don't like the term AGI

00:38:48.480 --> 00:38:52.717
because it implies that human
intelligence is general

00:38:52.800 --> 00:38:58.077
>> and human intelligence is nothing like
general. It's very very specialized. We

00:38:58.160 --> 00:39:00.397
think it's general. We like to think
of ourselves as having general

00:39:00.480 --> 00:39:03.117
intelligence. We don't.
We're very specialized.

00:39:03.200 --> 00:39:04.637
>> We're only slightly more general than

00:39:04.720 --> 00:39:07.197
>> Why does it feel general?
So you kind of

00:39:07.280 --> 00:39:10.397
uh the term general. I think what's

00:39:10.480 --> 00:39:11.997
impressive about humans is this ability

00:39:12.080 --> 00:39:14.397
to learn as we were talking about

00:39:14.480 --> 00:39:17.517
learning to learn in just so many

00:39:17.600 --> 00:39:22.397
different domains. It's perhaps not
arbitrarily general but just you can

00:39:22.480 --> 00:39:26.397
learn in many domains and integrate that
knowledge somehow. Okay. The knowledge

00:39:26.480 --> 00:39:28.877
persists. >> So let me take
a very specific example.

00:39:28.960 --> 00:39:32.237
>> Yes, >> it's not an example.
It's more like a a

00:39:32.320 --> 00:39:36.077
quasi mathematical demonstration. So you
have about 1 million fibers coming out

00:39:36.160 --> 00:39:39.597
of one of your eyes. Okay. 2 million
total. But let's let's talk about just

00:39:39.680 --> 00:39:44.237
one of them. >> It's 1 million
nerve fibers. Your optical nerve.

00:39:44.320 --> 00:39:47.837
>> Let's imagine that they are binary.
So they can be active or inactive, right?

00:39:47.920 --> 00:39:51.437
So the input to your visual
cortex is 1 million bits.

00:39:51.520 --> 00:39:53.997
>> Mhm.

00:39:54.080 --> 00:39:58.477
>> Now they connected to your brain
in a particular way. And your brain has

00:39:58.560 --> 00:40:01.597
connections that are kind of a little
bit like a conversion net. They're kind

00:40:01.680 --> 00:40:05.037
of local uh you know
in space and things like this.

00:40:05.120 --> 00:40:07.997
>> Now imagine I play a trick on you.

00:40:08.080 --> 00:40:12.637
It's a pretty nasty trick, I admit.
I uh I cut your optical nerve

00:40:12.720 --> 00:40:14.877
>> and I put a device that makes a random

00:40:14.960 --> 00:40:17.597
perturbation of a permutation of all the

00:40:17.680 --> 00:40:20.717
nerve fibers. So now what comes to your

00:40:20.800 --> 00:40:24.957
to your brain is a fixed but random
permutation of all the pixels.

00:40:25.040 --> 00:40:27.757
>> Mhm. >> There's no way
in hell that your visual

00:40:27.840 --> 00:40:30.557
cortex, even if I do this to you in

00:40:30.640 --> 00:40:33.757
infancy, will actually learn vision to

00:40:33.840 --> 00:40:37.117
the same level of quality that you can.

00:40:37.200 --> 00:40:39.917
>> Got it. And you're saying
there's no way you relearn that.

00:40:40.000 --> 00:40:44.157
>> No, because now two pixels that are
nearby in the world will end up in very

00:40:44.240 --> 00:40:47.997
different places in your visual
cortex and your neurons there have no

00:40:48.080 --> 00:40:50.557
connections with each other
because they only connected locally.

00:40:50.640 --> 00:40:55.597
>> So this whole our entire the hardware
is built in many ways to support

00:40:55.680 --> 00:40:57.037
>> the locality of the real world.

00:40:57.120 --> 00:40:59.677
>> Yeah. >> Yes. That's specialization.

00:40:59.760 --> 00:41:02.557
>> Yeah. But it's still pretty
damn impressive. So it's not perfect

00:41:02.640 --> 00:41:04.237
generalization. It's not even close.

00:41:04.320 --> 00:41:08.237
>> No. No. It's it's it's it's not
that it's not even close. It's not at all.

00:41:08.320 --> 00:41:11.757
>> It's not specialized.
>> So how many boolean functions? So let's

00:41:11.840 --> 00:41:14.477
imagine you want to train your visual

00:41:14.560 --> 00:41:17.757
system to uh you know recognize

00:41:17.840 --> 00:41:22.077
particular patterns of those 1
million bits. Okay. So that's a boolean

00:41:22.160 --> 00:41:25.437
function, right? Either the pattern
is here or not here. This a two two-way

00:41:25.520 --> 00:41:30.717
classification with 1
million binary inputs.

00:41:30.800 --> 00:41:33.437
How many such boolean functions are there?

00:41:33.520 --> 00:41:35.597
Okay, you have you have two to the 1

00:41:35.680 --> 00:41:38.717
million combinations of inputs. For each

00:41:38.800 --> 00:41:41.437
of those, you have an output bit and so

00:41:41.520 --> 00:41:44.717
you have two to the two to the 1 million

00:41:44.800 --> 00:41:47.117
boolean functions of this type. Okay,

00:41:47.200 --> 00:41:50.157
which is an unimaginably large number.

00:41:50.240 --> 00:41:52.157
How many of those functions can actually

00:41:52.240 --> 00:41:54.477
be computed by your visual cortex? And

00:41:54.560 --> 00:41:59.837
the answer is a tiny tiny tiny tiny
tiny tiny sliver. Like an enormously tiny

00:41:59.920 --> 00:42:05.357
sliver. >> Yeah. Yeah. So,
we are ridiculously specialized,

00:42:05.440 --> 00:42:08.557
you know. Okay. >> But, [laughter]

00:42:08.640 --> 00:42:10.637
okay, that's an argument against the

00:42:10.720 --> 00:42:12.877
word general. I think there there's a

00:42:12.960 --> 00:42:16.237
>> I I there's I agree
with your intuition,

00:42:16.320 --> 00:42:19.117
but I'm not sure it's it seems the bre

00:42:19.200 --> 00:42:23.757
the the brain is impressively

00:42:23.840 --> 00:42:26.637
uh capable of adjusting to things. So

00:42:26.720 --> 00:42:31.677
>> it's because we can't imagine
tasks that are outside of our

00:42:31.760 --> 00:42:34.717
comprehension, >> right?
So we think we think we're

00:42:34.800 --> 00:42:37.357
general because we're general of all
the things that we can apprehend.

00:42:37.440 --> 00:42:40.237
>> So yeah, >> but there
is a huge world out there of

00:42:40.320 --> 00:42:43.917
things that we have no idea.
We call that heat, by the way.

00:42:44.000 --> 00:42:47.437
>> Heat. >> Heat.
So uh at least physicists call

00:42:47.520 --> 00:42:50.477
that heat or they call it entropy which is

00:42:50.560 --> 00:42:53.517
>> you know you have a

00:42:53.600 --> 00:42:56.477
thing full of gas right

00:42:56.560 --> 00:42:57.997
>> closed system full of gas

00:42:58.080 --> 00:43:01.517
>> right closed or no closed it has uh you

00:43:01.600 --> 00:43:05.517
know pressure it has uh temperature it

00:43:05.600 --> 00:43:08.877
has you know and you can write equations

00:43:08.960 --> 00:43:12.557
PV equivalent on T you know
things like that right [snorts]

00:43:12.640 --> 00:43:15.517
when you reduce a volume the temperature
goes up the pressure goes up, you know,

00:43:15.600 --> 00:43:19.917
things like that, right? Uh for a
perfect gas at least, those are the

00:43:20.000 --> 00:43:24.237
things you can know about that system
and it's a tiny tiny number of bits

00:43:24.320 --> 00:43:28.237
compared to the complete information
of the state of the entire system because

00:43:28.320 --> 00:43:29.677
the state of the entire system will give

00:43:29.760 --> 00:43:31.997
you the position and momentum of every

00:43:32.080 --> 00:43:35.517
every molecule of the gas.

00:43:35.600 --> 00:43:37.517
And what you don't know about it is the

00:43:37.600 --> 00:43:41.117
entropy and you interpret it as heat.

00:43:41.200 --> 00:43:44.237
the energy contained in that thing is is

00:43:44.320 --> 00:43:46.877
what we call heat. Now,

00:43:46.960 --> 00:43:51.357
it's very possible that in fact there
is some very strong structure in how those

00:43:51.440 --> 00:43:55.277
molecules are moving. It's just that
they are in a way that we're just not

00:43:55.360 --> 00:43:59.037
wired to perceive. >> Yeah,
we're ignorant to it and there's

00:43:59.120 --> 00:44:02.637
in near infinite amount of things
we're not wired to perceive.

00:44:02.720 --> 00:44:03.917
>> And you're right,
that's a that's a nice

00:44:04.000 --> 00:44:05.677
way to put it. We're general to all the

00:44:05.760 --> 00:44:11.037
things we can imagine which
is a very tiny subset of all

00:44:11.120 --> 00:44:13.517
things that are possible.
>> So it's like chromograph complexity or

00:44:13.600 --> 00:44:16.877
the chromograph chhattin of complexity.

00:44:16.960 --> 00:44:19.437
>> Yeah. >> You know every

00:44:19.520 --> 00:44:22.717
bit string or every integer is random

00:44:22.800 --> 00:44:27.900
except for all the ones that you
can actually write down. [laughter]

00:44:28.800 --> 00:44:31.997
>> Yeah. Okay. So beautifully put but you
know so we can just call it artificial

00:44:32.080 --> 00:44:35.117
intelligence. We don't
need to have a general

00:44:35.200 --> 00:44:37.997
>> or human level human
level intelligence is

00:44:38.080 --> 00:44:41.117
>> you know you you'll start anytime you

00:44:41.200 --> 00:44:43.757
touch human it gets it gets interesting

00:44:43.840 --> 00:44:46.097
because um

00:44:46.180 --> 00:44:50.877
[snorts] uh you know it's it's because
we attach ourselves to human and it's

00:44:50.960 --> 00:44:53.197
difficult to define what
human intelligence is.

00:44:53.280 --> 00:44:54.397
>> Yeah.

00:44:54.480 --> 00:44:57.117
>> Nevertheless, my definition is uh maybe

00:44:57.200 --> 00:45:01.037
uh demo impressive intelligence. Okay.

00:45:01.120 --> 00:45:02.557
Damn impressive demonstration of

00:45:02.640 --> 00:45:04.957
intelligence whatever and so on that

00:45:05.040 --> 00:45:08.557
topic most successes in deep learning

00:45:08.640 --> 00:45:11.037
have been in supervised learning.

00:45:11.120 --> 00:45:14.637
>> What is your view on unsupervised

00:45:14.720 --> 00:45:17.757
learning? Is there hope to reduce

00:45:17.840 --> 00:45:20.877
involvement of human input and still

00:45:20.960 --> 00:45:25.437
have uh successful systems
that are have practical use?

00:45:25.520 --> 00:45:26.877
>> Yeah, I mean there's definitely a hope.

00:45:26.960 --> 00:45:28.397
It's it's more than a hope actually.

00:45:28.480 --> 00:45:33.277
it's uh it's you know mounting evidence
for it and that's basically all I do

00:45:33.360 --> 00:45:37.357
like the only thing I'm interested in at
the moment is I call it self-supervised

00:45:37.440 --> 00:45:40.717
learning not unsupervised because
unsupervised learning is is a loaded

00:45:40.800 --> 00:45:44.637
term people who know
something about machine

00:45:44.720 --> 00:45:47.837
learning you know tell you so
you're doing clustering or PCA

00:45:47.920 --> 00:45:49.997
>> which is not the case and the
wide public you know when you say

00:45:50.080 --> 00:45:52.397
unsupervised learning oh my god you
know machines are going to learn by

00:45:52.480 --> 00:45:56.477
themselves and without supervision
you know they see this as

00:45:56.560 --> 00:46:00.237
>> where's where's the parents Yeah.
So, so I call it self-supervised learning

00:46:00.320 --> 00:46:03.917
because in fact the underlying
algorithms that are used are the same

00:46:04.000 --> 00:46:08.637
algorithms as the supervised learning
algorithms. Um, except that what we

00:46:08.720 --> 00:46:10.637
train them to do is not predict a

00:46:10.720 --> 00:46:13.277
particular set of variables like the

00:46:13.360 --> 00:46:17.597
category of of an image

00:46:17.680 --> 00:46:20.957
and and not to predict a set
of variables that have been provided by

00:46:21.040 --> 00:46:24.237
human labelers. But what you train the

00:46:24.320 --> 00:46:26.637
machine to do is basically reconstruct a

00:46:26.720 --> 00:46:29.437
piece of its input that it's being

00:46:29.520 --> 00:46:31.357
is being maxed maxed out essentially.

00:46:31.440 --> 00:46:36.157
You can think of it this way, right?
So show a piece of video to a machine and

00:46:36.240 --> 00:46:39.597
ask it to predict what's going to happen
next. And of course after a while you

00:46:39.680 --> 00:46:43.677
can show what what happens and the
machine will kind of train itself to do

00:46:43.760 --> 00:46:48.477
better at that task.
You can do like all the latest most

00:46:48.560 --> 00:46:53.277
successful models in natural language
processing use self-supervised learning.

00:46:53.360 --> 00:46:55.197
you know, sort of BERT style systems,

00:46:55.280 --> 00:46:56.877
for example, right? You show it a window

00:46:56.960 --> 00:47:00.797
of a thousand words on a test corpus.

00:47:00.880 --> 00:47:03.757
You take out 15% of the words and then

00:47:03.840 --> 00:47:08.477
you train a machine to predict
the words that are missing.

00:47:08.560 --> 00:47:11.597
>> That's self-supervised learning.
It's not predicting the future. It's just,

00:47:11.680 --> 00:47:14.557
you know, predicting things in the middle,
but you could have it predict

00:47:14.640 --> 00:47:16.717
the future.
That's what language models do.

00:47:16.800 --> 00:47:18.797
>> So, you construct,
so in an unsupervised

00:47:18.880 --> 00:47:21.277
way, you construct a model of language.

00:47:21.360 --> 00:47:25.437
Do you think >> or video
or the physical world or

00:47:25.520 --> 00:47:29.757
whatever? Right. >> How far
do you think that can take us?

00:47:29.840 --> 00:47:31.837
Do you think >> art

00:47:31.920 --> 00:47:35.117
>> understands anything?

00:47:35.200 --> 00:47:37.597
>> To some level it has you know a shallow

00:47:37.680 --> 00:47:41.117
understanding of uh of text but it needs

00:47:41.200 --> 00:47:44.637
to I mean to have kind of true human
level intelligence I think you need to

00:47:44.720 --> 00:47:47.357
ground language in reality. So some

00:47:47.440 --> 00:47:51.757
people are attempting to do this right
having systems that kind of have some

00:47:51.840 --> 00:47:55.437
visual representation of what what
is being talked about which is one reason

00:47:55.520 --> 00:47:57.117
you need those interactive environments

00:47:57.200 --> 00:47:59.757
actually but this is like a huge

00:47:59.840 --> 00:48:04.877
technical problem that is not solved
and that explains why self-supervised

00:48:04.960 --> 00:48:08.077
learning works in the context of natural
language but does not work in the

00:48:08.160 --> 00:48:12.477
context or at least not well in the
context of image recognition and video

00:48:12.560 --> 00:48:17.117
although it's making progress quickly
and [snorts] the reason that reason is

00:48:17.200 --> 00:48:20.397
the fact that it's
much easier to represent

00:48:20.480 --> 00:48:24.477
uncertainty in the prediction in a
context of natural language than it is

00:48:24.560 --> 00:48:27.277
in the context of things
like video and images.

00:48:27.360 --> 00:48:30.077
>> So for example, if I ask you to predict

00:48:30.160 --> 00:48:34.797
what words are missing, you know,
15% of the words that are taken out,

00:48:34.880 --> 00:48:38.237
>> the possibilities are small. That means
>> it's small, right? There is 100,000

00:48:38.320 --> 00:48:41.277
words in the in the lexicon and what the

00:48:41.360 --> 00:48:46.077
machine spits out is a a big probability
vector, right? It's a bunch of numbers

00:48:46.160 --> 00:48:49.757
between 0 and one that's some to one
and we know how to do how to do this with

00:48:49.840 --> 00:48:53.677
computers. [snorts] So there
representing uncertainty in the

00:48:53.760 --> 00:48:55.597
prediction is relatively easy and that's

00:48:55.680 --> 00:48:58.397
in my opinion why those techniques work

00:48:58.480 --> 00:49:02.877
for NLP for images if you ask if you

00:49:02.960 --> 00:49:06.077
block a piece of an image and you ask
a system reconstruct that piece of the

00:49:06.160 --> 00:49:08.877
image there are many possible answers

00:49:08.960 --> 00:49:12.717
that are all perfectly legit right and

00:49:12.800 --> 00:49:16.957
how do you represent that this set
of possible answers you you can't train a

00:49:17.040 --> 00:49:20.317
system to make one prediction you can't
train a neural net to say here it is

00:49:20.400 --> 00:49:23.357
that's the image because
it's there's a whole set of

00:49:23.440 --> 00:49:25.917
things that are compatible with it.
So how do you get the machine to represent

00:49:26.000 --> 00:49:27.597
not a single output but a whole set of

00:49:27.680 --> 00:49:30.237
outputs

00:49:30.320 --> 00:49:33.277
and you know similarly with uh video

00:49:33.360 --> 00:49:37.277
prediction there's a lot of things
that can happen in the future of a video

00:49:37.360 --> 00:49:40.717
you're looking at me right now I'm not
moving my head very much but you know I

00:49:40.800 --> 00:49:43.997
might you know turn my my head
to the left or to the right >> right

00:49:44.080 --> 00:49:47.437
>> if you don't have
a system that can predict this

00:49:47.520 --> 00:49:50.557
>> and you train it with le square
to kind of minimize the error with the

00:49:50.640 --> 00:49:54.077
prediction and what I'm doing what you
get is a blurry image of myself right

00:49:54.160 --> 00:49:57.437
>> in all possible future positions
that I might be in which is not a good

00:49:57.520 --> 00:49:59.837
prediction. But so there might be other

00:49:59.920 --> 00:50:02.797
ways to do the self-supervision, right,

00:50:02.880 --> 00:50:06.877
for visual scenes.
>> Like what? [laughter]

00:50:06.960 --> 00:50:09.117
>> If I to I mean if
I knew I wouldn't tell

00:50:09.200 --> 00:50:12.637
you I publish it first. I don't know. I

00:50:12.720 --> 00:50:17.597
>> No, there might be. [laughter] >>
So I mean these are kind of uh there

00:50:17.680 --> 00:50:20.877
might be artificial ways of like
selfplay in games to where you can

00:50:20.960 --> 00:50:22.877
simulate part of the environment. You can

00:50:22.960 --> 00:50:24.157
>> Oh, that doesn't
solve the problem. It's

00:50:24.240 --> 00:50:27.677
just a way of generating data.

00:50:27.760 --> 00:50:32.317
But because you have more of a control
mean you can control. Yeah. It's a way

00:50:32.400 --> 00:50:36.157
to generate data. That's right. And
because you can do huge amounts of data

00:50:36.240 --> 00:50:38.477
generation that doesn't you're right.

00:50:38.560 --> 00:50:43.517
This well it's it's a creeps up on the
problem from the side of data and you

00:50:43.600 --> 00:50:44.957
don't think that's
the right way to creep up.

00:50:45.040 --> 00:50:47.837
>> It doesn't solve this problem
of handling uncertainty in the world.

00:50:47.920 --> 00:50:51.037
Right. So if you if you have a machine

00:50:51.120 --> 00:50:55.757
learn a predictive model of the world
in a game that is deterministic or quasi

00:50:55.840 --> 00:50:57.517
deterministic

00:50:57.600 --> 00:51:00.637
uh it's easy right just you know give a

00:51:00.720 --> 00:51:05.117
few frames of the game to a connet put
a bunch of layers and then have the game

00:51:05.200 --> 00:51:06.877
generates the next few frames

00:51:06.960 --> 00:51:09.117
>> and and if the game is deterministic it

00:51:09.200 --> 00:51:13.197
works fine. Um, and that includes, you

00:51:13.280 --> 00:51:18.397
know, feeding the system with the action
that your little character is is going

00:51:18.480 --> 00:51:23.277
to take the problem comes
from the fact that the

00:51:23.360 --> 00:51:27.197
real world and certain most games are
not entirely predictable. And so there

00:51:27.280 --> 00:51:31.357
you get those blurry predictions and you
can't do planning with blurry predictions.

00:51:31.440 --> 00:51:33.117
Right? So if you have a perfect model of

00:51:33.200 --> 00:51:37.117
the world, you can in your head run this

00:51:37.200 --> 00:51:42.157
model with a hypothesis for a sequence
of actions. Are you going to predict the

00:51:42.240 --> 00:51:43.997
outcome of that sequence of actions?

00:51:44.080 --> 00:51:48.397
>> Mhm. But if your model is imperfect,

00:51:48.480 --> 00:51:51.917
how can you plan? >> Yeah.
It quickly explodes.

00:51:52.000 --> 00:51:56.477
What are your thoughts on the extension
of this which topic I'm super excited

00:51:56.560 --> 00:51:59.917
about? It's connected to something you
were talking about in terms of robotics

00:52:00.000 --> 00:52:02.797
is active learning. So as opposed to

00:52:02.880 --> 00:52:05.437
sort of unsup completely unsupervised or

00:52:05.520 --> 00:52:08.237
self-supervised learning,

00:52:08.320 --> 00:52:11.997
you ask the system for human help for

00:52:12.080 --> 00:52:14.637
for selecting parts you want annotated

00:52:14.720 --> 00:52:16.637
next. So if you think about a robot

00:52:16.720 --> 00:52:19.037
exploring a space or a baby exploring a

00:52:19.120 --> 00:52:24.397
space or a system exploring a data set
every once in a while asking for human

00:52:24.480 --> 00:52:25.197
input,

00:52:25.280 --> 00:52:29.277
>> do you see value in that kind of work?

00:52:29.360 --> 00:52:33.277
>> I don't see transformative value.
It it's going to make things that we can

00:52:33.360 --> 00:52:36.717
already do >> more
efficient or they will learn

00:52:36.800 --> 00:52:39.597
slightly more efficiently, but it's
not going to make machines sort of

00:52:39.680 --> 00:52:42.297
significantly more intelligent, I think.

00:52:42.380 --> 00:52:42.557
>> [snorts]

00:52:42.640 --> 00:52:45.517
>> And I and and by the way there is no

00:52:45.600 --> 00:52:50.237
opposition there's no um uh conflict

00:52:50.320 --> 00:52:52.957
between self-supervised learning
reinforcement learning and supervised

00:52:53.040 --> 00:52:56.157
learning or imitation
learning or active learning.

00:52:56.240 --> 00:52:58.877
>> I see self-supervised
learning as a as a

00:52:58.960 --> 00:53:01.037
preliminary to all of the above.

00:53:01.120 --> 00:53:03.677
>> Yes. So

00:53:03.760 --> 00:53:05.677
the example I use very often is how is

00:53:05.760 --> 00:53:10.077
it that so if you use

00:53:10.160 --> 00:53:11.917
classical reinforcement learning deep

00:53:12.000 --> 00:53:14.717
reinforcement learning if you want

00:53:14.800 --> 00:53:18.477
the best methods today

00:53:18.560 --> 00:53:23.037
soal model free reinforcement learning
to learn to play Atari games uh take

00:53:23.120 --> 00:53:26.317
about 80 hours of training to reach the
level that any human can reach in about

00:53:26.400 --> 00:53:28.477
15 minutes. Mhm.

00:53:28.560 --> 00:53:31.037
>> Um they get better than humans, but it

00:53:31.120 --> 00:53:34.477
takes them a long time.

00:53:34.560 --> 00:53:38.477
Alpha star. Okay. the, you know, Oreo

00:53:38.560 --> 00:53:41.437
vin and and his teams the system to play

00:53:41.520 --> 00:53:45.197
um to um to play Starcraft

00:53:45.280 --> 00:53:48.557
plays, you know, a single map, a single

00:53:48.640 --> 00:53:51.677
type of uh player

00:53:51.760 --> 00:53:54.157
and can reach

00:53:54.240 --> 00:53:57.197
better than human level with about the

00:53:57.280 --> 00:54:00.477
equivalent of 200 years of training

00:54:00.560 --> 00:54:05.117
playing against itself. It's 200 years,
right? It's not something that no no

00:54:05.200 --> 00:54:08.557
human can could ever do. >> I mean,
I'm not sure what lesson to take

00:54:08.640 --> 00:54:12.077
away from that. >> Okay.
Now, take those algorithms, the

00:54:12.160 --> 00:54:15.037
best RL algorithms we have today. To

00:54:15.120 --> 00:54:19.917
train a a car to drive itself, >> it
would probably have to drive millions

00:54:20.000 --> 00:54:23.757
of hours. It will have to kill thousands
of pedestrians. It will have to run into

00:54:23.840 --> 00:54:26.157
thousands of trees.
It will have to run off cliffs.

00:54:26.240 --> 00:54:28.557
>> Yeah. >> And it had
to run the cliff multiple

00:54:28.640 --> 00:54:32.317
times before it figures out that it's
a bad idea, first of all. Yeah.

00:54:32.400 --> 00:54:33.917
>> And second of all,
before it figures out

00:54:34.000 --> 00:54:38.877
how not to do it and so I mean this type
of learning obviously does not reflect

00:54:38.960 --> 00:54:42.477
the kind of learning that animals
and humans do. There is something missing

00:54:42.560 --> 00:54:44.557
that's really really important there.

00:54:44.640 --> 00:54:48.877
And my hypothesis which I've been
advocating for like five years now is

00:54:48.960 --> 00:54:53.037
that we have predictive
models of the world

00:54:53.120 --> 00:54:57.677
that include the ability to predict
under uncertainty. [snorts] And what

00:54:57.760 --> 00:55:02.477
allows us to not run off
a cliff when we learn to

00:55:02.560 --> 00:55:06.077
drive, most of us can learn to drive in
about 20 or 30 hours of training without

00:55:06.160 --> 00:55:09.277
ever crashing, causing any accident. And

00:55:09.360 --> 00:55:13.437
if we drive next to a cliff, we know
that if we turn the wheel to the right,

00:55:13.520 --> 00:55:16.797
the car is going to run off the cliff
and nothing good is going to come out of

00:55:16.880 --> 00:55:19.437
this because we have a pretty good model
of intuitive physics that tells us, you

00:55:19.520 --> 00:55:23.037
know, the car is going to fall. We know
we know about gravity. Babies learned

00:55:23.120 --> 00:55:24.637
this around the age of eight or nine

00:55:24.720 --> 00:55:27.357
months that objects don't float, they

00:55:27.440 --> 00:55:32.077
they fall. Um, and you know, we have
a pretty good idea of the effect of

00:55:32.160 --> 00:55:34.957
turning the wheel on the car and you
know, we know we need to stay on the

00:55:35.040 --> 00:55:38.077
road. So, there's a lot of things
that we bring to the table, which is

00:55:38.160 --> 00:55:39.437
basically our predictive model of the

00:55:39.520 --> 00:55:42.477
world. [snorts] And that model allows us

00:55:42.560 --> 00:55:45.117
to not do stupid things and to basically

00:55:45.200 --> 00:55:49.597
stay within the context of uh things
we need to do. we still face, you know,

00:55:49.680 --> 00:55:53.837
unpredictable situations and that's how
we learn. But that allows us to learn

00:55:53.920 --> 00:55:57.597
really, really, really quickly.
So that's called model based reinforcement

00:55:57.680 --> 00:56:01.117
learning. There's some
imitation and supervised

00:56:01.200 --> 00:56:04.397
learning because we have a driving
instructor that tells us occasionally

00:56:04.480 --> 00:56:10.157
what to do. Uh but most of the learning >>
is model based >> is learning the model.

00:56:10.240 --> 00:56:12.637
>> Yeah. >> Learning
physics that we've done since

00:56:12.720 --> 00:56:15.357
we were babies. That's where
all almost all the learning

00:56:15.440 --> 00:56:17.277
>> and the physics
is somewhat transferable

00:56:17.360 --> 00:56:21.917
from is transferable from scene to scene.
Stupid things are the same

00:56:22.000 --> 00:56:25.197
everywhere. >> Yeah.
I mean if you you know you have an

00:56:25.280 --> 00:56:29.037
experience of the world you don't need
to be a particularly from a particularly

00:56:29.120 --> 00:56:31.517
intelligent species to know that if you

00:56:31.600 --> 00:56:34.877
spill water from a container the you

00:56:34.960 --> 00:56:37.197
know the the rest is going to get wet.

00:56:37.280 --> 00:56:40.397
You might get wet. Um so you know cats

00:56:40.480 --> 00:56:44.317
know this right? Yeah.
>> So the main problem we need to solve is

00:56:44.400 --> 00:56:47.117
how do we learn models of the world?

00:56:47.200 --> 00:56:48.397
That's and that's what I'm interested.

00:56:48.480 --> 00:56:51.197
That's what self-supervised
learning is all about.

00:56:51.280 --> 00:56:52.877
>> If you were to try to construct a

00:56:52.960 --> 00:56:56.477
benchmark for um

00:56:56.560 --> 00:56:58.877
let's let's look at emnest. I love that

00:56:58.960 --> 00:57:02.077
data set. But if do you think it's

00:57:02.160 --> 00:57:06.957
useful interesting slash possible to uh

00:57:07.040 --> 00:57:11.117
perform well on emnest with just
one example of each digit?

00:57:11.200 --> 00:57:15.597
And how would we solve that problem?

00:57:15.680 --> 00:57:17.037
>> The answer is probably yes.
The question

00:57:17.120 --> 00:57:21.277
is what other type of learning are you
allowed to do? So if what you're allowed

00:57:21.360 --> 00:57:25.117
to do is train on some gigantic data set
of labeled digit, that's called transfer

00:57:25.200 --> 00:57:28.317
learning. >> And we know that works. Okay.

00:57:28.400 --> 00:57:32.397
>> Uh we do this at Facebook like
in production, right? We we train large

00:57:32.480 --> 00:57:35.517
convolutional nest to predict hashtags
that people type on Instagram and we

00:57:35.600 --> 00:57:39.597
train on billions of images, literally
billions. And uh and then we chop off

00:57:39.680 --> 00:57:43.437
the last layer and fine-tune on whatever
task we want. That works really well.

00:57:43.520 --> 00:57:47.117
You can beat you know the imageet record
with this. We actually open source the

00:57:47.200 --> 00:57:48.957
whole thing like a few weeks ago.

00:57:49.040 --> 00:57:50.557
>> Yeah, that's that's still pretty cool.

00:57:50.640 --> 00:57:54.717
But yeah, so what in what would
be impressive and what's useful and

00:57:54.800 --> 00:57:57.437
impressive? What kind of transfer
learning would be useful and impressive?

00:57:57.520 --> 00:58:00.637
Is it Wikipedia? That kind of thing?

00:58:00.720 --> 00:58:04.157
>> I don't think transfer learning
is really where we should focus. We should

00:58:04.240 --> 00:58:07.037
try to do

00:58:07.120 --> 00:58:08.877
you know have a kind of scenario for a

00:58:08.960 --> 00:58:13.037
benchmark where you have unlabelled data

00:58:13.120 --> 00:58:15.597
and you can and it's very large number

00:58:15.680 --> 00:58:18.237
of unlabelled data. Uh it could be video

00:58:18.320 --> 00:58:21.357
clips, it could be where you do you know

00:58:21.440 --> 00:58:23.197
frame prediction, it could be images

00:58:23.280 --> 00:58:28.397
where you could choose
to you know mask a piece of it

00:58:28.480 --> 00:58:30.157
could be whatever but they're unlabeled

00:58:30.240 --> 00:58:32.877
and you're not allowed to label them.

00:58:32.960 --> 00:58:37.517
So you do some training on this and then

00:58:37.600 --> 00:58:41.517
you train on a particular supervised

00:58:41.600 --> 00:58:45.277
task imageet or nest and you measure how

00:58:45.360 --> 00:58:48.797
your test error decreases
or validation error

00:58:48.880 --> 00:58:51.837
decreases as you increase
the number of label training samples.

00:58:51.920 --> 00:58:55.757
>> Mhm. >> Okay. And

00:58:55.840 --> 00:58:58.477
and what what you'd like to see is is

00:58:58.560 --> 00:59:01.357
that you know your your error decreases

00:59:01.440 --> 00:59:05.677
much faster than if you train
from scratch from random weights.

00:59:05.760 --> 00:59:09.197
So that to reach the same level of
performance that a completely supervised

00:59:09.280 --> 00:59:13.757
uh purely supervised system would reach
you would need way fewer samples. So

00:59:13.840 --> 00:59:17.357
that's the crucial question because
it will answer the question to like you

00:59:17.440 --> 00:59:19.197
know people interested in medical image

00:59:19.280 --> 00:59:21.037
analysis. Okay, you know, if I want to

00:59:21.120 --> 00:59:24.637
get to a particular uh level of uh of

00:59:24.720 --> 00:59:27.197
error rate for this task, I know I need

00:59:27.280 --> 00:59:31.197
um a million samples, can I do, you

00:59:31.280 --> 00:59:34.797
know, self-supervised pre-training
to reduce this to about 100 or something?

00:59:34.880 --> 00:59:37.997
>> And you think the answer there
is self-supervised pre-training?

00:59:38.080 --> 00:59:42.237
>> Yeah, some form some
for some form of it.

00:59:42.320 --> 00:59:45.837
>> Telling you active
learning, but you disagree.

00:59:45.920 --> 00:59:49.837
>> No, it's it's not useless. It's just
not going to lead to a quantum leap. It's

00:59:49.920 --> 00:59:51.197
just going to make
things that we already do.

00:59:51.280 --> 00:59:55.437
>> So, you're way smarter than me. I just
disagree with you and but I don't have

00:59:55.520 --> 00:59:59.037
anything to back that. It's just
intuition. So, I worked with a lot of

00:59:59.120 --> 01:00:00.637
large scale data sets and there's

01:00:00.720 --> 01:00:03.437
something there might be magic in active

01:00:03.520 --> 01:00:07.917
learning. But, okay, at least
I said it publicly. [laughter]

01:00:08.000 --> 01:00:09.757
At least I'm being an idiot publicly.

01:00:09.840 --> 01:00:13.437
Okay. It's not being an idiot. It's, you
know, working with the data you have. I

01:00:13.520 --> 01:00:17.757
mean I mean certainly people are doing
things like okay I have 3,000 hours of

01:00:17.840 --> 01:00:21.357
you know imitation running
for self-driving car but most of those are

01:00:21.440 --> 01:00:25.597
incredibly boring. What I like is select
you know 10% of them that are kind of

01:00:25.680 --> 01:00:27.757
the most informative and with just that

01:00:27.840 --> 01:00:33.117
I would probably reach the same. So it's
a weak form of uh of active learning if

01:00:33.200 --> 01:00:37.357
you want. >> Yes. But there might
be a a much stronger version.

01:00:37.440 --> 01:00:39.357
>> Yeah that's right. >> That's
what and that's an open question

01:00:39.440 --> 01:00:41.917
if it exists. The the question is how

01:00:42.000 --> 01:00:44.877
much stronger we can get. Elon Musk is

01:00:44.960 --> 01:00:49.437
confident. Talked to him recently. Uh
he's confident that large scale data and

01:00:49.520 --> 01:00:53.197
deep learning can solve
the autonomous driving problem.

01:00:53.280 --> 01:00:57.037
What are your thoughts on the limits
possibilities of deep learning in this

01:00:57.120 --> 01:01:00.237
space? >> It's obviously
part of the solution. I

01:01:00.320 --> 01:01:03.757
mean I don't think we'll ever have
a self-driving system or at least not in

01:01:03.840 --> 01:01:05.517
the foreseeable future that does not use

01:01:05.600 --> 01:01:07.677
deep learning. Let me put it this way.

01:01:07.760 --> 01:01:11.277
Now how much of it? So in the history of

01:01:11.360 --> 01:01:15.837
sort of engineering particularly sort of

01:01:15.920 --> 01:01:19.437
sort of AI like systems there's
generally a first phase where everything

01:01:19.520 --> 01:01:22.477
is built by hand and there is a second
phase and that was the case for

01:01:22.560 --> 01:01:27.357
autonomous driving you know 20 30 years
ago there's a phase where there's a

01:01:27.440 --> 01:01:30.477
little bit of learning is used
but there's a lot of engineering that's

01:01:30.560 --> 01:01:35.437
involved in kind of you know taking care
of corner cases and and putting limits

01:01:35.520 --> 01:01:38.957
etc because the learning system
is not perfect and then as technology

01:01:39.040 --> 01:01:44.157
progresses, we end up relying more and
more on learning. That's the history of

01:01:44.240 --> 01:01:47.277
character recognition, the history of
speech recognition, now computer vision,

01:01:47.360 --> 01:01:49.037
natural language processing. And I think

01:01:49.120 --> 01:01:52.397
the same is going to happen with uh with

01:01:52.480 --> 01:01:55.917
autonomous driving that currently the

01:01:56.000 --> 01:02:00.637
u the methods that are closest
to providing some level of autonomy, some

01:02:00.720 --> 01:02:04.077
you know decent level of autonomy where
you don't expect a driver to kind of do

01:02:04.160 --> 01:02:08.397
anything is where you
constrain the world. So you

01:02:08.480 --> 01:02:12.397
only run within, you know, 100 square
kilometers or square miles in Phoenix,

01:02:12.480 --> 01:02:14.637
but the weather is nice and the roads

01:02:14.720 --> 01:02:17.437
are wide, which is what Whimo is doing.

01:02:17.520 --> 01:02:20.317
You uh completely overengineer the car

01:02:20.400 --> 01:02:24.157
with tons of light and sophisticated

01:02:24.240 --> 01:02:27.517
sensors that are too expensive
for consumer cars, but they're fine if you

01:02:27.600 --> 01:02:32.157
just run a fleet.
And you engineer the thing uh the hell

01:02:32.240 --> 01:02:36.077
out of the everything else. You you map
the entire world, so you have complete

01:02:36.160 --> 01:02:39.597
3D model of everything. So the only
thing that the perception system has to

01:02:39.680 --> 01:02:41.757
take care of is moving objects and and

01:02:41.840 --> 01:02:46.867
and construction and sort of you know
things that that weren't in your map

01:02:46.950 --> 01:02:49.357
[snorts] and you can
engineer a good you know

01:02:49.440 --> 01:02:52.957
slam system and all that stuff right so
so that's kind of the current approach

01:02:53.040 --> 01:02:56.077
that's closest to some level of autonomy
but I think eventually the long-term

01:02:56.160 --> 01:03:00.077
solution is going to rely more and more on

01:03:00.160 --> 01:03:03.197
learning and possibly using
a combination of self-supervised learning

01:03:03.280 --> 01:03:05.837
and model based

01:03:05.920 --> 01:03:11.117
reinforcement or something like that >>
but ultimately learning will be at not

01:03:11.200 --> 01:03:14.397
just at the core but really
the fundamental part of the system.

01:03:14.480 --> 01:03:17.517
>> Yeah, it already is but
it'll become more and more.

01:03:17.600 --> 01:03:21.277
>> What do you think it takes to build
a system with human level intelligence?

01:03:21.360 --> 01:03:23.517
You talked about the AI system in the

01:03:23.600 --> 01:03:28.477
movie her being way out of reach our
current reach. This might be outdated as

01:03:28.560 --> 01:03:30.557
well but uh >> it's
still way out of reach.

01:03:30.640 --> 01:03:33.197
>> It's still way out of reach. Uh what

01:03:33.280 --> 01:03:38.157
would it take to build her, do you think?
Um, so I can tell you the first

01:03:38.240 --> 01:03:41.357
two obstacles that we have to clear,
but I don't know how many obstacles there

01:03:41.440 --> 01:03:44.637
are after this. So the image I usually
use is that there's a bunch of mountains

01:03:44.720 --> 01:03:47.677
that we have to climb and we can see
the first one, but we don't know if there

01:03:47.760 --> 01:03:50.237
are 50 mountains behind it or not. And

01:03:50.320 --> 01:03:52.077
this might be a good sort of metaphor

01:03:52.160 --> 01:03:55.677
for why AI researchers in the past have

01:03:55.760 --> 01:03:57.517
been overly optimistic about the result

01:03:57.600 --> 01:04:00.557
of of AI.

01:04:00.640 --> 01:04:03.757
You know for example um Newan Simon

01:04:03.840 --> 01:04:08.397
right wrote the general problem solver and
they called it the general problem solver

01:04:08.480 --> 01:04:11.357
>> general problem solver >> okay
and of course the first thing you

01:04:11.440 --> 01:04:13.997
realize is that all the problems you
want to solve are exponential and so you

01:04:14.080 --> 01:04:17.277
can't actually use it
for anything useful >> but you know

01:04:17.360 --> 01:04:21.117
>> yeah so yeah all you see is the first
peak so what are the first couple of

01:04:21.200 --> 01:04:24.477
peaks for her >> um so
the first peak which is precisely

01:04:24.560 --> 01:04:27.837
what I'm working on is uh self-s
supervised learning how how do we get

01:04:27.920 --> 01:04:29.677
machines to learn models of the world by

01:04:29.760 --> 01:04:32.077
observation kind of like babies and like

01:04:32.160 --> 01:04:35.117
young animals.

01:04:35.200 --> 01:04:38.317
So we've been working with um you know

01:04:38.400 --> 01:04:40.797
cognitive scientists.

01:04:40.880 --> 01:04:43.437
So this Emanuel Dup who's at fair in

01:04:43.520 --> 01:04:46.317
Paris is uh

01:04:46.400 --> 01:04:49.037
halftime he's also a researcher in

01:04:49.120 --> 01:04:52.477
French university and he he um he has

01:04:52.560 --> 01:04:55.517
this chart that shows that which how

01:04:55.600 --> 01:04:58.077
many months of of life baby humans can

01:04:58.160 --> 01:05:00.477
learn different concepts and you can you

01:05:00.560 --> 01:05:03.997
can measure this sort of various ways.

01:05:04.080 --> 01:05:08.717
So things like um um
distinguishing animate objects from

01:05:08.800 --> 01:05:12.317
inanimate inanimate object you can you
can tell the difference at age two three

01:05:12.400 --> 01:05:15.837
months whether an object is going to stay

01:05:15.920 --> 01:05:18.797
stable is going to fall you know about

01:05:18.880 --> 01:05:23.517
four months you can tell you know there
various things like this and then things

01:05:23.600 --> 01:05:26.957
like gravity the fact that objects are
not supposed to float in the air but are

01:05:27.040 --> 01:05:30.957
supposed to fall you learn this around
the age of eight or nine months if you

01:05:31.040 --> 01:05:35.037
look at a lot of you know eight-month
old babies You give them a bunch of toys

01:05:35.120 --> 01:05:37.837
on their high chair. First thing they
do is they throw them on the ground and

01:05:37.920 --> 01:05:40.157
they look at them. >> It's because,
you know, they're learning

01:05:40.240 --> 01:05:43.357
about actively learning about gravity.

01:05:43.440 --> 01:05:46.637
>> Gravity. Yeah. >> Okay.
So, they're not trying to annoy

01:05:46.720 --> 01:05:49.677
you, but they, you know,
they need to do the experiment, right?

01:05:49.760 --> 01:05:51.917
>> Yeah. >> Uh, so, you know,
how do we get machines

01:05:52.000 --> 01:05:55.277
to learn like babies?
mostly by observation with a little bit of

01:05:55.360 --> 01:05:58.877
interaction and learning those those
those models of the world because I

01:05:58.960 --> 01:06:03.677
think that's really a crucial piece
of an intelligent autonomous system. So if

01:06:03.760 --> 01:06:07.037
you think about the architecture of an
intelligent autonomous system, it needs

01:06:07.120 --> 01:06:08.557
to have a predictive model of the world.

01:06:08.640 --> 01:06:12.237
So something that says here is a world
at time t here is a set of world at time

01:06:12.320 --> 01:06:16.797
t plus one if I take this action >>
and it's not a single answer it can be a

01:06:16.880 --> 01:06:18.477
>> yeah it can be distribution. Yeah.

01:06:18.560 --> 01:06:21.037
>> Yeah. Well we don't know how
to represent distributions in high

01:06:21.120 --> 01:06:24.397
dimension spaces. So it's got to be
something weaker than that. Okay.

01:06:24.480 --> 01:06:28.157
>> But with some some
representation of uncertainty.

01:06:28.240 --> 01:06:31.917
>> If you have that then you can do
what optimal control theorist call model

01:06:32.000 --> 01:06:36.157
predictive control which means that you
can run your model with a hypothesis for

01:06:36.240 --> 01:06:39.997
a sequence of action and then see
the result. Now what you need the other

01:06:40.080 --> 01:06:43.917
thing you need is some sort of objective
that you want to optimize. Am I reaching

01:06:44.000 --> 01:06:48.397
the goal of grabbing this object? Am I
minimizing energy? Am I whatever? Right?

01:06:48.480 --> 01:06:53.037
So there is some sort of objective that
you have to minimize and so in your head

01:06:53.120 --> 01:06:55.757
if you have this model you can figure
out the sequence of action that will

01:06:55.840 --> 01:07:00.077
optimize your objective.
That objective is something that

01:07:00.160 --> 01:07:03.757
ultimately is rooted in your basel
ganglia at least in the human brain.

01:07:03.840 --> 01:07:08.797
That's that's what it is. Basel ganglia
computes your level of contentment or or

01:07:08.880 --> 01:07:12.717
miscontentment. I don't know if
that's a word. Uh unhappiness. Okay.

01:07:12.800 --> 01:07:14.477
>> Yeah. Yeah. >> Discontentment.

01:07:14.560 --> 01:07:17.117
>> Discontentment maybe. Um and so your

01:07:17.200 --> 01:07:20.397
entire behavior is driven towards

01:07:20.480 --> 01:07:22.317
kind of minimizing that objective which

01:07:22.400 --> 01:07:25.037
is maximizing your contentment computed

01:07:25.120 --> 01:07:30.077
by your your bas ganglia.
>> And what you have is an objective

01:07:30.160 --> 01:07:33.197
function which is basically a predictor
of what your bas ganglia is going to

01:07:33.280 --> 01:07:35.917
tell you. >> So you're not
going to put your hand on

01:07:36.000 --> 01:07:40.237
fire because you know it's going to you
know it's going to burn and you're going

01:07:40.320 --> 01:07:43.517
to get hurt. And you're predicting this
because of your model of the world and

01:07:43.600 --> 01:07:45.757
your your sort of predictor of this

01:07:45.840 --> 01:07:50.557
objective, right? So you if you have
those you have those three components,

01:07:50.640 --> 01:07:52.637
you have the four components. You have

01:07:52.720 --> 01:07:54.797
the the hardwired

01:07:54.880 --> 01:07:59.037
uh contentment objective um computer if

01:07:59.120 --> 01:08:02.637
you want calculator [snorts] and then
you have the three components. One is

01:08:02.720 --> 01:08:04.397
the objective predictor which basically

01:08:04.480 --> 01:08:06.317
predicts your level of contentment. one

01:08:06.400 --> 01:08:10.077
is the model of the world and there's a

01:08:10.160 --> 01:08:12.317
third module I didn't mention which is a

01:08:12.400 --> 01:08:14.877
module that will figure out the best

01:08:14.960 --> 01:08:19.917
course of action to optimize
an objective given your model

01:08:20.000 --> 01:08:21.517
>> okay

01:08:21.600 --> 01:08:24.557
>> call this a policy policy network or

01:08:24.640 --> 01:08:29.677
something like that right [snorts] now
you need those three components to act

01:08:29.760 --> 01:08:33.357
autonomously intelligently and you can
be stupid in three different ways you

01:08:33.440 --> 01:08:36.157
can be stupid because your model
of your of the world is wrong.

01:08:36.240 --> 01:08:38.397
>> Mhm. >> You can be
stupid because your objective

01:08:38.480 --> 01:08:42.237
is not aligned with what
you actually want to achieve.

01:08:42.320 --> 01:08:46.317
>> Okay. Uh >> in humans
that would be a psychopath,

01:08:46.400 --> 01:08:49.757
>> right? >> And then
the the third thing you the

01:08:49.840 --> 01:08:52.797
third way you can be stupid is that you
have the right model, you have the right

01:08:52.880 --> 01:08:56.717
objective, but you're unable to figure
out a course of action to optimize your

01:08:56.800 --> 01:08:58.477
objective given your model. >> Right?

01:08:58.560 --> 01:09:02.637
>> Okay. Um some people
who are in charge of big

01:09:02.720 --> 01:09:04.157
countries actually have all three that

01:09:04.240 --> 01:09:07.357
are wrong. All right. [laughter]

01:09:07.440 --> 01:09:09.757
Uh, which countries? I don't know. Okay.

01:09:09.840 --> 01:09:12.317
So, uh, if we think about this this

01:09:12.400 --> 01:09:16.957
agent, if we think about
the movie her, you've

01:09:17.040 --> 01:09:20.957
criticized the art
project that is Sophia the

01:09:21.040 --> 01:09:23.837
robot. And what that project essentially

01:09:23.920 --> 01:09:26.797
does is uses our natural inclination to

01:09:26.880 --> 01:09:30.877
anthropomorphize things
that look like human and give

01:09:30.960 --> 01:09:32.957
them more. Do you think that could be

01:09:33.040 --> 01:09:35.677
used by AI systems like in the movie

01:09:35.760 --> 01:09:40.797
Her? So, do you think
that body is needed to

01:09:40.880 --> 01:09:43.997
create a feeling of intelligence?

01:09:44.080 --> 01:09:47.437
>> Uh, well, if Sophia was just an art
piece, I would have no problem with it,

01:09:47.520 --> 01:09:50.157
but it's presented as something else.

01:09:50.240 --> 01:09:55.117
>> Let me add that comment real quick.
If creators of Sophia could change

01:09:55.200 --> 01:09:58.637
something about their marketing
or behavior in general, what would it be?

01:09:58.720 --> 01:10:01.787
What What's >> Oh, just about everything.

01:10:01.870 --> 01:10:04.877
[laughter] I mean,

01:10:04.960 --> 01:10:07.197
don't you think here's a tough question.

01:10:07.280 --> 01:10:09.837
Let me So, I agree with you. So, Sophia

01:10:09.920 --> 01:10:15.517
is not the general public feels
that Sophia can do way more than

01:10:15.600 --> 01:10:17.437
she actually can. >> That's right.

01:10:17.520 --> 01:10:20.237
>> And the people who created Sophia are

01:10:20.320 --> 01:10:22.077
not

01:10:22.160 --> 01:10:25.517
honestly publicly communicating uh

01:10:25.600 --> 01:10:28.717
trying to teach the public. But

01:10:28.800 --> 01:10:31.917
>> here's a tough question.
Don't you think

01:10:32.000 --> 01:10:36.957
uh this the same thing is uh scientists

01:10:37.040 --> 01:10:41.037
in industry and research are
taking advantage of the same mis

01:10:41.120 --> 01:10:43.117
misunderstanding in the public when they

01:10:43.200 --> 01:10:47.117
create AI companies or publish stuff. um

01:10:47.200 --> 01:10:49.197
>> some companies yes I mean there is no

01:10:49.280 --> 01:10:54.317
sense of there's no desire to delude
there's no desire to to kind of

01:10:54.400 --> 01:10:57.757
overclaim what something is done right
you publish a paper on AI that you know

01:10:57.840 --> 01:11:01.517
has this result on imageet you know it's
pretty clear I mean it's not not even

01:11:01.600 --> 01:11:06.237
interesting anymore but >> you
know I I don't think there is that

01:11:06.320 --> 01:11:08.317
I mean the reviewers are generally not

01:11:08.400 --> 01:11:10.877
very forgiving of

01:11:10.960 --> 01:11:13.357
>> of you know unsupported claims of of

01:11:13.440 --> 01:11:15.757
this type and but there are certainly

01:11:15.840 --> 01:11:18.557
quite a few startups that have had a

01:11:18.640 --> 01:11:21.197
huge amount of hype around this that uh

01:11:21.280 --> 01:11:25.597
I find extremely damaging and I've been
calling it out when I've seen it. Um so

01:11:25.680 --> 01:11:28.637
yeah, but to go back
to your original question like

01:11:28.720 --> 01:11:32.957
>> the necessity of embodiment. I think
I don't think embodiment is necessary. I

01:11:33.040 --> 01:11:36.637
think grounding is necessary. So I don't
think we're going to get machines that

01:11:36.720 --> 01:11:39.517
really understand language without some
level of grounding in the real world.

01:11:39.600 --> 01:11:43.517
And it's not clear to me that language
is a high enough bandwidth medium to

01:11:43.600 --> 01:11:46.077
communicate how the real world works.

01:11:46.160 --> 01:11:49.357
Um I think for this >> can you
talk to ground what grounding means?

01:11:49.440 --> 01:11:51.837
>> So grounding means
that so there is this

01:11:51.920 --> 01:11:54.237
classic problem of common sense

01:11:54.320 --> 01:11:56.717
reasoning you know the the winner winner

01:11:56.800 --> 01:12:02.077
schema right and so I tell you
the the trophy doesn't fit in the suitcase

01:12:02.160 --> 01:12:04.877
because it's too it's too big
or the trophy doesn't fit in the suitcase

01:12:04.960 --> 01:12:09.117
because it's too small and the it in the
first case refers to the trophy in the

01:12:09.200 --> 01:12:12.397
second case to the suitcase.
And the reason you can figure this out is

01:12:12.480 --> 01:12:14.877
because you know what the trophy and the
suitcase are. you know one is supposed

01:12:14.960 --> 01:12:18.957
to fit in the other one and you know the
notion of size and a big object doesn't

01:12:19.040 --> 01:12:22.477
fit in a small object unless it's
a TARDIS you know things like that right

01:12:22.560 --> 01:12:25.117
so you have this this knowledge of how

01:12:25.200 --> 01:12:27.357
the world works of geometry and things

01:12:27.440 --> 01:12:30.477
like that um I don't believe you can

01:12:30.560 --> 01:12:32.157
learn everything about the world by just

01:12:32.240 --> 01:12:34.877
being told in language how the world

01:12:34.960 --> 01:12:39.437
works I think you need some uh low-level
perception of the world you know be it

01:12:39.520 --> 01:12:41.437
visual touch you know whatever but some

01:12:41.520 --> 01:12:46.557
higher bandwidth perception of the So
by reading all the world's text, you still

01:12:46.640 --> 01:12:48.317
may not have enough information.

01:12:48.400 --> 01:12:50.557
>> That's right. There's a lot of things

01:12:50.640 --> 01:12:52.717
that just will never appear in text and

01:12:52.800 --> 01:12:55.757
that you can't really infer. So I think

01:12:55.840 --> 01:13:00.077
>> uh common sense will emerge from >>
you know certainly a lot of language

01:13:00.160 --> 01:13:02.317
interaction but also with watching

01:13:02.400 --> 01:13:07.357
videos or perhaps even interacting in
in virtual environments and possibly you

01:13:07.440 --> 01:13:10.717
know robot interacting in the real world
but I don't actually believe necessarily

01:13:10.800 --> 01:13:14.637
that this last one is absolutely
necessary but I think there's a the need

01:13:14.720 --> 01:13:19.677
for some grounding >>
but the final product doesn't

01:13:19.760 --> 01:13:23.197
necessarily need to be embodied
you're saying it just needs to have an

01:13:23.280 --> 01:13:25.117
awareness a grounding to

01:13:25.200 --> 01:13:28.157
>> but he needs to know
how the world works

01:13:28.240 --> 01:13:30.317
to have you know to not be frustrated

01:13:30.400 --> 01:13:35.197
frustrating to talk to >> and uh
you talked about emotions being

01:13:35.280 --> 01:13:38.957
important that's that's
a whole another topic

01:13:39.040 --> 01:13:41.437
>> well so you know I talked about this uh

01:13:41.520 --> 01:13:45.197
the basil ganglia ganglia as the

01:13:45.280 --> 01:13:48.557
you your your you know the thing that
calc you know calculates your level of

01:13:48.640 --> 01:13:52.557
mix contentment contentment and then
there is this other module that sort of

01:13:52.640 --> 01:13:55.677
tries to do a prediction of whether
you're going to be content or not.

01:13:55.760 --> 01:13:57.597
That's the source of some emotion. So

01:13:57.680 --> 01:14:03.117
fear, for example, is an anticipation
of bad things that can happen to you,

01:14:03.200 --> 01:14:05.917
right? >> Uh you have
this inkling that there is

01:14:06.000 --> 01:14:08.637
some chance that something really bad
is going to happen to you and that creates

01:14:08.720 --> 01:14:10.637
fear. >> When you know
for sure that something

01:14:10.720 --> 01:14:14.557
bad is going to happen to you, you kind
of give up, right? It's not fear anymore.

01:14:14.640 --> 01:14:16.637
>> It's uncertainty that creates fear.

01:14:16.720 --> 01:14:19.597
>> So So the punch line is yes, we're
not going to have autonomous intelligence

01:14:19.680 --> 01:14:24.157
without emotions. Okay. [sighs and gasps]

01:14:24.240 --> 01:14:28.157
>> Whatever the heck emotions are. So you
mentioned very practical things of fear,

01:14:28.240 --> 01:14:30.557
but there's a lot of other mess around it.

01:14:30.640 --> 01:14:33.597
>> But there are kind of the
results of, you know, drives.

01:14:33.680 --> 01:14:36.077
>> Yeah. There's deeper
uh biological stuff

01:14:36.160 --> 01:14:40.237
going on and I've talked to a few folks
on this. There's uh there's fascinating

01:14:40.320 --> 01:14:42.877
stuff that ultimately connects to our to

01:14:42.960 --> 01:14:48.077
to our brain.
If we create an AGI system, sorry,

01:14:48.160 --> 01:14:51.517
>> human level intelligence,
>> human level intelligence system

01:14:51.600 --> 01:14:54.237
and you get to ask her one question,

01:14:54.320 --> 01:14:56.957
what would that question be?

01:14:57.040 --> 01:15:01.277
>> You know, I think the the first one
we'll create will probably not be not be

01:15:01.360 --> 01:15:04.637
that smart. They be like
a four-year-old. Okay.

01:15:04.720 --> 01:15:09.997
>> So, you would have to ask her
a question to know she's not that smart.

01:15:10.080 --> 01:15:13.757
>> Yeah. Well, what's
a good question to ask, you

01:15:13.840 --> 01:15:17.917
know, to be >> the cause of wind?

01:15:18.000 --> 01:15:20.637
And if she answers, oh, it's because the

01:15:20.720 --> 01:15:25.677
leaves of the tree are moving and that
creates wind, she's on to something.

01:15:25.760 --> 01:15:29.837
>> And if she says, that's a stupid
question, she's really on to something.

01:15:29.920 --> 01:15:32.317
>> No. And then you tell her actually, you

01:15:32.400 --> 01:15:35.197
know, here is the the real thing. And

01:15:35.280 --> 01:15:37.677
she says, oh yeah, that makes sense.

01:15:37.760 --> 01:15:42.877
So questions that that uh reveal
the ability to do common sense reasoning

01:15:42.960 --> 01:15:47.197
about the physical world. >> Yeah. And
you'll sum it up with a causal inference.

01:15:47.280 --> 01:15:51.597
>> Causal inference. Well, >> it
was a huge honor. Congratulations on

01:15:51.680 --> 01:15:54.397
the touring award, Yan.
Thank you so much for talking today.

01:15:54.480 --> 01:15:56.807
>> Thank you. >> Appreciate it.

01:15:56.890 --> 01:15:58.910
[music]

01:16:04.090 --> 01:16:06.110
>> [music]
