Reddit - r/MachineLearning

Improved compression of Bad Apple into a Neural Network [P]

Sampler improvement

I played a bit with the SIREN network from the other post and found that it could be improved by using a different sampler for batch generation. By feeding pixels across the entire video and not only a limited set of frames, we can achieve a much more faithful reproduction of the video.

The model is exactly the same as used by OP: 4 x 512 wide sine layers, 792257 parameters. It's a reimplementation (using GPT5.6).

Full framerate version

I also created a version with full framerate, instead of subsampled frames. Since the network has to memorize more temporal information, the image reconstruction suffers compared to the low-rate version.

Motion and flow

The model does not actually learn motion; intermediate frames are nonsensical. I suppose adding a layer that can model flow between frames could enhance the compression a lot.

Code

You can find the code here in this gist.

Autoencoder experiment

I tried some additional experiments with a separate autoencoder to compress the frames separately. This resulted in a smaller model, but also degraded quality.

Comments

No comments yet. Start the discussion.