← Lex Fridman

Ian Goodfellow: Generative Adversarial Networks (GANs)

第2019-04-18期2019-04-18English

嘉宾:Ian Goodfellow

收听本集00:00 / 1:08:47
阅读设置
按你的习惯阅读
正文字号
下载播客精读
把这一篇,带走慢慢读

精读待补充

下载功能还未开放

§01Transcript · 00:00–08:33

00:00The following is a conversation with Ian Goodfellow.

00:03He's the author of the popular textbook on deep learning,

00:06simply titled "Deep Learning."

00:08He coined the term of generative adversarial networks,

00:12otherwise known as GANs,

00:14and with his 2014 paper is responsible

00:18for launching the incredible growth

00:20of research and innovation

00:22in this subfield of deep learning.

00:24He got his BS and MS at Stanford,

00:27his PhD at University of Montreal

00:30with Yoshua Bengio and Aaron Kervil.

00:33He held several research positions,

00:35including an open AI, Google Brain,

00:37and now at Apple as the director of machine learning.

00:41This recording happened while Ian was still at Google Brain,

00:45but we don't talk about anything specific to Google

00:48or any other organization.

00:50This conversation is part

00:52of the Artificial Intelligence podcast.

00:54If you enjoy it, subscribe on YouTube, iTunes,

00:57or simply connect with me on Twitter @LexFriedman,

01:00spelled F-R-I-D.

01:03And now, here's my conversation with Ian Goodfellow.

01:07You open your popular deep learning book

01:10with a Russian doll type diagram

01:13that shows deep learning as a subset

01:15of representation learning,

01:17which in turn is a subset of machine learning,

01:19and finally a subset of AI.

01:22So this kind of implies that there may be limits

01:25to deep learning in the context of AI.

01:27So what do you think is the current limits of deep learning,

01:31and are those limits something

01:33that we can overcome with time?

01:35- Yeah, I think one of the biggest limitations

01:37of deep learning is that right now

01:39it requires really a lot of data, especially labeled data.

01:42There are some unsupervised

01:45and semi-supervised learning algorithms

01:47that can reduce the amount of labeled data you need,

01:49but they still require a lot of unlabeled data.

01:52Reinforcement learning algorithms, they don't need labels,

01:54but they need really a lot of experiences.

01:56As human beings, we don't learn to play Pong

01:58by failing at Pong 2 million times.

02:01So just getting the generalization ability better

02:05is one of the most important bottlenecks

02:08in the capability of the technology today.

02:10And then I guess I'd also say deep learning

02:12is like a component of a bigger system.

02:15So far, nobody is really proposing to have

02:20only what you'd call deep learning

02:22as the entire ingredient of intelligence.

02:25You use deep learning as sub-modules of other systems,

02:29like AlphaGo has a deep learning model

02:32that estimates the value function.

02:34Most reinforcement learning algorithms

02:36have a deep learning module

02:37that estimates which action to take next,

02:40but you might have other components.

02:42- So you're basically building a function estimator.

02:46Do you think it's possible,

02:48you said nobody's kind of been thinking

02:50about this so far, but do you think neural networks

02:52could be made to reason in the way symbolic systems did

02:56in the '80s and '90s to do more,

02:58create more like programs as opposed to functions?

03:01- Yeah, I think we already see that a little bit.

03:03I already kind of think of neural nets as a kind of program.

03:08I think of deep learning as basically learning programs

03:12that have more than one step.

03:15So if you draw a flow chart,

03:17or if you draw a TensorFlow graph

03:19describing your machine learning model,

03:21I think of the depth of that graph

03:23as describing the number of steps that run in sequence,

03:25and then the width of that graph

03:27is the number of steps that run in parallel.

03:30Now it's been long enough

03:31that we've had deep learning working

03:32that it's a little bit silly

03:33to even discuss shallow learning anymore.

03:35But back when I first got involved in AI,

03:38when we used machine learning,

03:40we were usually learning things

03:41like support vector machines.

03:43You could have a lot of input features to the model,

03:45and you could multiply each feature by a different weight.

03:48All those multiplications were done in parallel

03:50to each other.

03:51There wasn't a lot done in series.

03:52I think what we got with deep learning

03:54was really the ability to have steps of a program

03:58that run in sequence.

04:00And I think that we've actually started to see

04:03that what's important with deep learning

04:05is more the fact that we have a multi-step program

04:07rather than the fact that we've learned a representation.

04:10If you look at things like ResNets, for example,

04:15they take one particular kind of representation

04:18and they update it several times.

04:21Back when deep learning first really took off

04:23in the academic world in 2006,

04:25when Jeff Hinton showed

04:27that you could train deep belief networks,

04:30everybody who was interested in the idea

04:31thought of it as each layer

04:33learns a different level of abstraction.

04:35That the first layer trained on images

04:37learns something like edges,

04:38and the second layer learns corners,

04:40and eventually you get these kind of grandmother cell units

04:43that recognize specific objects.

04:45Today, I think most people think of it

04:47more as a computer program,

04:50where as you add more layers,

04:51you can do more updates before you output your final number.

04:55But I don't think anybody believes

04:56that layer 150 of the ResNet is a grandmother cell,

05:01and layer 100 is contours or something like that.

05:05- Okay, so you're not thinking of it

05:08as a singular representation that keeps building.

05:11You think of it as a program,

05:14sort of almost like a state.

05:15Representation is a state of understanding.

05:18- Yeah, I think of it as a program

05:20that makes several updates

05:21and arrives at better and better understandings,

05:23but it's not replacing the representation at each step.

05:27It's refining it.

05:29And in some sense, that's a little bit like reasoning.

05:31It's not reasoning in the form of deduction,

05:33but it's reasoning in the form of taking a thought

05:36and refining it and refining it carefully

05:39until it's good enough to use.

05:41- So do you think, and I hope you don't mind,

05:43we'll jump philosophical every once in a while.

05:46Do you think of cognition, human cognition,

05:50or even consciousness as simply a result

05:53of this kind of sequential representation learning,

05:58do you think that can emerge?

06:00- Cognition, yes, I think so.

06:02Consciousness, it's really hard

06:03to even define what we mean by that.

06:06I guess there's, consciousness is often defined

06:09as things like having self-awareness,

06:12and that's relatively easy to turn into something actionable

06:16for a computer scientist to reason about.

06:18People also define consciousness

06:19in terms of having qualitative states of experience,

06:22like qualia, and there's all these philosophical problems,

06:25like could you imagine a zombie

06:27who does all the same information processing as a human,

06:30but doesn't really have the qualitative experiences

06:33that we have?

06:34That sort of thing, I have no idea how to formalize

06:37or turn it into a scientific question.

06:39I don't know how you could run an experiment

06:41to tell whether a person is a zombie or not.

06:44And similarly, I don't know how you could run an experiment

06:47to tell whether an advanced AI system

06:49had become conscious in the sense of qualia or not.

06:53- But in the more practical sense,

06:54like almost like self-attention,

06:56you think consciousness and cognition can,

06:58in an impressive way, emerge from current types

07:03of architectures that we think of as deep learning.

07:05- Or if you think of consciousness

07:07in terms of self-awareness and just making plans

07:12based on the fact that the agent itself exists in the world,

07:16reinforcement learning algorithms

07:18are already more or less forced

07:20to model the agent's effect on the environment.

07:23So that more limited version of consciousness

07:26is already something that we get limited versions of

07:31with reinforcement learning algorithms

07:32if they're trained well.

07:34- But you say limited.

07:37So the big question really is how you jump

07:39from limited to human level, right?

07:42And whether it's possible.

07:44Even just building common sense reasoning

07:49seems to be exceptionally difficult.

07:50So if we scale things up,

07:52if we get much better on supervised learning,

07:55if we get better at labeling,

07:56if we get bigger data sets, more compute,

08:00do you think we'll start to see really impressive things

08:03that go from limited to something,

08:08echoes of human level cognition?

08:10- I think so, yeah.

