Ramanujan Bipartite Graph Products for Efficient Block Sparse Neural
  Networks
  Sparse neural networks are shown to give accurate predictions competitive to
denser versions, while also minimizing the number of arithmetic operations
performed. However current hardware like GPU's can only exploit structured
sparsity patterns for better efficiency. Hence the run time of a sparse neural
network may not correspond to the arithmetic operations required.
  In this work, we propose RBGP( Ramanujan Bipartite Graph Product) framework
for generating structured multi level block sparse neural networks by using the
theory of Graph products. We also propose to use products of Ramanujan graphs
which gives the best connectivity for a given level of sparsity. This
essentially ensures that the i.) the networks has the structured block sparsity
for which runtime efficient algorithms exists ii.) the model gives high
prediction accuracy, due to the better expressive power derived from the
connectivity of the graph iii.) the graph data structure has a succinct
representation that can be stored efficiently in memory. We use our framework
to design a specific connectivity pattern called RBGP4 which makes efficient
use of the memory hierarchy available on GPU. We benchmark our approach by
experimenting on image classification task over CIFAR dataset using VGG19 and
WideResnet-40-4 networks and achieve 5-9x and 2-5x runtime gains over
unstructured and block sparsity patterns respectively, while achieving the same
level of accuracy.
