English

What if Neural Networks had SVDs?

Machine Learning 2020-09-30 v1 Machine Learning

Abstract

Various Neural Networks employ time-consuming matrix operations like matrix inversion. Many such matrix operations are faster to compute given the Singular Value Decomposition (SVD). Previous work allows using the SVD in Neural Networks without computing it. In theory, the techniques can speed up matrix operations, however, in practice, they are not fast enough. We present an algorithm that is fast enough to speed up several matrix operations. The algorithm increases the degree of parallelism of an underlying matrix multiplication HXH\cdot X where HH is an orthogonal matrix represented by a product of Householder matrices. Code is available at www.github.com/AlexanderMath/fasth .

Keywords

Cite

@article{arxiv.2009.13977,
  title  = {What if Neural Networks had SVDs?},
  author = {Alexander Mathiasen and Frederik Hvilshøj and Jakob Rødsgaard Jørgensen and Anshul Nasery and Davide Mottin},
  journal= {arXiv preprint arXiv:2009.13977},
  year   = {2020}
}