08:11I'm optimistic about what can happen

08:13just with more computation and more data.

08:16I do think it'll be important to get the right kind of data.

08:20Today, most of the machine learning systems we train

08:23are mostly trained on one type of data for each model.

08:27But the human brain, we get all of our different senses

08:31and we have many different experiences

08:33like riding a bike, driving a car,

§02Transcript · 08:36–16:55

08:36talking to people, reading.

08:37I think when you get that kind of integrated data set

08:42working with a machine learning model

08:44that can actually close the loop and interact,

08:47we may find that algorithms not so different

08:50from what we have today learn really interesting things

08:53when you scale them up a lot

08:54and train them on a large amount of multimodal data.

08:58- So multimodal is really interesting,

08:59but within, like you're working adversarial examples,

09:04so selecting within modal, within one mode of data,

09:09selecting better what are the difficult cases

09:13from which you're most useful to learn from?

09:16- Oh yeah, like could we get a whole lot of mileage

09:18out of designing a model that's resistant

09:22to adversarial examples or something like that?

09:24- Right, that's a question.

09:26- My thinking on that has evolved a lot

09:27over the last few years.

09:28- Oh, interesting.

09:29- When I first started to really invest

09:31in studying adversarial examples,

09:32I was thinking of it mostly as adversarial examples

09:36reveal a big problem with machine learning

09:38and we would like to close the gap

09:41between how machine learning models

09:43respond to adversarial examples and how humans respond.

09:46After studying the problem more,

09:49I still think that adversarial examples are important.

09:51I think of them now more of as a security liability

09:55than as an issue that necessarily shows

09:57there's something uniquely wrong with machine learning

10:01as opposed to humans.

10:02- Also, do you see them as a tool

10:04to improve the performance of the system?

10:06Not on the security side, but literally just accuracy.

10:10- I do see them as a kind of tool on that side,

10:13but maybe not quite as much as I used to think.

10:16We've started to find that there's a trade-off

10:18between accuracy on adversarial examples

10:21and accuracy on clean examples.

10:24Back in 2014, when I did the first

10:27adversarially trained classifier

10:29that showed resistance to some kinds of adversarial examples,

10:33it also got better at the clean data on MNIST.

10:36And that's something we've replicated

10:37several times on MNIST,

10:39that when we train against weak adversarial examples,

10:41MNIST classifiers get more accurate.

10:43So far, that hasn't really held up on other data sets

10:47and hasn't held up when we train

10:48against stronger adversaries.

10:50It seems like when you confront

10:53a really strong adversary,

10:55you tend to have to give something up.

10:58- Interesting.

10:59But it's such a compelling idea,

11:00'cause it feels like that's how us humans learn

11:04as to the difficult cases.

11:06- We try to think of what would we screw up,

11:08and then we make sure we fix that.

11:11It's also, in a lot of branches of engineering,

11:13you do a worst-case analysis

11:15and make sure that your system will work in the worst case.

11:18And then that guarantees that it'll work

11:20in all of the messy average cases

11:23that happen when you go out into a really randomized world.

11:27- Yeah, with driving with autonomous vehicles,

11:29there seems to be a desire to just look for,

11:33think adversarially,

11:34try to figure out how to mess up the system.

11:36And if you can be robust to all those difficult cases,

11:40then you can, it's a hand-wavy,

11:42empirical way to show your system is safe.

11:45- Yeah, yeah.

11:47Today, most adversarial example research

11:49isn't really focused on a particular use case,

11:51but there are a lot of different use cases

11:54where you'd like to make sure that the adversary

11:56can't interfere with the operation of your system.

12:00Like in finance,

12:01if you have an algorithm making trades for you,

12:03people go to a lot of an effort

12:04to obfuscate their algorithm.

12:06That's both to protect their IP,

12:08because you don't wanna research

12:10and develop a profitable trading algorithm

12:13then have somebody else capture the gains.

12:16But it's at least partly

12:17because you don't want people to make adversarial examples

12:19that fool your algorithm into making bad trades.

12:22Or I guess one area that's been popular

12:26in the academic literature is speech recognition.

12:30If you use speech recognition to hear an audio waveform

12:34and then turn that into a command

12:37that a phone executes for you,

12:39you don't want a malicious adversary

12:41to be able to produce audio

12:43that gets interpreted as malicious commands,

12:46especially if a human in the room

12:47doesn't realize that something like that is happening.

12:50- In speech recognition,

12:52has there been much success

12:53in being able to create adversarial examples

12:58that fool the system?

12:59- Yeah, actually.

13:00I guess the first work that I'm aware of

13:02is a paper called "Hidden Voice Commands"

13:05that came out in 2016, I believe.

13:08And they were able to show that

13:10they could make sounds that are not understandable

13:13by a human, but are recognized as the target phrase

13:18that the attacker wants the phone to recognize it as.

13:21Since then, things have gotten a little bit better

13:24on the attacker side and worse on the defender side.

13:27It's become possible to make sounds

13:33that sound like normal speech,

13:35but are actually interpreted as a different sentence

13:38than the human hears.

13:40The level of perceptibility

13:42of the adversarial perturbation is still kind of high.

13:45When you listen to the recording,

13:48it sounds like there's some noise in the background,

13:51just like rustling sounds.

13:52But those rustling sounds

13:53are actually the adversarial perturbation

13:55that makes the phone hear a completely different sentence.

13:58- Yeah, that's so fascinating.

14:00Peter Norvig mentioned that you're writing

14:01the deep learning chapter for the fourth edition

14:04of the "Artificial Intelligence, a Modern Approach" book.

14:07So how do you even begin summarizing

14:10the field of deep learning in a chapter?

14:12(Peter laughs)

14:13- Well, in my case, I waited like a year

14:16before I actually wrote anything.

14:19Is it, even having written a full length textbook before,

14:22it's still pretty intimidating to try to start writing

14:26just one chapter that covers everything.

14:29One thing that helped me make that plan

14:33was actually the experience

14:34of having written the full book before

14:36and then watching how the field changed

14:39after the book came out.

14:40I've realized there's a lot of topics

14:42that were maybe extraneous in the first book.

14:45And just seeing what stood the test

14:47of a few years of being published

14:49and what seems a little bit less important to have included

14:52now helped me pare down the topics

14:54I wanted to cover for the book.

14:55It's also really nice now that

14:59the field has kind of stabilized

15:00to the point where some core ideas from the 1980s

15:02are still used today.

15:04When I first started studying machine learning,

15:06almost everything from the 1980s had been rejected

15:09and now some of it has come back.

15:11So that stuff that's really stood the test of time

15:13is what I focused on putting into the book.

15:15There's also, I guess, two different philosophies

15:21about how you might write a book.

15:23One philosophy is you try to write a reference

15:24that covers everything.

15:26The other philosophy is you try to provide

15:28a high level summary that gives people

15:30the language to understand a field

15:32and tells them what the most important concepts are.

15:34The first deep learning book that I wrote

15:37with Joshua and Aaron was somewhere between

15:39the two philosophies, that it's trying to be

15:42both a reference and an introductory guide.

15:45Writing this chapter for Russell and Norvig's book,

15:48I was able to focus more on just a concise introduction

15:52of the key concepts and the language

15:54you need to read about them more.

15:55In a lot of cases, I actually just wrote paragraphs

15:57that said, "Here's a rapidly evolving area

16:00"that you should pay attention to.

16:01"It's pointless to try to tell you what the latest

16:04"and best version of a learn-to-learn model is."

16:09I can point you to a paper that's recent right now,

16:13but there isn't a whole lot of a reason

16:16to delve into exactly what's going on

16:18with the latest learning-to-learn approach

16:21or the latest module produced

16:23by a learning-to-learn algorithm.

16:24You should know that learning-to-learn is a thing

16:26and that it may very well be the source

16:29of the latest and greatest convolutional net

16:32or recurrent net module that you would want to use

16:34in your latest project.

16:36But there isn't a lot of point in trying to summarize

16:38exactly which architecture and which learning approach

