DZip: improved general-purpose lossless compression based on novel neural network modeling

Mohit Goyal, Kedar Tatwawadi, Shubham Chandak, Idoia Ochoa
11/8/2019
cs.LGcs.ITstat.ML

Official code: mohit1997/Dzip-torch (83 stars, last commit 2022-02-28). 1 more implementation below.

Abstract

We consider lossless compression based on statistical data modeling followed by prediction-based encoding, where an accurate statistical model for the input data leads to substantial improvements in compression. We propose DZip, a general-purpose compressor for sequential data that exploits the well-known modeling capabilities of neural networks (NNs) for prediction, followed by arithmetic coding. Dzip uses a novel hybrid architecture based on adaptive and semi-adaptive training. Unlike most NN based compressors, DZip does not require additional training data and is not restricted to specific data types, only needing the alphabet size of the input data. The proposed compressor outperforms general-purpose compressors such as Gzip (on average 26% reduction) on a variety of real datasets, achieves near-optimal compression on synthetic datasets, and performs close to specialized compressors for large sequence lengths, without any human input. The main limitation of DZip in its current implementation is the encoding/decoding time, which limits its practicality. Nevertheless, the results showcase the potential of developing improved general-purpose compressors based on neural networks and hybrid modeling.

View on arXivView PDF

Code Implementations(2)

Dzip: improved general-purpose lossless compression based on novel neural network modeling

839Shell, PythonJan 22, 20204 years ago
mohit1997/DZipOfficial100%

Compression

185C, C++Jul 10, 20196 years ago
compressiondzipneural-networks

Similar Papers

Cite this paper

@article{goyal2019dzip,
  title  = {DZip: improved general-purpose lossless compression based on novel neural network modeling},
  author = {Mohit Goyal and Kedar Tatwawadi and Shubham Chandak and Idoia Ochoa},
  year   = {2019},
  eprint = {1911.03572},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/abs/1911.03572}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/1911.03572.svg)](https://codeofpaper.com/paper/1911.03572)

Discussion