Skip to content
Lex Fridman PodcastLex Fridman Podcast

Ian Goodfellow: Generative Adversarial Networks (GANs) | Lex Fridman Podcast #19

Ian Goodfellow is the author of the popular textbook on deep learning (simply titled "Deep Learning"). He invented Generative Adversarial Networks (GANs) and with his 2014 paper is responsible for launching the incredible growth of research on GANs. He got his BS and MS at Stanford, his PhD at University of Montreal with Yoshua Bengio and Aaron Courville. He held several research positions including at OpenAI, Google Brain, and now at Apple as director of machine learning. Thank you for listening ❤ Check out our sponsors: https://lexfridman.com/sponsors/ep19-sb See below for timestamps, and to give feedback, submit questions, contact Lex, etc. *CONTACT LEX:* *Feedback* - give feedback to Lex: https://lexfridman.com/survey *AMA* - submit questions, videos or call-in: https://lexfridman.com/ama *Hiring* - join our team: https://lexfridman.com/hiring *Other* - other ways to get in touch: https://lexfridman.com/contact *OUTLINE:* 0:00 - Introduction 5:40 - On cognition/consciousness 7:04 - Self-awareness 14:00 - Deep learning 23:10 - Limits of machine learning 26:44 - GANs 42:32 - Semi-supervised learning 49:34 - Data augmentation *PODCAST LINKS:* - Podcast Website: https://lexfridman.com/podcast - Apple Podcasts: https://apple.co/2lwqZIr - Spotify: https://spoti.fi/2nEwCF8 - RSS: https://lexfridman.com/feed/podcast/ - Podcast Playlist: https://www.youtube.com/playlist?list=PLrAXtmErZgOdP_8GztsuKi9nrraNbKKp4 - Clips Channel: https://www.youtube.com/lexclips *SOCIAL LINKS:* - X: https://x.com/lexfridman - Instagram: https://instagram.com/lexfridman - TikTok: https://tiktok.com/@lexfridman - LinkedIn: https://linkedin.com/in/lexfridman - Facebook: https://facebook.com/lexfridman - Patreon: https://patreon.com/lexfridman - Telegram: https://t.me/lexfridman - Reddit: https://reddit.com/r/lexfridman

Lex FridmanhostIan Goodfellowguest
Apr 18, 20191h 8mWatch on YouTube ↗