16:42got to which level of performance.

16:44- So you maybe focused more on the basics

16:48of the methodology, so from backpropagation

16:51to feedforward to recurrent neural networks,

16:53convolutional, that kind of thing?

16:55- Yeah, yeah.

§03Transcript · 16:56–25:22

16:56- So if I were to ask you, I remember I took

16:58algorithms and data structures algorithms course.

17:03I remember the professor asked, "What is an algorithm?"

17:08And yelled at everybody in a good way

17:12that nobody was answering it correctly.

17:14Everybody knew what the algorithm, it was a graduate course.

17:16Everybody knew what an algorithm was,

17:18but they weren't able to answer it well.

17:19So let me ask you in that same spirit,

17:22what is deep learning?

17:23- I would say deep learning is any kind of machine learning

17:29that involves learning parameters

17:32of more than one consecutive step.

17:36So that would mean shallow learning is things

17:39where you learn a lot of operations that happen in parallel.

17:43You might have a system that makes multiple steps,

17:46like you might have hand-designed feature extractors,

17:51but really only one step is learned.

17:52Deep learning is anything where you have multiple operations

17:56in sequence, and that includes the things

17:58that are really popular today,

17:59like convolutional networks and recurrent networks,

18:03but it also includes some of the things

18:05that have died out, like Bolton machines,

18:08where we weren't using back propagation.

18:10Today I hear a lot of people define deep learning

18:14as gradient descent applied to

18:19these differentiable functions.

18:21And I think that's a legitimate usage of the term.

18:24It's just different from the way

18:25that I use the term myself.

18:27- So what's an example of deep learning

18:31that is not gradient descent and differentiable functions?

18:34In your, I mean, not specifically perhaps,

18:37but more even looking into the future,

18:39what's your thought about that space of approaches?

18:44- Yeah, so I tend to think of machine learning algorithms

18:46as decomposed into really three different pieces.

18:50There's the model, which can be something like a neural net

18:53or a Bolton machine or a recurrent model.

18:56And that basically just describes how do you take data

18:59and how do you take parameters?

19:01And what function do you use to make a prediction

19:04given the data and the parameters?

19:07Another piece of the learning algorithm

19:09is the optimization algorithm,

19:12or not every algorithm can be really described

19:14in terms of optimization,

19:15but what's the algorithm for updating the parameters

19:18or updating whatever the state of the network is?

19:21And then the last part is the data set,

19:26like how do you actually represent the world

19:29as it comes into your machine learning system?

19:32So I think of deep learning as telling us something

19:35about what does the model look like?

19:39And basically to qualify as deep,

19:41I say that it just has to have multiple layers.

19:44That can be multiple steps

19:46in a feed-forward differentiable computation.

19:49That can be multiple layers in a graphical model.

19:52There's a lot of ways that you could satisfy me

19:53that something has multiple steps

19:56that are each parameterized separately.

19:58I think of gradient descent

19:59as being all about that other piece,

20:01how do you actually update the parameters piece?

20:04So you could imagine having a deep model

20:05like a convolutional net

20:07and training it with something like evolution

20:09or a genetic algorithm.

20:11And I would say that still qualifies as deep learning.

20:14And then in terms of models

20:16that aren't necessarily differentiable,

20:18I guess Boltzmann machines are probably

20:21the main example of something

20:23where you can't really take a derivative

20:25and use that for the learning process.

20:28But you can still argue that the model

20:30has many steps of processing that it applies

20:33when you run inference in the model.

20:35- So it's the steps of processing that's key.

20:38So Jeff Hinton suggests that we need to throw away

20:41back propagation and start all over.

20:44What do you think about that?

20:46What could an alternative direction

20:48of training neural networks look like?

20:50- I don't know that back propagation

20:52is gonna go away entirely.

20:54Most of the time when we decide

20:57that a machine learning algorithm

20:59isn't on the critical path to research for improving AI,

21:03the algorithm doesn't die.

21:04It just becomes used for some specialized set of things.

21:07A lot of algorithms like logistic regression

21:11don't seem that exciting to AI researchers

21:14who are working on things like speech recognition

21:16or autonomous cars today.

21:18But there's still a lot of use for logistic regression

21:21and things like analyzing really noisy data

21:24in medicine and finance,

21:25or making really rapid predictions

21:28in really time-limited contexts.

21:30So I think back propagation and gradient descent

21:33are around to stay, but they may not end up being

21:37everything that we need to get to real human level

21:40or superhuman AI.

21:42- Are you optimistic about us discovering,

21:44back propagation has been around for a few decades.

21:50So are you optimistic about us as a community

21:54being able to discover something better?

21:56- Yeah, I am.

21:57I think we likely will find something that works better.

22:01You could imagine things like having stacks of models

22:05where some of the lower level models

22:07predict parameters of the higher level models.

22:10And so at the top level,

22:12you're not learning in terms of literally

22:13calculating gradients,

22:14but just predicting how different values will perform.

22:17You can kind of see that already in some areas

22:19like Bayesian optimization,

22:21where you have a Gaussian process

22:22that predicts how well different

22:24parameter values will perform.

22:25We already use those kinds of algorithms

22:27for things like hyper parameter optimization.

22:30And in general, we know a lot of things

22:31other than back prop that work really well

22:33for specific problems.

22:34The main thing we haven't found is

22:37a way of taking one of these other

22:38non-back prop based algorithms

22:41and having it really advance the state of the art

22:43on an AI level problem.

22:46- Right.

22:47- But I wouldn't be surprised if eventually

22:49we find that some of these algorithms that,

22:51even the ones that already exist,

22:52not even necessarily a new one,

22:54we might find some way of customizing

22:58one of these algorithms to do something

22:59really interesting at the level of cognition

23:02or the level of,

23:05I think one system that we really don't have

23:08working quite right yet is like short-term memory.

23:12We have things like LSTMs,

23:14they're called long short-term memory.

23:17They still don't do quite what a human does

23:20with short-term memory.

23:21Like gradient descent to learn a specific fact

23:26has to do multiple steps on that fact.

23:29Like if I tell you the meeting today is at 3 p.m.,

23:34I don't need to say over and over again,

23:35it's at 3 p.m., it's at 3 p.m., it's at 3 p.m.,

23:37it's at 3 p.m. for you to do a gradient step on each one.

23:40You just hear it once and you remember it.

23:43There's been some work on things like

23:46self-attention and attention-like mechanisms

23:48like the neural Turing machine

23:50that can write to memory cells

23:52and update themselves with facts like that right away.

23:54But I don't think we've really nailed it yet.

23:56And that's one area where I'd imagine

23:59that new optimization algorithms

24:02or different ways of applying

24:03existing optimization algorithms

24:06could give us a way of just lightning fast

24:08updating the state of a machine learning system

24:11to contain a specific fact like that

24:14without needing to have it presented

24:15over and over and over again.

24:16- So some of the success of symbolic systems in the '80s

24:21is they were able to assemble these kinds of facts better.

24:26But there's a lot of expert input required

24:29and it's very limited in that sense.

24:31Do you ever look back to that

24:33as something that we'll have to return to eventually,

24:36sort of dust off the book from the shelf

24:38and think about how we build knowledge,

24:41representation, knowledge--

24:42- Like will we have to use graph searches?

24:44- Graph searches, right.

24:45- And like first order logic and entailment

24:47and things like that.

24:48- That kind of thing, yeah, exactly.

24:49- In my particular line of work,

24:51which has mostly been machine learning security

24:54and also generative modeling,

24:56I haven't usually found myself moving in that direction.

25:00For generative models, I could see a little bit of,

25:03it could be useful if you had something like

25:05a differentiable knowledge base

25:09or some other kind of knowledge base

25:10where it's possible for some of our

25:13fuzzier machine learning algorithms

25:14to interact with the knowledge base.

25:16- I mean, neural network is kind of like that.

25:19It's a differentiable knowledge base of sorts.

25:21- Yeah.

25:22- But--

§04Transcript · 25:23–33:24

