Pb-hash Partitioned B-bit Hashing
Li Ping, Zhao Weijie. Arxiv 2023
[Paper]
ARXIV
Deep Learning
Supervised
Many hashing algorithms including minwise hashing (MinHash), one permutation
hashing (OPH), and consistent weighted sampling (CWS) generate integers of
bits. With hashes for each data vector, the storage would be
bits; and when used for large-scale learning, the model size would be
, which can be expensive. A standard strategy is to use only the
lowest bits out of the bits and somewhat increase , the number of
hashes. In this study, we propose to re-use the hashes by partitioning the
bits into chunks, e.g., . Correspondingly, the model size
becomes , which can be substantially smaller than the
original .
Our theoretical analysis reveals that by partitioning the hash values into
chunks, the accuracy would drop. In other words, using chunks of
bits would not be as accurate as directly using bits. This is due to the
correlation from re-using the same hash. On the other hand, our analysis also
shows that the accuracy would not drop much for (e.g.,) . In some
regions, Pb-Hash still works well even for much larger than 4. We expect
Pb-Hash would be a good addition to the family of hashing methods/applications
and benefit industrial practitioners.
We verify the effectiveness of Pb-Hash in machine learning tasks, for linear
SVM models as well as deep learning models. Since the hashed data are
essentially categorical (ID) features, we follow the standard practice of using
embedding tables for each hash. With Pb-Hash, we need to design an effective
strategy to combine embeddings. Our study provides an empirical evaluation
on four pooling schemes: concatenation, max pooling, mean pooling, and product
pooling. There is no definite answer which pooling would be always better and
we leave that for future study.
Similar Work