Many real-world data are naturally represented as a sparse reorderable matrix, whose rows and columns can be arbitrarily ordered (e.g., the adjacency matrix of a bipartite graph). Storing a sparse matrix in conventional ways requires an amount of space linear in the number of non-zeros, and lossy compression of sparse matrices (e.g., Truncated SVD) typically requires an amount of space linear in the number of rows and columns. In this work, we propose NeuKron for compressing a sparse reorderable matrix into a constant-size space. NeuKron generalizes Kronecker products using a recurrent neural network with a constant number of parameters. NeuKron updates the parameters so that a given matrix is approximated by the product and reorders the rows and columns of the matrix to facilitate the approximation. The updates take time linear in the number of non-zeros in the input matrix, and the approximation of each entry can be retrieved in logarithmic time. We also extend NeuKron to compress sparse reorderable tensors (e.g. multi-layer graphs), which generalize matrices. Through experiments on ten real-world datasets, we show that NeuKron is (a) Compact: requiring up to five orders of magnitude less space than its best competitor with similar approximation errors, (b) Accurate: giving up to 10x smaller approximation error than its best competitors with similar size outputs, and (c) Scalable: successfully compressing a matrix with over 230 million non-zero entries.
翻译:许多真实世界数据自然地代表成一个稀少的可重新排序矩阵,其行和列可以任意排列。以常规方式存储一个稀薄的矩阵需要一定数量的非零数空间线性,而稀少的矩阵(如Truncated SVD)通常需要一定数量的行和列数空间线性。在这项工作中,我们提议 NeKron 将一个稀少的可重新排序矩阵压缩成一个不变大小的空间。NeuKron 将Kronecker 产品使用一个具有不变参数数的经常性神经网络。NeuKron更新了参数,以使给定的矩阵在非零数中大致排列,并重新排列矩阵的行和列(如Trancate SVDDD)通常需要一定数量的空间线性压缩。更新需要一定的时间线性,而每个条目的近似直径直线性可以在对数中检索。我们还将NeuKron推广到可压缩的可反复重新排序的直径直径直径直径(e.g.