Een autoencoder is een type kunstmatig neuraal netwerk dat wordt gebruikt voor ongecontroleerd leren. Het bestaat uit twee delen: een encoder die de invoergegevens comprimeert tot een compactere representatie en een decoder die de gecomprimeerde gegevens probeert te reconstrueren. Autoencoders worden vaak gebruikt voor dimensiereductie, ruisreductie en generatieve modellering.