Applying deep learning to pathology is quite challenging due to the sheer size of the slide images (gigapixels!).

A common approach is to divide images into smaller patches, for which deep learning features can be extracted & aggregated to provide a slide-level diagnosis (1/9)
Unfortunately, dividing into small patches limits the context to cellular features, missing out on the various levels of relevant features, like larger-scale tissue organization. (2/9)
Additionally, it is difficult to improve long-range dependencies with Transformers due to the high number of patches which makes attention calculation computationally difficult. (3/9)
Recent work by @richardjchen et al. at #CVPR2022 introduced HIPT (Hierarchical Image Pyramid Transformer) to solve these challenges.

It's comprised of 3 separate ViTs that are applied at different scales. The output of one is treated as the input of the next transformer. (4/9)
@richardjchen Two of the ViTs are pretrained via self-supervised learning, specifically with the DINO framework. After pretraining the first ViT, its outputs can be used to pretrain the next. This is referred to as hierarchical pretraining. (5/9)
@richardjchen After the model is pretrained on thousands of slide images from various cancer types (the TCGA dataset), it can then be fine-tuned for specific tasks.

Compared to other models, HIPT had better performance (AUC score) for breast, lung, and kidney cancer classification (6/9)
@richardjchen Since these are Vision Transformers, it provides us with built-in interpretability and visualization with the attention heads.

A pathologist was able to confirm based on these visualizations that the ViTs are indeed attending to medically-relevant features (7/9)
@richardjchen Overall this was a very interesting paper and hopefully an important development for the field of computational pathology.

I also wonder what sorts of applications this architecture might have outside of pathology. (8/9)
@richardjchen Link to the paper → arxiv.org/abs/2206.02647
Link to the code → github.com/mahmoodlab/HIPT
Link to video →

Great work @richardjchen @kuanchen22 Yicong Li, @tiffanyytchen @AndrewTrister @rahulgk @ai4pathology! (9/9)

• • •

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

Jun 13
You may have seen surreal and absurd AI-generated images like these ones...

These are all generated with an AI tool known as DALL·E mini

Let's talk about the history of #dallemini, and also *how* it works! ↓↓↓🧵 Image
First, let's clarify the different AI tools which many get confused about:

- DALL·E was an @OpenAI-developed AI project from Jan 2021

- DALL·E mini is a community-created project inspired by DALL·E
- DALL·E 2 is another @OpenAI-developed tool released in April (2/16)
@OpenAI DALL·E mini was actually originally developed about a year ago, back in July 2021.

During a programming competition organized by @huggingface (an AI company), @borisdayma & some community folks (including myself!) developed a neural network inspired by DALL·E & studied it (3/16) ImageImage
Read 16 tweets
May 31
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.
Read 13 tweets
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

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!

:(