SVCCA: Singular Vector Canonical Correlation Analysis for Deep Learning Dynamics and Interpretability
Maithra Raghu, Justin Gilmer, Jason Yosinski, Jascha Sohl-Dickstein
TL;DR
SVCCA introduces a two-step, affine-invariant method for comparing neural representations by combining SVD with CCA to analyze activation subspaces. It scales to convolutional layers via a Fourier-based approach, enabling efficient, cross-layer and cross-architecture comparisons. The study reveals bottom-up convergence during learning, motivates Freeze Training to reduce computation, and shows how class semantics manifest in representation sensitivity, with practical implications for compression and interpretability. Overall, SVCCA offers a robust tool for analyzing and optimizing deep networks across architectures and tasks.
Abstract
We propose a new technique, Singular Vector Canonical Correlation Analysis (SVCCA), a tool for quickly comparing two representations in a way that is both invariant to affine transform (allowing comparison between different layers and networks) and fast to compute (allowing more comparisons to be calculated than with previous methods). We deploy this tool to measure the intrinsic dimensionality of layers, showing in some cases needless over-parameterization; to probe learning dynamics throughout training, finding that networks converge to final representations from the bottom up; to show where class-specific information in networks is formed; and to suggest new training regimes that simultaneously save computation and overfit less. Code: https://github.com/google/svcca/
