great! Also maybe think about the Tradeoff between scaling and incremental improvements, in case your perspective is, that LLM´s also always approximate the data set and therefore memorize rather than any "emergent capabilities". So that ChatGPT also does "only" curve fitting.
I am student who is pursuing a degree in ai and we want more of your videos for even simplest of the concepts in ai, trust me this channel will be a huge deal in the near future, good luck!!
At first I thought "oh, another random video explaining the same basics and not adding anything new", but I was so wrong. It's an incredibly clear explanation of diffusion, and the start with the basic makes the full picture much clearer. Thank you for the video!
To know more of an advanced technical perspective you could join this server where we research and study on all forms of ai aspecialy generative ai prompting, theoretical ways to run computation of ai neutral networks and tandems such as quantum networks. We help also suggest and invent theoretical applications of the ai and also ways in which to enhance the systems ect.
kinda sorry to my professors and seniors but this is the single best explanation of logics behind each models. About dozen min vid > 2 years of confusion in univ
Yeah, it's great, but you also gotta understand that it's easier to digest such a great video after learning machine learning for some time. I learned machine learning 1,5 years ago and now I relearn it and everything seems so easy, while it was so confusing during my education at uni
I enjoyed the presentation for these aspects as well. My learning experience at university was similar to his approach so it made understanding the content very easy.
Such an underrated video, I love how you went from the basic concepts to complex ones and didn't just explain how it works but also the reason why other methods are not as good/efficient. I will definitely be looking forward to more of your content!
Holy shit, at 11:03 I suddenly realised what you were cooking! I've been trying to find a way to articulate this interesting relationship between autoregression and diffusion for ages (my thesis developed diffusion models for tabular data). This is such a brilliantly-visualised and intuitively explained video! Well done. And the classifier-free guidance explanation you threw in at the end has got to be some of the most high-ROI intuition pumping I've seen on TH-cam.
This is seriously one of the best explainer videos i've ever seen. I've spent a long time trying to understand diffusion models and not a single video has come close to this one
The way you tell the story is fantastic! I am surprised that all AI/ML books are so terrible at didactics. We should always start at the intuition, the big picture, the motivation. The math comes later when the intuition is clear.
I have seen the "math-first, intuition later or never" approach in a lot of teaching. High school and college math, physics and programming classes are rife with this approach. I agree it's sub-optimal for most students. I have some vague ideas about why this approach perpetuates itself and I have seen a lot of gatekeeping around learning in a bottom up way. It's lovely to see some educators like AlgorithmicSiplicity and Three Blue One Brown break things down in much more intuitive way that then allows us to understand the maths.
@@dustinandrews89019I think the main reason is time. Most university courses are 8 weeks in my case and there simply isn't enough time to explain all the details in theory behind electronics or math for example. My learning is terrible when I am just given a formula for a particular problem, it's useless to me. Instead I end up spending days understanding who came up with the formula and why before I derive it myself and then I will never forget it since it becomes part of my intuition. Another reason I've noticed is sadly lack of deeper understanding from some teachers. They themselves only memoriesed the solution for the problem but they don't really fully understand the problem or the solution, in my opinion they are unfit for teaching. A teacher should never be worried about a student asking why.
This is a beautiful work of explanation. You show why diffusion is better than the autoregression by deconstructing autoregression and gradually adding optimisations and ideas to end up with a basic diffusion model. (which is also meta, as deconstruction and reconstruction is what these networks do to learn too!)
I think it would help to mention that the auto-regressors may be viewing the image as a sequence of pixels (RGB vectors). Overall excellent video, extremely intuitive.
In general, auto-regressors do not view images as a sequence. For example, PixelCNN uses convolutional layers and treats inputs as 2d images. Only sequential models such as recurrent neural networks would view the image as a sequence.
Great video! One interesting point about diffusion models that I haven't seen discussed enough is that the noising process can be replaced with other (even deterministic!) image degradation transforms. See the 2022 paper by Bansal et. al, "Cold Diffusion." For example, they train a model using an "animorph" transform that interpolates between training images and random images from an animal photo dataset. Models trained on these quirky transforms still give very decent results.
Absolutely agreed, that paper is amazing. Also recently there was a paper using upscaling/downscaling as the information degrading transformation and it seemed to achieve very good results ( arxiv.org/abs/2404.02905 ).
I have trained my own diffusion models and it required me to do a deep dive of the literature. This is hands down the best video on the subject and covers so much helpful context that makes understanding diffusion models so much easier. I applaud your hard work, you have earned a subscriber!
This is a great explanation on how image decoders work. I haven't seen this approach and narrative direction yet. This now makes my reference for explaining it to people that got no idea.!
This is refreshing to watch in a sea of people who don't know what they're talking about and decide to make "educational" videos on the subject anyways. The simplifications are often harmful.
what an amazing explanation! world needs more "from first principles" explanations for everything, but for that we need people that understand in the first place. you are doing a huge service.
watched this after reading the 2017 distill blogpost on Feature Visualisation. Extremely helpful in filling in the gaps of parts of the process that went over my head. Thank you!
I have a graduate degree in this shit and this is by far the clearest explanation of diffusion I've seen. Have you thought about doing a video running over the NN Zoo? I've used that as a starting point for lectures on NN and people seem to really connect with that paradigm
This is a great video. I have watched videos in the past (years ago) talk about auto-regression and more lately talk about diffusion. But it's nice to see why and how there was such a jump between the two. Amazing! However, I feel this video is a little incomplete when there was no mention of the enhancer model that "cleans up" the final generated image. This enhancing model is able to create a larger image while cleaning up the six fingers gen AI is so famous for. While not technically a part of the diffusion process (because it has no random noise) it is a valuable addition to image gen if anyone is trying to build their own model.
Insightful video! I'd like to point out that generating images auto-regressively is also a feasible approach and has been done in multiple techniques, most notable in DALL-E 1. However, auto-regression happens in a compressed latent space instead of in the pixel space.
Hands down the best video that explains how these models work. I love that you explain these topics in a way that resembles how the researchers created these models. Your video shows the thinking process behind these models, combined with great animated examples, it is so easy to understand. You really went all out. Only if youtube promoted these kinds of videos instead of brainrot low quality videos made by inexperienced teenagers.
This has been on my watch later for 3 months. Finally got to watching it, glad I did. This is an exceptional explanation of the technologies at play here.
You truly understand how to simplify... to engage our imagination... to employ naive thought or ideas to make comparisons to bring across a deeper more core principles and concepts to make the subject for more easier to grasp and get an intuition for. Algorithmic Simplicity indeed... thank you for your style of presentation and teaching. love it love it... you make me know what question I want to ask but didn't know I wanted to ask. TH-cam needs your contribution in ML education. please don't forget that.
I finally understand how models like Stable Diffusion work now! I tried understanding them before but got lost at the equation (17:50), but this video describes that equation very simply. Thank you!
audio is mentioned very briefly in 0:24, would love to have a video showing how text can be transformed not into pictures, but audio of songs... and somehow get us guitar solos, saxaphone, standup comedy routines, etc... I'm thinking of the wild stuff we see on udio or suno
Udio and Suno don't say publicly how their models work, but there are basically 2 approaches to generating audio: 1) is you use an encoder module to map sound waves into a sequence of discrete tokens, and then training an auto-regressive transformer on those tokens. 2) is you just apply diffusion to the frequency spectrogram of the audio (use Fourier transform to convert sound waves into frequency images, then do diffusion in exactly the same way as image diffusion). In either case, the generative mechanism is identical to the auto-regression or diffusion covered in this video, so I don't feel like its worth covering separately. If there's anything unique to audio that you are aware of, I would be interested in hearing it.
bruh, I loved your contents. Other channel/video usually explain general knowledge that can be easily found on internet. But you're going deeper to the intrinsic aspects of how the stuff works. This video, and one of your video about transformer, are really good.
Thank you for the explanation. I already knew a little bit about diffusion but this is exactly the way I'd hope to learn. Start from the simplest examples(usually historical) and progresivelly advance, explaining each optimisation!
A person with very less background can understand what he describes here.. commenting to make youtube so it gets recommended for other .. wonderful video! really good one
Very good video. I get to konw the straigforward reason: why diffusion idea emerges and why diffusion is intrinsically better than autogression algorithm.
Excellente vidéo, les explications sont claires et parfaitement imagées. Les concepts et les idées clés sont bien ammenés et forment un cheminement entièrement cohérent, ce qui aide vraiment à suivre facilement. Le contenu est très complet. Merci et encore Bravo !
I haven't seen any material that cover them really well. There are basically 2 types of causal architectures, causal CNNs and causal transformers, with causal transformers being much more widely used in practice now. Causal transformers are also known as "decoder only transformers" ("encoders" uses regular self-attention layers, "decoders" use causal self-attention). If you search for encoder vs decoder-only transformers you should find some resources that explain the difference. Basically, to make a self-attention layer causal you mask the attention scores (i.e. set some to 0), so that words can only attend to words that came before them in the input. This makes it so that every word's vector only contains information from before it. This means you can use every word's vector to predict the word that comes after it, and it will be a valid prediction because that word's vector never got to attend (i.e. see) anything after it. So, it is as if you had applied the transformer to every subsequence of input words, except you only had to apply it once.
I want to learn more about the causal architecture idea for auto regressors, but I can't seem to find anything about them anywhere. Do you know where I can read more about this topic?
I haven't seen any material that cover them really well. There are basically 2 types of causal architectures, causal CNNs and causal transformers, with causal transformers being much more widely used in practice now. Causal transformers are also known as "decoder only transformers" ("encoders" uses regular self-attention layers, "decoders" use causal self-attention). If you search for encoder vs decoder-only transformers you should find some resources that explain the difference. Basically, to make a self-attention layer causal you mask the attention scores (i.e. set some to 0), so that words can only attend to words that came before them in the input. This makes it so that every word's vector only contains information from before it. This means you can use every word's vector to predict the word that comes after it, and it will be a valid prediction because that word's vector never got to attend (i.e. see) anything after it. So, it is as if you had applied the transformer to every subsequence of input words, except you only had to apply it once.
thanks to very good video I have a question: can't we make a model that decrease the resolution of a picture (for example a 4*4 picture to a 2*2 and to 1*1 picture) and run it reverse (generate a 2*2 from 1*1 and 4*4 from 2*2) ? would this model works?
Hey! Thanks for the video, it is very informative! I have a question. At 18:17 you say that an average of a bunch of noise is still a valid noise. I'm not sure why it is true here. I'd expect the average of a bunch of noise to be just 0.5 value (if we map rgb values to 0..1 range)
Right, the average is just the center of the noise distribution which, let's say the color values are mapped from -1 to 1, is 0. This average doesn't look like noise (it is just a solid grey image), but if you ask what is the probability of this image under the noise distribution, it actually has the highest probability. The noise distribution is a normal distribution centered at 0, so the input which is all 0 has the highest probability. So the average image still lies within the noise distribution, as opposed to natural images where the average moves outside the data distribution
Hi @algorithmicsimplicity, I am curious which papers/material did you reference for the general autogressor? I cannot seem to find any info on using random spaced out pixels to predict the next batch of pixels. Any help would be appreciated. Also great videos!!!
In your neural network animations, the traveling highlight starts from the image, goes through the neural net, then to the output pixel. I understand this as information traveling forward. When the highlights reverse direction, does this represent back propagation at the regressed value of the pixel? Great video by the way!
@@algorithmicsimplicity Thank YOU! This is the first video that finally explained this to me. Everywhere else they mostly cover the forward process without explaining why, where it came from it and what is intuition behind it - but instead they have a lot of math with KL divergence, gaussians, etc. So I usually understand everything until we get to pure noise. And then I completely lose the thought line. You really broke this down into easy to understand pieces. Thanks again!
I like to think of ML as a funky calculator. Instead of a calculator where you give it inputs and an operation and it gives you an output, you give it inputs and outputs and it gives you an operation. You said it's like curve fitting, which is the same thing, but I like thinking the words funky calculator because why not
A paper about doing autoregression with images that seems to work pretty well dropped after this video - would be interested in your thoughts: Visual Autoregressive Modeling: Scalable Image Generation via Next-Scale Prediction
Yep I read that paper recently. Seems like a really solid idea: instead of using noise to remove information, down sample (i.e. blur) the image to remove information. This also has the property that it removes information from everywhere in the image, so it should give near optimal compute-vs-quality trade off, but it has the advantage that the image size is smaller for the generation steps. I would wait to see a few more reproductions of it before claiming that it is better than diffusion, though.
Very good job. My suggestion is that you explain more about how it actually works, that the model learns to understand complete sceneries just from text prompts. This could fill its own video. Also it would be very nice to have a video about Diffusion Transformers like OpenAIs Sora probably is. Also it could be great to have a Video about the paper "Learning in High Dimension Always Amounts to Extrapolation". best wishes
Thanks for the suggestions, I was planning to make a video about why neural networks generalize outside their training set from the perspective of algorithmic complexity. That paper "Learning in High Dimension Always Amounts to Extrapolation" essentially argues that the interpolation vs extrapolation distinction is meaningless for high dimensional data, and I agree, I don't think it is worth talking about interpolation/extrapolation at all when explaining neural network generalization.
@@algorithmicsimplicity yes true. It would be great also because this links back to the LLM´s discussions, wether scaling up Transformers actually brings up "emergent capabilities", or if this is simple and less magical explainable by extrapolation. Or in other words: either people tend to believe, that Deep Learning Architectures like Transformers only approximating their training data set, or people tend to believe, that seemingly unexplainable or unexpected capabilities emerge while scaling. I believe, that extrapolation alone explains really good why LLM´s work so well, especially when scaled up AND that LLM´s "just" approximate their training data (curve fitting). This is why i brought this up ;)
Amazing video ! First time I saw it explained in such a comprehensible way :D. I was really wondering from where the idea of diffusion came from. Thanks for this explanation. I'm still not sure how the fact that predicting the noise at each steps gets away with the issue mentioned for auto-regression. Like would the model not just output the average noise seen during training like the auto-regressor would the average ?
The model outputs the average of valid labels for the input. At the early stages of generation, the input is almost entirely noise. At this point, there is only one valid label for the noise (which is essentially just the input itself). Later on, as the image becomes clearer, there is more uncertainty in what the noise label is, so the model will average over possible noise values. But the average of a bunch of different nose is just the zero vector (more generally the canter of the normal distribution from which they are sampled). And the zero vector is itself a valid noise input. So when you average a bunch of noise, the result is still within the noise distribution. When you average a bunch of images you get a blurry mess (which is not part of the valid image distribution).
Great explanation!👍👍, I personally would like to see a video observing all major types of neural nets with their distinctions, specifics, advantages, disadvantages etc. the author explains very well 👏👏
Next video will be on Mamba/SSM/Linear RNNs!
great! Also maybe think about the Tradeoff between scaling and incremental improvements, in case your perspective is, that LLM´s also always approximate the data set and therefore memorize rather than any "emergent capabilities". So that ChatGPT also does "only" curve fitting.
I am student who is pursuing a degree in ai and we want more of your videos for even simplest of the concepts in ai, trust me this channel will be a huge deal in the near future, good luck!!
Well take my subscription then!!1111
From where did you learn, all these also have to tried to code for the same?
At first I thought "oh, another random video explaining the same basics and not adding anything new", but I was so wrong. It's an incredibly clear explanation of diffusion, and the start with the basic makes the full picture much clearer. Thank you for the video!
You should check the rest of his videos. All are of sublime quality
> makes the full picture much clearer
hehe did it help denoise
I mean it's a bit over simplified...
Diffusion these days for example could implement any number of methods.
To know more of an advanced technical perspective you could join this server where we research and study on all forms of ai aspecialy generative ai prompting, theoretical ways to run computation of ai neutral networks and tandems such as quantum networks. We help also suggest and invent theoretical applications of the ai and also ways in which to enhance the systems ect.
This genius only makes videos occassionally, that are not to be missed.
absolutely true
kinda sorry to my professors and seniors but this is the single best explanation of logics behind each models. About dozen min vid > 2 years of confusion in univ
Yeah, it's great, but you also gotta understand that it's easier to digest such a great video after learning machine learning for some time. I learned machine learning 1,5 years ago and now I relearn it and everything seems so easy, while it was so confusing during my education at uni
Man I love the fact that you present the fundamental idea with an Intuitionistic approach, and then discuss the optimization.
I enjoyed the presentation for these aspects as well. My learning experience at university was similar to his approach so it made understanding the content very easy.
Such an underrated video, I love how you went from the basic concepts to complex ones and didn't just explain how it works but also the reason why other methods are not as good/efficient.
I will definitely be looking forward to more of your content!
This is an amazing quality video! The best conceptual video on diffusion in AI I've ever seen.
Thanks for making it!
I'd love to see you cover RNNs.
Holy shit, at 11:03 I suddenly realised what you were cooking! I've been trying to find a way to articulate this interesting relationship between autoregression and diffusion for ages (my thesis developed diffusion models for tabular data). This is such a brilliantly-visualised and intuitively explained video! Well done. And the classifier-free guidance explanation you threw in at the end has got to be some of the most high-ROI intuition pumping I've seen on TH-cam.
THE best explanation of the motivation of diffusion models i have ever watched
This is seriously one of the best explainer videos i've ever seen. I've spent a long time trying to understand diffusion models and not a single video has come close to this one
The clearest and most concise explanation of diffusion model I've seen so far. Well done.
The way you tell the story is fantastic! I am surprised that all AI/ML books are so terrible at didactics. We should always start at the intuition, the big picture, the motivation. The math comes later when the intuition is clear.
I have seen the "math-first, intuition later or never" approach in a lot of teaching. High school and college math, physics and programming classes are rife with this approach. I agree it's sub-optimal for most students. I have some vague ideas about why this approach perpetuates itself and I have seen a lot of gatekeeping around learning in a bottom up way. It's lovely to see some educators like AlgorithmicSiplicity and Three Blue One Brown break things down in much more intuitive way that then allows us to understand the maths.
@@dustinandrews89019I think the main reason is time. Most university courses are 8 weeks in my case and there simply isn't enough time to explain all the details in theory behind electronics or math for example. My learning is terrible when I am just given a formula for a particular problem, it's useless to me. Instead I end up spending days understanding who came up with the formula and why before I derive it myself and then I will never forget it since it becomes part of my intuition.
Another reason I've noticed is sadly lack of deeper understanding from some teachers. They themselves only memoriesed the solution for the problem but they don't really fully understand the problem or the solution, in my opinion they are unfit for teaching. A teacher should never be worried about a student asking why.
This video really explains diffusion very clearly and the animation is really intuitive.
This is literally the best explanation of the diffusion models I have ever seen.
This is a beautiful work of explanation. You show why diffusion is better than the autoregression by deconstructing autoregression and gradually adding optimisations and ideas to end up with a basic diffusion model. (which is also meta, as deconstruction and reconstruction is what these networks do to learn too!)
I think it would help to mention that the auto-regressors may be viewing the image as a sequence of pixels (RGB vectors). Overall excellent video, extremely intuitive.
In general, auto-regressors do not view images as a sequence. For example, PixelCNN uses convolutional layers and treats inputs as 2d images. Only sequential models such as recurrent neural networks would view the image as a sequence.
@@algorithmicsimplicity of course, but I feel mentioning it may help with intuition as you’re walking through pixel by pixel image generation
Great video! One interesting point about diffusion models that I haven't seen discussed enough is that the noising process can be replaced with other (even deterministic!) image degradation transforms. See the 2022 paper by Bansal et. al, "Cold Diffusion." For example, they train a model using an "animorph" transform that interpolates between training images and random images from an animal photo dataset. Models trained on these quirky transforms still give very decent results.
Absolutely agreed, that paper is amazing. Also recently there was a paper using upscaling/downscaling as the information degrading transformation and it seemed to achieve very good results ( arxiv.org/abs/2404.02905 ).
This is a much better explanation than the diffusion paper itself. They just went all around variational inference to get the same result!
I really appreciate you taking the time to explain the motive for an approach rather than just explaining how it works.
I have trained my own diffusion models and it required me to do a deep dive of the literature. This is hands down the best video on the subject and covers so much helpful context that makes understanding diffusion models so much easier. I applaud your hard work, you have earned a subscriber!
You realize these models contain their dataset, right? And that’s the only way they can work.
This is by far the best explanation out there
Kudos for an incredibly intuitive explanation! Really loved the visual representations too!!
This is a great explanation on how image decoders work. I haven't seen this approach and narrative direction yet.
This now makes my reference for explaining it to people that got no idea.!
This is refreshing to watch in a sea of people who don't know what they're talking about and decide to make "educational" videos on the subject anyways. The simplifications are often harmful.
This is actually one of the best if not the best deep learning related video on TH-cam
Thanks for your efforts
Some2 really brought out some good channels
what an amazing explanation! world needs more "from first principles" explanations for everything, but for that we need people that understand in the first place. you are doing a huge service.
Great explanation. Please keep making more videos
Bro casually drops some of the most high quality machine learning contents out there.
watched this after reading the 2017 distill blogpost on Feature Visualisation. Extremely helpful in filling in the gaps of parts of the process that went over my head. Thank you!
I have a graduate degree in this shit and this is by far the clearest explanation of diffusion I've seen. Have you thought about doing a video running over the NN Zoo? I've used that as a starting point for lectures on NN and people seem to really connect with that paradigm
This is a great video. I have watched videos in the past (years ago) talk about auto-regression and more lately talk about diffusion. But it's nice to see why and how there was such a jump between the two. Amazing! However, I feel this video is a little incomplete when there was no mention of the enhancer model that "cleans up" the final generated image. This enhancing model is able to create a larger image while cleaning up the six fingers gen AI is so famous for. While not technically a part of the diffusion process (because it has no random noise) it is a valuable addition to image gen if anyone is trying to build their own model.
This must be one of the best and concise explanations I've seen!
A very good job, I have deepened my understanding of generative AI
Insightful video! I'd like to point out that generating images auto-regressively is also a feasible approach and has been done in multiple techniques, most notable in DALL-E 1. However, auto-regression happens in a compressed latent space instead of in the pixel space.
Wow, it requires really deep understanding and a lot of work to make videos this clear that are also so correct and insightful. Very impressive!
Very clear and concise explanation, bravo!
Best explanation video on diffusion, hats off.
Never knew youtube could give random suggestion to videos like these. This was mind blowing. The way you teach is work of art.
Hands down the best video that explains how these models work. I love that you explain these topics in a way that resembles how the researchers created these models. Your video shows the thinking process behind these models, combined with great animated examples, it is so easy to understand. You really went all out. Only if youtube promoted these kinds of videos instead of brainrot low quality videos made by inexperienced teenagers.
Such a clear video, I was researching this before it was well documented in videos like these. Liked and subscribed!
You answered so many questions I had in my head. That’s the coolest explanation video I’ve ever seen!
So glad this came across my recommended feed! Fantastic explanation and definitely cleared up a lot of confusion I had around diffusion models.
nice explanation of diffusion process apart from classic physics driven intuition.Great work!!!
I really enjoyed this video!! took a lot of notes while watching it too. you have a god tier ability to explain concepts in an easy to follow way
This has helped me so much wrapping my head around this whole subject!
Thank you for now, and the future!
This has been on my watch later for 3 months. Finally got to watching it, glad I did. This is an exceptional explanation of the technologies at play here.
this is insane. I feel bad for getting this level of content for free
This channel is gold, I'm glad I've randomly stumbled across one of your vids
Great video....already waiting for your next video
wow, this is such an amazing resource. I'm glad I stuck around. This is literally the first time this is all making sense to me.
You truly understand how to simplify... to engage our imagination... to employ naive thought or ideas to make comparisons to bring across a deeper more core principles and concepts to make the subject for more easier to grasp and get an intuition for. Algorithmic Simplicity indeed... thank you for your style of presentation and teaching. love it love it... you make me know what question I want to ask but didn't know I wanted to ask. TH-cam needs your contribution in ML education. please don't forget that.
The best explanation I've seen. Great work.
I finally understand how models like Stable Diffusion work now! I tried understanding them before but got lost at the equation (17:50), but this video describes that equation very simply. Thank you!
The best explanation I have found on the internet so far. 👍
audio is mentioned very briefly in 0:24, would love to have a video showing how text can be transformed not into pictures, but audio of songs... and somehow get us guitar solos, saxaphone, standup comedy routines, etc... I'm thinking of the wild stuff we see on udio or suno
Udio and Suno don't say publicly how their models work, but there are basically 2 approaches to generating audio: 1) is you use an encoder module to map sound waves into a sequence of discrete tokens, and then training an auto-regressive transformer on those tokens. 2) is you just apply diffusion to the frequency spectrogram of the audio (use Fourier transform to convert sound waves into frequency images, then do diffusion in exactly the same way as image diffusion). In either case, the generative mechanism is identical to the auto-regression or diffusion covered in this video, so I don't feel like its worth covering separately. If there's anything unique to audio that you are aware of, I would be interested in hearing it.
bruh, I loved your contents. Other channel/video usually explain general knowledge that can be easily found on internet. But you're going deeper to the intrinsic aspects of how the stuff works. This video, and one of your video about transformer, are really good.
Awesome video! I would love to see a video about graph neural networks
Thank you for the explanation. I already knew a little bit about diffusion but this is exactly the way I'd hope to learn. Start from the simplest examples(usually historical) and progresivelly advance, explaining each optimisation!
This dude just helped me understand what I couldn't From reading a couple of papers.
A person with very less background can understand what he describes here.. commenting to make youtube so it gets recommended for other ..
wonderful video! really good one
Very good video. I get to konw the straigforward reason: why diffusion idea emerges and why diffusion is intrinsically better than autogression algorithm.
Bro, this is amazing!!! Your explanation is so clear, like it
Simple and great explanation! Interesting to see about Diffusion-transformer architectures like Flux1. Your visualizations are great
If there will be a longer version of this video, it might be worth mentioning VAE as well.
Thanks for the suggestion.
subbed 👍👍 keep bringing more technical videos i love em
Excellente vidéo, les explications sont claires et parfaitement imagées. Les concepts et les idées clés sont bien ammenés et forment un cheminement entièrement cohérent, ce qui aide vraiment à suivre facilement. Le contenu est très complet. Merci et encore Bravo !
Thanks for taking the time and effort of making and sharing these videos and Your knowledge.
Kudos and best regards
Hey, could you kindly recommend more on causal architectures?
I haven't seen any material that cover them really well. There are basically 2 types of causal architectures, causal CNNs and causal transformers, with causal transformers being much more widely used in practice now. Causal transformers are also known as "decoder only transformers" ("encoders" uses regular self-attention layers, "decoders" use causal self-attention). If you search for encoder vs decoder-only transformers you should find some resources that explain the difference.
Basically, to make a self-attention layer causal you mask the attention scores (i.e. set some to 0), so that words can only attend to words that came before them in the input. This makes it so that every word's vector only contains information from before it. This means you can use every word's vector to predict the word that comes after it, and it will be a valid prediction because that word's vector never got to attend (i.e. see) anything after it. So, it is as if you had applied the transformer to every subsequence of input words, except you only had to apply it once.
This video is better than go to the MIT for machine learning degree. Man this is gold, thank you so much
Wow, fantastic video. Such clear explanations. I learned a great deal from this. Thank you so much!
I want to learn more about the causal architecture idea for auto regressors, but I can't seem to find anything about them anywhere. Do you know where I can read more about this topic?
I haven't seen any material that cover them really well. There are basically 2 types of causal architectures, causal CNNs and causal transformers, with causal transformers being much more widely used in practice now. Causal transformers are also known as "decoder only transformers" ("encoders" uses regular self-attention layers, "decoders" use causal self-attention). If you search for encoder vs decoder-only transformers you should find some resources that explain the difference.
Basically, to make a self-attention layer causal you mask the attention scores (i.e. set some to 0), so that words can only attend to words that came before them in the input. This makes it so that every word's vector only contains information from before it. This means you can use every word's vector to predict the word that comes after it, and it will be a valid prediction because that word's vector never got to attend (i.e. see) anything after it. So, it is as if you had applied the transformer to every subsequence of input words, except you only had to apply it once.
Boah what a good explanation. I alwa6was wondering how these big NN like chatgpt and dalle are working. Thank you
Such a perfect video! Thanks for the good work. Please keep doing it.
You’re him 🙌🏽. Thank you so much. Getting this kind of information or well explanation is not easy with all the “BREAKING AI NEWS !😮‼️” on TH-cam now.
Fantastic explanation. Very intuitive
very nice visual explanations
thanks to very good video
I have a question:
can't we make a model that decrease the resolution of a picture (for example a 4*4 picture to a 2*2 and to 1*1 picture) and run it reverse (generate a 2*2 from 1*1 and 4*4 from 2*2) ?
would this model works?
Yes you absolutely could, and according to this paper: arxiv.org/abs/2404.02905v1 it works pretty well.
Excellent video and explanation!!
Hey! Thanks for the video, it is very informative! I have a question. At 18:17 you say that an average of a bunch of noise is still a valid noise. I'm not sure why it is true here. I'd expect the average of a bunch of noise to be just 0.5 value (if we map rgb values to 0..1 range)
Right, the average is just the center of the noise distribution which, let's say the color values are mapped from -1 to 1, is 0. This average doesn't look like noise (it is just a solid grey image), but if you ask what is the probability of this image under the noise distribution, it actually has the highest probability. The noise distribution is a normal distribution centered at 0, so the input which is all 0 has the highest probability. So the average image still lies within the noise distribution, as opposed to natural images where the average moves outside the data distribution
Thank you for the reply, I think I got it now
Makes perfect sense! Perfect kind of tutorial! :)
Hi @algorithmicsimplicity, I am curious which papers/material did you reference for the general autogressor? I cannot seem to find any info on using random spaced out pixels to predict the next batch of pixels. Any help would be appreciated. Also great videos!!!
It is more widely known as "any-order autoregression", see e.g. this paper arxiv.org/abs/2205.13554
@@algorithmicsimplicity Thank you so much! This is exactly what I was missing.
Could you explain why the YOLO image classify is/was so effective? Thank you.
This was a good watch, thank you :)
Great video. Love the pacing and how you distiled the material into such an easy to watch video. Great job!
I really liked this conclusion
Very nicely and simply explained! Keep it up
In your neural network animations, the traveling highlight starts from the image, goes through the neural net, then to the output pixel. I understand this as information traveling forward. When the highlights reverse direction, does this represent back propagation at the regressed value of the pixel? Great video by the way!
Yep it's just meant to demonstrate the weights in the network changing based on the error in the predicted value.
Great visualisation! Good job!
Maybe next video on LoRA or ControlNet ?
Great suggestions, I will put them on my TODO list.
+1 for LoRA
Wow, that was a fantastic explanation.
Thanks!
Thank you so much!
@@algorithmicsimplicity Thank YOU! This is the first video that finally explained this to me. Everywhere else they mostly cover the forward process without explaining why, where it came from it and what is intuition behind it - but instead they have a lot of math with KL divergence, gaussians, etc. So I usually understand everything until we get to pure noise. And then I completely lose the thought line. You really broke this down into easy to understand pieces. Thanks again!
I like to think of ML as a funky calculator. Instead of a calculator where you give it inputs and an operation and it gives you an output, you give it inputs and outputs and it gives you an operation.
You said it's like curve fitting, which is the same thing, but I like thinking the words funky calculator because why not
A paper about doing autoregression with images that seems to work pretty well dropped after this video - would be interested in your thoughts:
Visual Autoregressive Modeling: Scalable Image Generation via Next-Scale Prediction
Yep I read that paper recently. Seems like a really solid idea: instead of using noise to remove information, down sample (i.e. blur) the image to remove information. This also has the property that it removes information from everywhere in the image, so it should give near optimal compute-vs-quality trade off, but it has the advantage that the image size is smaller for the generation steps. I would wait to see a few more reproductions of it before claiming that it is better than diffusion, though.
Very good job.
My suggestion is that you explain more about how it actually works, that the model learns to understand complete sceneries just from text prompts.
This could fill its own video.
Also it would be very nice to have a video about Diffusion Transformers like OpenAIs Sora probably is.
Also it could be great to have a Video about the paper "Learning in High Dimension Always Amounts to Extrapolation".
best wishes
Thanks for the suggestions, I was planning to make a video about why neural networks generalize outside their training set from the perspective of algorithmic complexity. That paper "Learning in High Dimension Always Amounts to Extrapolation" essentially argues that the interpolation vs extrapolation distinction is meaningless for high dimensional data, and I agree, I don't think it is worth talking about interpolation/extrapolation at all when explaining neural network generalization.
@@algorithmicsimplicity yes true. It would be great also because this links back to the LLM´s discussions, wether scaling up Transformers actually brings up "emergent capabilities", or if this is simple and less magical explainable by extrapolation.
Or in other words: either people tend to believe, that Deep Learning Architectures like Transformers only approximating their training data set, or people tend to believe, that seemingly unexplainable or unexpected capabilities emerge while scaling.
I believe, that extrapolation alone explains really good why LLM´s work so well, especially when scaled up AND that LLM´s "just" approximate their training data (curve fitting). This is why i brought this up ;)
very good explanation
WONDERFUL EXPLANATION!
-> PLEASE PEOPLE HOLD PATIENCE UNTIL MINUTE 7:40 🤯
Amazing video ! First time I saw it explained in such a comprehensible way :D. I was really wondering from where the idea of diffusion came from. Thanks for this explanation.
I'm still not sure how the fact that predicting the noise at each steps gets away with the issue mentioned for auto-regression. Like would the model not just output the average noise seen during training like the auto-regressor would the average ?
The model outputs the average of valid labels for the input. At the early stages of generation, the input is almost entirely noise. At this point, there is only one valid label for the noise (which is essentially just the input itself). Later on, as the image becomes clearer, there is more uncertainty in what the noise label is, so the model will average over possible noise values. But the average of a bunch of different nose is just the zero vector (more generally the canter of the normal distribution from which they are sampled). And the zero vector is itself a valid noise input. So when you average a bunch of noise, the result is still within the noise distribution. When you average a bunch of images you get a blurry mess (which is not part of the valid image distribution).
Great video and amazing content quality!
What a great explanation!
Great explanation!👍👍, I personally would like to see a video observing all major types of neural nets with their distinctions, specifics, advantages, disadvantages etc. the author explains very well 👏👏