What is an autoencoder?

Answer

An autoencoder is an unsupervised neural network trained to reconstruct its input at the output. It has an encoder that compresses input to a lower-dimensional latent space (bottleneck), and a decoder that reconstructs the original input from the latent representation. The bottleneck forces the network to learn a compact representation capturing the most important information. Use cases: dimensionality reduction, anomaly detection (high reconstruction error = anomaly), denoising (trained to reconstruct clean input from noisy input), and generative modeling (Variational Autoencoders - VAEs).