Sparse Matrix Algorithms for Evolving Neural Networks
摘要
There is significant research into sparse and dense matrix computations, with high-performance computing techniques, reducing time complexity and improving parallel speedup mostly with ample main memory, considering I/O on secondary storage as a less important aspect. On the other hand, there has been important work in the database, data mining and big data communities accelerating the computation of machine learning models on large data sets. However, massive neural networks and constantly changing data sets are pushing matrix computation demands further. We first present a survey on three key problems identifying research issues: maintaining a large data set updated under frequent matrix entry insertions and deletions, sparse matrix addition/multiplication and recomputing a deep neural network when a sparse data set changes frequently. We then propose a research agenda focusing on those three major problems solved with parallel I/O efficient algorithms storing and processing matrices with coordinate tuples (like a database relational table): matrix entry insertion/deletion, matrix addition/multiplication and assembling these algorithms into state of the art neural networks. We argue coordinate tuples complement and can potentially replace established main memory storage mechanisms, like dense arrays and compressed row/column formats. In summary, we believe database-inspired, parallel I/O efficient, algorithms tailored for sparse matrices can help updating, explaining and monitoring evolving neural networks on large dynamic data sets.