25:23- If we had a really easy way of giving feedback

25:27to machine learning models,

25:29that would clearly help a lot with generative models.

25:32And so you could imagine one way of getting there

25:33would be get a lot better at natural language processing.

25:36But another way of getting there would be

25:38take some kind of knowledge base

25:40and figure out a way for it to actually

25:42interact with a neural network.

25:44- Being able to have a chat with a neural network.

25:46- Yeah.

25:46(laughing)

25:47So like one thing in generative models we see a lot today

25:49is you'll get things like faces that are not symmetrical,

25:53like people that have two eyes that are different colors.

25:58And I mean, there are people with eyes

25:59that are different colors in real life,

26:00but not nearly as many of them as you tend to see

26:03in the machine learning generated data.

26:06So if you had either a knowledge base

26:08that could contain the fact,

26:10people's faces are generally approximately symmetric

26:13and eye color is especially likely

26:15to be the same on both sides.

26:17Being able to just inject that hint

26:20into the machine learning model

26:22without it having to discover that itself

26:23after studying a lot of data

26:25would be a really useful feature.

26:28I could see a lot of ways of getting there

26:30without bringing back some of the 1980s technology,

26:32but I also see some ways that you could imagine

26:35extending the 1980s technology to play nice

26:37with neural nets and have it help get there.

26:40- Awesome, so you talked about the story

26:42of you coming up with the idea of GANs

26:45at a bar with some friends.

26:47You were arguing that this, you know,

26:49GANs would work, generative adversarial networks,

26:53and the others didn't think so.

26:54Then you went home at midnight,

26:57coded it up, and it worked.

26:58So if I was a friend of yours at the bar,

27:01I would also have doubts.

27:02It's a really nice idea,

27:03but I'm very skeptical that it would work.

27:06What was the basis of their skepticism?

27:09What was the basis of your intuition why it should work?

27:13- I don't wanna be someone who goes around

27:15promoting alcohol for the purposes of science,

27:18but in this case, I do actually think

27:21that drinking helped a little bit.

27:23When your inhibitions are lowered,

27:25you're more willing to try out things

27:27that you wouldn't try out otherwise.

27:29So I have noticed in general

27:32that I'm less prone to shooting down some of my own ideas

27:34when I have had a little bit to drink.

27:37I think if I had had that idea at lunchtime,

27:40I probably would have thought,

27:42it's hard enough to train one neural net.

27:43You can't train a second neural net

27:44in the inner loop of the outer neural net.

27:48That was basically my friend's objection,

27:49was that trying to train two neural nets at the same time

27:52would be too hard.

27:54- So it was more about the training process,

27:56unless, so my skepticism would be,

27:58you know, I'm sure you could train it,

28:01but the thing it would converge to

28:03would not be able to generate anything reasonable,

28:05any kind of reasonable realism.

28:08- Yeah, so part of what all of us were thinking about

28:11when we had this conversation was deep Bolton machines,

28:15which a lot of us in the lab, including me,

28:16were a big fan of deep Bolton machines at the time.

28:19They involved two separate processes

28:22running at the same time.

28:24One of them is called the positive phase,

28:28where you load data into the model

28:31and tell the model to make the data more likely.

28:33The other one is called the negative phase,

28:35where you draw samples from the model

28:37and tell the model to make those samples less likely.

28:39In a deep Bolton machine,

28:42it's not trivial to generate a sample.

28:43You have to actually run an iterative process

28:46that gets better and better samples

28:49coming closer and closer to the distribution

28:51the model represents.

28:52So during the training process,

28:53you're always running these two systems at the same time.

28:57One that's updating the parameters of the model

28:58and another one that's trying to generate samples

29:00from the model.

29:01And they worked really well on things like MNIST,

29:04but a lot of us in the lab, including me,

29:05had tried to get deep Bolton machines

29:07to scale past MNIST to things like generating color photos.

29:11And we just couldn't get the two processes

29:14to stay synchronized.

29:15So when I had the idea for GANs,

29:18a lot of people thought that the discriminator

29:20would have more or less the same problem

29:22as the negative phase in the Bolton machine.

29:25That trying to train the discriminator in the inner loop,

29:27you just couldn't get it to keep up

29:29with the generator in the outer loop.

29:31And that would prevent it from converging

29:33to anything useful.

29:35- Yeah, I share that intuition.

29:36- Yeah.

29:37- But turns out to not be the case.

29:41- A lot of the time with machine learning algorithms,

29:43it's really hard to predict ahead of time

29:45how well they'll actually perform.

29:46You have to just run the experiment and see what happens.

29:49And I would say I still today don't have one factor

29:53I can put my finger on and say,

29:54"This is why GANs worked for photo generation

29:58"and deep Bolton machines don't."

30:00There are a lot of theory papers

30:03showing that under some theoretical settings,

30:06the GAN algorithm does actually converge.

30:09But those settings are restricted enough

30:14that they don't necessarily explain the whole picture

30:17in terms of all the results that we see in practice.

30:20- So taking a step back,

30:22can you, in the same way as we talked about deep learning,

30:24can you tell me what generative adversarial networks are?

30:28- Yeah, so generative adversarial networks

30:31are a particular kind of generative model.

30:33A generative model is a machine learning model

30:36that can train on some set of data.

30:38Like say you have a collection of photos of cats

30:41and you want to generate more photos of cats,

30:43or you want to estimate a probability distribution over cats

30:47so you can ask how likely it is

30:49that some new image is a photo of a cat.

30:51GANs are one way of doing this.

30:55Some generative models are good at creating new data.

30:59Other generative models are good at estimating

31:01that density function and telling you

31:03how likely particular pieces of data are

31:06to come from the same distribution as the training data.

31:09GANs are more focused on generating samples

31:12rather than estimating the density function.

31:15There are some kinds of GANs like FlowGAN that can do both,

31:18but mostly GANs are about generating samples,

31:21generating new photos of cats that look realistic.

31:25And they do that completely from scratch.

31:29It's analogous to human imagination.

31:32When a GAN creates a new image of a cat,

31:34it's using a neural network to produce a cat

31:39that has not existed before.

31:41It isn't doing something like compositing photos together.

31:44You're not literally taking the eye off of one cat

31:47and the ear off of another cat.

31:48It's more of this digestive process

31:51where the neural net trains on a lot of data

31:53and comes up with some representation

31:55of the probability distribution

31:57and generates entirely new cats.

31:59There are a lot of different ways

32:00of building a generative model.

32:01What's specific to GANs is that we have a two-player game

32:05in the game theoretic sense.

32:08And as the players in this game compete,

32:10one of them becomes able to generate realistic data.

32:13The first player is called the generator.

32:16It produces output data, such as just images, for example.

32:20And at the start of the learning process,

32:22it'll just produce completely random images.

32:25The other player is called the discriminator.

32:27The discriminator takes images as input

32:29and guesses whether they're real or fake.

32:32You train it both on real data,

32:34so photos that come from your training set,

32:36actual photos of cats,

32:37and you train it to say that those are real.

32:39You also train it on images

32:41that come from the generator network

32:43and you train it to say that those are fake.

32:46As the two players compete in this game,

32:49the discriminator tries to become better

32:50at recognizing whether images are real or fake.

32:53And the generator becomes better

32:54at fooling the discriminator into thinking

32:57that its outputs are real.

32:59And you can analyze this through the language of game theory

33:03and find that there's a Nash equilibrium

33:06where the generator has captured

33:08the correct probability distribution.

33:10So in the cat example,

33:12it makes perfectly realistic cat photos.

33:14And the discriminator is unable to do better

33:17than random guessing

33:18because all the samples coming from both the data

33:21and the generator look equally likely

33:24to have come from either source.

§05Transcript · 33:25–42:19

33:25- So do you ever sit back

33:28and does it just blow your mind that this thing works?

33:31So from very,

33:33so it's able to estimate the identity function

33:35enough to generate realistic images.

33:38I mean, yeah, do you ever sit back?

