A type of autoencoder that learns a compressed representation of data and can generate new samples from that representation.