Have you seen #dalle2 and #Imagen and wondered how it works?

Both models utilize diffusion models, a new class of generative models that have overtaken GANs in terms of visual quality.

Here are 10 resources to help you learn about diffusion models ⬇ ⬇ ⬇
1. "What are Diffusion Models?" by @ari_seff
Link →

This 3blue1brown-esque YouTube video is a great introduction to diffusion models!
2. "Introduction to Diffusion Models for Machine Learning" by @r_o_connor
Link → assemblyai.com/blog/diffusion…

This article provides a great deep-dive of the theoretical foundations for Diffusion Models.
3. "What are Diffusion Models?" by @lilianweng
Link → lilianweng.github.io/posts/2021-07-…

Admittedly much more mathematically dense and a little harder to approach but still an awesome resource!
4. "Generative Modeling by Estimating Gradients of the Data Distribution" by @YSongStanford
Link → yang-song.github.io/blog/2021/scor…

This *awesome* blog post (+Colab notebook) is a tutorial about the general class of score-based generative models, which includes diffusion models.
5. "An introduction to Diffusion Probabilistic Models" by @dasayan05
Link → ayandas.me/blog-tut/2021/…

This is another great blog post reviewing diffusion models and related score-based generative models.
6. "Diffusion Models as a kind of VAE" by @AngusTurner9
Link → angusturner.github.io/generative_mod…

Diffusion models have connections to multiple types of generative models. The previous resources talk about the score-based model connection, this one connects diffusion models to VAEs.
7. "Diffusion models are autoencoders" by @sedielem
Link → benanne.github.io/2022/01/31/dif…

This blog post provides a great review of diffusion models while also detailing the connection between diffusion models and *denoising* autoencoders.
8. "The new contender to GANs: score matching with Langevin Sampling" by @jm_alexia
Link → ajolicoeur.wordpress.com/the-new-conten…

Back in 2020, Alexia was already excited about diffusion models and provided us with a great blog post on the topic.
9. "Diffusion-based Deep Generative Models" by @jmtomczak
Link → jmtomczak.github.io/blog/10/10_ddg…

As part of his amazing "Introduction to deep generative modeling" blog series, Dr. Jakub Tomczak provides a great intro and code examples of diffusion models.
10. "Denoising Diffusion Probabilistic Models" by @hojonathanho et al.
Link → arxiv.org/abs/2006.11239

After going through the introductory resources shared here, reading the original papers will be quite informative too!

The DDPM paper was the breakout diffusion model paper.
I have tried to include a diversity of resources that provide different perspectives on diffusion models. Hopefully it provides you different ways about thinking and learning about the topic!
If you like this thread, please share! 🙏

I am also working on my own blog post about diffusion models 👀

Follow me to stay tuned!🙂 → @iScienceLuvr

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Tanishq Mathew Abraham

Tanishq Mathew Abraham Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @iScienceLuvr

Apr 27
Awesome and surprising things you can do with Jupyter Notebooks ⬇
1. Write a full-fledged Python library!

You can write all of your code, documentation, & tests with Jupyter Notebooks & nbdev.fast.ai, all while maintaining best software practices and implementing CI/CD!

fastai deep learning library is entirely written in notebooks!
2. Create a blog!

Platforms like fastpages.fast.ai easily allow you to create blog posts from your Jupyter Notebooks, with the code cells and outputs in your post, and can even be made interactive.

I have my own such blog at tmabraham.github.io/blog
Read 8 tweets
Mar 28
Yet another state-of-the-art method for text-to-image generation, this time from researchers at @MetaAI!

Link: arxiv.org/abs/2203.13131

How does it work? A short thread on this paper ⬇
The model is based on an autoregressive transformer (like DALL·E) combined with a VQGAN but utilizes several key tricks to improve the quality and also controllability of the generations. 2/10
One trick is the use of a segmentation map (referred to as a scene) and a VQGAN for the scene.

As you can see here, this provides more controllability to the generation process. 3/10
Read 10 tweets
Mar 25
Given that this @kaggle ML competition recently started, I thought it would be a good opportunity to share my approach to Kaggle competing

A quick thread (1/7) 👇
The first step is to explore the data, also known as EDA. Getting a feel for the data is important to be able to derive important insights that can help you. 👨‍💻

Here is my EDA notebook for this competition:
kaggle.com/code/tanlikesm…

(2/7)
After exploring the data, the next step is to make a baseline solution. In this case, I had put together a quick pretrained baseline based on @Nils_Reimers's SentenceTransformers:

kaggle.com/code/tanlikesm…

(3/7)
Read 7 tweets
Feb 4
What matters most when training a neural network is how well it generalizes to unseen data.

For neural networks, it turns out there's a simple principle that can allow you to understand model generalization. (1/18)

A thread ↓
First let's formalize what generalization means.

We can say that the generalization gap is the difference between the loss for the training data and the loss for the unseen data taken from the same distribution. (2/18)
The loss itself depends on the parameters of the model, and we adjust the parameters to decrease the loss through gradient descent and reach a (local) minimum. (3/18)
Read 18 tweets
Jan 19
How I used Python + Twitter API to run my Twitter giveaway - a quick thread🧵
For my 20k follower milestone, I hosted a Twitter book giveaway. I decided the rules, made a simple flyer, and tweeted it out:
In order to select the 3 winners, I needed to keep track of the entrants. I used the Twitter API to do so. I signed up for the Twitter API and followed the required steps:
developer.twitter.com/en/portal/peti…
Read 13 tweets
Dec 21, 2021
OpenAI has announced GLIDE, a new 3.5 billion parameter text-to-image generation model that is even better than DALL-E!

Link: arxiv.org/abs/2112.10741

Take a look at some of these results from the paper!

Read on to see how you can try it out for yourself!⬇
GLIDE is based on diffusion models, which is a new class of generative models developed in the last couple years and often achieving state-of-the-art results. 2/9
The model is trained on the same dataset as the DALL-E model. In addition to the 3.5B-param model, an upscaling diffusion model is trained to go from 64x64 images to 256x256 images. The training compute is similar to that used to train DALL-E. 3/9
Read 9 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!

:(