33:42- Yeah. - And think,

33:44how does this even, why, this is quite incredible,

33:46especially where GANs have gone

33:48in terms of realism.

33:49- Yeah, and not just to flatter my own work,

33:51but generative models,

33:53all of them have this property

33:55that if they really did what we asked them to do,

33:58they would do nothing but memorize the training data.

34:01- Right, exactly.

34:01- Models that are based on maximizing the likelihood,

34:05the way that you obtain the maximum likelihood

34:08for a specific training set

34:09is you assign all of your probability mass

34:12to the training examples and nowhere else.

34:15For GANs, the game is played using a training set.

34:18So the way that you become unbeatable in the game

34:21is you literally memorize training examples.

34:23One of my former interns wrote a paper,

34:28his name is Vaishnav Nagarajan,

34:31and he showed that it's actually hard

34:33for the generator to memorize the training data,

34:36hard in a statistical learning theory sense

34:39that you can actually create reasons

34:42for why it would require quite a lot of learning steps

34:47and a lot of observations of different latent variables

34:52before you could memorize the training data.

34:54That still doesn't really explain

34:55why when you produce samples that are new,

34:58why do you get compelling images

34:59rather than just garbage

35:01that's different from the training set.

35:03And I don't think we really have a good answer for that,

35:06especially if you think about

35:07how many possible images are out there

35:10and how few images the generative model sees during training.

35:15It seems just unreasonable

35:16that generative models create new images

35:19as well as they do,

35:20especially considering that we're basically

35:22training them to memorize rather than generalize.

35:25I think part of the answer is

35:28there's a paper called Deep Image Prior

35:30where they show that you can take a convolutional net

35:33and you don't even need to learn the parameters of it at all,

35:35you just use the model architecture.

35:37And it's already useful for things like in-painting images.

35:41I think that shows us

35:42that the convolutional network architecture

35:44captures something really important

35:45about the structure of images.

35:47And we don't need to actually use learning

35:50to capture all the information

35:52coming out of the convolutional net.

35:54That would imply that it would be much harder

35:58to make generative models in other domains.

36:01So far, we're able to make reasonable speech models

36:03and things like that.

36:04But to be honest,

36:06we haven't actually explored a whole lot

36:07of different data sets all that much.

36:09We don't, for example,

36:11see a lot of deep learning models of biology data sets,

36:16where you have lots of microarrays

36:19measuring the amount of different enzymes

36:22and things like that.

36:23So we may find that some of the progress

36:25that we've seen for images and speech

36:26turns out to really rely heavily on the model architecture.

36:30And we were able to do what we did for vision

36:33by trying to reverse engineer the human visual system.

36:37And maybe it'll turn out that we can't just

36:39use that same trick for arbitrary kinds of data.

36:42- Right, so there's aspects of the human vision system,

36:45the hardware of it, that makes it,

36:48without learning, without cognition,

36:51just makes it really effective at detecting the patterns

36:53we see in the visual world.

36:54- Yeah.

36:55- Yeah, that's really interesting.

36:57What, in a big, quick overview,

37:02in your view, what types of GANs are there,

37:06and what other generative models besides GANs are there?

37:10- Yeah, so it's maybe a little bit easier to start with

37:13what kinds of generative models are there other than GANs.

37:16So most generative models are likelihood-based,

37:20where to train them, you have a model that tells you

37:24how much probability it assigns to a particular example,

37:29and you just maximize the probability

37:31assigned to all the training examples.

37:33It turns out that it's hard to design a model

37:36that can create really complicated images

37:39or really complicated audio waveforms,

37:42and still have it be possible to estimate

37:46the likelihood function from a computational point of view.

37:51Most interesting models that you would just

37:53write down intuitively, it turns out that it's almost

37:56impossible to calculate the amount of probability

37:59they assign to a particular point.

38:00So there's a few different schools of generative models

38:04in the likelihood family.

38:06One approach is to very carefully design the model

38:10so that it is computationally tractable

38:12to measure the density it assigns to a particular point.

38:15So there are things like autoregressive models,

38:19like PixelCNN, those basically break down

38:23the probability distribution into a product

38:26over every single feature.

38:28So for an image, you estimate the probability

38:31of each pixel, given all of the pixels that came before it.

38:35There's tricks where if you want to measure

38:37the density function, you can actually calculate

38:40the density for all these pixels more or less in parallel.

38:43Generating the image still tends to require you

38:46to go one pixel at a time, and that can be very slow.

38:50But there are, again, tricks for doing this

38:52in a hierarchical pattern where you can keep

38:54the runtime under control.

38:56- Are the quality of the images it generates

38:58putting runtime aside pretty good?

39:01- They're reasonable, yeah.

39:04I would say a lot of the best results

39:07are from GANs these days, but it can be hard to tell

39:11how much of that is based on who's studying

39:14which type of algorithm, if that makes sense.

39:17- The amount of effort invested in a particular--

39:18- Yeah, or like the kind of expertise.

39:21So a lot of people who've traditionally been excited

39:23about graphics or art and things like that

39:25have gotten interested in GANs.

39:27And to some extent, it's hard to tell,

39:28are GANs doing better because they have a lot of

39:32graphics and art experts behind them,

39:34or are GANs doing better because

39:36they're more computationally efficient,

39:38or are GANs doing better because they prioritize

39:41the realism of samples over the accuracy

39:44of the density function?

39:45I think all of those are potentially valid explanations,

39:48and it's hard to tell.

39:51- So can you give a brief history of GANs

39:53from 2014, were you paper 13?

39:58- Yeah, so a few highlights.

40:00In the first paper, we just showed that GANs basically work.

40:04If you look back at the samples we had now,

40:06they look terrible.

40:08On the CIFAR-10 dataset, you can't even

40:10recognize objects in them.

40:12- Your paper, sorry, you used CIFAR-10?

40:15- We used MNIST, which is little handwritten digits.

40:18We used the Toronto Face Database,

40:19which is small, grayscale photos of faces.

40:22We did have recognizable faces.

40:24My colleague Bing Xu put together

40:25the first GAN face model for that paper.

40:28We also had the CIFAR-10 dataset,

40:32which is things like very small 32 by 32 pixels

40:36of cars and cats and dogs.

40:40For that, we didn't get recognizable objects,

40:43but all the deep learning people back then

40:46were really used to looking at these failed samples

40:48and kind of reading them like tea leaves.

40:50And people who are used to reading the tea leaves

40:53recognize that our tea leaves at least look different.

40:56Maybe not necessarily better,

40:57but there was something unusual about them.

40:59And that got a lot of us excited.

41:03One of the next really big steps was LAPGAN

41:06by Emily Denton and Sumit Chintala at Facebook AI Research,

41:10where they actually got really good high-resolution photos

41:14working with GANs for the first time.

41:16They had a complicated system where they generated

41:18the image starting at low-res and then scaling up to high-res,

41:22but they were able to get it to work.

41:24And then in 2015, I believe, later that same year,

41:29Alec Radford and Sumit Chintala and Luke Metz

41:34published the DCGAN paper,

41:38which it stands for Deep Convolutional GAN.

41:40It's kind of a non-unique name

41:43because these days basically all GANs

41:46and even some before that were deep and convolutional,

41:48but they just kind of picked a name

41:50for a really great recipe where they were able to actually,

41:54using only one model instead of a multi-step process,

41:57actually generate realistic images of faces

41:59and things like that.

42:00That was sort of like the beginning

42:05of the Cambrian explosion of GANs.

42:07Like, once you had animals that had a backbone,

42:09you suddenly got lots of different versions of fish

42:12and four-legged animals and things like that.

42:15So DCGAN became kind of the backbone

42:17for many different models that came out.

42:19- Used as a baseline even still.

§06Transcript · 42:21–50:58

42:21- Yeah, yeah.

42:23And so from there, I would say some interesting things

42:25we've seen are, there's a lot you can say

42:29about how just the quality

42:30of standard image generation GANs has increased,

42:33but what's also maybe more interesting

