CPCANet: Deep Unfolding Common Principal Component Analysis for Domain Generalization

2026-05-06Computer Vision and Pattern Recognition

Computer Vision and Pattern Recognition
AI summary

The authors created CPCANet, a new method to help computer models recognize things well even when the information they see changes in unexpected ways. Their method uses a mathematical tool called Common Principal Component Analysis (CPCA) to find shared patterns across different groups of data. They turned an existing algorithm into parts of a neural network to make this process smooth and trainable end-to-end. Tests on standard challenges showed their method works better than others without needing special setup for each new dataset. This makes CPCANet a flexible and reliable way to improve how models handle new environments.

Domain GeneralizationOut-of-Distribution ShiftCommon Principal Component AnalysisFlury-Gautschi AlgorithmNeural NetworksInvariant LearningZero-shot TransferRepresentation LearningEnd-to-End TrainingDistribution Shift
Authors
Yu-Hsi Chen, Abd-Krim Seghouane
Abstract
Domain Generalization (DG) aims to learn representations that remain robust under out-of-distribution (OOD) shifts and generalize effectively to unseen target domains. While recent invariant learning strategies and architectural advances have achieved strong performance, explicitly discovering a structured domain-invariant subspace through second-order statistics remains underexplored. In this work, we propose CPCANet, a novel framework grounded in Common Principal Component Analysis (CPCA), which unrolls the iterative Flury-Gautschi (FG) algorithm into fully differentiable neural layers. This approach integrates the statistical properties of CPCA into an end-to-end trainable framework, enforcing the discovery of a shared subspace across diverse domains while preserving interpretability. Experiments on four standard DG benchmarks demonstrate that CPCANet achieves state-of-the-art (SOTA) performance in zero-shot transfer. Moreover, CPCANet is architecture-agnostic and requires no dataset-specific tuning, providing a simple and efficient approach to learning robust representations under distribution shift. Code is available at https://github.com/wish44165/CPCANet.