A pathway to more efficient generative models | Will Grathwohl | 2018 Summer Intern Open House

OpenAI · Intermediate ·📰 AI News & Updates ·7y ago

Key Takeaways

Will Grathwohl presents his work on invertible generative models, specifically the Glow model, using TensorFlow and discussing continuous-time dynamics processes, flow-based models, and autoencoder architectures to improve efficiency and expressiveness in generative models. The presentation covers the use of arbitrary neural networks to parameterize invertible generative models and the integration of samples from the prior distribution to match the target distribution.

Full Transcript

already yeah so I'm going to talk to you about some of the work I've been doing here with Sonic and alia on sort of an Avenue that we think might be a promising way to make invertible generative models potentially more efficient and more expressive and so as I mentioned when you're defining or designing an invertible generative model you have two main constraints when when doing this you need the model to be invertible and you also need the model you need the to be able to compute the log determinant of the Jacobian of the model and those are two pretty big constraints and because of that we typically restrict ourselves to simpler architectures where those things are easier to compute and because of that we are using these simple transformations we must compose a whole bunch of them together to build an expressive model and as you as Sayaka mentioned is the case with the gloww model and if we could potentially use more expressive transformations at every step of our flow then there might be a step for us to to build invertible models that are more expressive use less parameters and potentially use less computations so in some of the work we've been doing we took kind of a different a different look at these types of models and if you look at them in a different way something the math changes in a way that provides an avenue for for maybe improving the models so you can think of a flow based model as parameterizing a discrete-time dynamics process where you start at time 0 at the data and then to get your next time step you just apply every step of the flow and then you you encode your data by moving along all the way from time 0 to the finish time and then you can compute the likelihood of your data simply by the likelihood of the final sample under the prior plus the sum of the log determinants along the way and if we kind of take the limit of time to infinity then this basically looks like a continuous time dynamics process where instead instead of having individual flow models parameterize the derivative at every single time step we can throw all of that into one model that's going to take in the current data point and time as well and then parameter i's the gradient exactly and then what this gives us is the exact parameter a ssin of an ordinary differential equation initial value problem and the coolest thing here is that if we look at the log probability from the change of variables formula now in the continuous case we have a difference a different term here instead of the sum of the log determinants we actually have the integral of the divergence of the function that defines the gradient and just looking at those two things next to each other the form is very similar except now we have this integral of the divergence instead of the sum of the log determinants and that's a very interesting dichotomy there because the determinant has a lot of different properties than the divergence and specifically in general if we have an arbitrary function that goes from RN to RN then computing the log determinant of the Jacobian is going to is going to work in n cubed time once we have the Jacobian which is also challenging to compute and there's really no efficient way to get a to estimate this and there is no like efficient unbiased estimator but with the divergence we can actually produce an efficient unbiased estimator just using automatic differentiation and and that estimator basically just works by sampling like a Gaussian probe vector and then pre and post multiplying the Jacobian Phi that vector and then in expectation that's going to give us the divergence of the vector field and then we can similarly use this in the integral form of the log-likelihood to get an unbiased estimate for the log-likelihood which is not something we can do in the in the discrete-time sits situation and here's just a little three line kind of tensorflow implementation of how you would implement this estimator and the cool thing here is that using this now we have a way to parameterize these invertible generative models using an arbitrary neural network and we also have a way to efficiently train them just using back propagation or standard automatic differentiation tools which are you know very common today so there are some problems here because we have alleviated a source of complexity but we have added another one because now instead of a very simple like known computation process where we just apply the you know n flows that we've defined we must now integrate actually this OD e and that is potentially challenging and it's kind of been the the main area of of work that we've been doing trying to make these models actually tractable and training them around the same scale of time that we could before and an even more challenging we have to now back propagate through the solution of an OD and get the gradients of the outputs with respect to its inputs and the parameters that define the flow function thankfully there was some recent work from the University of Toronto that presented a method that to do this and we've been building upon that method in this work and the basic way that works is you can actually get the gradients of everything you need just by solving an Augmented system of ordinary differential equations and while this is kind of out of left field from the deep learning kind of a type of work that we do there's actually been quite a number of decades of history on numerical methods for solving au des so there's decades of work that we can draw upon to a to help us out with that part of the problem and and so here's a somewhat of an example of some of the results I've gotten so here is the continuous normalizing flow on the left here and on the right we have the glow model and so in general I have not quite beaten the results of the glue model yet and I think that is mainly because the models currently take too long to train so I haven't been able to make them as large as I would like to but I have noticed that I have been able to get competitive results with real MVP and in some datasets I have beaten the glue model and so I think it's a very promising Avenue and I just think there's a couple kind of little issues that we need to solve before we can really get these models to to deliver the goods and I guess just here's a little kind of visualization of one of these models in the working and basically we've started from the prior distribution there and that was the the continuous normalizing flow model actually integrating samples from the the prior distribution to match the target distribution and so that was just in a simple two dimensional problem but this also works quite well on some higher dimensional data so here is M this and as you can see over here these are actually going to be the digits that are being warped by this is the gradient field here that is being applied to them and then that is being integrated and actually warping them into what should look like Gaussian noise and once this finishes it will go backwards and it's pretty fun to look at yeah and the cool thing about this model is that this is just like one one neural network that kind of has like an auto encoder type architecture and that neural network just takes in these the images at every time step that they've been warped and - the time itself and it just parameterised the gradient and all we need to do to apply this transformation is integrated and and yes that's most of what I've been working on here and if you anyone is interested feel free to reach out to me there's my email and you have any questions [Applause] oh that's typically just to got a standard isotropic distribution yeah yeah I mean yeah that's the standard stuff I mean I've tried some other like more structured prior distributions and that like I did some earlier work here where I was working on using these models for like semi-supervised learning so you could put like a mixture of gaussians on some of the you know some of the vectors and that has an interesting effect of modeling you know class conditional probabilities pretty well but for all this work it was just standard Gaussian distributions just log like we herded the data yeah like that was the if you go well if we could go back a couple slides the bits per dimension is typically what what people do which is sort of like like you know log probability would be typically for you know written in Nats and then you just compute that from that's two bits and then average it over the dimensions that's the standard metric people use in the density estimation space