42:35on an intellectual level is how the things

42:37you can use GANs for has also changed.

42:40One thing is that you can use them to learn classifiers

42:44without having to have class labels for every example

42:47in your training set.

42:48So that's called semi-supervised learning.

42:51My colleague at OpenAI, Tim Solomons, who's at Brain now,

42:55wrote a paper called "Improved Techniques for Training GANs."

42:59I'm a co-author on this paper,

43:00but I can't claim any credit for this particular part.

43:03One thing he showed in the paper is that

43:05you can take the GAN discriminator

43:07and use it as a classifier that actually tells you,

43:11you know, this image is a cat, this image is a dog,

43:13this image is a car, this image is a truck, and so on.

43:16Not just to say whether the image is real or fake,

43:18but if it is real, to say specifically

43:20what kind of object it is.

43:22And he found that you can train these classifiers

43:25with far fewer labeled examples than traditional classifiers.

43:30- So if you supervise based on also

43:33not just your discrimination ability,

43:35but your ability to classify, you're going to do much,

43:38you're going to converge much faster

43:40to being effective at being a discriminator.

43:43- Yeah.

43:44So for example, for the MNIST dataset,

43:46you want to look at an image of a handwritten digit

43:48and say whether it's a zero, a one, or a two, and so on.

43:52To get down to less than 1% accuracy

43:56required around 60,000 examples

44:00until maybe about 2014 or so.

44:02In 2016, with this semi-supervised GAN project,

44:07Tim was able to get below 1% error

44:11using only a hundred labeled examples.

44:13So that was about a 600X decrease

44:16in the amount of labels that he needed.

44:18He's still using more images than that,

44:21but he doesn't need to have each of them labeled as,

44:23you know, this one's a one, this one's a two,

44:25this one's a zero, and so on.

44:27- Then to be able to, for GANs to be able to generate

44:30recognizable objects, so objects from a particular class,

44:33you still need labeled data

44:37because you need to know what it means

44:38to be a particular class cat, dog.

44:40How do you think we can move away from that?

44:44- Yeah, some researchers at Brain Zurich

44:46actually just released a really great paper

44:49on semi-supervised GANs where their goal isn't to classify,

44:53it's to make recognizable objects

44:56despite not having a lot of labeled data.

44:58They were working off of DeepMind's BigGAN project,

45:02and they showed that they can match the performance

45:05of BigGAN using only 10%, I believe,

45:08of the labels.

45:10BigGAN was trained on the ImageNet dataset,

45:12which is about 1.2 million images,

45:14and had all of them labeled.

45:15This latest project from Brain Zurich

45:19shows that they're able to get away

45:20with only having about 10% of the images labeled.

45:24And they do that essentially using a clustering algorithm

45:29where the discriminator learns to assign the objects

45:33to groups, and then this understanding

45:36that objects can be grouped into similar types

45:40helps it to form more realistic ideas

45:43of what should be appearing in the image,

45:45because it knows that every image it creates

45:47has to come from one of these archetypal groups

45:50rather than just being some arbitrary image.

45:53If you train a GAN with no class labels,

45:55you tend to get things that look sort of like

45:57grass or water or brick or dirt,

46:00but without necessarily a lot going on in them.

46:04And I think that's partly because

46:05if you look at a large ImageNet image,

46:07the object doesn't necessarily occupy the whole image.

46:11And so you learn to create realistic sets of pixels,

46:15but you don't necessarily learn

46:17that the object is the star of the show

46:20and you want it to be in every image you make.

46:22- Yeah, I've heard you talk about the horse,

46:25the zebra cycle GAN mapping,

46:27and how it turns out, again, thought-provoking,

46:31that horses are usually on grass

46:33and zebras are usually on drier terrain.

46:35So when you're doing that kind of generation,

46:38you're going to end up generating greener horses or whatever.

46:42So those are connected together.

46:45It's not just-- - Yeah, yeah.

46:47- You're not able to segment,

46:49you're able to generate in a segmented way.

46:52So are there other types of games you come across

46:55in your mind that neural networks can play with each other

47:00to be able to solve problems?

47:05- Yeah, the one that I spend most of my time on

47:07is in security, you can model most interactions as a game

47:12where there's attackers trying to break your system

47:15and you're the defender trying to build a resilient system.

47:19There's also domain adversarial learning,

47:23which is an approach to domain adaptation

47:25that looks really a lot like GANs.

47:27The authors had the idea before the GAN paper came out,

47:31their paper came out a little bit later,

47:33and they were very nice and cited the GAN paper,

47:38but I know that they actually had the idea

47:40before it came out.

47:41Domain adaptation is when you want to train

47:44a machine learning model in one setting called a domain

47:47and then deploy it in another domain later.

47:50And you would like it to perform well in the new domain,

47:52even though the new domain is different

47:54from how it was trained.

47:55So for example, you might want to train

47:58on a really clean image data set like ImageNet,

48:01but then deploy on users' phones

48:03where the user is taking pictures in the dark

48:06or pictures while moving quickly

48:07and just pictures that aren't really centered

48:10or composed all that well.

48:11When you take a normal machine learning model,

48:15it often degrades really badly

48:17when you move to the new domain

48:19because it looks so different

48:20from what the model was trained on.

48:22Domain adaptation algorithms try to smooth out that gap.

48:25And the domain adversarial approach

48:27is based on training a feature extractor

48:29where the features have the same statistics

48:32regardless of which domain you extracted them on.

48:35So in the domain adversarial game,

48:36you have one player that's a feature extractor

48:39and another player that's a domain recognizer.

48:42The domain recognizer wants to look at the output

48:44of the feature extractor

48:45and guess which of the two domains the features came from.

48:49So it's a lot like the real versus fake

48:50discriminator in GANs.

48:52And then the feature extractor,

48:54you can think of as loosely analogous

48:56to the generator in GANs,

48:57except what it's trying to do here

48:59is both fool the domain recognizer

49:02into not knowing which domain the data came from

49:05and also extract features that are good for classification.

49:09So at the end of the day,

49:10in the cases where it works out,

49:13you can actually get features

49:16that work about the same in both domains.

49:20Sometimes this has a drawback where

49:22in order to make things work the same in both domains,

49:24it just gets worse at the first one.

49:26But there are a lot of cases

49:27where it actually works out well on both.

49:30- So do you think of GANs being useful

49:33in the context of data augmentation?

49:35- Yeah, one thing you could hope for with GANs

49:38is you could imagine I've got a limited training set

49:41and I'd like to make more training data

49:43to train something else like a classifier.

49:46You could train the GAN on the training set

49:50and then create more data.

49:52And then maybe the classifier would perform better

49:55on the test set after training

49:56on this bigger GAN generated data set.

49:58So that's the simplest version

50:00of something you might hope would work.

50:03I've never heard of that particular approach working,

50:05but I think there's some closely related things

50:08that I think could work in the future

50:11and some that actually already have worked.

50:14So if we think a little bit about what we'd be hoping for

50:15if we use the GAN to make more training data,

50:18we're hoping that the GAN will generalize to new examples

50:22better than the classifier would have generalized

50:24if it was trained on the same data.

50:25And I don't know of any reason to believe

50:27that the GAN would generalize better

50:28than the classifier would.

50:30But what we might hope for

50:33is that the GAN could generalize differently

50:35from a specific classifier.

50:37So one thing I think is worth trying

50:39that I haven't personally tried, but someone could try

50:41is what if you trained a whole lot

50:43of different generative models on the same training set,

50:46create samples from all of them,

50:48and then train a classifier on that?

50:50Because each of the generative models might generalize

50:52in a slightly different way,

50:54they might capture many different axes of variation

50:56that one individual model wouldn't.

50:58And then the classifier can capture all of those ideas

§07Transcript · 51:01–59:23

51:01by training on all of their data.

51:03So it'd be a little bit

51:04like making an ensemble of classifiers.

51:06- Ensemble of GANs.

51:07- Yeah. - In a way.

51:08- I think that could generalize better.

