Autoencoders for Image Reconstruction in Python and Keras
Introduction
Nowadays, we have huge amounts of data in almost every application we use – listening to music on Spotify, browsing friend’s images on Instagram, or maybe watching an new trailer on YouTube. There is always data being transmitted from the servers to you.
This wouldn’t be a problem for a single user. But imagine handling thousands, if not millions, of requests with large data at the same time. These streams of data have to be reduced somehow in order for us to be physically able to provide them to users – this is where data compression kicks in.
There’re lots of compression techniques, and they vary in their usage and compatibility. For example some compression techniques only work on audio files, like the famous MPEG-2 Audio Layer III (MP3) codec.
There are two main types of compression:
- Lossless: Data integrity and accuracy is preferred, even if we don’t “shave off” much
- Lossy: Data integrity and accuracy isn’t as important as how fast we can serve it – imagine a real-time video transfer, where it’s more important to be “live” than to have high quality video
For example, using Autoencoders, we’re able to decompose this image and represent