What if Neural Networks had SVDs?
arXiv:2009.13977
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 where is an orthogonal matrix represented by a product of Householder matrices. Code is available at www.github.com/AlexanderMath/fasth .
References in corpus (4)
- Cheap Orthogonal Constraints in Neural Networks: A Simple Parametrization of the Orthogonal and Unitary Group
- Improving Variational Auto-Encoders using Householder Flow
- Emerging Convolutions for Generative Normalizing Flows
- Efficient Riemannian Optimization on the Stiefel Manifold via the Cayley Transform