What is an autoencoder and how is it used in computer vision and deep learning? How does an autoencoder learn compressed representations of input data? What are the main components of an autoencoder architecture? How are autoencoders applied in tasks like image denoising, compression, and anomaly detection? What are the advantages and limitations of using autoencoders in computer vision applications?