Ian Goodfellow: Generative Adversarial Networks (GANs)
AI 与机器学习心理与人性生物与进化音乐与艺术体育与武术
📋 章节目录
暂无章节信息
🔑 关键词
learningdatamodeldeepgansablemachinedonbettermodelstrainingtraingenerativeimageadversarialalgorithmsrealalgorithmganimages
💬 精彩语录
暂无语录
🎙️ 完整对话(1601 条)
Lex Fridman (00:00.000)
The following is a conversation with Ian Goodfellow.
以下是与伊恩·古德费洛的对话。
Lex Fridman (00:03.720)
He's the author of the popular textbook on deep learning
他是流行的深度学习教科书的作者
Lex Fridman (00:06.360)
simply titled Deep Learning.
简单地称为深度学习。
Lex Fridman (00:08.800)
He coined the term of Generative Adversarial Networks,
他创造了生成对抗网络这个术语,
Lex Fridman (00:12.320)
otherwise known as GANs,
也称为 GAN,
Lex Fridman (00:14.560)
and with his 2014 paper is responsible
并与他 2014 年的论文负责
Lex Fridman (00:18.160)
for launching the incredible growth
实现令人难以置信的增长
Ian Goodfellow (00:20.440)
of research and innovation in this subfield
该子领域的研究和创新
Lex Fridman (00:23.140)
of deep learning.
深度学习。
Ian Goodfellow (00:24.720)
He got his BS and MS at Stanford,
他在斯坦福大学获得了学士和硕士学位,
Lex Fridman (00:27.520)
his PhD at University of Montreal
蒙特利尔大学博士学位
Ian Goodfellow (00:30.120)
with Yoshua Bengio and Aaron Kerrville.
与约书亚·本吉奥和亚伦·克尔维尔一起。
Lex Fridman (00:33.200)
He held several research positions
他担任过多个研究职务
Ian Goodfellow (00:35.240)
including at OpenAI, Google Brain,
包括 OpenAI、Google Brain、
Lex Fridman (00:37.600)
and now at Apple as the Director of Machine Learning.
现在在 Apple 担任机器学习总监。
Ian Goodfellow (00:41.560)
This recording happened while Ian was still at Google Brain,
这段录音发生在 Ian 还在 Google Brain 的时候,
Lex Fridman (00:45.400)
but we don't talk about anything specific to Google
但我们不谈论任何特定于 Google 的内容
Ian Goodfellow (00:48.520)
or any other organization.
或任何其他组织。
Lex Fridman (00:50.760)
This conversation is part
这段对话是一部分
Ian Goodfellow (00:52.480)
of the Artificial Intelligence Podcast.
人工智能播客。
Lex Fridman (00:54.520)
If you enjoy it, subscribe on YouTube, iTunes,
Ian Goodfellow (00:57.560)
or simply connect with me on Twitter at Lex Friedman,
Lex Fridman (01:00.880)
spelled F R I D.
Lex Fridman (01:03.000)
And now here's my conversation with Ian Goodfellow.
Lex Fridman (01:08.240)
You open your popular deep learning book
Ian Goodfellow (01:11.000)
with a Russian doll type diagram
Lex Fridman (01:13.620)
that shows deep learning is a subset
Ian Goodfellow (01:15.880)
of representation learning,
Lex Fridman (01:17.140)
which in turn is a subset of machine learning
Lex Fridman (01:19.960)
and finally a subset of AI.
Lex Fridman (01:22.520)
So this kind of implies that there may be limits
Ian Goodfellow (01:25.280)
to deep learning in the context of AI.
Lex Fridman (01:27.720)
So what do you think is the current limits of deep learning
Lex Fridman (01:31.580)
and are those limits something
Lex Fridman (01:33.140)
that we can overcome with time?
Ian Goodfellow (01:35.760)
Yeah, I think one of the biggest limitations
Lex Fridman (01:37.740)
of deep learning is that right now it requires
Ian Goodfellow (01:40.120)
really a lot of data, especially labeled data.
Lex Fridman (01:43.960)
There are some unsupervised
Lex Fridman (01:45.480)
and semi supervised learning algorithms
Lex Fridman (01:47.160)
that can reduce the amount of labeled data you need,
Lex Fridman (01:49.480)
but they still require a lot of unlabeled data,
Lex Fridman (01:52.200)
reinforcement learning algorithms.
Ian Goodfellow (01:53.480)
They don't need labels,
Lex Fridman (01:54.320)
but they need really a lot of experiences.
Ian Goodfellow (01:57.280)
As human beings, we don't learn to play Pong
Lex Fridman (01:58.920)
by failing at Pong 2 million times.
Lex Fridman (02:02.720)
So just getting the generalization ability better
Lex Fridman (02:05.880)
is one of the most important bottlenecks
Ian Goodfellow (02:08.040)
in the capability of the technology today.
Lex Fridman (02:10.540)
And then I guess I'd also say deep learning
Ian Goodfellow (02:12.360)
is like a component of a bigger system.
Lex Fridman (02:16.620)
So far, nobody is really proposing to have
Ian Goodfellow (02:19.020)
only what you'd call deep learning
Lex Fridman (02:22.000)
as the entire ingredient of intelligence.
Ian Goodfellow (02:25.520)
You use deep learning as sub modules of other systems,
Lex Fridman (02:29.860)
like AlphaGo has a deep learning model
Ian Goodfellow (02:32.320)
that estimates the value function.
Lex Fridman (02:35.200)
Most reinforcement learning algorithms
Ian Goodfellow (02:36.600)
have a deep learning module
Lex Fridman (02:37.880)
that estimates which action to take next,
Lex Fridman (02:40.320)
but you might have other components.
Lex Fridman (02:42.480)
So you're basically building a function estimator.
Lex Fridman (02:46.100)
Do you think it's possible,
Lex Fridman (02:48.600)
you said nobody's kind of been thinking about this so far,
Lex Fridman (02:51.000)
but do you think neural networks could be made to reason
Lex Fridman (02:54.320)
in the way symbolic systems did in the 80s and 90s
Ian Goodfellow (02:57.720)
to do more, create more like programs
Lex Fridman (03:00.160)
as opposed to functions?
Ian Goodfellow (03:01.440)
Yeah, I think we already see that a little bit.
Lex Fridman (03:04.880)
I already kind of think of neural nets
Ian Goodfellow (03:06.360)
as a kind of program.
Lex Fridman (03:08.860)
I think of deep learning as basically learning programs
Ian Goodfellow (03:12.920)
that have more than one step.
Lex Fridman (03:15.280)
So if you draw a flow chart
Ian Goodfellow (03:16.960)
or if you draw a TensorFlow graph
Lex Fridman (03:19.540)
describing your machine learning model,
Ian Goodfellow (03:21.860)
I think of the depth of that graph
Lex Fridman (03:23.500)
as describing the number of steps that run in sequence.
Lex Fridman (03:25.860)
And then the width of that graph
Lex Fridman (03:27.640)
is the number of steps that run in parallel.
Ian Goodfellow (03:30.120)
Now it's been long enough
Lex Fridman (03:31.680)
that we've had deep learning working
Ian Goodfellow (03:32.880)
that it's a little bit silly
Lex Fridman (03:33.880)
to even discuss shallow learning anymore.
Lex Fridman (03:35.740)
But back when I first got involved in AI,
Lex Fridman (03:38.880)
when we used machine learning,
Ian Goodfellow (03:40.080)
we were usually learning things like support vector machines.
Lex Fridman (03:43.680)
You could have a lot of input features to the model
Lex Fridman (03:45.640)
and you could multiply each feature by a different weight.
Lex Fridman (03:48.080)
All those multiplications were done
Ian Goodfellow (03:49.560)
in parallel to each other.
Lex Fridman (03:51.200)
There wasn't a lot done in series.
Ian Goodfellow (03:52.680)
I think what we got with deep learning
Lex Fridman (03:54.320)
was really the ability to have steps of a program
Ian Goodfellow (03:58.360)
that run in sequence.
Lex Fridman (04:00.280)
And I think that we've actually started to see
Ian Goodfellow (04:03.160)
that what's important with deep learning
Lex Fridman (04:05.000)
is more the fact that we have a multi step program
Ian Goodfellow (04:07.960)
rather than the fact that we've learned a representation.
Lex Fridman (04:10.760)
If you look at things like resonance, for example,
Ian Goodfellow (04:15.100)
they take one particular kind of representation
Lex Fridman (04:18.640)
and they update it several times.
Ian Goodfellow (04:21.320)
Back when deep learning first really took off
Lex Fridman (04:23.560)
in the academic world in 2006,
Ian Goodfellow (04:25.760)
when Jeff Hinton showed that you could train
Lex Fridman (04:28.400)
deep belief networks,
Ian Goodfellow (04:30.160)
everybody who was interested in the idea
Lex Fridman (04:31.960)
thought of it as each layer
Ian Goodfellow (04:33.560)
learns a different level of abstraction.
Lex Fridman (04:35.940)
That the first layer trained on images
Ian Goodfellow (04:37.820)
learns something like edges
Lex Fridman (04:38.960)
and the second layer learns corners.
Lex Fridman (04:40.420)
And eventually you get these kind of grandmother cell units
Lex Fridman (04:43.320)
that recognize specific objects.
Ian Goodfellow (04:45.920)
Today I think most people think of it more
Lex Fridman (04:48.560)
as a computer program where as you add more layers
Ian Goodfellow (04:52.000)
you can do more updates before you output your final number.
Lex Fridman (04:55.120)
But I don't think anybody believes that
Ian Goodfellow (04:57.160)
layer 150 of the ResNet is a grandmother cell
Lex Fridman (05:02.060)
and layer 100 is contours or something like that.
Ian Goodfellow (05:06.040)
Okay, so you're not thinking of it
Lex Fridman (05:08.160)
as a singular representation that keeps building.
Ian Goodfellow (05:11.520)
You think of it as a program,
Lex Fridman (05:14.040)
sort of almost like a state.
Ian Goodfellow (05:15.920)
Representation is a state of understanding.
Lex Fridman (05:18.720)
Yeah, I think of it as a program
Ian Goodfellow (05:20.260)
that makes several updates
Lex Fridman (05:21.500)
and arrives at better and better understandings,
Lex Fridman (05:23.840)
but it's not replacing the representation at each step.
Lex Fridman (05:27.500)
It's refining it.
Lex Fridman (05:29.160)
And in some sense, that's a little bit like reasoning.
Lex Fridman (05:31.640)
It's not reasoning in the form of deduction,
Lex Fridman (05:33.560)
but it's reasoning in the form of taking a thought
Lex Fridman (05:36.960)
and refining it and refining it carefully
Ian Goodfellow (05:39.440)
until it's good enough to use.
Lex Fridman (05:41.240)
So do you think, and I hope you don't mind,
Ian Goodfellow (05:43.560)
we'll jump philosophical every once in a while.
Lex Fridman (05:46.040)
Do you think of cognition, human cognition,
Ian Goodfellow (05:50.460)
or even consciousness as simply a result
Lex Fridman (05:53.520)
of this kind of sequential representation learning?
Lex Fridman (05:58.120)
Do you think that can emerge?
Lex Fridman (06:00.440)
Cognition, yes, I think so.
Ian Goodfellow (06:02.460)
Consciousness, it's really hard to even define
Lex Fridman (06:05.160)
what we mean by that.
Ian Goodfellow (06:07.400)
I guess there's, consciousness is often defined
Lex Fridman (06:09.840)
as things like having self awareness,
Lex Fridman (06:12.080)
and that's relatively easy to turn into something actionable
Lex Fridman (06:16.080)
for a computer scientist to reason about.
Ian Goodfellow (06:18.400)
People also define consciousness
Lex Fridman (06:19.720)
in terms of having qualitative states of experience,
Ian Goodfellow (06:22.440)
like qualia, and there's all these philosophical problems,
Lex Fridman (06:25.300)
like could you imagine a zombie
Ian Goodfellow (06:27.880)
who does all the same information processing as a human,
Lex Fridman (06:30.740)
but doesn't really have the qualitative experiences
Lex Fridman (06:33.500)
that we have?
Lex Fridman (06:34.720)
That sort of thing, I have no idea how to formalize
Ian Goodfellow (06:37.600)
or turn it into a scientific question.
Lex Fridman (06:40.000)
I don't know how you could run an experiment
Ian Goodfellow (06:41.620)
to tell whether a person is a zombie or not.
Lex Fridman (06:44.880)
And similarly, I don't know how you could run
Ian Goodfellow (06:46.680)
an experiment to tell whether an advanced AI system
Lex Fridman (06:49.680)
had become conscious in the sense of qualia or not.
Lex Fridman (06:53.060)
But in the more practical sense,
Lex Fridman (06:54.600)
like almost like self attention,
Ian Goodfellow (06:56.320)
you think consciousness and cognition can,
Lex Fridman (06:58.920)
in an impressive way, emerge from current types
Ian Goodfellow (07:03.240)
of architectures that we think of as learning.
Lex Fridman (07:06.200)
Or if you think of consciousness
Ian Goodfellow (07:07.920)
in terms of self awareness and just making plans
Lex Fridman (07:12.160)
based on the fact that the agent itself exists in the world,
Ian Goodfellow (07:16.600)
reinforcement learning algorithms
Lex Fridman (07:18.000)
are already more or less forced
Ian Goodfellow (07:20.140)
to model the agent's effect on the environment.
Lex Fridman (07:23.040)
So that more limited version of consciousness
Ian Goodfellow (07:26.340)
is already something that we get limited versions of
Lex Fridman (07:31.400)
with reinforcement learning algorithms
Ian Goodfellow (07:32.960)
if they're trained well.
Lex Fridman (07:34.640)
But you say limited, so the big question really
Lex Fridman (07:39.240)
is how you jump from limited to human level, right?
Lex Fridman (07:42.120)
And whether it's possible,
Ian Goodfellow (07:46.840)
even just building common sense reasoning
Lex Fridman (07:49.000)
seems to be exceptionally difficult.
Lex Fridman (07:50.520)
So if we scale things up,
Lex Fridman (07:52.480)
if we get much better on supervised learning,
Ian Goodfellow (07:55.000)
if we get better at labeling,
Lex Fridman (07:56.620)
if we get bigger data sets, more compute,
Lex Fridman (08:00.640)
do you think we'll start to see really impressive things
Lex Fridman (08:03.880)
that go from limited to something,
Lex Fridman (08:08.320)
echoes of human level cognition?
Lex Fridman (08:10.320)
I think so, yeah.
Ian Goodfellow (08:11.200)
I'm optimistic about what can happen
Lex Fridman (08:13.340)
just with more computation and more data.
Ian Goodfellow (08:16.420)
I do think it'll be important
Lex Fridman (08:17.500)
to get the right kind of data.
Ian Goodfellow (08:20.100)
Today, most of the machine learning systems we train
Lex Fridman (08:23.160)
are mostly trained on one type of data for each model.
Lex Fridman (08:27.540)
But the human brain, we get all of our different senses
Lex Fridman (08:31.380)
and we have many different experiences
Ian Goodfellow (08:33.880)
like riding a bike, driving a car,
Lex Fridman (08:36.320)
talking to people, reading.
Ian Goodfellow (08:39.160)
I think when we get that kind of integrated data set,
Lex Fridman (08:42.420)
working with a machine learning model
Ian Goodfellow (08:44.420)
that can actually close the loop and interact,
Lex Fridman (08:47.660)
we may find that algorithms not so different
Ian Goodfellow (08:50.480)
from what we have today learn really interesting things
Lex Fridman (08:53.240)
when you scale them up a lot
Lex Fridman (08:54.400)
and train them on a large amount of multimodal data.
Lex Fridman (08:58.240)
So multimodal is really interesting,
Lex Fridman (08:59.640)
but within, like you're working adversarial examples.
Lex Fridman (09:04.000)
So selecting within modal, within one mode of data,
Ian Goodfellow (09:11.120)
selecting better at what are the difficult cases
Lex Fridman (09:13.780)
from which you're most useful to learn from.
Ian Goodfellow (09:16.120)
Oh yeah, like could we get a whole lot of mileage
Lex Fridman (09:18.880)
out of designing a model that's resistant
Lex Fridman (09:22.280)
to adversarial examples or something like that?
Lex Fridman (09:24.120)
Right, that's the question.
Ian Goodfellow (09:26.280)
My thinking on that has evolved a lot
Lex Fridman (09:27.760)
over the last few years.
Ian Goodfellow (09:29.960)
When I first started to really invest
Lex Fridman (09:31.280)
in studying adversarial examples,
Ian Goodfellow (09:32.760)
I was thinking of it mostly as adversarial examples
Lex Fridman (09:36.320)
reveal a big problem with machine learning
Lex Fridman (09:38.980)
and we would like to close the gap
Lex Fridman (09:41.160)
between how machine learning models respond
Ian Goodfellow (09:44.120)
to adversarial examples and how humans respond.
Lex Fridman (09:47.640)
After studying the problem more,
Ian Goodfellow (09:49.200)
I still think that adversarial examples are important.
Lex Fridman (09:51.940)
I think of them now more of as a security liability
Ian Goodfellow (09:55.440)
than as an issue that necessarily shows
Lex Fridman (09:57.800)
there's something uniquely wrong
Ian Goodfellow (09:59.880)
with machine learning as opposed to humans.
Lex Fridman (10:02.800)
Also, do you see them as a tool
Lex Fridman (10:04.600)
to improve the performance of the system?
Lex Fridman (10:06.480)
Not on the security side, but literally just accuracy.
Ian Goodfellow (10:10.760)
I do see them as a kind of tool on that side,
Lex Fridman (10:13.480)
but maybe not quite as much as I used to think.
Ian Goodfellow (10:16.640)
We've started to find that there's a trade off
Lex Fridman (10:18.500)
between accuracy on adversarial examples
Lex Fridman (10:21.680)
and accuracy on clean examples.
Lex Fridman (10:24.360)
Back in 2014, when I did the first
Ian Goodfellow (10:27.120)
adversarily trained classifier that showed resistance
Lex Fridman (10:30.840)
to some kinds of adversarial examples,
Ian Goodfellow (10:33.040)
it also got better at the clean data on MNIST.
Lex Fridman (10:36.040)
And that's something we've replicated several times
Ian Goodfellow (10:37.700)
on MNIST, that when we train
Lex Fridman (10:39.640)
against weak adversarial examples,
Ian Goodfellow (10:41.500)
MNIST classifiers get more accurate.
Lex Fridman (10:43.880)
So far that hasn't really held up on other data sets
Lex Fridman (10:47.080)
and hasn't held up when we train
Lex Fridman (10:48.880)
against stronger adversaries.
Ian Goodfellow (10:50.760)
It seems like when you confront
Lex Fridman (10:53.160)
a really strong adversary,
Ian Goodfellow (10:55.680)
you tend to have to give something up.
Lex Fridman (10:58.040)
Interesting.
Lex Fridman (10:59.040)
But it's such a compelling idea
Lex Fridman (11:00.480)
because it feels like that's how us humans learn
Ian Goodfellow (11:04.720)
is through the difficult cases.
Lex Fridman (11:06.280)
We try to think of what would we screw up
Lex Fridman (11:08.760)
and then we make sure we fix that.
Lex Fridman (11:11.000)
It's also in a lot of branches of engineering,
Ian Goodfellow (11:13.560)
you do a worst case analysis
Lex Fridman (11:15.800)
and make sure that your system will work in the worst case.
Lex Fridman (11:18.720)
And then that guarantees that it'll work
Lex Fridman (11:20.400)
in all of the messy average cases that happen
Ian Goodfellow (11:24.360)
when you go out into a really randomized world.
Lex Fridman (11:27.440)
Yeah, with driving with autonomous vehicles,
Ian Goodfellow (11:29.560)
there seems to be a desire to just look for,
Lex Fridman (11:33.080)
think adversarially,
Ian Goodfellow (11:34.880)
try to figure out how to mess up the system.
Lex Fridman (11:36.920)
And if you can be robust to all those difficult cases,
Ian Goodfellow (11:40.620)
then you can, it's a hand wavy empirical way
Lex Fridman (11:43.580)
to show your system is safe.
Ian Goodfellow (11:47.040)
Today, most adversarial example research
Lex Fridman (11:49.120)
isn't really focused on a particular use case,
Lex Fridman (11:51.640)
but there are a lot of different use cases
Lex Fridman (11:54.000)
where you'd like to make sure that the adversary
Ian Goodfellow (11:56.940)
can't interfere with the operation of your system.
Lex Fridman (12:00.200)
Like in finance,
Ian Goodfellow (12:01.060)
if you have an algorithm making trades for you,
Lex Fridman (12:03.320)
people go to a lot of an effort
Ian Goodfellow (12:04.660)
to obfuscate their algorithm.
Lex Fridman (12:06.680)
That's both to protect their IP
Ian Goodfellow (12:08.080)
because you don't want to research
Lex Fridman (12:10.880)
and develop a profitable trading algorithm
Ian Goodfellow (12:13.580)
then have somebody else capture the gains.
Lex Fridman (12:16.120)
But it's at least partly
Ian Goodfellow (12:17.160)
because you don't want people to make adversarial examples
Lex Fridman (12:19.520)
that fool your algorithm into making bad trades.
Ian Goodfellow (12:24.380)
Or I guess one area that's been popular
Lex Fridman (12:26.580)
in the academic literature is speech recognition.
Ian Goodfellow (12:30.180)
If you use speech recognition to hear an audio wave form
Lex Fridman (12:34.440)
and then turn that into a command
Ian Goodfellow (12:37.720)
that a phone executes for you,
Lex Fridman (12:39.680)
you don't want a malicious adversary
Ian Goodfellow (12:41.880)
to be able to produce audio
Lex Fridman (12:43.640)
that gets interpreted as malicious commands,
Ian Goodfellow (12:46.300)
especially if a human in the room doesn't realize
Lex Fridman (12:48.520)
that something like that is happening.
Lex Fridman (12:50.320)
And speech recognition,
Lex Fridman (12:52.000)
has there been much success
Ian Goodfellow (12:53.880)
in being able to create adversarial examples
Lex Fridman (12:58.440)
that fool the system?
Ian Goodfellow (12:59.760)
Yeah, actually.
Lex Fridman (13:00.880)
I guess the first work that I'm aware of
Ian Goodfellow (13:02.420)
is a paper called Hidden Voice Commands
Lex Fridman (13:05.120)
that came out in 2016, I believe.
Lex Fridman (13:08.480)
And they were able to show that they could make sounds
Lex Fridman (13:11.920)
that are not understandable by a human
Lex Fridman (13:14.960)
but are recognized as the target phrase
Lex Fridman (13:18.400)
that the attacker wants the phone to recognize it as.
Ian Goodfellow (13:21.320)
Since then, things have gotten a little bit better
Lex Fridman (13:24.020)
on the attacker's side
Ian Goodfellow (13:25.200)
when worse on the defender's side.
Lex Fridman (13:28.680)
It's become possible to make sounds
Ian Goodfellow (13:33.360)
that sound like normal speech
Lex Fridman (13:35.600)
but are actually interpreted as a different sentence
Ian Goodfellow (13:38.980)
than the human hears.
Lex Fridman (13:40.720)
The level of perceptibility
Ian Goodfellow (13:42.720)
of the adversarial perturbation is still kind of high.
Lex Fridman (13:46.640)
When you listen to the recording,
Ian Goodfellow (13:48.160)
it sounds like there's some noise in the background,
Lex Fridman (13:51.040)
just like rustling sounds.
Lex Fridman (13:52.960)
But those rustling sounds
Lex Fridman (13:53.940)
are actually the adversarial perturbation
Ian Goodfellow (13:55.560)
that makes the phone hear a completely different sentence.
Lex Fridman (13:58.040)
Yeah, that's so fascinating.
Ian Goodfellow (14:00.120)
Peter Norvig mentioned
Lex Fridman (14:01.080)
that you're writing the deep learning chapter
Ian Goodfellow (14:02.780)
for the fourth edition
Lex Fridman (14:04.280)
of the Artificial Intelligence, A Modern Approach book.
Lex Fridman (14:07.340)
So how do you even begin summarizing
Lex Fridman (14:10.700)
the field of deep learning in a chapter?
Ian Goodfellow (14:13.080)
Well, in my case, I waited like a year
Lex Fridman (14:16.880)
before I actually wrote anything.
Ian Goodfellow (14:19.200)
Even having written a full length textbook before,
Lex Fridman (14:22.660)
it's still pretty intimidating
Ian Goodfellow (14:25.600)
to try to start writing just one chapter
Lex Fridman (14:27.840)
that covers everything.
Ian Goodfellow (14:31.160)
One thing that helped me make that plan
Lex Fridman (14:33.200)
was actually the experience
Ian Goodfellow (14:34.320)
of having written the full book before
Lex Fridman (14:36.740)
and then watching how the field changed
Ian Goodfellow (14:39.160)
after the book came out.
Lex Fridman (14:41.000)
I've realized there's a lot of topics
Ian Goodfellow (14:42.340)
that were maybe extraneous in the first book
Lex Fridman (14:45.040)
and just seeing what stood the test
Ian Goodfellow (14:47.620)
of a few years of being published
Lex Fridman (14:49.440)
and what seems a little bit less important
Ian Goodfellow (14:52.240)
to have included now helped me pare down the topics
Lex Fridman (14:54.320)
I wanted to cover for the book.
Ian Goodfellow (14:56.920)
It's also really nice now
Lex Fridman (14:58.060)
that the field is kind of stabilized
Ian Goodfellow (15:00.600)
to the point where some core ideas from the 1980s
Lex Fridman (15:02.840)
are still used today.
Ian Goodfellow (15:04.800)
When I first started studying machine learning,
Lex Fridman (15:06.720)
almost everything from the 1980s had been rejected
Lex Fridman (15:09.600)
and now some of it has come back.
Lex Fridman (15:11.400)
So that stuff that's really stood the test of time
Ian Goodfellow (15:13.520)
is what I focused on putting into the book.
Lex Fridman (15:16.960)
There's also, I guess, two different philosophies
Ian Goodfellow (15:21.320)
about how you might write a book.
Lex Fridman (15:23.160)
One philosophy is you try to write a reference
Ian Goodfellow (15:24.840)
that covers everything.
Lex Fridman (15:26.240)
The other philosophy is you try to provide
Ian Goodfellow (15:28.040)
a high level summary that gives people the language
Lex Fridman (15:31.160)
to understand a field
Lex Fridman (15:32.440)
and tells them what the most important concepts are.
Lex Fridman (15:35.000)
The first deep learning book that I wrote
Ian Goodfellow (15:37.080)
with Joshua and Aaron was somewhere
Lex Fridman (15:39.260)
between the two philosophies,
Ian Goodfellow (15:41.240)
that it's trying to be both a reference
Lex Fridman (15:43.640)
and an introductory guide.
Ian Goodfellow (15:45.760)
Writing this chapter for Russell Norvig's book,
Lex Fridman (15:48.920)
I was able to focus more on just a concise introduction
Ian Goodfellow (15:52.780)
of the key concepts and the language
Lex Fridman (15:54.240)
you need to read about them more.
Ian Goodfellow (15:55.980)
In a lot of cases, I actually just wrote paragraphs
Lex Fridman (15:57.560)
that said, here's a rapidly evolving area
Ian Goodfellow (16:00.060)
that you should pay attention to.
Lex Fridman (16:02.360)
It's pointless to try to tell you what the latest
Lex Fridman (16:04.760)
and best version of a learn to learn model is.
Lex Fridman (16:11.680)
I can point you to a paper that's recent right now,
Lex Fridman (16:13.660)
but there isn't a whole lot of a reason to delve
Lex Fridman (16:16.880)
into exactly what's going on
Ian Goodfellow (16:18.640)
with the latest learning to learn approach
Lex Fridman (16:21.600)
or the latest module produced
Ian Goodfellow (16:23.400)
by a learning to learn algorithm.
Lex Fridman (16:25.000)
You should know that learning to learn is a thing
Lex Fridman (16:26.800)
and that it may very well be the source of the latest
Lex Fridman (16:30.680)
and greatest convolutional net or recurrent net module
Ian Goodfellow (16:33.800)
that you would want to use in your latest project.
Lex Fridman (16:36.060)
But there isn't a lot of point in trying to summarize
Ian Goodfellow (16:38.200)
exactly which architecture and which learning approach
Lex Fridman (16:42.300)
got to which level of performance.
Lex Fridman (16:44.060)
So you maybe focus more on the basics of the methodology.
Lex Fridman (16:49.260)
So from back propagation to feed forward
Ian Goodfellow (16:52.500)
to recurrent neural networks, convolutional,
Lex Fridman (16:54.480)
that kind of thing?
Ian Goodfellow (16:55.320)
Yeah, yeah.
Lex Fridman (16:56.480)
So if I were to ask you, I remember I took algorithms
Lex Fridman (17:00.360)
and data structures algorithms course.
Lex Fridman (17:03.720)
I remember the professor asked, what is an algorithm?
Lex Fridman (17:09.160)
And yelled at everybody in a good way
Lex Fridman (17:12.200)
that nobody was answering it correctly.
Ian Goodfellow (17:14.040)
Everybody knew what the algorithm, it was graduate course.
Lex Fridman (17:16.380)
Everybody knew what an algorithm was,
Lex Fridman (17:18.140)
but they weren't able to answer it well.
Lex Fridman (17:19.760)
So let me ask you in that same spirit,
Lex Fridman (17:22.360)
what is deep learning?
Lex Fridman (17:24.540)
I would say deep learning is any kind of machine learning
Ian Goodfellow (17:29.540)
that involves learning parameters of more than one
Lex Fridman (17:34.620)
consecutive step.
Lex Fridman (17:37.140)
So that, I mean, shallow learning is things
Lex Fridman (17:39.460)
where you learn a lot of operations that happen in parallel.
Ian Goodfellow (17:43.620)
You might have a system that makes multiple steps.
Lex Fridman (17:46.580)
Like you might have hand designed feature extractors,
Lex Fridman (17:50.700)
but really only one step is learned.
Lex Fridman (17:52.500)
Deep learning is anything where you have multiple operations
Ian Goodfellow (17:55.900)
in sequence, and that includes the things
Lex Fridman (17:58.420)
that are really popular today,
Ian Goodfellow (17:59.780)
like convolutional networks and recurrent networks.
Lex Fridman (18:03.580)
But it also includes some of the things that have died out
Ian Goodfellow (18:06.580)
like Bolton machines,
Lex Fridman (18:08.260)
where we weren't using back propagation.
Ian Goodfellow (18:11.980)
Today, I hear a lot of people define deep learning
Lex Fridman (18:14.220)
as gradient descent applied
Ian Goodfellow (18:18.020)
to these differentiable functions.
Lex Fridman (18:21.460)
And I think that's a legitimate usage of the term.
Ian Goodfellow (18:24.780)
It's just different from the way that I use the term myself.
Lex Fridman (18:27.820)
So what's an example of deep learning
Lex Fridman (18:31.740)
that is not gradient descent and differentiable functions?
Lex Fridman (18:34.740)
In your, I mean, not specifically perhaps,
Lex Fridman (18:37.420)
but more even looking into the future,
Lex Fridman (18:39.780)
what's your thought about that space of approaches?
Ian Goodfellow (18:44.300)
Yeah, so I tend to think of machine learning algorithms
Lex Fridman (18:46.340)
as decomposed into really three different pieces.
Ian Goodfellow (18:50.180)
There's the model, which can be something like a neural net
Lex Fridman (18:52.980)
or a Bolton machine or a recurrent model.
Lex Fridman (18:56.580)
And that basically just describes how do you take data
Lex Fridman (18:59.500)
and how do you take parameters?
Lex Fridman (19:01.140)
And what function do you use to make a prediction
Lex Fridman (19:04.300)
given the data and the parameters?
Ian Goodfellow (19:07.320)
Another piece of the learning algorithm
Lex Fridman (19:09.260)
is the optimization algorithm.
Ian Goodfellow (19:12.380)
Or not every algorithm can be really described
Lex Fridman (19:14.900)
in terms of optimization,
Lex Fridman (19:15.900)
but what's the algorithm for updating the parameters
Lex Fridman (19:18.860)
or updating whatever the state of the network is?
Lex Fridman (19:22.620)
And then the last part is the data set,
Lex Fridman (19:26.280)
like how do you actually represent the world
Lex Fridman (19:29.180)
as it comes into your machine learning system?
Lex Fridman (19:33.140)
So I think of deep learning as telling us something about
Lex Fridman (19:36.740)
what does the model look like?
Lex Fridman (19:39.060)
And basically to qualify as deep,
Ian Goodfellow (19:41.260)
I say that it just has to have multiple layers.
Lex Fridman (19:44.540)
That can be multiple steps
Ian Goodfellow (19:46.340)
in a feed forward differentiable computation.
Lex Fridman (19:49.220)
That can be multiple layers in a graphical model.
Ian Goodfellow (19:52.020)
There's a lot of ways that you could satisfy me
Lex Fridman (19:53.560)
that something has multiple steps
Ian Goodfellow (19:56.140)
that are each parameterized separately.
Lex Fridman (19:58.900)
I think of gradient descent
Ian Goodfellow (19:59.940)
as being all about that other piece,
Lex Fridman (1:00:03.460)
Right now, we all talk a lot about
Lex Fridman (1:00:05.060)
how interpretable different machine learning algorithms are,
Lex Fridman (1:00:07.540)
but it's really just people's opinion.
Lex Fridman (1:00:09.820)
And everybody probably has a different idea
Lex Fridman (1:00:11.300)
of what interpretability means in their head.
Ian Goodfellow (1:00:13.820)
If we could define some concept related to interpretability
Lex Fridman (1:00:16.940)
that's actually measurable,
Ian Goodfellow (1:00:18.700)
that would be a huge leap forward
Lex Fridman (1:00:20.540)
even without a new algorithm that increases that quantity.
Lex Fridman (1:00:24.140)
And also once we had the definition of differential privacy,
Lex Fridman (1:00:28.740)
it was fast to get the algorithms that guaranteed it.
Lex Fridman (1:00:31.340)
So you could imagine once we have definitions
Lex Fridman (1:00:33.500)
of good concepts and interpretability,
Ian Goodfellow (1:00:35.700)
we might be able to provide the algorithms
Lex Fridman (1:00:37.540)
that have the interpretability guarantees quickly too.
Lex Fridman (1:00:40.500)
So what do you think it takes to build a system
Lex Fridman (1:00:46.900)
with human level intelligence
Lex Fridman (1:00:48.660)
as we quickly venture into the philosophical?
Lex Fridman (1:00:51.980)
So artificial general intelligence, what do you think it takes?
Ian Goodfellow (1:00:55.660)
I think that it definitely takes better environments
Lex Fridman (1:01:01.820)
than we currently have for training agents
Ian Goodfellow (1:01:03.780)
that we want them to have
Lex Fridman (1:01:05.260)
a really wide diversity of experiences.
Ian Goodfellow (1:01:08.740)
I also think it's gonna take really a lot of computation.
Lex Fridman (1:01:11.780)
It's hard to imagine exactly how much.
Lex Fridman (1:01:13.780)
So you're optimistic about simulation,
Lex Fridman (1:01:16.300)
simulating a variety of environments as the path forward?
Ian Goodfellow (1:01:19.540)
I think it's a necessary ingredient.
Lex Fridman (1:01:21.980)
Yeah, I don't think that we're going to get
Ian Goodfellow (1:01:24.700)
to artificial general intelligence
Lex Fridman (1:01:27.340)
by training on fixed data sets
Ian Goodfellow (1:01:29.700)
or by thinking really hard about the problem.
Lex Fridman (1:01:32.100)
I think that the agent really needs to interact
Lex Fridman (1:01:35.860)
and have a variety of experiences within the same lifespan.
Lex Fridman (1:01:41.580)
And today we have many different models
Ian Goodfellow (1:01:44.100)
that can each do one thing.
Lex Fridman (1:01:45.700)
And we tend to train them on one data set
Ian Goodfellow (1:01:47.500)
or one RL environment.
Lex Fridman (1:01:50.100)
Sometimes there are actually papers
Ian Goodfellow (1:01:51.380)
about getting one set of parameters to perform well
Lex Fridman (1:01:54.180)
in many different RL environments.
Lex Fridman (1:01:56.980)
But we don't really have anything like an agent
Lex Fridman (1:01:59.500)
that goes seamlessly from one type of experience to another
Lex Fridman (1:02:02.900)
and really integrates all the different things
Lex Fridman (1:02:05.260)
that it does over the course of its life.
Ian Goodfellow (1:02:08.020)
When we do see multi agent environments,
Lex Fridman (1:02:10.580)
they tend to be,
Ian Goodfellow (1:02:12.340)
or so many multi environment agents,
Lex Fridman (1:02:14.660)
they tend to be similar environments.
Ian Goodfellow (1:02:16.740)
Like all of them are playing like an action based video game.
Lex Fridman (1:02:20.420)
We don't really have an agent that goes from
Ian Goodfellow (1:02:23.220)
playing a video game to like reading the Wall Street Journal
Lex Fridman (1:02:27.500)
to predicting how effective a molecule will be as a drug
Ian Goodfellow (1:02:31.260)
or something like that.
Lex Fridman (1:02:33.260)
What do you think is a good test for intelligence
Lex Fridman (1:02:35.940)
in your view?
Lex Fridman (1:02:37.020)
There's been a lot of benchmarks started with the,
Ian Goodfellow (1:02:40.300)
with Alan Turing,
Lex Fridman (1:02:41.700)
natural conversation being a good benchmark for intelligence.
Lex Fridman (1:02:46.260)
What would Ian Goodfellow sit back
Lex Fridman (1:02:51.340)
and be really damn impressed
Lex Fridman (1:02:53.380)
if a system was able to accomplish?
Lex Fridman (1:02:56.060)
Something that doesn't take a lot of glue
Ian Goodfellow (1:02:58.500)
from human engineers.
Lex Fridman (1:02:59.780)
So imagine that instead of having to
Ian Goodfellow (1:03:03.540)
go to the CIFAR website and download CIFAR 10
Lex Fridman (1:03:07.940)
and then write a Python script to parse it and all that,
Ian Goodfellow (1:03:11.300)
you could just point an agent at the CIFAR 10 problem
Lex Fridman (1:03:16.460)
and it downloads and extracts the data
Lex Fridman (1:03:19.180)
and trains a model and starts giving you predictions.
Lex Fridman (1:03:22.420)
I feel like something that doesn't need to have
Ian Goodfellow (1:03:25.980)
every step of the pipeline assembled for it,
Lex Fridman (1:03:28.620)
definitely understands what it's doing.
Ian Goodfellow (1:03:30.460)
Is AutoML moving into that direction
Lex Fridman (1:03:32.380)
or are you thinking way even bigger?
Ian Goodfellow (1:03:34.380)
AutoML has mostly been moving toward,
Lex Fridman (1:03:38.180)
once we've built all the glue,
Ian Goodfellow (1:03:39.900)
can the machine learning system
Lex Fridman (1:03:42.180)
design the architecture really well?
Lex Fridman (1:03:44.340)
And so I'm more of saying like,
Lex Fridman (1:03:47.260)
if something knows how to pre process the data
Lex Fridman (1:03:49.580)
so that it successfully accomplishes the task,
Lex Fridman (1:03:52.340)
then it would be very hard to argue
Ian Goodfellow (1:03:53.460)
that it doesn't truly understand the task
Lex Fridman (1:03:56.180)
in some fundamental sense.
Lex Fridman (1:03:58.460)
And I don't necessarily know that that's like
Lex Fridman (1:04:00.020)
the philosophical definition of intelligence,
Lex Fridman (1:04:02.260)
but that's something that would be really cool to build
Lex Fridman (1:04:03.780)
that would be really useful and would impress me
Lex Fridman (1:04:05.580)
and would convince me that we've made a step forward
Lex Fridman (1:04:08.180)
in real AI.
Lex Fridman (1:04:09.420)
So you give it like the URL for Wikipedia
Lex Fridman (1:04:13.380)
and then next day expect it to be able to solve CIFAR 10.
Ian Goodfellow (1:04:18.700)
Or like you type in a paragraph
Lex Fridman (1:04:20.820)
explaining what you want it to do
Lex Fridman (1:04:22.180)
and it figures out what web searches it should run
Lex Fridman (1:04:24.780)
and downloads all the necessary ingredients.
Lex Fridman (1:04:28.300)
So you have a very clear, calm way of speaking,
Lex Fridman (1:04:34.780)
no ums, easy to edit.
Ian Goodfellow (1:04:37.580)
I've seen comments for both you and I
Lex Fridman (1:04:40.220)
have been identified as both potentially being robots.
Ian Goodfellow (1:04:44.180)
If you have to prove to the world that you are indeed human,
Lex Fridman (1:04:47.220)
how would you do it?
Ian Goodfellow (1:04:48.580)
I can understand thinking that I'm a robot.
Lex Fridman (1:04:55.300)
It's the flip side of the Turing test, I think.
Ian Goodfellow (1:04:57.780)
Yeah, yeah, the prove your human test.
Lex Fridman (1:05:01.900)
Intellectually, so you have to...
Lex Fridman (1:05:04.460)
Is there something that's truly unique in your mind?
Lex Fridman (1:05:08.620)
Does it go back to just natural language again?
Ian Goodfellow (1:05:11.620)
Just being able to talk the way out of it.
Lex Fridman (1:05:13.860)
Proving that I'm not a robot with today's technology.
Ian Goodfellow (1:05:17.060)
Yeah, that's pretty straightforward.
Lex Fridman (1:05:18.340)
Like my conversation today hasn't veered off
Ian Goodfellow (1:05:20.780)
into talking about the stock market or something
Lex Fridman (1:05:24.380)
because of my training data.
Lex Fridman (1:05:25.940)
But I guess more generally trying to prove
Lex Fridman (1:05:28.060)
that something is real from the content alone
Ian Goodfellow (1:05:30.500)
is incredibly hard.
Lex Fridman (1:05:31.380)
That's one of the main things I've gotten
Ian Goodfellow (1:05:32.460)
out of my GAN research,
Lex Fridman (1:05:33.460)
that you can simulate almost anything.
Lex Fridman (1:05:37.660)
And so you have to really step back to a separate channel
Lex Fridman (1:05:41.020)
to prove that something is real.
Lex Fridman (1:05:42.220)
So like, I guess I should have had myself
Lex Fridman (1:05:45.100)
stamped on a blockchain when I was born or something,
Lex Fridman (1:05:47.660)
but I didn't do that.
Lex Fridman (1:05:48.580)
So according to my own research methodology,
Ian Goodfellow (1:05:50.780)
there's just no way to know at this point.
Lex Fridman (1:05:52.940)
So what, last question, problem stands out for you
Ian Goodfellow (1:05:56.300)
that you're really excited about challenging
Lex Fridman (1:05:58.340)
in the near future?
Lex Fridman (1:05:59.900)
So I think resistance to adversarial examples,
Lex Fridman (1:06:02.900)
figuring out how to make machine learning secure
Ian Goodfellow (1:06:05.500)
against an adversary who wants to interfere
Lex Fridman (1:06:07.380)
and control it, that is one of the most important things
Ian Goodfellow (1:06:10.660)
researchers today could solve.
Lex Fridman (1:06:12.140)
In all domains, image, language, driving, and everything.
Ian Goodfellow (1:06:17.700)
I guess I'm most concerned about domains
Lex Fridman (1:06:19.780)
we haven't really encountered yet.
Ian Goodfellow (1:06:21.980)
Like imagine 20 years from now,
Lex Fridman (1:06:24.020)
when we're using advanced AIs to do things
Ian Goodfellow (1:06:26.820)
we haven't even thought of yet.
Lex Fridman (1:06:28.940)
Like if you ask people,
Lex Fridman (1:06:30.620)
what are the important problems in security of phones
Lex Fridman (1:06:35.100)
in like 2002?
Ian Goodfellow (1:06:37.620)
I don't think we would have anticipated
Lex Fridman (1:06:38.900)
that we're using them for nearly as many things
Ian Goodfellow (1:06:42.140)
as we're using them for today.
Lex Fridman (1:06:43.620)
I think it's gonna be like that with AI
Ian Goodfellow (1:06:44.860)
that you can kind of try to speculate
Lex Fridman (1:06:46.900)
about where it's going,
Lex Fridman (1:06:47.900)
but really the business opportunities
Lex Fridman (1:06:49.580)
that end up taking off would be hard
Ian Goodfellow (1:06:52.100)
to predict ahead of time.
Lex Fridman (1:06:54.140)
What you can predict ahead of time
Ian Goodfellow (1:06:55.300)
is that almost anything you can do with machine learning,
Lex Fridman (1:06:58.340)
you would like to make sure
Ian Goodfellow (1:06:59.420)
that people can't get it to do what they want
Lex Fridman (1:07:03.100)
rather than what you want,
Ian Goodfellow (1:07:04.580)
just by showing it a funny QR code
Lex Fridman (1:07:06.460)
or a funny input pattern.
Lex Fridman (1:07:08.460)
And you think that the set of methodology to do that
Lex Fridman (1:07:10.980)
can be bigger than any one domain?
Ian Goodfellow (1:07:13.140)
I think so, yeah.
Lex Fridman (1:07:14.140)
Yeah, like one methodology that I think is,
Ian Goodfellow (1:07:19.140)
not a specific methodology,
Lex Fridman (1:07:20.620)
but like a category of solutions
Ian Goodfellow (1:07:22.740)
that I'm excited about today is making dynamic models
Lex Fridman (1:07:25.660)
that change every time they make a prediction.
Lex Fridman (1:07:28.180)
So right now we tend to train models
Lex Fridman (1:07:31.100)
and then after they're trained, we freeze them
Lex Fridman (1:07:33.060)
and we just use the same rule
Lex Fridman (1:07:35.180)
to classify everything that comes in from then on.
Ian Goodfellow (1:07:38.180)
That's really a sitting duck from a security point of view.
Lex Fridman (1:07:41.500)
If you always output the same answer for the same input,
Ian Goodfellow (1:07:45.420)
then people can just run inputs through
Lex Fridman (1:07:48.220)
until they find a mistake that benefits them.
Lex Fridman (1:07:50.140)
And then they use the same mistake
Lex Fridman (1:07:51.700)
over and over and over again.
Ian Goodfellow (1:07:54.020)
I think having a model that updates its predictions
Lex Fridman (1:07:56.460)
so that it's harder to predict what you're gonna get
Ian Goodfellow (1:08:00.340)
will make it harder for an adversary
Lex Fridman (1:08:02.740)
to really take control of the system
Lex Fridman (1:08:04.820)
and make it do what they want it to do.
Lex Fridman (1:08:06.100)
Yeah, models that maintain a bit of a sense of mystery
Ian Goodfellow (1:08:09.740)
about them, because they always keep changing.
Lex Fridman (1:08:12.740)
Ian, thanks so much for talking today, it was awesome.
Ian Goodfellow (1:08:14.900)
Thank you for coming in, it's great to see you.
Lex Fridman (20:01.540)
the how do you actually update the parameters piece?
Lex Fridman (20:04.260)
So you could imagine having a deep model
Lex Fridman (20:05.980)
like a convolutional net
Lex Fridman (20:07.540)
and training it with something like evolution
Lex Fridman (20:09.660)
or a genetic algorithm.
Lex Fridman (20:11.300)
And I would say that still qualifies as deep learning.
Lex Fridman (20:14.780)
And then in terms of models
Ian Goodfellow (20:16.060)
that aren't necessarily differentiable,
Lex Fridman (20:18.740)
I guess Bolton machines are probably
Ian Goodfellow (20:21.260)
the main example of something
Lex Fridman (20:23.580)
where you can't really take a derivative
Lex Fridman (20:25.540)
and use that for the learning process.
Lex Fridman (20:27.980)
But you can still argue that the model
Ian Goodfellow (20:30.780)
has many steps of processing that it applies
Lex Fridman (20:33.740)
when you run inference in the model.
Lex Fridman (20:35.760)
So it's the steps of processing that's key.
Lex Fridman (20:38.900)
So Jeff Hinton suggests that we need to throw away
Ian Goodfellow (20:41.300)
back propagation and start all over.
Lex Fridman (20:44.900)
What do you think about that?
Lex Fridman (20:46.500)
What could an alternative direction
Lex Fridman (20:48.540)
of training neural networks look like?
Ian Goodfellow (20:50.940)
I don't know that back propagation
Lex Fridman (20:52.860)
is gonna go away entirely.
Ian Goodfellow (20:54.660)
Most of the time when we decide
Lex Fridman (20:57.140)
that a machine learning algorithm
Ian Goodfellow (20:59.220)
isn't on the critical path to research for improving AI,
Lex Fridman (21:03.460)
the algorithm doesn't die.
Ian Goodfellow (21:04.660)
It just becomes used for some specialized set of things.
Lex Fridman (21:08.820)
A lot of algorithms like logistic regression
Ian Goodfellow (21:11.180)
don't seem that exciting to AI researchers
Lex Fridman (21:13.980)
who are working on things like speech recognition
Ian Goodfellow (21:16.760)
or autonomous cars today.
Lex Fridman (21:18.420)
But there's still a lot of use for logistic regression
Lex Fridman (21:21.100)
and things like analyzing really noisy data
Lex Fridman (21:24.000)
in medicine and finance
Ian Goodfellow (21:25.700)
or making really rapid predictions
Lex Fridman (21:28.780)
in really time limited contexts.
Lex Fridman (21:30.700)
So I think back propagation and gradient descent
Lex Fridman (21:33.480)
are around to stay, but they may not end up being
Ian Goodfellow (21:38.340)
everything that we need to get to real human level
Lex Fridman (21:40.860)
or super human AI.
Ian Goodfellow (21:42.380)
Are you optimistic about us discovering
Lex Fridman (21:46.700)
back propagation has been around for a few decades?
Lex Fridman (21:50.220)
So are you optimistic about us as a community
Lex Fridman (21:54.100)
being able to discover something better?
Ian Goodfellow (21:56.800)
Yeah, I am.
Lex Fridman (21:57.640)
I think we likely will find something that works better.
Ian Goodfellow (22:01.820)
You could imagine things like having stacks of models
Lex Fridman (22:05.500)
where some of the lower level models
Ian Goodfellow (22:07.580)
predict parameters of the higher level models.
Lex Fridman (22:10.200)
And so at the top level,
Ian Goodfellow (22:12.140)
you're not learning in terms of literally
Lex Fridman (22:13.500)
calculating gradients,
Lex Fridman (22:14.460)
but just predicting how different values will perform.
Lex Fridman (22:17.700)
You can kind of see that already in some areas
Ian Goodfellow (22:19.580)
like Bayesian optimization,
Lex Fridman (22:21.380)
where you have a Gaussian process
Ian Goodfellow (22:22.940)
that predicts how well different parameter values
Lex Fridman (22:24.800)
will perform.
Ian Goodfellow (22:25.880)
We already use those kinds of algorithms
Lex Fridman (22:27.700)
for things like hyper parameter optimization.
Lex Fridman (22:30.260)
And in general, we know a lot of things other than back prop
Lex Fridman (22:32.500)
that work really well for specific problems.
Ian Goodfellow (22:34.980)
The main thing we haven't found is
Lex Fridman (22:37.460)
a way of taking one of these other
Ian Goodfellow (22:38.880)
non back prop based algorithms
Lex Fridman (22:41.160)
and having it really advanced the state of the art
Ian Goodfellow (22:43.500)
on an AI level problem.
Lex Fridman (22:46.160)
Right.
Lex Fridman (22:47.100)
But I wouldn't be surprised if eventually
Lex Fridman (22:49.180)
we find that some of these algorithms
Ian Goodfellow (22:50.780)
that even the ones that already exist,
Lex Fridman (22:52.780)
not even necessarily new one,
Ian Goodfellow (22:54.220)
we might find some way of customizing
Lex Fridman (22:58.180)
one of these algorithms to do something really interesting
Ian Goodfellow (23:00.540)
at the level of cognition or the level of,
Lex Fridman (23:06.420)
I think one system that we really don't have working
Ian Goodfellow (23:08.660)
quite right yet is like short term memory.
Lex Fridman (23:12.940)
We have things like LSTMs,
Ian Goodfellow (23:14.500)
they're called long short term memory.
Lex Fridman (23:16.980)
They still don't do quite what a human does
Ian Goodfellow (23:20.020)
with short term memory.
Lex Fridman (23:22.860)
Like gradient descent to learn a specific fact
Ian Goodfellow (23:26.940)
has to do multiple steps on that fact.
Lex Fridman (23:29.380)
Like if I tell you the meeting today is at 3 p.m.,
Ian Goodfellow (23:34.140)
I don't need to say over and over again,
Lex Fridman (23:35.460)
it's at 3 p.m., it's at 3 p.m., it's at 3 p.m.,
Ian Goodfellow (23:37.780)
it's at 3 p.m.
Lex Fridman (23:38.940)
for you to do a gradient step on each one.
Ian Goodfellow (23:40.380)
You just hear it once and you remember it.
Lex Fridman (23:43.180)
There's been some work on things like self attention
Lex Fridman (23:46.940)
and attention like mechanisms,
Lex Fridman (23:48.340)
like the neural Turing machine
Ian Goodfellow (23:50.420)
that can write to memory cells
Lex Fridman (23:52.220)
and update themselves with facts like that right away.
Lex Fridman (23:54.900)
But I don't think we've really nailed it yet.
Lex Fridman (23:56.900)
And that's one area where I'd imagine
Ian Goodfellow (23:59.580)
that new optimization algorithms
Lex Fridman (24:02.660)
or different ways of applying
Ian Goodfellow (24:03.780)
existing optimization algorithms
Lex Fridman (24:05.980)
could give us a way of just lightning fast
Ian Goodfellow (24:08.800)
updating the state of a machine learning system
Lex Fridman (24:11.180)
to contain a specific fact like that
Ian Goodfellow (24:14.100)
without needing to have it presented
Lex Fridman (24:15.340)
over and over and over again.
Lex Fridman (24:16.980)
So some of the success of symbolic systems in the 80s
Lex Fridman (24:21.420)
is they were able to assemble these kinds of facts better.
Lex Fridman (24:26.220)
But there's a lot of expert input required
Lex Fridman (24:29.100)
and it's very limited in that sense.
Lex Fridman (24:31.140)
Do you ever look back to that
Lex Fridman (24:33.700)
as something that we'll have to return to eventually?
Ian Goodfellow (24:36.560)
Sort of dust off the book from the shelf
Lex Fridman (24:38.440)
and think about how we build knowledge,
Ian Goodfellow (24:41.340)
representation, knowledge base.
Lex Fridman (24:42.940)
Like will we have to use graph searches?
Ian Goodfellow (24:44.820)
Graph searches, right.
Lex Fridman (24:45.780)
And like first order logic and entailment
Lex Fridman (24:47.700)
and things like that.
Lex Fridman (24:48.540)
That kind of thing, yeah, exactly.
Ian Goodfellow (24:49.540)
In my particular line of work,
Lex Fridman (24:51.180)
which has mostly been machine learning security
Lex Fridman (24:54.540)
and also generative modeling,
Lex Fridman (24:56.740)
I haven't usually found myself moving in that direction.
Ian Goodfellow (25:00.560)
For generative models, I could see a little bit of,
Lex Fridman (25:03.500)
it could be useful if you had something
Ian Goodfellow (25:04.920)
like a differentiable knowledge base
Lex Fridman (25:09.660)
or some other kind of knowledge base
Ian Goodfellow (25:10.980)
where it's possible for some of our
Lex Fridman (25:13.140)
fuzzier machine learning algorithms
Ian Goodfellow (25:14.860)
to interact with a knowledge base.
Lex Fridman (25:16.900)
I mean, your network is kind of like that.
Ian Goodfellow (25:19.060)
It's a differentiable knowledge base of sorts.
Lex Fridman (25:21.480)
Yeah.
Ian Goodfellow (25:22.320)
But.
Lex Fridman (25:23.660)
If we had a really easy way of giving feedback
Ian Goodfellow (25:27.660)
to machine learning models,
Lex Fridman (25:29.260)
that would clearly help a lot with generative models.
Lex Fridman (25:32.420)
And so you could imagine one way of getting there
Lex Fridman (25:33.940)
would be get a lot better at natural language processing.
Lex Fridman (25:36.760)
But another way of getting there would be
Lex Fridman (25:38.960)
take some kind of knowledge base
Lex Fridman (25:40.300)
and figure out a way for it to actually
Lex Fridman (25:42.340)
interact with a neural network.
Ian Goodfellow (25:44.100)
Being able to have a chat with a neural network.
Lex Fridman (25:46.100)
Yeah.
Lex Fridman (25:47.900)
So like one thing in generative models we see a lot today
Lex Fridman (25:50.020)
is you'll get things like faces that are not symmetrical,
Ian Goodfellow (25:54.780)
like people that have two eyes that are different colors.
Lex Fridman (25:58.580)
I mean, there are people with eyes
Ian Goodfellow (25:59.580)
that are different colors in real life,
Lex Fridman (26:00.900)
but not nearly as many of them as you tend to see
Ian Goodfellow (26:03.500)
in the machine learning generated data.
Lex Fridman (26:06.140)
So if you had either a knowledge base
Ian Goodfellow (26:08.140)
that could contain the fact,
Lex Fridman (26:10.220)
people's faces are generally approximately symmetric
Lex Fridman (26:13.380)
and eye color is especially likely
Lex Fridman (26:15.940)
to be the same on both sides.
Ian Goodfellow (26:17.980)
Being able to just inject that hint
Lex Fridman (26:20.200)
into the machine learning model
Ian Goodfellow (26:22.060)
without it having to discover that itself
Lex Fridman (26:23.860)
after studying a lot of data
Ian Goodfellow (26:25.820)
would be a really useful feature.
Lex Fridman (26:28.380)
I could see a lot of ways of getting there
Ian Goodfellow (26:30.180)
without bringing back some of the 1980s technology,
Lex Fridman (26:32.220)
but I also see some ways that you could imagine
Ian Goodfellow (26:35.180)
extending the 1980s technology to play nice with neural nets
Lex Fridman (26:38.260)
and have it help get there.
Ian Goodfellow (26:40.080)
Awesome.
Lex Fridman (26:40.920)
So you talked about the story of you coming up
Ian Goodfellow (26:44.380)
with the idea of GANs at a bar with some friends.
Lex Fridman (26:47.020)
You were arguing that this, you know, GANs would work,
Ian Goodfellow (26:51.380)
generative adversarial networks,
Lex Fridman (26:53.060)
and the others didn't think so.
Ian Goodfellow (26:54.660)
Then you went home at midnight, coded it up, and it worked.
Lex Fridman (26:58.420)
So if I was a friend of yours at the bar,
Ian Goodfellow (27:01.340)
I would also have doubts.
Lex Fridman (27:02.700)
It's a really nice idea,
Lex Fridman (27:03.860)
but I'm very skeptical that it would work.
Lex Fridman (27:06.820)
What was the basis of their skepticism?
Lex Fridman (27:09.300)
What was the basis of your intuition why it should work?
Lex Fridman (27:14.340)
I don't want to be someone who goes around
Ian Goodfellow (27:15.980)
promoting alcohol for the purposes of science,
Lex Fridman (27:18.280)
but in this case,
Ian Goodfellow (27:20.020)
I do actually think that drinking helped a little bit.
Lex Fridman (27:23.060)
When your inhibitions are lowered,
Ian Goodfellow (27:25.360)
you're more willing to try out things
Lex Fridman (27:27.380)
that you wouldn't try out otherwise.
Lex Fridman (27:29.620)
So I have noticed in general
Lex Fridman (27:32.460)
that I'm less prone to shooting down some of my own ideas
Ian Goodfellow (27:34.540)
when I have had a little bit to drink.
Lex Fridman (27:37.960)
I think if I had had that idea at lunchtime,
Ian Goodfellow (27:41.020)
I probably would have thought,
Lex Fridman (27:42.260)
it's hard enough to train one neural net,
Ian Goodfellow (27:43.720)
you can't train a second neural net
Lex Fridman (27:44.880)
in the inner loop of the outer neural net.
Ian Goodfellow (27:48.080)
That was basically my friend's objection,
Lex Fridman (27:49.820)
was that trying to train two neural nets at the same time
Ian Goodfellow (27:52.740)
would be too hard.
Lex Fridman (27:54.260)
So it was more about the training process,
Ian Goodfellow (27:56.140)
unless, so my skepticism would be,
Lex Fridman (27:58.300)
you know, I'm sure you could train it,
Lex Fridman (28:01.140)
but the thing it would converge to
Lex Fridman (28:03.180)
would not be able to generate anything reasonable,
Ian Goodfellow (28:05.820)
any kind of reasonable realism.
Lex Fridman (28:08.260)
Yeah, so part of what all of us were thinking about
Ian Goodfellow (28:11.360)
when we had this conversation was deep Bolton machines,
Lex Fridman (28:15.280)
which a lot of us in the lab, including me,
Ian Goodfellow (28:16.980)
were a big fan of deep Bolton machines at the time.
Lex Fridman (28:20.660)
They involved two separate processes
Ian Goodfellow (28:22.920)
running at the same time.
Lex Fridman (28:25.060)
One of them is called the positive phase,
Ian Goodfellow (28:28.140)
where you load data into the model
Lex Fridman (28:31.160)
and tell the model to make the data more likely.
Ian Goodfellow (28:33.540)
The other one is called the negative phase,
Lex Fridman (28:35.140)
where you draw samples from the model
Lex Fridman (28:37.020)
and tell the model to make those samples less likely.
Lex Fridman (28:41.180)
In a deep Bolton machine,
Ian Goodfellow (28:42.220)
it's not trivial to generate a sample.
Lex Fridman (28:43.960)
You have to actually run an iterative process
Ian Goodfellow (28:46.980)
that gets better and better samples
Lex Fridman (28:49.140)
coming closer and closer to the distribution
Ian Goodfellow (28:51.380)
the model represents.
Lex Fridman (28:52.840)
So during the training process,
Ian Goodfellow (28:53.900)
you're always running these two systems at the same time,
Lex Fridman (28:56.940)
one that's updating the parameters of the model
Lex Fridman (28:58.940)
and another one that's trying to generate samples
Lex Fridman (29:00.500)
from the model.
Lex Fridman (29:01.660)
And they worked really well in things like MNIST,
Lex Fridman (29:04.340)
but a lot of us in the lab, including me,
Ian Goodfellow (29:05.820)
had tried to get deep Bolton machines
Lex Fridman (29:07.500)
to scale past MNIST to things like generating color photos,
Lex Fridman (29:11.900)
and we just couldn't get the two processes
Lex Fridman (29:14.120)
to stay synchronized.
Lex Fridman (29:17.380)
So when I had the idea for GANs,
Lex Fridman (29:18.740)
a lot of people thought that the discriminator
Ian Goodfellow (29:20.340)
would have more or less the same problem
Lex Fridman (29:22.580)
as the negative phase in the Bolton machine,
Ian Goodfellow (29:25.320)
that trying to train the discriminator in the inner loop,
Lex Fridman (29:27.800)
you just couldn't get it to keep up
Ian Goodfellow (29:29.920)
with the generator in the outer loop,
Lex Fridman (29:31.540)
and that would prevent it from converging
Ian Goodfellow (29:33.820)
to anything useful.
Lex Fridman (29:35.220)
Yeah, I share that intuition.
Ian Goodfellow (29:36.840)
Yeah.
Lex Fridman (29:39.540)
But turns out to not be the case.
Ian Goodfellow (29:41.940)
A lot of the time with machine learning algorithms,
Lex Fridman (29:43.760)
it's really hard to predict ahead of time
Lex Fridman (29:45.180)
how well they'll actually perform.
Lex Fridman (29:46.900)
You have to just run the experiment and see what happens.
Lex Fridman (29:49.140)
And I would say I still today don't have
Lex Fridman (29:52.500)
like one factor I can put my finger on and say,
Ian Goodfellow (29:54.780)
this is why GANs worked for photo generation
Lex Fridman (29:58.340)
and deep Bolton machines don't.
Ian Goodfellow (30:01.980)
There are a lot of theory papers
Lex Fridman (30:03.300)
showing that under some theoretical settings,
Ian Goodfellow (30:06.340)
the GAN algorithm does actually converge,
Lex Fridman (30:10.680)
but those settings are restricted enough
Ian Goodfellow (30:14.140)
that they don't necessarily explain the whole picture
Lex Fridman (30:17.520)
in terms of all the results that we see in practice.
Lex Fridman (30:20.740)
So taking a step back,
Lex Fridman (30:22.300)
can you, in the same way as we talked about deep learning,
Lex Fridman (30:24.860)
can you tell me what generative adversarial networks are?
Lex Fridman (30:29.420)
Yeah, so generative adversarial networks
Ian Goodfellow (30:31.380)
are a particular kind of generative model.
Lex Fridman (30:33.980)
A generative model is a machine learning model
Ian Goodfellow (30:36.280)
that can train on some set of data.
Lex Fridman (30:38.860)
Like, so you have a collection of photos of cats
Lex Fridman (30:41.220)
and you want to generate more photos of cats,
Lex Fridman (30:43.980)
or you want to estimate a probability distribution over cats.
Lex Fridman (30:47.700)
So you can ask how likely it is
Lex Fridman (30:49.800)
that some new image is a photo of a cat.
Ian Goodfellow (30:52.860)
GANs are one way of doing this.
Lex Fridman (30:55.800)
Some generative models are good at creating new data.
Ian Goodfellow (30:59.180)
Other generative models are good at estimating
Lex Fridman (31:01.620)
that density function and telling you how likely
Ian Goodfellow (31:04.140)
particular pieces of data are to come
Lex Fridman (31:07.180)
from the same distribution as the training data.
Ian Goodfellow (31:09.700)
GANs are more focused on generating samples
Lex Fridman (31:12.420)
rather than estimating the density function.
Ian Goodfellow (31:15.600)
There are some kinds of GANs like FlowGAN that can do both,
Lex Fridman (31:18.500)
but mostly GANs are about generating samples,
Ian Goodfellow (31:21.620)
generating new photos of cats that look realistic.
Lex Fridman (31:24.220)
And they do that completely from scratch.
Ian Goodfellow (31:29.340)
It's analogous to human imagination.
Lex Fridman (31:32.240)
When a GAN creates a new image of a cat,
Ian Goodfellow (31:34.780)
it's using a neural network to produce a cat
Lex Fridman (31:39.300)
that has not existed before.
Ian Goodfellow (31:41.040)
It isn't doing something like compositing photos together.
Lex Fridman (31:44.540)
You're not literally taking the eye off of one cat
Lex Fridman (31:47.100)
and the ear off of another cat.
Lex Fridman (31:48.300)
It's more of this digestive process
Ian Goodfellow (31:51.380)
where the neural net trains in a lot of data
Lex Fridman (31:53.940)
and comes up with some representation
Ian Goodfellow (31:55.580)
of the probability distribution
Lex Fridman (31:57.420)
and generates entirely new cats.
Ian Goodfellow (31:59.820)
There are a lot of different ways
Lex Fridman (32:00.900)
of building a generative model.
Ian Goodfellow (32:01.980)
What's specific to GANs is that we have a two player game
Lex Fridman (32:05.680)
in the game theoretic sense.
Lex Fridman (32:08.100)
And as the players in this game compete,
Lex Fridman (32:10.340)
one of them becomes able to generate realistic data.
Ian Goodfellow (32:13.940)
The first player is called the generator.
Lex Fridman (32:16.140)
It produces output data such as just images, for example.
Lex Fridman (32:20.660)
And at the start of the learning process,
Lex Fridman (32:22.460)
it'll just produce completely random images.
Ian Goodfellow (32:25.140)
The other player is called the discriminator.
Lex Fridman (32:27.400)
The discriminator takes images as input
Lex Fridman (32:29.700)
and guesses whether they're real or fake.
Lex Fridman (32:32.540)
You train it both on real data,
Lex Fridman (32:34.260)
so photos that come from your training set,
Lex Fridman (32:36.140)
actual photos of cats,
Lex Fridman (32:37.860)
and you train it to say that those are real.
Lex Fridman (32:39.900)
You also train it on images
Ian Goodfellow (32:41.980)
that come from the generator network
Lex Fridman (32:43.860)
and you train it to say that those are fake.
Ian Goodfellow (32:46.740)
As the two players compete in this game,
Lex Fridman (32:49.220)
the discriminator tries to become better
Ian Goodfellow (32:50.960)
at recognizing whether images are real or fake.
Lex Fridman (32:53.340)
And the generator becomes better
Ian Goodfellow (32:54.800)
at fooling the discriminator into thinking
Lex Fridman (32:57.020)
that its outputs are real.
Lex Fridman (33:00.820)
And you can analyze this through the language of game theory
Lex Fridman (33:03.580)
and find that there's a Nash equilibrium
Ian Goodfellow (33:06.940)
where the generator has captured
Lex Fridman (33:08.620)
the correct probability distribution.
Lex Fridman (33:10.820)
So in the cat example,
Lex Fridman (33:12.180)
it makes perfectly realistic cat photos.
Lex Fridman (33:14.580)
And the discriminator is unable to do better
Lex Fridman (33:17.180)
than random guessing
Ian Goodfellow (33:18.740)
because all the samples coming from both the data
Lex Fridman (33:21.860)
and the generator look equally likely
Ian Goodfellow (33:24.060)
to have come from either source.
Lex Fridman (33:25.860)
So do you ever sit back
Lex Fridman (33:28.380)
and does it just blow your mind that this thing works?
Lex Fridman (33:31.300)
So from very,
Lex Fridman (33:33.380)
so it's able to estimate that density function
Lex Fridman (33:35.860)
enough to generate realistic images.
Ian Goodfellow (33:38.700)
I mean, does it, yeah.
Lex Fridman (33:40.860)
Do you ever sit back and think how does this even,
Ian Goodfellow (33:44.700)
why, this is quite incredible,
Lex Fridman (33:46.780)
especially where GANs have gone in terms of realism.
Ian Goodfellow (33:49.260)
Yeah, and not just to flatter my own work,
Lex Fridman (33:51.620)
but generative models,
Ian Goodfellow (33:53.840)
all of them have this property that
Lex Fridman (33:56.500)
if they really did what we ask them to do,
Ian Goodfellow (33:58.800)
they would do nothing but memorize the training data.
Lex Fridman (34:01.060)
Right, exactly.
Ian Goodfellow (34:02.920)
Models that are based on maximizing the likelihood,
Lex Fridman (34:05.740)
the way that you obtain the maximum likelihood
Ian Goodfellow (34:08.140)
for a specific training set
Lex Fridman (34:09.700)
is you assign all of your probability mass
Ian Goodfellow (34:12.380)
to the training examples and nowhere else.
Lex Fridman (34:15.100)
For GANs, the game is played using a training set.
Lex Fridman (34:18.380)
So the way that you become unbeatable in the game
Lex Fridman (34:21.140)
is you literally memorize training examples.
Ian Goodfellow (34:25.340)
One of my former interns wrote a paper,
Lex Fridman (34:28.860)
his name is Vaishnav Nagarajan,
Lex Fridman (34:31.020)
and he showed that it's actually hard for the generator
Lex Fridman (34:33.860)
to memorize the training data,
Ian Goodfellow (34:36.060)
hard in a statistical learning theory sense,
Lex Fridman (34:39.100)
that you can actually create reasons
Ian Goodfellow (34:42.140)
for why it would require quite a lot of learning steps
Lex Fridman (34:48.340)
and a lot of observations of different latent variables
Ian Goodfellow (34:52.140)
before you could memorize the training data.
Lex Fridman (34:54.300)
That still doesn't really explain why
Ian Goodfellow (34:56.140)
when you produce samples that are new,
Lex Fridman (34:58.200)
why do you get compelling images
Ian Goodfellow (34:59.820)
rather than just garbage
Lex Fridman (35:01.820)
that's different from the training set.
Lex Fridman (35:03.720)
And I don't think we really have a good answer for that,
Lex Fridman (35:06.900)
especially if you think about
Lex Fridman (35:07.880)
how many possible images are out there
Lex Fridman (35:10.180)
and how few images the generative model sees
Ian Goodfellow (35:14.020)
during training.
Lex Fridman (35:15.420)
It seems just unreasonable
Ian Goodfellow (35:16.900)
that generative models create new images as well as they do,
Lex Fridman (35:20.740)
especially considering that we're basically
Ian Goodfellow (35:22.700)
training them to memorize rather than generalize.
Lex Fridman (35:26.180)
I think part of the answer is
Ian Goodfellow (35:28.180)
there's a paper called Deep Image Prior
Lex Fridman (35:30.820)
where they show that you can take a convolutional net
Lex Fridman (35:33.060)
and you don't even need to learn
Lex Fridman (35:34.020)
the parameters of it at all,
Ian Goodfellow (35:34.980)
you just use the model architecture.
Lex Fridman (35:36.780)
And it's already useful for things like inpainting images.
Ian Goodfellow (35:40.260)
I think that shows us
Lex Fridman (35:41.500)
that the convolutional network architecture
Ian Goodfellow (35:43.580)
captures something really important
Lex Fridman (35:45.100)
about the structure of images.
Lex Fridman (35:47.180)
And we don't need to actually use the learning
Lex Fridman (35:50.180)
to capture all the information
Ian Goodfellow (35:51.460)
coming out of the convolutional net.
Lex Fridman (35:54.500)
That would imply that it would be much harder
Ian Goodfellow (35:57.660)
to make generative models in other domains.
Lex Fridman (36:00.500)
So far, we're able to make reasonable speech models
Lex Fridman (36:02.900)
and things like that.
Lex Fridman (36:04.100)
But to be honest, we haven't actually explored
Ian Goodfellow (36:06.780)
a whole lot of different data sets all that much.
Lex Fridman (36:09.100)
We don't, for example, see a lot of deep learning models
Ian Goodfellow (36:13.260)
of like biology data sets
Lex Fridman (36:17.780)
where you have lots of microarrays measuring
Ian Goodfellow (36:20.260)
the amount of different enzymes and things like that.
Lex Fridman (36:22.180)
So we may find that some of the progress
Ian Goodfellow (36:24.620)
that we've seen for images and speech
Lex Fridman (36:26.220)
turns out to really rely heavily on the model architecture.
Lex Fridman (36:29.460)
And we were able to do what we did for vision
Lex Fridman (36:32.300)
by trying to reverse engineer the human visual system.
Lex Fridman (36:35.540)
And maybe it'll turn out that we can't just use
Lex Fridman (36:39.380)
that same trick for arbitrary kinds of data.
Ian Goodfellow (36:42.860)
Right, so there's aspect to the human vision system,
Lex Fridman (36:45.340)
the hardware of it, that makes it without learning,
Ian Goodfellow (36:49.540)
without cognition, just makes it really effective
Lex Fridman (36:51.980)
at detecting the patterns we see in the visual world.
Ian Goodfellow (36:54.340)
Yeah.
Lex Fridman (36:55.180)
Yeah, that's really interesting.
Ian Goodfellow (36:57.140)
What, in a big, quick overview,
Lex Fridman (37:01.660)
in your view, what types of GANs are there
Lex Fridman (37:05.740)
and what other generative models besides GANs are there?
Lex Fridman (37:09.540)
Yeah, so it's maybe a little bit easier to start
Ian Goodfellow (37:12.820)
with what kinds of generative models are there
Lex Fridman (37:14.420)
other than GANs.
Lex Fridman (37:16.340)
So most generative models are likelihood based
Lex Fridman (37:20.340)
where to train them, you have a model that tells you
Lex Fridman (37:24.340)
how much probability it assigns to a particular example
Lex Fridman (37:28.580)
and you just maximize the probability assigned
Ian Goodfellow (37:30.980)
to all the training examples.
Lex Fridman (37:33.220)
It turns out that it's hard to design a model
Ian Goodfellow (37:35.740)
that can create really complicated images
Lex Fridman (37:38.740)
or really complicated audio waveforms
Lex Fridman (37:41.820)
and still have it be possible to estimate
Lex Fridman (37:45.740)
the likelihood function from a computational point of view.
Ian Goodfellow (37:51.740)
Most interesting models that you would just write down
Lex Fridman (37:53.740)
intuitively, it turns out that it's almost impossible
Ian Goodfellow (37:56.580)
to calculate the amount of probability they assign
Lex Fridman (37:58.980)
to a particular point.
Lex Fridman (38:01.300)
So there's a few different schools of generative models
Lex Fridman (38:04.380)
in the likelihood family.
Ian Goodfellow (38:07.060)
One approach is to very carefully design the model
Lex Fridman (38:09.860)
so that it is computationally tractable
Ian Goodfellow (38:12.420)
to measure the density it assigns to a particular point.
Lex Fridman (38:15.180)
So there are things like autoregressive models,
Ian Goodfellow (38:18.780)
like PixelCNN, those basically break down
Lex Fridman (38:23.580)
the probability distribution into a product
Ian Goodfellow (38:26.460)
over every single feature.
Lex Fridman (38:28.300)
So for an image, you estimate the probability
Ian Goodfellow (38:31.180)
of each pixel given all of the pixels that came before it.
Lex Fridman (38:35.420)
There's tricks where if you want to measure
Ian Goodfellow (38:37.300)
the density function, you can actually calculate
Lex Fridman (38:40.260)
the density for all these pixels more or less in parallel.
Ian Goodfellow (38:44.100)
Generating the image still tends to require you
Lex Fridman (38:46.500)
to go one pixel at a time, and that can be very slow.
Lex Fridman (38:50.460)
But there are, again, tricks for doing this
Lex Fridman (38:52.620)
in a hierarchical pattern where you can keep
Ian Goodfellow (38:54.180)
the runtime under control.
Lex Fridman (38:55.780)
Are the quality of the images it generates,
Lex Fridman (38:59.340)
putting runtime aside, pretty good?
Lex Fridman (39:02.660)
They're reasonable, yeah.
Ian Goodfellow (39:04.420)
I would say a lot of the best results
Lex Fridman (39:07.460)
are from GANs these days, but it can be hard to tell
Lex Fridman (39:11.060)
how much of that is based on who's studying
Lex Fridman (39:14.700)
which type of algorithm, if that makes sense.
Ian Goodfellow (39:17.260)
The amount of effort invested in a particular.
Lex Fridman (39:18.900)
Yeah, or like the kind of expertise.
Lex Fridman (39:21.420)
So a lot of people who've traditionally been excited
Lex Fridman (39:23.140)
about graphics or art and things like that
Ian Goodfellow (39:25.060)
have gotten interested in GANs.
Lex Fridman (39:27.020)
And to some extent, it's hard to tell
Ian Goodfellow (39:28.740)
are GANs doing better because they have a lot
Lex Fridman (39:31.740)
of graphics and art experts behind them,
Ian Goodfellow (39:34.700)
or are GANs doing better because they're more
Lex Fridman (39:37.060)
computationally efficient, or are GANs doing better
Ian Goodfellow (39:40.300)
because they prioritize the realism of samples
Lex Fridman (39:43.460)
over the accuracy of the density function.
Ian Goodfellow (39:45.540)
I think all of those are potentially valid explanations,
Lex Fridman (39:48.660)
and it's hard to tell.
Lex Fridman (39:51.300)
So can you give a brief history of GANs from 2014?
Lex Fridman (39:57.620)
Were you paper 13?
Ian Goodfellow (39:59.260)
Yeah, so a few highlights.
Lex Fridman (40:00.980)
In the first paper, we just showed
Ian Goodfellow (40:03.140)
that GANs basically work.
Lex Fridman (40:04.740)
If you look back at the samples we had now,
Ian Goodfellow (40:06.620)
they look terrible.
Lex Fridman (40:08.820)
On the CIFAR 10 data set,
Ian Goodfellow (40:10.020)
you can't even recognize objects in them.
Lex Fridman (40:12.220)
Your paper, sorry, you used CIFAR 10?
Ian Goodfellow (40:15.020)
We used MNIST, which is little handwritten digits.
Lex Fridman (40:18.060)
We used the Toronto Face database,
Ian Goodfellow (40:19.860)
which is small grayscale photos of faces.
Lex Fridman (40:22.660)
We did have recognizable faces.
Ian Goodfellow (40:24.180)
My colleague Bing Xu put together
Lex Fridman (40:25.660)
the first GAN face model for that paper.
Ian Goodfellow (40:29.660)
We also had the CIFAR 10 data set,
Lex Fridman (40:32.940)
which is things like very small 32 by 32 pixels
Ian Goodfellow (40:36.060)
of cars and cats and dogs.
Lex Fridman (40:40.660)
For that, we didn't get recognizable objects,
Lex Fridman (40:42.980)
but all the deep learning people back then
Lex Fridman (40:46.140)
were really used to looking at these failed samples
Lex Fridman (40:48.380)
and kind of reading them like tea leaves.
Lex Fridman (40:50.420)
And people who are used to reading the tea leaves
Ian Goodfellow (40:53.020)
recognize that our tea leaves at least look different.
Lex Fridman (40:56.500)
Maybe not necessarily better,
Lex Fridman (40:57.820)
but there was something unusual about them.
Lex Fridman (41:01.220)
And that got a lot of us excited.
Ian Goodfellow (41:03.620)
One of the next really big steps was LAPGAN
Lex Fridman (41:06.180)
by Emily Denton and Sumit Chintala at Facebook AI Research,
Ian Goodfellow (41:10.900)
where they actually got really good high resolution photos
Lex Fridman (41:14.460)
working with GANs for the first time.
Ian Goodfellow (41:16.580)
They had a complicated system
Lex Fridman (41:18.140)
where they generated the image starting at low res
Lex Fridman (41:20.100)
and then scaling up to high res,
Lex Fridman (41:22.900)
but they were able to get it to work.
Lex Fridman (41:24.900)
And then in 2015, I believe later that same year,
Lex Fridman (41:31.700)
Alec Radford and Sumit Chintala and Luke Metz
Ian Goodfellow (41:35.940)
published the DCGAN paper,
Lex Fridman (41:38.420)
which it stands for deep convolutional GAN.
Ian Goodfellow (41:41.860)
It's kind of a non unique name
Lex Fridman (41:43.740)
because these days basically all GANs
Lex Fridman (41:46.420)
and even some before that were deep and convolutional,
Lex Fridman (41:48.380)
but they just kind of picked a name
Ian Goodfellow (41:50.220)
for a really great recipe
Lex Fridman (41:52.260)
where they were able to actually using only one model
Ian Goodfellow (41:55.380)
instead of a multi step process,
Lex Fridman (41:57.300)
actually generate realistic images of faces
Lex Fridman (41:59.700)
and things like that.
Lex Fridman (42:01.980)
That was sort of like the beginning
Ian Goodfellow (42:05.260)
of the Cambrian explosion of GANs.
Lex Fridman (42:07.380)
Like once you had animals that had a backbone,
Ian Goodfellow (42:09.740)
you suddenly got lots of different versions of fish
Lex Fridman (42:12.900)
and four legged animals and things like that.
Lex Fridman (42:15.340)
So DCGAN became kind of the backbone
Lex Fridman (42:17.940)
for many different models that came out.
Ian Goodfellow (42:19.420)
It's used as a baseline even still.
Lex Fridman (42:21.620)
Yeah, yeah.
Lex Fridman (42:23.140)
And so from there,
Lex Fridman (42:24.820)
I would say some interesting things we've seen
Ian Goodfellow (42:26.580)
are there's a lot you can say
Lex Fridman (42:29.420)
about how just the quality
Ian Goodfellow (42:30.940)
of standard image generation GANs has increased,
Lex Fridman (42:33.580)
but what's also maybe more interesting
Ian Goodfellow (42:35.100)
on an intellectual level
Lex Fridman (42:36.020)
is how the things you can use GANs for has also changed.
Ian Goodfellow (42:41.020)
One thing is that you can use them to learn classifiers
Lex Fridman (42:44.580)
without having to have class labels
Ian Goodfellow (42:46.660)
for every example in your training set.
Lex Fridman (42:48.940)
So that's called semi supervised learning.
Ian Goodfellow (42:51.780)
My colleague at OpenAI, Tim Solomons,
Lex Fridman (42:53.820)
who's at Brain now,
Ian Goodfellow (42:55.820)
wrote a paper called Improve Techniques for Training GANs.
Lex Fridman (42:59.780)
I'm a coauthor on this paper,
Lex Fridman (43:00.900)
but I can't claim any credit for this particular part.
Lex Fridman (43:03.700)
One thing he showed in the paper
Ian Goodfellow (43:04.900)
is that you can take the GAN discriminator
Lex Fridman (43:07.820)
and use it as a classifier that actually tells you,
Ian Goodfellow (43:11.540)
this image is a cat, this image is a dog,
Lex Fridman (43:13.620)
this image is a car, this image is a truck, and so on.
Ian Goodfellow (43:16.420)
Not just to say whether the image is real or fake,
Lex Fridman (43:18.820)
but if it is real to say specifically
Lex Fridman (43:20.700)
what kind of object it is.
Lex Fridman (43:22.620)
And he found that you can train these classifiers
Ian Goodfellow (43:25.340)
with far fewer labeled examples
Lex Fridman (43:28.580)
than traditional classifiers.
Lex Fridman (43:30.620)
So if you supervise based on also
Lex Fridman (43:33.660)
not just your discrimination ability,
Lex Fridman (43:35.300)
but your ability to classify,
Lex Fridman (43:36.820)
you're going to do much,
Ian Goodfellow (43:38.660)
you're going to converge much faster
Lex Fridman (43:40.100)
to being effective at being a discriminator.
Ian Goodfellow (43:43.300)
Yeah.
Lex Fridman (43:44.260)
So for example, for the MNIST dataset,
Ian Goodfellow (43:46.340)
you want to look at an image of a handwritten digit
Lex Fridman (43:48.860)
and say whether it's a zero, a one, or a two, and so on.
Ian Goodfellow (43:54.180)
To get down to less than 1% accuracy
Lex Fridman (43:56.980)
required around 60,000 examples
Ian Goodfellow (44:00.260)
until maybe about 2014 or so.
Lex Fridman (44:02.780)
In 2016 with this semi supervised GAN project,
Ian Goodfellow (44:07.460)
Tim was able to get below 1% error
Lex Fridman (44:11.060)
using only 100 labeled examples.
Lex Fridman (44:13.620)
So that was about a 600X decrease
Lex Fridman (44:15.980)
in the amount of labels that he needed.
Ian Goodfellow (44:17.980)
He's still using more images than that,
Lex Fridman (44:21.060)
but he doesn't need to have each of them labeled
Ian Goodfellow (44:22.740)
as this one's a one, this one's a two,
Lex Fridman (44:25.100)
this one's a zero, and so on.
Ian Goodfellow (44:27.020)
Then to be able to,
Lex Fridman (44:28.460)
for GANs to be able to generate recognizable objects,
Lex Fridman (44:31.220)
so objects from a particular class,
Lex Fridman (44:33.420)
you still need labeled data
Ian Goodfellow (44:37.020)
because you need to know what it means
Lex Fridman (44:38.900)
to be a particular class cat, dog.
Lex Fridman (44:41.740)
How do you think we can move away from that?
Lex Fridman (44:44.580)
Yeah, some researchers at Brain Zurich
Ian Goodfellow (44:46.620)
actually just released a really great paper
Lex Fridman (44:49.020)
on semi supervised GANs
Ian Goodfellow (44:51.780)
where their goal isn't to classify,
Lex Fridman (44:53.940)
it's to make recognizable objects
Ian Goodfellow (44:56.180)
despite not having a lot of labeled data.
Lex Fridman (44:58.660)
They were working off of DeepMind's BigGAN project
Lex Fridman (45:02.380)
and they showed that they can match the performance
Lex Fridman (45:05.180)
of BigGAN using only 10%, I believe,
Ian Goodfellow (45:08.660)
of the labels.
Lex Fridman (45:10.540)
BigGAN was trained on the ImageNet data set,
Ian Goodfellow (45:12.300)
which is about 1.2 million images
Lex Fridman (45:14.420)
and had all of them labeled.
Ian Goodfellow (45:17.460)
This latest project from Brain Zurich
Lex Fridman (45:19.060)
shows that they're able to get away
Ian Goodfellow (45:20.220)
with only having about 10% of the images labeled.
Lex Fridman (45:25.500)
And they do that essentially using a clustering algorithm
Ian Goodfellow (45:29.860)
where the discriminator learns
Lex Fridman (45:31.140)
to assign the objects to groups
Lex Fridman (45:34.580)
and then this understanding that objects can be grouped
Lex Fridman (45:38.220)
into similar types helps it to form more realistic ideas
Ian Goodfellow (45:43.340)
of what should be appearing in the image
Lex Fridman (45:45.300)
because it knows that every image it creates
Ian Goodfellow (45:47.860)
has to come from one of these archetypal groups
Lex Fridman (45:50.060)
rather than just being some arbitrary image.
Ian Goodfellow (45:53.100)
If you train a GAN with no class labels,
Lex Fridman (45:54.980)
you tend to get things that look sort of like grass
Ian Goodfellow (45:57.700)
or water or brick or dirt,
Lex Fridman (46:00.380)
but without necessarily a lot going on in them.
Lex Fridman (46:04.340)
And I think that's partly because
Lex Fridman (46:05.700)
if you look at a large ImageNet image,
Ian Goodfellow (46:07.820)
the object doesn't necessarily occupy the whole image.
Lex Fridman (46:11.180)
And so you learn to create realistic sets of pixels,
Lex Fridman (46:15.580)
but you don't necessarily learn
Lex Fridman (46:17.460)
that the object is the star of the show
Lex Fridman (46:20.060)
and you want it to be in every image you make.
Lex Fridman (46:22.100)
Yeah, I've heard you talk about the horse,
Ian Goodfellow (46:25.380)
the zebra cycle GAN mapping
Lex Fridman (46:26.980)
and how it turns out, again, thought provoking
Ian Goodfellow (46:31.900)
that horses are usually on grass
Lex Fridman (46:33.580)
and zebras are usually on drier terrain.
Lex Fridman (46:35.660)
So when you're doing that kind of generation,
Lex Fridman (46:38.140)
you're going to end up generating greener horses
Ian Goodfellow (46:41.740)
or whatever, so those are connected together.
Lex Fridman (46:45.340)
It's not just, you're not able to segment,
Ian Goodfellow (46:49.980)
be able to generate in a segment away.
Lex Fridman (46:52.300)
So are there other types of games you come across
Ian Goodfellow (46:54.980)
in your mind that neural networks can play
Lex Fridman (46:59.540)
with each other to be able to solve problems?
Ian Goodfellow (47:04.540)
Yeah, the one that I spend most of my time on
Lex Fridman (47:07.660)
is in security.
Ian Goodfellow (47:09.340)
You can model most interactions as a game
Lex Fridman (47:13.060)
where there's attackers trying to break your system
Lex Fridman (47:15.820)
and you're the defender trying to build a resilient system.
Lex Fridman (47:20.140)
There's also domain adversarial learning,
Ian Goodfellow (47:23.060)
which is an approach to domain adaptation
Lex Fridman (47:25.500)
that looks really a lot like GANs.
Ian Goodfellow (47:28.100)
The authors had the idea before the GAN paper came out,
Lex Fridman (47:31.780)
their paper came out a little bit later
Lex Fridman (47:33.740)
and they're very nice and cited the GAN paper,
Lex Fridman (47:38.220)
but I know that they actually had the idea
Ian Goodfellow (47:40.180)
before it came out.
Lex Fridman (47:42.420)
Domain adaptation is when you want to train
Ian Goodfellow (47:44.300)
a machine learning model in one setting called a domain
Lex Fridman (47:47.620)
and then deploy it in another domain later.
Lex Fridman (47:50.260)
And you would like it to perform well in the new domain,
Lex Fridman (47:52.660)
even though the new domain is different
Ian Goodfellow (47:53.980)
from how it was trained.
Lex Fridman (47:55.900)
So for example, you might want to train
Ian Goodfellow (47:58.460)
on a really clean image data set like ImageNet,
Lex Fridman (48:01.340)
but then deploy on users phones
Ian Goodfellow (48:03.340)
where the user is taking pictures in the dark
Lex Fridman (48:05.980)
and pictures while moving quickly
Lex Fridman (48:07.780)
and just pictures that aren't really centered
Lex Fridman (48:09.980)
or composed all that well.
Ian Goodfellow (48:13.380)
When you take a normal machine learning model,
Lex Fridman (48:15.820)
it often degrades really badly
Ian Goodfellow (48:17.820)
when you move to the new domain
Lex Fridman (48:18.980)
because it looks so different
Ian Goodfellow (48:20.020)
from what the model was trained on.
Lex Fridman (48:22.100)
Domain adaptation algorithms try to smooth out that gap
Lex Fridman (48:25.420)
and the domain adversarial approach
Lex Fridman (48:27.300)
is based on training a feature extractor
Ian Goodfellow (48:29.780)
where the features have the same statistics
Lex Fridman (48:32.140)
regardless of which domain you extracted them on.
Lex Fridman (48:35.140)
So in the domain adversarial game,
Lex Fridman (48:36.860)
you have one player that's a feature extractor
Lex Fridman (48:39.140)
and another player that's a domain recognizer.
Lex Fridman (48:42.060)
The domain recognizer wants to look at the output
Ian Goodfellow (48:44.260)
of the feature extractor
Lex Fridman (48:45.700)
and guess which of the two domains the features came from.
Lex Fridman (48:49.300)
So it's a lot like the real versus fake discriminator
Lex Fridman (48:51.420)
in GANs and then the feature extractor,
Ian Goodfellow (48:54.940)
you can think of as loosely analogous
Lex Fridman (48:56.820)
to the generator in GANs,
Ian Goodfellow (48:57.940)
except what it's trying to do here
Lex Fridman (48:59.100)
is both fool the domain recognizer
Ian Goodfellow (49:02.460)
into not knowing which domain the data came from
Lex Fridman (49:05.340)
and also extract features that are good for classification.
Lex Fridman (49:09.060)
So at the end of the day,
Lex Fridman (49:12.180)
in the cases where it works out,
Ian Goodfellow (49:13.780)
you can actually get features
Lex Fridman (49:16.860)
that work about the same in both domains.
Ian Goodfellow (49:20.620)
Sometimes this has a drawback
Lex Fridman (49:21.980)
where in order to make things work the same in both domains,
Ian Goodfellow (49:24.820)
it just gets worse at the first one.
Lex Fridman (49:26.780)
But there are a lot of cases
Ian Goodfellow (49:27.820)
where it actually works out well on both.
Lex Fridman (49:30.780)
So do you think of GANs being useful
Lex Fridman (49:32.980)
in the context of data augmentation?
Lex Fridman (49:35.420)
Yeah, one thing you could hope for with GANs
Ian Goodfellow (49:38.100)
is you could imagine I've got a limited training set
Lex Fridman (49:41.340)
and I'd like to make more training data
Ian Goodfellow (49:43.860)
to train something else like a classifier.
Lex Fridman (49:47.180)
You could train the GAN on the training set
Lex Fridman (49:50.500)
and then create more data
Lex Fridman (49:52.380)
and then maybe the classifier
Ian Goodfellow (49:54.300)
would perform better on the test set
Lex Fridman (49:55.940)
after training on this bigger GAN generated data set.
Lex Fridman (49:58.860)
So that's the simplest version
Lex Fridman (50:00.420)
of something you might hope would work.
Ian Goodfellow (50:03.060)
I've never heard of that particular approach working,
Lex Fridman (50:05.460)
but I think there's some closely related things
Ian Goodfellow (50:08.940)
that I think could work in the future
Lex Fridman (50:11.540)
and some that actually already have worked.
Lex Fridman (50:14.100)
So if we think a little bit about what we'd be hoping for
Lex Fridman (50:15.820)
if we use the GAN to make more training data,
Ian Goodfellow (50:18.220)
we're hoping that the GAN will generalize to new examples
Lex Fridman (50:22.060)
better than the classifier would have generalized
Ian Goodfellow (50:24.140)
if it was trained on the same data.
Lex Fridman (50:25.980)
And I don't know of any reason to believe
Ian Goodfellow (50:27.740)
that the GAN would generalize better
Lex Fridman (50:28.940)
than the classifier would,
Lex Fridman (50:31.460)
but what we might hope for
Lex Fridman (50:33.100)
is that the GAN could generalize differently
Ian Goodfellow (50:35.580)
from a specific classifier.
Lex Fridman (50:37.500)
So one thing I think is worth trying
Ian Goodfellow (50:39.180)
that I haven't personally tried but someone could try is
Lex Fridman (50:41.740)
what if you trained a whole lot of different
Ian Goodfellow (50:44.020)
generative models on the same training set,
Lex Fridman (50:46.500)
create samples from all of them
Lex Fridman (50:48.380)
and then train a classifier on that?
Lex Fridman (50:50.580)
Because each of the generative models
Ian Goodfellow (50:52.380)
might generalize in a slightly different way.
Lex Fridman (50:54.460)
They might capture many different axes of variation
Ian Goodfellow (50:56.980)
that one individual model wouldn't
Lex Fridman (50:58.860)
and then the classifier can capture all of those ideas
Ian Goodfellow (51:01.900)
by training in all of their data.
Lex Fridman (51:03.580)
So it'd be a little bit like making
Ian Goodfellow (51:04.740)
an ensemble of classifiers.
Lex Fridman (51:06.340)
And I think that...
Ian Goodfellow (51:07.180)
Ensemble of GANs in a way.
Lex Fridman (51:08.860)
I think that could generalize better.
Ian Goodfellow (51:10.100)
The other thing that GANs are really good for
Lex Fridman (51:12.700)
is not necessarily generating new data
Ian Goodfellow (51:17.020)
that's exactly like what you already have,
Lex Fridman (51:19.380)
but by generating new data that has different properties
Ian Goodfellow (51:23.580)
from the data you already had.
Lex Fridman (51:25.340)
One thing that you can do is you can create
Ian Goodfellow (51:27.260)
differentially private data.
Lex Fridman (51:29.140)
So suppose that you have something like medical records
Lex Fridman (51:31.900)
and you don't want to train a classifier
Lex Fridman (51:33.860)
on the medical records and then publish the classifier
Ian Goodfellow (51:36.500)
because someone might be able to reverse engineer
Lex Fridman (51:38.180)
some of the medical records you trained on.
Ian Goodfellow (51:40.580)
There's a paper from Casey Green's lab
Lex Fridman (51:42.820)
that shows how you can train a GAN
Ian Goodfellow (51:45.060)
using differential privacy.
Lex Fridman (51:47.020)
And then the samples from the GAN
Ian Goodfellow (51:49.020)
still have the same differential privacy guarantees
Lex Fridman (51:51.180)
as the parameters of the GAN.
Lex Fridman (51:52.740)
So you can make fake patient data
Lex Fridman (51:55.700)
for other researchers to use.
Lex Fridman (51:57.260)
And they can do almost anything they want with that data
Lex Fridman (51:59.220)
because it doesn't come from real people.
Lex Fridman (52:02.020)
And the differential privacy mechanism
Lex Fridman (52:04.300)
gives you clear guarantees
Ian Goodfellow (52:06.500)
on how much the original people's data has been protected.
Lex Fridman (52:09.940)
That's really interesting, actually.
Ian Goodfellow (52:11.380)
I haven't heard you talk about that before.
Lex Fridman (52:13.780)
In terms of fairness, I've seen from AAAI,
Ian Goodfellow (52:17.780)
your talk, how can adversarial machine learning
Lex Fridman (52:21.260)
help models be more fair with respect to sensitive variables?
Ian Goodfellow (52:25.740)
Yeah, so there's a paper from Amos Starkey's lab
Lex Fridman (52:28.460)
about how to learn machine learning models
Ian Goodfellow (52:31.420)
that are incapable of using specific variables.
Lex Fridman (52:34.820)
So say, for example, you wanted to make predictions
Ian Goodfellow (52:36.700)
that are not affected by gender.
Lex Fridman (52:39.580)
It isn't enough to just leave gender
Ian Goodfellow (52:41.220)
out of the input to the model.
Lex Fridman (52:42.820)
You can often infer gender
Ian Goodfellow (52:44.020)
from a lot of other characteristics.
Lex Fridman (52:45.500)
Like say that you have the person's name,
Lex Fridman (52:47.500)
but you're not told their gender.
Lex Fridman (52:48.620)
Well, if their name is Ian, they're kind of obviously a man.
Lex Fridman (52:53.740)
So what you'd like to do is make a machine learning model
Lex Fridman (52:55.660)
that can still take in a lot of different attributes
Lex Fridman (52:59.020)
and make a really accurate informed prediction,
Lex Fridman (53:02.620)
but be confident that it isn't reverse engineering gender
Ian Goodfellow (53:05.780)
or another sensitive variable internally.
Lex Fridman (53:08.420)
You can do that using something very similar
Ian Goodfellow (53:10.300)
to the domain adversarial approach,
Lex Fridman (53:12.860)
where you have one player that's a feature extractor
Lex Fridman (53:16.140)
and another player that's a feature analyzer.
Lex Fridman (53:19.100)
And you want to make sure that the feature analyzer
Ian Goodfellow (53:21.460)
is not able to guess the value of the sensitive variable
Lex Fridman (53:24.740)
that you're trying to keep private.
Ian Goodfellow (53:26.660)
Right, that's, yeah, I love this approach.
Lex Fridman (53:29.100)
So yeah, with the feature,
Ian Goodfellow (53:31.660)
you're not able to infer the sensitive variables.
Lex Fridman (53:36.340)
Brilliant, that's quite brilliant and simple actually.
Ian Goodfellow (53:39.500)
Another way I think that GANs in particular
Lex Fridman (53:42.780)
could be used for fairness
Ian Goodfellow (53:44.260)
would be to make something like a CycleGAN,
Lex Fridman (53:46.780)
where you can take data from one domain
Lex Fridman (53:49.740)
and convert it into another.
Lex Fridman (53:51.180)
We've seen CycleGAN turning horses into zebras.
Ian Goodfellow (53:53.900)
We've seen other unsupervised GANs made by Mingyu Liu
Lex Fridman (53:59.260)
doing things like turning day photos into night photos.
Ian Goodfellow (54:03.700)
I think for fairness,
Lex Fridman (54:04.820)
you could imagine taking records for people in one group
Lex Fridman (54:08.460)
and transforming them into analogous people in another group
Lex Fridman (54:11.580)
and testing to see if they're treated equitably
Ian Goodfellow (54:14.980)
across those two groups.
Lex Fridman (54:16.460)
There's a lot of things that'd be hard to get right
Ian Goodfellow (54:18.100)
to make sure that the conversion process itself is fair.
Lex Fridman (54:21.140)
And I don't think it's anywhere near
Ian Goodfellow (54:23.900)
something that we could actually use yet,
Lex Fridman (54:25.420)
but if you could design that conversion process
Ian Goodfellow (54:27.140)
very carefully, it might give you a way of doing audits
Lex Fridman (54:30.540)
where you say, what if we took people from this group,
Ian Goodfellow (54:33.140)
converted them into equivalent people in another group,
Lex Fridman (54:35.460)
does the system actually treat them how it ought to?
Ian Goodfellow (54:38.740)
That's also really interesting.
Lex Fridman (54:41.780)
You know, in popular press and in general,
Ian Goodfellow (54:47.500)
in our imagination, you think,
Lex Fridman (54:49.500)
well, GANs are able to generate data
Lex Fridman (54:51.700)
and you start to think about deep fakes
Lex Fridman (54:54.540)
or being able to sort of maliciously generate data
Ian Goodfellow (54:57.940)
that fakes the identity of other people.
Lex Fridman (55:01.220)
Is this something of a concern to you?
Ian Goodfellow (55:03.180)
Is this something, if you look 10, 20 years into the future,
Lex Fridman (55:06.900)
is that something that pops up in your work,
Ian Goodfellow (55:10.380)
in the work of the community
Lex Fridman (55:11.380)
that's working on generating models?
Ian Goodfellow (55:13.540)
I'm a lot less concerned about 20 years from now
Lex Fridman (55:15.860)
than the next few years.
Ian Goodfellow (55:17.380)
I think there'll be a kind of bumpy cultural transition
Lex Fridman (55:20.820)
as people encounter this idea
Ian Goodfellow (55:23.180)
that there can be very realistic videos
Lex Fridman (55:24.700)
and audio that aren't real.
Ian Goodfellow (55:26.260)
I think 20 years from now,
Lex Fridman (55:28.700)
people will mostly understand
Ian Goodfellow (55:30.100)
that you shouldn't believe something is real
Lex Fridman (55:31.940)
just because you saw a video of it.
Ian Goodfellow (55:34.060)
People will expect to see
Lex Fridman (55:35.220)
that it's been cryptographically signed
Ian Goodfellow (55:38.220)
or have some other mechanism to make them believe
Lex Fridman (55:41.900)
that the content is real.
Ian Goodfellow (55:44.300)
There's already people working on this.
Lex Fridman (55:45.700)
Like there's a startup called Truepick
Ian Goodfellow (55:47.660)
that provides a lot of mechanisms
Lex Fridman (55:50.180)
for authenticating that an image is real.
Ian Goodfellow (55:52.780)
They're maybe not quite up to having a state actor
Lex Fridman (55:56.100)
try to evade their verification techniques,
Lex Fridman (55:59.820)
but it's something that people are already working on
Lex Fridman (56:02.380)
and I think we'll get right eventually.
Lex Fridman (56:04.100)
So you think authentication will eventually win out.
Lex Fridman (56:08.260)
So being able to authenticate that this is real
Lex Fridman (56:10.700)
and this is not.
Lex Fridman (56:11.860)
Yeah.
Ian Goodfellow (56:13.260)
As opposed to GANs just getting better and better
Lex Fridman (56:15.740)
or generative models being able to get better and better
Ian Goodfellow (56:18.180)
to where the nature of what is real is normal.
Lex Fridman (56:21.460)
I don't think we'll ever be able
Ian Goodfellow (56:22.940)
to look at the pixels of a photo
Lex Fridman (56:25.460)
and tell you for sure that it's real or not real.
Lex Fridman (56:28.540)
And I think it would actually be somewhat dangerous
Lex Fridman (56:32.740)
to rely on that approach too much.
Ian Goodfellow (56:35.140)
If you make a really good fake detector
Lex Fridman (56:36.820)
and then someone's able to fool your fake detector
Lex Fridman (56:38.900)
and your fake detector says this image is not fake,
Lex Fridman (56:42.140)
then it's even more credible
Ian Goodfellow (56:43.500)
than if you've never made a fake detector
Lex Fridman (56:45.060)
in the first place.
Lex Fridman (56:46.260)
What I do think we'll get to is systems
Lex Fridman (56:50.380)
that we can kind of use behind the scenes
Ian Goodfellow (56:53.300)
to make estimates of what's going on
Lex Fridman (56:55.580)
and maybe not like use them in court
Ian Goodfellow (56:57.820)
for a definitive analysis.
Lex Fridman (56:59.580)
I also think we will likely get better authentication systems
Ian Goodfellow (57:04.180)
where, imagine that every phone cryptographically signs
Lex Fridman (57:08.500)
everything that comes out of it.
Ian Goodfellow (57:10.540)
You wouldn't be able to conclusively tell
Lex Fridman (57:12.820)
that an image was real,
Lex Fridman (57:14.540)
but you would be able to tell somebody
Lex Fridman (57:17.700)
who knew the appropriate private key for this phone
Ian Goodfellow (57:21.300)
was actually able to sign this image
Lex Fridman (57:24.340)
and upload it to this server at this timestamp.
Ian Goodfellow (57:27.460)
Okay, so you could imagine maybe you make phones
Lex Fridman (57:31.340)
that have the private keys hardware embedded in them.
Ian Goodfellow (57:35.540)
If like a state security agency
Lex Fridman (57:37.460)
really wants to infiltrate the company,
Ian Goodfellow (57:39.220)
they could probably plant a private key of their choice
Lex Fridman (57:42.540)
or break open the chip and learn the private key
Ian Goodfellow (57:45.060)
or something like that.
Lex Fridman (57:46.180)
But it would make it a lot harder
Ian Goodfellow (57:47.420)
for an adversary with fewer resources to fake things.
Lex Fridman (57:51.460)
For most of us it would be okay.
Lex Fridman (57:53.700)
So you mentioned the beer and the bar and the new ideas.
Lex Fridman (57:58.300)
You were able to implement this
Ian Goodfellow (57:59.740)
or come up with this new idea pretty quickly
Lex Fridman (58:02.860)
and implement it pretty quickly.
Lex Fridman (58:04.380)
Do you think there's still many such groundbreaking ideas
Lex Fridman (58:07.700)
in deep learning that could be developed so quickly?
Ian Goodfellow (58:10.980)
Yeah, I do think that there are a lot of ideas
Lex Fridman (58:12.980)
that can be developed really quickly.
Ian Goodfellow (58:15.940)
GANs were probably a little bit of an outlier
Lex Fridman (58:17.820)
on the whole like one hour timescale.
Lex Fridman (58:20.180)
But just in terms of like low resource ideas
Lex Fridman (58:24.220)
where you do something really different
Ian Goodfellow (58:25.540)
on the algorithm scale and get a big payback.
Lex Fridman (58:30.140)
I think it's not as likely that you'll see that
Ian Goodfellow (58:31.900)
in terms of things like core machine learning technologies
Lex Fridman (58:34.940)
like a better classifier
Ian Goodfellow (58:36.580)
or a better reinforcement learning algorithm
Lex Fridman (58:38.180)
or a better generative model.
Ian Goodfellow (58:41.020)
If I had the GAN idea today,
Lex Fridman (58:42.420)
it would be a lot harder to prove that it was useful
Ian Goodfellow (58:45.260)
than it was back in 2014
Lex Fridman (58:46.940)
because I would need to get it running
Ian Goodfellow (58:49.540)
on something like ImageNet or Celeb A at high resolution.
Lex Fridman (58:54.060)
You know, those take a while to train.
Ian Goodfellow (58:55.540)
You couldn't train it in an hour
Lex Fridman (58:57.580)
and know that it was something really new and exciting.
Ian Goodfellow (59:01.020)
Back in 2014, training on MNIST was enough.
Lex Fridman (59:04.260)
But there are other areas of machine learning
Ian Goodfellow (59:06.780)
where I think a new idea
Lex Fridman (59:09.380)
could actually be developed really quickly
Ian Goodfellow (59:11.940)
with low resources.
Lex Fridman (59:13.260)
What's your intuition about what areas
Lex Fridman (59:15.420)
of machine learning are ripe for this?
Lex Fridman (59:17.740)
Yeah, so I think fairness and interpretability
Ian Goodfellow (59:23.140)
are areas where we just really don't have any idea
Lex Fridman (59:27.020)
how anything should be done yet.
Ian Goodfellow (59:29.020)
Like for interpretability,
Lex Fridman (59:30.340)
I don't think we even have the right definitions.
Lex Fridman (59:32.700)
And even just defining a really useful concept,
Lex Fridman (59:36.060)
you don't even need to run any experiments,
Ian Goodfellow (59:38.100)
could have a huge impact on the field.
Lex Fridman (59:40.100)
We've seen that, for example, in differential privacy
Ian Goodfellow (59:42.540)
that Cynthia Dwork and her collaborators
Lex Fridman (59:45.300)
made this technical definition of privacy
Ian Goodfellow (59:48.020)
where before a lot of things were really mushy.
Lex Fridman (59:50.020)
And then with that definition,
Ian Goodfellow (59:51.580)
you could actually design randomized algorithms
Lex Fridman (59:54.220)
for accessing databases and guarantee
Ian Goodfellow (59:56.180)
that they preserved individual people's privacy
Lex Fridman (59:58.820)
in like a mathematical quantitative sense.
🔗 相关节目