The relevance of this tutorial from 2020 increased to the roof in 2024 after the recent release of Stable Diffusion 3 and its implementation of Flow Matching as an alternative to Diffusion. This is a very good building block to understand Flow Matching, that is why I happened here. It must be weird for researchers in Normalizing Flows at that time to witness the explosion of Gen AI through Diffusion models that were so close to what they were doing, it was like being missed by a nuclear bomb. But good research resist in the face of time and and the author predictions on Continuous-time Normalizing Flows and the research started by FFJORD were spot on. Kudos and thanks for putting this together, back in the day. I hope you resume posting videos like this!
Glad it helped! You may want to check out the more recent version of this tutorial here: ruclips.net/video/8XufsgG066A/видео.html Much of the same content although a few things have been updated and refined.
It's hard to give a good intuitive explanation for how/why a cubic transform creates multi-modality. However. I can confirm that this is actually what happens in that particular example, those figures are the real result of transforming those distributions.
Around 19:30 you say that flow layers technically need to be diffeomorphisms, but is that actually the case? I don't see any reason why the inverse needs to be differentiable as well.
You need the flow to be differentiable in the normalizing direction in order to enable training and the computation of the Jacobian. Further, the Jacobian needs to be non-singular (non-zero determinant), and that implies (by the inverse function theorem) that the inverse is also differentiable.
It can split the dimensions in any way. Traditionally in image applications the split is along channels dimensions, but, e.g., this paper split along spatial dimensions: proceedings.neurips.cc/paper/2020/hash/ecb9fe2fbb99c31f567e9823e884dbec-Abstract.html
The relevance of this tutorial from 2020 increased to the roof in 2024 after the recent release of Stable Diffusion 3 and its implementation of Flow Matching as an alternative to Diffusion.
This is a very good building block to understand Flow Matching, that is why I happened here.
It must be weird for researchers in Normalizing Flows at that time to witness the explosion of Gen AI through Diffusion models that were so close to what they were doing, it was like being missed by a nuclear bomb.
But good research resist in the face of time and and the author predictions on Continuous-time Normalizing Flows and the research started by FFJORD were spot on.
Kudos and thanks for putting this together, back in the day.
I hope you resume posting videos like this!
this video deserves a million view. so clearly explained.
At 47:00, the goal is to reduce dimensionality, but 4x4x1==2x2x4. How does that help?
don't stop making videos, you are fantastic.
Amazing video, will share it with my colleagues and friends, it deserves much more views than it has
Super useful, I have been looking for this video for a long time, finally, I got it. Great video, keep going!
Glad it helped! You may want to check out the more recent version of this tutorial here: ruclips.net/video/8XufsgG066A/видео.html Much of the same content although a few things have been updated and refined.
WOW! This has been so helpful. You deserve a medal prof :)
Great presentation, thanks for sharing it.
Thank you for making this excellent tutorial.
I have a question. How does taking cube root change a bimodal distribution to a unimodal distribution at 13:50?
It's hard to give a good intuitive explanation for how/why a cubic transform creates multi-modality. However. I can confirm that this is actually what happens in that particular example, those figures are the real result of transforming those distributions.
I will get out from this lecture that "If d is small that is not a big deal".
Very nice slides and presentation.
Nice tutorial.
Can we get the slides, please?
Loved your tutorial, Marcus.
Thanks for the video! Very clearly explained :)
Why GLOW is skipped??
Thanks for the great explanatoin!
Around 19:30 you say that flow layers technically need to be diffeomorphisms, but is that actually the case? I don't see any reason why the inverse needs to be differentiable as well.
You need the flow to be differentiable in the normalizing direction in order to enable training and the computation of the Jacobian. Further, the Jacobian needs to be non-singular (non-zero determinant), and that implies (by the inverse function theorem) that the inverse is also differentiable.
@@MarcusBrubaker Ah, okay, makes sense. Thanks!
In coupling flows: does the split step split the x along the channel(features) or along others?
It can split the dimensions in any way. Traditionally in image applications the split is along channels dimensions, but, e.g., this paper split along spatial dimensions: proceedings.neurips.cc/paper/2020/hash/ecb9fe2fbb99c31f567e9823e884dbec-Abstract.html
Thanks
he keeps saying probabilistic graphical models when he meant probabilistic generative models
First, explain the name, what is "normalizing"?