Original Description

Will Grathwohl's presentation about his work during his summer internship at OpenAI. Recorded at the OpenAI 2018 Summer Intern Open House on August 16, 2018.
Watch on YouTube ↗ (saves to browser)
Sign in to unlock AI tutor explanation · ⚡30

Playlist

Uploads from OpenAI · OpenAI · 16 of 60

1 Robots that Learn
Robots that Learn
OpenAI
2 Emergence of Grounded Compositional Language in Multi-Agent Populations
Emergence of Grounded Compositional Language in Multi-Agent Populations
OpenAI
3 OpenAI + Dota 2
OpenAI + Dota 2
OpenAI
4 Dendi vs. OpenAI at The International 2017
Dendi vs. OpenAI at The International 2017
OpenAI
5 Competitive Self-Play
Competitive Self-Play
OpenAI
6 Learning a Hierarchy
Learning a Hierarchy
OpenAI
7 Physical Spam Detection
Physical Spam Detection
OpenAI
8 Ingredients for Robotics Research
Ingredients for Robotics Research
OpenAI
9 OpenAI Five
OpenAI Five
OpenAI
10 OpenAI Five: Dota Gameplay
OpenAI Five: Dota Gameplay
OpenAI
11 Learning Dexterity
Learning Dexterity
OpenAI
12 Learning Dexterity: Uncut
Learning Dexterity: Uncut
OpenAI
13 OpenAI Five Benchmark: Post-Game Analysis
OpenAI Five Benchmark: Post-Game Analysis
OpenAI
14 Investigating Model Based RL for Continuous Control | Alex Botev | 2018 Summer Intern Open House
Investigating Model Based RL for Continuous Control | Alex Botev | 2018 Summer Intern Open House
OpenAI
15 Generative Modelling | Sadhika Malladi | 2018 Summer Intern Open House
Generative Modelling | Sadhika Malladi | 2018 Summer Intern Open House
OpenAI
A pathway to more efficient generative models | Will Grathwohl | 2018 Summer Intern Open House
A pathway to more efficient generative models | Will Grathwohl | 2018 Summer Intern Open House
OpenAI
17 Learning Dexterity | Alex Ray | 2018 Summer Intern Open House
Learning Dexterity | Alex Ray | 2018 Summer Intern Open House
OpenAI
18 Robust Vision-Based State Estimation | Hsiao-Yu 'Fish' Tung | 2018 Summer Intern Open House
Robust Vision-Based State Estimation | Hsiao-Yu 'Fish' Tung | 2018 Summer Intern Open House
OpenAI
19 Using Semantic Trees In Place of Sentences | Munashe Shumba | OpenAI Scholars Demo Day 2018
Using Semantic Trees In Place of Sentences | Munashe Shumba | OpenAI Scholars Demo Day 2018
OpenAI
20 Reinforcement Learning with Prediction-Based Rewards
Reinforcement Learning with Prediction-Based Rewards
OpenAI
21 OpenAI Spinning Up in Deep RL Workshop
OpenAI Spinning Up in Deep RL Workshop
OpenAI
22 Arena Announcement and Closing | OpenAI Five Finals (6/6)
Arena Announcement and Closing | OpenAI Five Finals (6/6)
OpenAI
23 Co-Op Match | OpenAI Five Finals (5/6)
Co-Op Match | OpenAI Five Finals (5/6)
OpenAI
24 OpenAI Five vs. OG, Game 2 | OpenAI Five Finals (4/6)
OpenAI Five vs. OG, Game 2 | OpenAI Five Finals (4/6)
OpenAI
25 OpenAI Five vs. OG, Game 1 | OpenAI Five Finals (3/6)
OpenAI Five vs. OG, Game 1 | OpenAI Five Finals (3/6)
OpenAI
26 Pre-Match Panel Discussion | OpenAI Five Finals (2/6)
Pre-Match Panel Discussion | OpenAI Five Finals (2/6)
OpenAI
27 Opening Keynote | OpenAI Five Finals (1/6)
Opening Keynote | OpenAI Five Finals (1/6)
OpenAI
28 OpenAI Robotics Symposium 2019
OpenAI Robotics Symposium 2019
OpenAI
29 OpenAI Scholars Demo Day 2019
OpenAI Scholars Demo Day 2019
OpenAI
30 Multi-Agent Hide and Seek
Multi-Agent Hide and Seek
OpenAI
31 Solving Rubik’s Cube with a Robot Hand: Uncut
Solving Rubik’s Cube with a Robot Hand: Uncut
OpenAI
32 Solving Rubik’s Cube with a Robot Hand: Perturbations
Solving Rubik’s Cube with a Robot Hand: Perturbations
OpenAI
33 Solving Rubik’s Cube with a Robot Hand
Solving Rubik’s Cube with a Robot Hand
OpenAI
34 Music Generation | Christine Payne | OpenAI Scholars Demo Day 2018
Music Generation | Christine Payne | OpenAI Scholars Demo Day 2018
OpenAI
35 Deephypebot | Nadja Rhodes | OpenAI Scholars Demo Day 2018
Deephypebot | Nadja Rhodes | OpenAI Scholars Demo Day 2018
OpenAI
36 Physics Net | Ifu Aniemeka | OpenAI Scholars Demo Day 2018
Physics Net | Ifu Aniemeka | OpenAI Scholars Demo Day 2018
OpenAI
37 Art Composition Attributes + CycleGAN | Holly Grimm | OpenAI Scholars Demo Day 2018
Art Composition Attributes + CycleGAN | Holly Grimm | OpenAI Scholars Demo Day 2018
OpenAI
38 Generating Emotional Landscapes | Hannah Davis | OpenAI Scholars Demo Day 2018
Generating Emotional Landscapes | Hannah Davis | OpenAI Scholars Demo Day 2018
OpenAI
39 Looking For Grammar In All The Right Places | Alethea Power | OpenAI Scholars Demo Day 2020
Looking For Grammar In All The Right Places | Alethea Power | OpenAI Scholars Demo Day 2020
OpenAI
40 Semantic Parsing English to GraphQL | Andre Carerra | OpenAI Scholars Demo Day 2020
Semantic Parsing English to GraphQL | Andre Carerra | OpenAI Scholars Demo Day 2020
OpenAI
41 Long term credit assignment with temporal reward transp… | Cathy Yeh | OpenAI Scholars Demo Day 2020
Long term credit assignment with temporal reward transp… | Cathy Yeh | OpenAI Scholars Demo Day 2020
OpenAI
42 Social learning in independent multi-agent reinfor… | Kamal N’dousse | OpenAI Scholars Demo Day 2020
Social learning in independent multi-agent reinfor… | Kamal N’dousse | OpenAI Scholars Demo Day 2020
OpenAI
43 Quantifying Interpretability of Models Trained on Coi… | Jorge Orbay | OpenAI Scholars Demo Day 2020
Quantifying Interpretability of Models Trained on Coi… | Jorge Orbay | OpenAI Scholars Demo Day 2020
OpenAI
44 Towards Epileptic Seizure Prediction with Deep Network | Kata Slama | OpenAI Scholars Demo Day 2020
Towards Epileptic Seizure Prediction with Deep Network | Kata Slama | OpenAI Scholars Demo Day 2020
OpenAI
45 Universal Adversarial Perturbations and Language M… | Pamela Mishkin | OpenAI Scholars Demo Day 2020
Universal Adversarial Perturbations and Language M… | Pamela Mishkin | OpenAI Scholars Demo Day 2020
OpenAI
46 Introductions by Sam Altman & Greg Brockman | OpenAI Scholars Demo Day 2020
Introductions by Sam Altman & Greg Brockman | OpenAI Scholars Demo Day 2020
OpenAI
47 Introduction by Sam Altman | OpenAI Scholars Demo Day 2021
Introduction by Sam Altman | OpenAI Scholars Demo Day 2021
OpenAI
48 Breaking Contrastive Models with the SET Card Game | Legg Yeung | OpenAI Scholars Demo Day 2021
Breaking Contrastive Models with the SET Card Game | Legg Yeung | OpenAI Scholars Demo Day 2021
OpenAI
49 Large Scale Reward Modeling | Jonathan Ward | OpenAI Scholars Demo Day 2021
Large Scale Reward Modeling | Jonathan Ward | OpenAI Scholars Demo Day 2021
OpenAI
50 Words to Bytes: Exploring Language Tokenizations | Sam Gbafa | OpenAI Scholars Demo Day 2021
Words to Bytes: Exploring Language Tokenizations | Sam Gbafa | OpenAI Scholars Demo Day 2021
OpenAI
51 Learning Multiple Modes of Behavior in a Continuous… | Tyna Eloundou | OpenAI Scholars Demo Day 2021
Learning Multiple Modes of Behavior in a Continuous… | Tyna Eloundou | OpenAI Scholars Demo Day 2021
OpenAI
52 Scaling Laws for Language Transfer Learning | Christina Kim | OpenAI Scholars Demo Day 2021
Scaling Laws for Language Transfer Learning | Christina Kim | OpenAI Scholars Demo Day 2021
OpenAI
53 Contrastive Language Encoding | Ellie Kitanidis | OpenAI Scholars Demo Day 2021
Contrastive Language Encoding | Ellie Kitanidis | OpenAI Scholars Demo Day 2021
OpenAI
54 Characterizing Test Time Compute on Graph Structur… | Kudzo Ahegbebu | OpenAI Scholars Demo Day 2021
Characterizing Test Time Compute on Graph Structur… | Kudzo Ahegbebu | OpenAI Scholars Demo Day 2021
OpenAI
55 Studying Scaling Laws for Transformer Architecture … | Shola Oyedele | OpenAI Scholars Demo Day 2021
Studying Scaling Laws for Transformer Architecture … | Shola Oyedele | OpenAI Scholars Demo Day 2021
OpenAI
56 Feedback Loops in Opinion Modeling | Danielle Ensign | OpenAI Scholars Demo Day 2021
Feedback Loops in Opinion Modeling | Danielle Ensign | OpenAI Scholars Demo Day 2021
OpenAI
57 Creating a Space Game with OpenAI Codex
Creating a Space Game with OpenAI Codex
OpenAI
58 “Hello World” with OpenAI Codex
“Hello World” with OpenAI Codex
OpenAI
59 Talking to Your Computer with OpenAI Codex
Talking to Your Computer with OpenAI Codex
OpenAI
60 Data Science with OpenAI Codex
Data Science with OpenAI Codex
OpenAI

This video presents a pathway to more efficient generative models using invertible transformations and continuous-time dynamics processes. The Glow model is introduced as a simple and expressive model for generative tasks. The presentation covers the technical details of the model and its implementation using TensorFlow.

Key Takeaways
  1. Implement the Glow model using TensorFlow
  2. Use automatic differentiation to compute the divergence of the function
  3. Apply the Gaussian probe vector to estimate the divergence
  4. Integrate samples from the prior distribution to match the target distribution
  5. Use back propagation or standard automatic differentiation tools to train the models
  6. Compute the log probability in Nats and average over dimensions
💡 The Glow model uses simple transformations to make invertible generative models more expressive, and the continuous-time dynamics process can be viewed as a continuous-time process with a single model parameterizing the derivative at every time step.

Related Reads

Up next
Why 92% of Fortune 500 Use AI (And Still Aren't Trained) | @AICERTs CERTs
AI CERTs®
Watch →