EVERY SPOKEN WORD

  1. 0:00 – 49:34

    Intro

    1. LF

      The following is a conversation with Ian Goodfellow. He's the author of the popular textbook on Deep Learning, simply titled Deep Learning. He coined the term of generative adversarial networks, otherwise known as GANs, and with his 2014 paper, is responsible for launching the incredible growth of research and innovation in this subfield of Deep Learning. He got his BS and MS at Stanford, his PhD at University of Montreal with Yoshua Bengio and Aaron Courville. He held several research positions, including an OpenAI, Google Brain, and now at Apple as the director of machine learning. This recording happened while Ian was still at Google Brain. But we don't talk about anything specific to Google or any other organization. This conversation is part of the Artificial Intelligence podcast. If you enjoy it, subscribe on YouTube, iTunes, or simply connect with me on Twitter @lexfridman, spelled F-R-I-D. And now, here's my conversation with Ian Goodfellow. You open your popular Deep Learning book with a Russian doll type diagram that shows Deep Learning is a subset of representation learning, which in turn is a subset of machine learning, and finally a subset of AI. So this kind of implies that there may be limits to Deep Learning in the context of AI. So what do you think is the current limits of Deep Learning, and, uh, are those limits something that we can overcome with time?

    2. IG

      Yeah. I think one of the biggest limitations of Deep Learning is that right now, it requires really a lot of data, especially labeled data. Um, there are some unsupervised and semi-supervised learning algorithms that can reduce the amount of labeled data you need, but they still require a lot of unlabeled data.

    3. LF

      Mm.

    4. IG

      Reinforcement learning algorithms, they don't need labels, but they need really a lot of experiences. Um, as human beings, we don't learn to play pong by failing at pong two million times. So just getting the generalization ability better is one of the most important bottlenecks in the capability of the technology today. And then I guess I'd also say Deep Learning is like a component of a bigger system. Um, so far, nobody is really proposing to have, uh, only what you'd call Deep Learning as the entire ingredient of intelligence. You use Deep Learning as sub-modules of other systems, like AlphaGo has a Deep Learning model that estimates the value function. Um, you know, most reinforcement learning algorithms have a Deep Learning module that estimates which action to take next, but you might have other components.

    5. LF

      So you're basically as, uh, building a function estimator. Do you think it's, uh, possible, you said nobody's kind of been thinking about this so far, but do you think neural networks could be made to reason in the way symbolic systems did in the ’80s and '90s to do more, create more, like, programs as opposed to functions?

    6. IG

      Yeah. I think we already see that a little bit. I already kind of think of neural nets as a kind of, of program. I think of Deep Learning as basically learning programs that have more than one step. Um, so if you draw a flowchart or, or if you draw a tensor flow graph describing your machine learning model, I think of the depth of that graph as describing the number of steps that run in sequence, and then the width of that graph is the number of steps that run in parallel. Now it's been long enough that we've had Deep Learning working that it's a little bit silly to even discuss shallow learning anymore.

    7. LF

      Mm.

    8. IG

      But back when I first got involved in AI, when we used machine learning, we were usually learning things like support vector machines, where you could have a lot of input features to the model, and you could multiply each feature by a different weight. But all those multiplications were done in parallel to each other, and there wasn't a lot done in series. I think what we got with Deep Learning was really the ability to have, uh, steps of a program that run in sequence. And I think that we've actually started to see that what's important with Deep Learning is more the fact that we have a multi-step program rather than the fact that we've learned a representation. If you look at things like, uh, ResNets, for example, they take one particular kind of representation, and they update it several times. Uh, back when Deep Learning first really took off in the academic world in 2006, when Geoff Hinton, uh, showed that you could train deep belief networks, everybody who was interested in the idea thought of it as each layer learns a different level of abstraction, that the first layer, uh, trained on images learns something like edges, and the second layer learns corners, and eventually, you get these kind of grandmother cell units that recognize specific objects. Today, I think most people think of it more as a computer program, where as you add more layers, you can do more updates before you output your final number. But I don't think anybody believes that layer 150 of the ResNet, uh, is a grandfa- grandmother cell, and, you know, layer 100 is contours or something like that.

    9. LF

      Okay. So you think... You're not thinking of it as a singular representation that keeps building. You think of it as a program, sort of almost like a state representation is a state of understanding in something ?

    10. IG

      Yeah. I think of it as a program that makes several updates and arrives at better and better understandings, but it's not replacing the representation at each step. It's refining it. And in some sense, that's a little bit like reasoning. It's not reasoning in the form of deduction, but it's reasoning in the form of taking a thought and refining it and refining it carefully until it's good enough to use.

    11. LF

      So do you think... and I hope you don't mind, we'll jump philosophical every once in a while. Do, (laughs) do, do you think, uh, of, you know, cognition, human cognition or even consciousness as simply a result of this kind of, uh, sequent- sequential representation learning? Do you think that can emerge?

    12. IG

      Cognition, yes, I think so. Consciousness, it's really hard to even define what we mean by that.I guess there's, consciousness is often defined as things like having self-awareness-

    13. LF

      Mm-hmm.

    14. IG

      ... and that's relatively easy to turn into something actionable for a computer scientist to reason about. People also define consciousness in terms of having qualitative states of experience, like qualia-

    15. LF

      Right.

    16. IG

      ... and there's all these philosophical problems, like, could you imagine a, a zombie who does all the same information processing as a human, but doesn't really have the qualitative experiences that we have? That sort of thing, I have no idea how to formalize or turn it into a scientific question. I don't know how you could run an experiment to tell whether a person is a zombie or not, and similarly, I don't know how you could run an experiment to tell whether an advanced AI system had become conscious in the sense of qualia or not.

    17. LF

      But in the more practical sense, like almost like self-attention, you think consciousness and cognition can, in an impressive way, emerge from current types of architectures that we think of as deep learning?

    18. IG

      Yeah, yeah. Or, or if, if you think of consciousness in terms of self-awareness and just, um, making plans based on the fact that the agent itself exists in the world, reinforcement learning algorithms are already more or less forced to model the agent's effect on the environment. So that, that more limited version of consciousness is already something that we get limited versions of with reinforcement learning algorithms, if they're trained well.

    19. LF

      But, uh, you say limited. So the, the, the big question really is how you jump from limited to human level.

    20. IG

      Yeah.

    21. LF

      Right? And, uh, whether it's possible, it, th- y- you know, the, even just building common sense reasoning seems to be exceptionally difficult. So can... if we scale things up, if we get much better on supervised learning, if we get better at labeling, if we get bigger datasets, uh, the more compute, do you think we'll start to see really impressive things that go from limited to, you know, uh, something, echoes of human-level cognition?

    22. IG

      I think so, yeah. I'm, I'm optimistic about what can happen just with more computation and more data. Uh, I do think it'll be important to get the right kind of data. Uh, today, most of the machine learning systems we train are mostly trained on one type of data for each model. Uh, but th- the human brain, w- we get all of our different senses and we have many different experiences, like, you know, riding a bike, driving a car, talking to people, reading. Um, I think when you get that kind of integrated dataset working with a machine learning model that can actually close the loop and interact, w- we may find that algorithm's not so different from what we have today, learn really interesting things when you scale them up a lot and train them on a large amount of multimodal data.

    23. LF

      And so multimodal is really interesting, but within, like your work in, uh, adversarial examples, so selecting within modal, within a one mode of data, (laughs) uh, selecting better at what are the difficult cases from which are most useful to learn from.

    24. IG

      Oh, yeah. Like, like, could we, could we get a whole lot of mileage out of, uh, designing a model that's resistant to adversarial examples or something like that?

    25. LF

      Right.

    26. IG

      Yeah.

    27. LF

      That's the question.

    28. IG

      My, my thinking on that has evolved a lot over the last few years, when I-

    29. LF

      Oh, interesting.

    30. IG

      ... when I first started to really invest in studying adversarial examples, I was thinking of it mostly as adversarial examples reveal a big problem with machine learning-

  2. 49:34 – 1:08:21

    Data augmentation

    1. LF

    2. IG

      Yeah. W- one thing you could hope for with GANs is, you could imagine I've got a limited training set and I'd like to make more training data to train something else, like a classifier.

    3. LF

      Right.

    4. IG

      You could train the GAN on the training set and then create more data, and then maybe the classifier would perform better on the test set after training on this bigger GAN-generated dataset. Uh, so that's the simplest version of, of something you might hope would work. I've never heard of that particular approach working, but I think there's some, there's some closely related things that, that I think could work in the future, and some that actually already have worked. Um, so if you think a little bit about what we'd be hoping for if we use the GAN to make more training data, we're hoping that the GAN will generalize to new examples better than the classifier would have generalized if it was trained on the same data.

    5. LF

      Got it.

    6. IG

      And I don't know of any reason to believe that the GAN would generalize better than the classifier would, um, but what we might hope for is that the GAN could generalize differently from a specific classifier. So, one thing I, I think is worth trying that I haven't personally tried but someone could try is, what if you trained a whole lot of different generative models on the same training set, create samples from all of them, and then train a classifier on that? Because each of the generative models might generalize in a slightly different way, they might capture many different axes of variation that one individual model wouldn't, and then the classifier can capture all of those ideas by training on all of their data. So, it would be a little bit like making an ensemble of classifiers, and I think that-

    7. LF

      Ensemble of GANs (laughs) -

    8. IG

      Yeah.

    9. LF

      ... in a way.

    10. IG

      I think that could generalize better. The other thing that GANs are really good for is, um, not necessarily generating new data that's exactly like what you already have, but by, uh, generating new data that has different properties from the data you already had.

    11. LF

      Mm-hmm.

    12. IG

      One thing that you can do is you can create differentially private data. So, suppose that you have something like medical records and you don't want to train a classifier on the medical records and then publish the classifier, because someone might be able to reverse engineer some of the medical records you trained on.

    13. LF

      Mm-hmm.

    14. IG

      Uh, there's a paper from Casey Green's lab that shows how you can train a GAN using differential privacy, and then the samples from the GAN still have the same differential privacy guarantees as the parameters of the GAN. So, you can make, uh, fake patient data for other researchers to use, and they can do almost anything they want with that data because it doesn't come from real people, and the differential privacy mechanism gives you clear guarantees on how much the original people's data has been protected.

    15. LF

      That's really interesting, actually. I haven't heard you talk about that before. Uh, in terms of fairness, uh, I've seen from, uh, Triple AI, your talk, how can adversarial machine learning help models be more fair with respect to sensitive variables?

    16. IG

      Yeah. S- so there's a paper from Amos Starkey's lab about how to learn machine learning models that are incapable of using specific variables. So say, for example, you wanted to make predictions that are not affected by gender-

    17. LF

      Mm-hmm.

    18. IG

      Um, it isn't enough to just leave gender out of the input to the model. You can often infer gender from a lot of other characteristics. Like, say that you have the person's name but you're not told their gender.

    19. LF

      Right.

    20. IG

      Well, if, if their name is Ian, they're kind of obviously a man.

    21. LF

      Mm-hmm.

    22. IG

      Um, so what you'd like to do is make a machine learning model that can still take in a lot of different attributes and make a really accurate informed prediction, but be confident that it isn't reverse engineering gender or another sensitive variable internally. Uh, you can do that using something very similar to the domain adversarial approach-

    23. LF

      Mm-hmm. Interesting.

    24. IG

      ... where you have one player that's a feature extractor and another player that's a feature analyzer, and you want to make sure that the feature analyzer is not able to guess the value of the sensitive variable that you're trying to keep private.

    25. LF

      Right. That's... yeah. I- I love this approach. So with... yeah, with the f- with the feature, uh, you're not able to, um, infer, right? The sensitive variables.

    26. IG

      Yeah.

    27. LF

      It's brilliant. That's quite, quite brilliant and simple, actually.

    28. IG

      Another way I think that GANs in particular could be used for fairness would be to make something like a CycleGAN-

    29. LF

      Mm-hmm.

    30. IG

      ... where you can, uh, take data from one domain and convert it into another. We've seen CycleGAN turning horses into zebras. We've seen, um, other unsupervised GANs made by Mingyu Liu doing things like turning day photos into night photos.

Episode duration: 1:08:36

Install uListen for AI-powered chat & search across the full episode — Get Full Transcript

Transcript of episode Z6rxFNMGdn0

Get more out of YouTube videos.

High quality summaries for YouTube videos. Accurate transcripts to search & find moments. Powered by ChatGPT & Claude AI.