Papers › Backpropagation-Friendly Eigendecomposition

Backpropagation-Friendly Eigendecomposition

21 Jun 2019NeurIPS 2019 12arXiv:1906.09023archive 2025-07-28

Wei Wang, Zheng Dang, Yinlin Hu, Pascal Fua, Mathieu Salzmann

Eigendecomposition (ED) is widely used in deep networks. However, the backpropagation of its results tends to be numerically unstable, whether using ED directly or approximating it with the Power Iteration method, particularly when dealing with large matrices. While this can be mitigated by partitioning the data in small and arbitrary groups, doing so has no theoretical basis and makes its impossible to exploit the power of ED to the full. In this paper, we introduce a numerically stable and differentiable approach to leveraging eigenvectors in deep networks. It can handle large matrices without requiring to split them. We demonstrate the better robustness of our approach over standard ED and PI for ZCA whitening, an alternative to batch normalization, and for PCA denoising, which we introduce as a new normalization strategy for deep networks, aiming to further denoise the network's features.

PaperPDFConference PDFCode

In Syntology Open this paper in Syntology's Atlas, the map of the papers in Syntology's graph and their citations.

Code

WeiWangTrento/Power-Iteration-SVD officialmentioned in paperpytorch report
KingJamesSong/DifferentiableSVD mentioned on GitHubpytorchApache-2.0 report

Repository list and official/mentioned flags are the archive's, frozen 2025-07-28. Reachability, where shown, is from one Syntology probe window (2026-09-16 to 2026-09-18); repositories not probed show nothing. GitHub stars are not tracked.

Code Syntology ran Syntology

Not run by Syntology. Nothing on this page verifies that the listed code works.

Tasks

Denoising

Results from the paper archive 2025-07-28

No leaderboard rows for this paper in the archive.

Methods

PCA

Report a problem or propose a change · a person checks every report against the paper or source before anything changes; decisions are listed on /corrections