Batch-efficient EigenDecomposition for Small and Medium Matrices
This addresses the problem of expensive ED computation for computer vision practitioners using deep neural networks, offering an incremental improvement in efficiency for specific matrix sizes.
The paper tackles the computational bottleneck of EigenDecomposition (ED) for small and medium batched matrices in computer vision by proposing a QR-based method that reduces time complexity from O(n^5) to O(n^3) and is faster than PyTorch SVD for dimensions <32, achieving competitive performance in visual recognition and image generation.
EigenDecomposition (ED) is at the heart of many computer vision algorithms and applications. One crucial bottleneck limiting its usage is the expensive computation cost, particularly for a mini-batch of matrices in the deep neural networks. In this paper, we propose a QR-based ED method dedicated to the application scenarios of computer vision. Our proposed method performs the ED entirely by batched matrix/vector multiplication, which processes all the matrices simultaneously and thus fully utilizes the power of GPUs. Our technique is based on the explicit QR iterations by Givens rotation with double Wilkinson shifts. With several acceleration techniques, the time complexity of QR iterations is reduced from $O{(}n^5{)}$ to $O{(}n^3{)}$. The numerical test shows that for small and medium batched matrices (\emph{e.g.,} $dim{<}32$) our method can be much faster than the Pytorch SVD function. Experimental results on visual recognition and image generation demonstrate that our methods also achieve competitive performances.