Autoencoders are a type of artificial neural network used to learn efficient codings of unlabeled data. They are primarily used for dimensionality reduction and feature extraction. An autoencoder consists of an encoder and a decoder. The encoder maps the input data to a lower-dimensional representation, while the decoder attempts to reconstruct the original data from this representation.