  Recommendation algorithms that incorporate techniques from deep learning are
becoming increasingly popular. Due to the structure of the data coming from
recommendation domains (i.e., one-hot-encoded vectors of item preferences),
these algorithms tend to have large input and output dimensionalities that
dominate their overall size. This makes them difficult to train, due to the
limited memory of graphical processing units, and difficult to deploy on mobile
devices with limited hardware. To address these difficulties, we propose Bloom
embeddings, a compression technique that can be applied to the input and output
of neural network models dealing with sparse high-dimensional binary-coded
instances. Bloom embeddings are computationally efficient, and do not seriously
compromise the accuracy of the model up to 1/5 compression ratios. In some
cases, they even improve over the original accuracy, with relative increases up
to 12%. We evaluate Bloom embeddings on 7 data sets and compare it against 4
alternative methods, obtaining favorable results. We also discuss a number of
further advantages of Bloom embeddings, such as 'on-the-fly' constant-time
operation, zero or marginal space requirements, training time speedups, or the
fact that they do not require any change to the core model architecture or
training configuration.
