- Autoencoders are unsupervised artificial neural networks useful for dimensionality reduction and clustering of unlabeled data. They compress the input into a latent-space representation and then reconstruct the output from this representation. - Deep autoencoders, also known as stacked autoencoders, can learn hierarchical representations of the data by stacking multiple autoencoders together. The features learned by one autoencoder are used as the input for the next autoencoder in the stack. - Variational autoencoders use probabilistic encoding and decoding to model the data distribution and can generate new samples from this distribution. They have been used for tasks like image generation, data manipulation, and unsupervised learning.