51:10The other thing that GANs are really good for

51:12is not necessarily generating new data

51:16that's exactly like what you already have,

51:19but by generating new data that has different properties

51:23from the data you already had.

51:25One thing that you can do

51:26is you can create differentially private data.

51:29So suppose that you have something like medical records,

51:31and you don't want to train a classifier

51:33on the medical records and then publish the classifier,

51:36because someone might be able to reverse engineer

51:38some of the medical records you trained on.

51:40There's a paper from Casey Green's lab

51:42that shows how you can train a GAN

51:45using differential privacy.

51:46And then the samples from the GAN

51:48still have the same differential privacy guarantees

51:51as the parameters of the GAN.

51:52So you can make fake patient data

51:55for other researchers to use,

51:57and they can do almost anything they want with that data

51:59because it doesn't come from real people.

52:02And the differential privacy mechanism

52:04gives you clear guarantees

52:06on how much the original people's data has been protected.

52:09- That's really interesting, actually.

52:11I haven't heard you talk about that before.

52:13In terms of fairness,

52:15I've seen from AAAI, your talk,

52:18how can adversarial machine learning

52:21help models be more fair

52:23with respect to sensitive variables?

52:25- Yeah, so there's a paper from Amos Storky's lab

52:28about how to learn machine learning models

52:31that are incapable of using specific variables.

52:34So say, for example, you wanted to make predictions

52:36that are not affected by gender.

52:39It isn't enough to just leave gender

52:41out of the input to the model.

52:42You can often infer gender

52:43from a lot of other characteristics.

52:45Like, say that you have the person's name,

52:47but you're not told their gender.

52:48Well, if their name is Ian,

52:50they're kind of obviously a man.

52:52So what you'd like to do

52:54is make a machine learning model

52:55that can still take in a lot of different attributes

52:58and make a really accurate, informed prediction,

53:02but be confident that it isn't reverse engineering gender

53:05or another sensitive variable internally.

53:08You can do that using something very similar

53:10to the domain adversarial approach,

53:12where you have one player that's a feature extractor

53:16and another player that's a feature analyzer.

53:19And you want to make sure that the feature analyzer

53:21is not able to guess the value of the sensitive variable

53:24that you're trying to keep private.

53:26- Right, that's, yeah, I love this approach.

53:29So, yeah, with the feature,

53:31you're not able to infer the sensitive variables.

53:36- Yeah. - It's brilliant.

53:36It's quite brilliant and simple, actually.

53:39- Another way I think that GANs in particular

53:42could be used for fairness

53:44would be to make something like a cycle GAN,

53:46where you can take data from one domain

53:49and convert it into another.

53:51We've seen cycle GAN turning horses into zebras.

53:53We've seen other unsupervised GANs made by Mingyu Liu

53:58doing things like turning day photos into night photos.

54:01I think for fairness,

54:04you could imagine taking records for people in one group

54:08and transforming them into analogous people in another group

54:11and testing to see if they're treated equitably

54:14across those two groups.

54:16There's a lot of things that'd be hard to get right

54:18to make sure that the conversion process itself is fair.

54:21And I don't think it's anywhere near

54:23something that we could actually use yet.

54:25But if you could design that conversion process

54:27very carefully, it might give you a way of doing audits

54:30where you say, what if we took people from this group,

54:33converted them into equivalent people in another group?

54:35Does the system actually treat them how it ought to?

54:38- That's also really interesting.

54:41In popular press and in general, in our imagination,

54:46you think, well, GANs are able to generate data

54:51and you start to think about deep fakes

54:54or being able to sort of maliciously generate data

54:57that fakes the identity of other people.

55:01Is this something of a concern to you?

55:03Is this something, if you look 10, 20 years into the future,

55:06is that something that pops up in your work,

55:10in the work of the community that's working

55:11on generating models?

55:13- I'm a lot less concerned about 20 years from now

55:15than the next few years.

55:17I think there will be a kind of bumpy cultural transition

55:20as people encounter this idea

55:23that there can be very realistic videos

55:24and audio that aren't real.

55:26I think 20 years from now, people will mostly understand

55:30that you shouldn't believe something is real

55:31just because you saw a video of it.

55:34People will expect to see that it's been cryptographically

55:36signed or have some other mechanism to make them believe

55:41that the content is real.

55:44There's already people working on this.

55:45Like there's a startup called TruePic

55:47that provides a lot of mechanisms for authenticating

55:50that an image is real.

55:51They're maybe not quite up to having a state actor

55:56try to evade their verification techniques,

55:59but it's something that people are already working on

56:02and I think will get right eventually.

56:04- So you think authentication will eventually win out?

56:08So being able to authenticate that this is real

56:10and this is not.

56:11- Yeah.

56:13- As opposed to GANs just getting better and better

56:15or generative models being able to get better and better

56:18to where the nature of what is real is normal.

56:21- I don't think we'll ever be able to look at the pixels

56:24of a photo and tell you for sure that it's real or not real.

56:28And I think it would actually be somewhat dangerous

56:32to rely on that approach too much.

56:35If you make a really good fake detector

56:36and then someone's able to fool your fake detector

56:38and your fake detector says this image is not fake,

56:42then it's even more credible

56:43than if you've never made a fake detector

56:45in the first place.

56:46What I do think we'll get to is systems

56:50that we can kind of use behind the scenes

56:53to make estimates of what's going on

56:55and maybe not like use them in court

56:57for a definitive analysis.

56:59I also think we will likely get better authentication systems

57:04where, you know, imagine that every phone

57:07cryptographically signs everything that comes out of it.

57:10You wouldn't be able to conclusively tell

57:12that an image was real,

57:14but you would be able to tell somebody

57:17who knew the appropriate private key for this phone

57:21was actually able to sign this image

57:24and upload it to this server at this timestamp.

57:27- Right.

57:28So you could imagine maybe you make phones

57:31that have the private keys hardware embedded in them.

57:34If like a state security agency

57:37really wants to infiltrate the company,

57:39they could probably, you know,

57:40plant a private key of their choice

57:42or break open the chip and learn the private key

57:45or something like that.

57:46But it would make it a lot harder

57:47for an adversary with fewer resources to fake things.

57:51- For most of us it would be okay.

57:52Okay.

57:53So you mentioned the beer and the bar and the new ideas.

57:58You were able to implement this

57:59or come up with this new idea pretty quickly

58:02and implement it pretty quickly.

58:04Do you think there's still many such groundbreaking ideas

58:07in deep learning that could be developed so quickly?

58:11- Yeah, I do think that there are a lot of ideas

58:13that can be developed really quickly.

58:14GANs were probably a little bit of an outlier

58:17on the whole like one hour time scale.

58:20But just in terms of like low resource ideas

58:24where you do something really different

58:25on the algorithm scale and get a big payback.

58:28I think it's not as likely that you'll see that

58:31in terms of things like core machine learning technologies

58:34like a better classifier

58:36or a better reinforcement learning algorithm

58:38or a better generative model.

58:39If I had the GAN idea today,

58:42it would be a lot harder to prove that it was useful

58:45than it was back in 2014

58:46because I would need to get it running on something

58:50like ImageNet or CelebA at high resolution.

58:54You know, those take a while to train.

58:55You couldn't train it in an hour

58:57and know that it was something really new and exciting.

59:01Back in 2014, training on MNIST was enough.

59:03But there are other areas of machine learning

59:06where I think a new idea could actually be developed

59:11really quickly with low resources.

59:13- What's your intuition about what areas

59:15of machine learning are ripe for this?

59:17- Yeah, so I think fairness and interpretability

59:23are areas where we just really don't have any idea

§08Transcript · 59:27–1:08:12

59:27how anything should be done yet.

59:29Like for interpretability,

59:30I don't think we even have the right definitions.

59:32And even just defining a really useful concept,

59:36you don't even need to run any experiments,

59:38could have a huge impact on the field.

59:40We've seen that, for example, in differential privacy

59:42that Cynthia Dwork and her collaborators

