An autoencoder is a neural network whose purpose is to code its input in small size. The result obtained will then be used to reconstruct the input itself. Autoencoders are made up of the union of the following two subnets:
- Encoder, which calculates the z = ϕ(x) function, given an x input, the encoder encodes it in a z variable, also called latent variable. The z variable usually has much smaller dimensions than x.
- Decoder, which calculates the x' = ψ(z) function.
Since z is the code of x produced by the encoder, the decoder must decode it so that x' is similar to x.
The training of autoencoders is intended to minimize the mean squared error (MSE) between the input and the result.
MSE is the average squared difference between the output and targets. Lower values are indicative of better results. Zero means...