An autoencoder learns to squeeze data through a tiny bottleneck and rebuild it — and that one constraint forces it to learn what actually matters. It's the idea behind denoising, anomaly detection, and the latent space inside diffusion models. Here's one you can poke.
🗜️ Try it (shrink the bottleneck, watch it blur): https://dev48v.infy.uk/dl/day16-autoencoders.html
Encoder → bottleneck → decoder
- The encoder compresses the input into a small latent code (a handful of numbers).
- The decoder rebuilds the input from just that code.
- The loss is simple: output should match input (reconstruction error).
Because the bottleneck is smaller than the input, the network can't just copy — it has to keep the essence. In the demo, shrink the latent size and watch reconstructions get blurrier; grow it and detail returns.
What it's good for
- Denoising — train on (noisy input → clean target); the bottleneck strips the noise.
- Anomaly detection — high reconstruction error = "this doesn't look like the training data."
- Dimensionality reduction — the latent is a learned, nonlinear cousin of PCA.
- Generation — VAEs make the latent space smooth so you can sample new data from it (a stepping stone to diffusion).
🔨 Full build (encoder/decoder layers → bottleneck → MSE reconstruction → denoise) on the page: https://dev48v.infy.uk/dl/day16-autoencoders.html
Part of DeepLearningFromZero. 🌐 https://dev48v.infy.uk
Top comments (0)