59:45made this technical definition of privacy

59:48where before a lot of things are really mushy

59:50and then with that definition,

59:51you could actually design randomized algorithms

59:54for accessing databases and guarantee

59:56that they preserved individual people's privacy

59:58in like a mathematical quantitative sense.

60:01Right now, we all talk a lot about how interpretable

60:05different machine learning algorithms are,

60:07but it's really just people's opinion.

60:09And everybody probably has a different idea

60:11of what interpretability means in their head.

60:13If we could define some concept related to interpretability

60:17that's actually measurable,

60:18that would be a huge leap forward,

60:20even without a new algorithm that increases that quantity.

60:24And also once we had the definition of differential privacy,

60:28it was fast to get the algorithms that guaranteed it.

60:31So you could imagine once we have definitions

60:33of good concepts and interpretability,

60:35we might be able to provide the algorithms

60:37that have the interpretability guarantees quickly too.

60:40- What do you think it takes to build a system

60:46with human level intelligence

60:48as we quickly venture into the philosophical?

60:51So artificial general intelligence,

60:54what do you think it takes?

60:55- I think that it definitely takes better environments

61:00than we currently have for training agents,

61:03that we want them to have

61:05a really wide diversity of experiences.

61:08I also think it's gonna take really a lot of computation.

61:11It's hard to imagine exactly how much.

61:13- So you're optimistic about simulation,

61:16simulating a variety of environments

61:18as the path forward?

61:19- I think it's a necessary ingredient.

61:22Yeah, I don't think that we're going to get

61:24to artificial general intelligence

61:27by training on fixed data sets

61:29or by thinking really hard about the problem.

61:32I think that the agent really needs to interact

61:35and have a variety of experiences within the same lifespan.

61:40And today we have many different models

61:44that can each do one thing,

61:45and we tend to train them on one data set

61:47or one RL environment.

61:49Sometimes there are actually papers

61:51about getting one set of parameters

61:53to perform well in many different RL environments,

61:57but we don't really have anything like an agent

61:59that goes seamlessly from one type of experience to another

62:02and really integrates all the different things

62:05that it does over the course of its life.

62:08When we do see multi-agent environments,

62:10they tend to be,

62:12or so many multi-environment agents,

62:14they tend to be similar environments.

62:16Like all of them are playing like an action-based video game.

62:20We don't really have an agent that goes from

62:23playing a video game to like reading the Wall Street Journal

62:27to predicting how effective a molecule will be as a drug

62:31or something like that.

62:33- What do you think is a good test

62:35for intelligence in your view?

62:36There's been a lot of benchmarks,

62:38started with Alan Turing,

62:41natural conversation being a good benchmark for intelligence.

62:46What would Ian Goodfellow sit back

62:51and be really damn impressed

62:53if a system was able to accomplish?

62:56- Something that doesn't take a lot of glue

62:58from human engineers.

62:59So imagine that instead of having to go to the CIFAR website

63:04and download CIFAR 10

63:07and then write a Python script to parse it and all that,

63:11you could just point an agent at the CIFAR 10 problem

63:16and it downloads and extracts the data

63:19and trains a model and starts giving you predictions.

63:22I feel like something that doesn't need to have

63:25every step of the pipeline assembled for it

63:28definitely understands what it's doing.

63:30- Is AutoML moving into that direction

63:32or are you thinking way even bigger?

63:34- AutoML has mostly been moving toward,

63:37once we've built all the glue,

63:39can the machine learning system

63:42design the architecture really well?

63:44And so I'm more of saying,

63:45if something knows how to pre-process the data

63:49so that it successfully accomplishes the task,

63:52then it would be very hard to argue

63:53that it doesn't truly understand the task

63:56in some fundamental sense.

63:58And I don't necessarily know

63:59that that's the philosophical definition of intelligence,

64:02but that's something that would be really cool to build,

64:03that would be really useful and would impress me

64:05and would convince me that we've made a step forward

64:08in real AI.

64:09- So you give it the URL for Wikipedia

64:13and then next day expect it to be able to solve CIFAR-10.

64:18- Or you type in a paragraph

64:20explaining what you want it to do

64:22and it figures out what web searches it should run

64:24and downloads all the necessary ingredients.

64:28- So you have a very clear, calm way of speaking,

64:33no ums, easy to edit.

64:37I've seen comments for both you and I

64:40have been identified as both potentially being robots.

64:44If you have to prove to the world that you are indeed human,

64:47how would you do it?

64:48- I can understand thinking that I'm a robot.

64:53- It's the flip side of the Turing test, I think.

64:57- Yeah, yeah, the prove your human test.

65:00- Intellectually, so you have to,

65:03is there something that's truly unique

65:07in your mind as it doesn't go back

65:09to just natural language again,

65:11just being able to talk your way out of it?

65:13- Proving that I'm not a robot with today's technology,

65:17yeah, that's pretty straightforward.

65:18My conversation today hasn't veered off

65:20into talking about the stock market or something

65:24because it's my training data.

65:25But I guess more generally,

65:27trying to prove that something is real

65:28from the content alone is incredibly hard.

65:31That's one of the main things I've gotten

65:32out of my GAN research,

65:33that you can simulate almost anything.

65:37And so you have to really step back

65:39to a separate channel to prove that something is real.

65:42So I guess I should have had myself stamped

65:45on a blockchain when I was born or something,

65:47but I didn't do that.

65:48So according to my own research methodology,

65:50there's just no way to know at this point.

65:52- So what, last question, problem stands out for you

65:56that you're really excited about challenging

65:58in the near future?

65:59- So I think resistance to adversarial examples,

66:02figuring out how to make machine learning secure

66:05against an adversary who wants to interfere it

66:07and control it, that is one of the most important things

66:10researchers today could solve.

66:12- In all domains, image, language, driving, and everything.

66:17- I guess I'm most concerned about domains

66:19we haven't really encountered yet.

66:22Like imagine 20 years from now

66:24when we're using advanced AIs

66:26to do things we haven't even thought of yet.

66:28Like if you ask people,

66:30what are the important problems in security of phones

66:35in like 2002, I don't think we would have anticipated

66:38that we're using them for nearly as many things

66:42as we're using them for today.

66:43I think it's gonna be like that with AI

66:44that you can kind of try to speculate about where it's going

66:47but really the business opportunities that end up taking off

66:51would be hard to predict ahead of time.

66:54What you can predict ahead of time is that

66:56almost anything you can do with machine learning,

66:58you would like to make sure that people can't get it

67:02to do what they want rather than what you want

67:04just by showing it a funny QR code or a funny input pattern.

67:08- And you think that the set of methodology to do that

67:11can be bigger than any one domain?

67:12And that's the-- - I think so, yeah.

67:14Yeah, like one methodology that I think is,

67:19not a specific methodology,

67:20but like a category of solutions

67:22that I'm excited about today is making dynamic models

67:25that change every time they make a prediction.

67:28So right now we tend to train models

67:31and then after they're trained, we freeze them

67:33and we just use the same rule to classify everything

67:36that comes in from then on.

67:38That's really a sitting duck from a security point of view.

67:41If you always output the same answer for the same input,

67:45then people can just run inputs through

67:48until they find a mistake that benefits them.

67:50And then they use the same mistake

67:51over and over and over again.

67:53I think having a model that updates its predictions

67:56so that it's harder to predict what you're gonna get

68:00will make it harder for an adversary

68:02to really take control of the system

68:04and make it do what they want it to do.

68:06- Yeah, models that maintain a bit of a sense of mystery

68:09about them 'cause they always keep changing.

68:12- Yeah.

§09Transcript · 1:08:13–1:08:30

68:13- Ian, thanks so much for talking today.

68:14It was awesome.

68:15- Thank you for coming in.

68:16It's great to see you.

68:17(upbeat music)

68:19(upbeat music)

68:22(upbeat music)

68:24(upbeat music)

68:27(upbeat music)

68:30(upbeat music)

— 读到这里,多懂一点。 —