Santiago Profile picture
11 Apr, 12 tweets, 4 min read
A lot in machine learning is pretty dry and boring, but understanding how autoencoders work feels different.

This is a thread about autoencoders, things they can do, and a pretty cool example.

↓ 1/10
Autoencoders are lossy data compression algorithms built using neural networks.

A network encodes (compresses) the original input into an intermediate representation, and another network reverses the process to get the same input back.

↓ 2/10
The encoding process "generalizes" the input data.

I like to think of it as the Summarizer in Chief of the network: its entire job is to represent the entire dataset as compactly as possible, so the decoder can do a decent job at reproducing the original data back.

↓ 3/10
Autoencoders are very useful to detect anomalies in the data.

Any uncommon characteristics in the input data will never make it past the autoencoder’s bottleneck.

The autoencoder has to be very picky at which features it learns. It will throw away anything uncommon.

↓ 4/10
For example, let's train an autoencoder with pictures of bananas.

The autoencoder will get really good at reproducing the original picture back because it’s learned how to represent them.

What would happen if you show the autoencoder a rotten banana instead?

↓ 5/10
Well, the autoencoder didn’t learn to represent rotten bananas, so the decoder will never be able to reproduce it back correctly.

The result will look like a ripe banana because that’s all the information the decoder had 🤷‍♂️.

↓ 6/10
Now, you can take the original image and compute the difference with the output.

If the difference is small, there's no anomaly. If the difference is large, the autoencoder couldn't reproduce the original image, which means there's an anomaly.

↓ 7/10
Autoencoders aren't only useful to detect anomalies.

What would happen if we teach an autoencoder to transform the input image into something else?

↓ 8/10
For example, we could teach an autoencoder to remove noise from pictures by showing it images with noise and expecting back their corresponding clean version.

Here, the encoder will develop an intermediate representation that helps the decoder produce clean pictures.

↓ 9/10
After we train this autoencoder, we can remove noise from any picture similar to the input dataset!

I built an example to remove noise. Find it here: keras.io/examples/visio….

And for more information about autoencoders, you can go here: jeremyjordan.me/autoencoders/.

10/10
This thread is an adaptation of an article I posted for my newsletter subscribers.

If you found it helpful, follow me @svpino for more machine learning-related content just like this.

Like/retweet the top tweet of the thread so others can also see it:

• • •

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

Keep Current with Santiago

Santiago 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 @svpino

12 Apr
If you are looking to get a background in math before starting with machine learning, here is all the material you need covering the following topics:

• Probabilities & Statistics
• Linear Algebra
• Multivariate Calculus

More than enough to get started.

1/7
Seeing Theory

seeing-theory.brown.edu

An interactive website that will take you through some of the most critical concepts of Probabilities and Statistics.

These will be enough to get you started, and you will have fun while going through it!

↓ 2/7
Statistics 110: Probability

youtube.com/playlist?list=…

If you are looking for more, this course from Harvard University is an excellent introduction to probability as a language and a set of tools for understanding statistics, science, risk, and randomness.

↓ 3/7
Read 8 tweets
10 Apr
We usually talk about two main types of machine learning models:

• A Classification model
• A Regression model

They are different, and it's essential to understand why.

1/6
Whenever the result of your predictions is categorical, you have a classification model.

For example, when your prediction is a binary value (True or False,) or when you want to predict a specific animal from a picture (Lion, Zebra, Horse.)

2/6
If the result of your predictions is numerical, you have a regression model.

For example, returning a stock's future price, the value of a house, or tomorrow's temperature.

3/6
Read 8 tweets
10 Apr
No, this is not a joke.

Here are my thoughts about the "HTML is not a programming language" recurrent theme.

1/5
This question is controversial not because people care about HTML but because it is used as a proxy to classify their worth.

If HTML is not a programming language, then the people working with HTML must not be real programmers, right?

2/5
This is demeaning and completely unhelpful for those who are starting and looking to find a community.

Instead of drawing lines, we should be welcoming those who want to join us. We need more programmers, coders, developers, or whatever else you want to call them!

3/5
Read 5 tweets
9 Apr
About getting a job with machine learning, things you should do during an interview, and some random thoughts that may help you land a job

Before getting a job or making any money, you need to show that you are competent.

Put in the work right now and level up.

There are no hacks, no shortcuts, or magic words that will convince anyone to pay you for something you don't know.

You don't need to get a Ph.D. or a Master's to work as a machine learning practitioner.

I understand many companies are still asking for a degree, but there are many that aren't.

Find and apply to those.

Read 20 tweets
7 Apr
16 key takeaways about starting a career as a machine learning engineer.

↓ 1/10
1. There are more courses out there than you'll ever need. Pick one and finish it. There's no such thing as "the best course."

2. You probably already know most of the math you'll need to get started.

↓ 2/10
3. Don't be discourage by introductory courses that claim you need a ton of math as a prerequisite. Most don't.

4. You want to be proficient with Python. Other languages are great and all, but Python rules.

↓ 3/10
Read 12 tweets
7 Apr
Today is #GumroadDay, so let's celebrate with style!

$5 for "How to get started with machine learning" TODAY ONLY!

You can kick off your machine learning career for less than the price of a Starbucks, but this one you can return if you don't like it!

gum.co/kBjbC/crazy
This is working. #GumroadDay is nuts!
Thanks to everyone that has supported me with this course!

Money to feed the family is what affords me the time to post content and focus on helping people with machine learning.

Even if you aren't buying this, like/retweet for visibility!



Read 10 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

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

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!