May 06, 2026
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.
The Universal Approximation Theorem [1], [2] guarantees the immense representational capacity of deep neural networks; however, this remarkable performance relies heavily on the strict assumption that training and testing data are identically distributed [3]. Consequently, when deployed in real-world environments, these models frequently experience severe performance degradation due to inevitable distribution shifts [4]. Domain Generalization (DG) addresses this critical challenge by learning robust, invariant representations from multiple distinct source domains, enabling effective transfer to entirely unseen target domains [5], [6]. Early research in DG focused on aligning feature distributions across source domains via statistical distance minimization [7], [8] or adversarial learning [9], [10]. However, these alignment-based approaches often struggle to capture complex semantics and scale to high-dimensional visual tasks. Consequently, recent methods tend to rely on large-scale and highly expressive architectures [11]–[13] together with advanced regularization techniques [14]–[16]. Despite their empirical success, these models often depend on increased capacity to absorb domain shifts rather than explicitly isolating a structured domain-invariant subspace. As a result, they incur high computational costs and typically require task-specific tuning for different scenarios. Therefore, developing frameworks that are robust to distribution shifts by learning a structured domain-invariant subspace remains an open and important direction.
A natural and mathematically rigorous approach to discovering invariant structures across multiple distributions is Common Principal Component Analysis (CPCA) [17]. CPCA is a classical statistical method that models second-order statistics across multiple sources by estimating a shared orthogonal transformation, thereby identifying a common subspace across diverse covariance matrices. However, standard CPCA relies on the FG algorithm [18], an iterative procedure that is not end-to-end differentiable. Moreover, CPCA is inherently a linear method and is therefore limited in modeling complex nonlinear visual data. These limitations have hindered the integration of CPCA’s statistical guarantees into modern gradient-based deep learning frameworks. In this work, we propose CPCANet, a novel framework that bridges classical statistical subspace learning and modern deep representation learning. We summarize our main contributions as follows:
Principled Statistical Framework for DG: We present a CPCA-based perspective on DG that isolates domain-invariant structure from domain-specific correlations.
Deep Unfolded Riemannian Optimization: We propose CPCANet, which integrates the CPCA objective into a differentiable framework via Cayley retraction and hypernetwork-driven step sizes, enabling stable optimization on the Stiefel manifold.
Comprehensive Experimental Validation: We evaluate CPCANet on four standard DG benchmarks, achieving SOTA in zero-shot transfer with competitive efficiency.
Domain Generalization (DG) addresses the vulnerability of deep neural networks to out-of-distribution (OOD) shifts by learning representations that generalize reliably to unseen target domains. Unlike Domain Adaptation (DA) [19], [20], which assumes access to target-domain samples during training, DG operates in a zero-shot transfer setting. Existing DG methods span a broad range of approaches, from foundational baselines such as Empirical Risk Minimization (ERM) [21] and its modern variants [22] to more specialized strategies for domain-invariant representation learning, including adversarial learning [23]–[25], causal learning [26], [27], feature disentanglement [28]–[30], and contrastive learning frameworks [15], [31]–[34]. Optimization-oriented approaches further enhance robustness through meta-learning-based domain shift simulation [14], [35]–[37], gradient matching [38], and ensemble strategies [39], [40]. From an architectural perspective, DG has been explored across diverse backbone designs, ranging from conventional CNN-based architectures [41] to MLP-based models [11]–[13] and Vision Transformers (ViTs) [42], [43], which capture long-range dependencies through attention mechanisms. More recently, State Space Models (SSMs) have been introduced for DG to enable efficient sequence modeling under severe domain shifts [44]–[46]. Despite these algorithmic and architectural advancements, structurally isolating true domain-invariant features remains a high-potential area. Conceptually, CPCA is formulated to identify a common invariant subspace across diverse multivariate distributions. Therefore, it offers a principled, statistical framework uniquely suited to provide the solution.
Common Principal Component Analysis (CPCA) [17] is a multivariate statistical approach that identifies a common basis across distinct datasets. Consider \(K\) groups, where the \(k\)-th group contains samples of size \(N_k = n_k + 1\). Each sample is a \(p\)-variate random vector independently drawn from a multivariate normal distribution, \(\mathcal{N}_p(\boldsymbol{\mu}_k, \boldsymbol{\Sigma}_k)\), where \(\boldsymbol{\mu}_k \in \mathbb{R}^{p}\) and \(\boldsymbol{\Sigma}_k \in \mathbb{R}^{p \times p}\) denote the true mean vector and positive definite covariance matrix, respectively. Let \(\mathbf{S}_k\) denote the usual unbiased sample covariance matrix. Under standard assumptions where \(\min_k n_k \ge p\), the matrices \(n_k \mathbf{S}_k\) are independently distributed according to a Wishart distribution, \(n_k \mathbf{S}_k \sim \mathcal{W}_p(n_k, \boldsymbol{\Sigma}_k)\). CPCA hypothesizes that the population covariance matrices \(\boldsymbol{\Sigma}_1, \dots, \boldsymbol{\Sigma}_K\) are simultaneously diagonalizable by a common orthogonal matrix \(\boldsymbol{\beta} \in \mathbb{R}^{p \times p}\): \[\label{eq:cpca95hypothesis} H_c:\:\boldsymbol{\beta}^{\top}\boldsymbol{\Sigma}_k\boldsymbol{\beta} = \boldsymbol{\Lambda}_k, \quad k = 1, \dots, K,\tag{1}\] where \(\boldsymbol{\Lambda}_k=\mathrm{diag}(\lambda_{k1},\ldots,\lambda_{kp})\) are diagonal matrices. This formulation identifies common principal components (CPCs) while allowing group-specific variances along each shared component.
Under the maximum likelihood (ML) perspective, the estimation of \(\boldsymbol{\beta}\) is performed by enforcing simultaneous diagonalization through constraints on the off-diagonal elements of the transformed sample covariance matrices: \[\label{eq:ml95statement} \boldsymbol{\beta}_{l}^{\top}\left(\sum_{k=1}^K n_k \frac{\lambda_{kl} - \lambda_{km}}{\lambda_{kl} \lambda_{km}} \mathbf{S}_{k} \right)\boldsymbol{\beta}_{m} = 0, \quad l \neq m,\tag{2}\] where \(\boldsymbol{\beta}_l\) and \(\boldsymbol{\beta}_m\) are the \(l\)-th and \(m\)-th columns of \(\boldsymbol{\beta}\), and \(\lambda_{kl}\) and \(\lambda_{km}\) are the corresponding diagonal entries of \(\boldsymbol{\Lambda}_k\) in Equation 1 . The resulting common basis is further estimated using the iterative Flury-Gautschi (FG) algorithm [18]. Once estimated, the original data matrix \(\mathbf{X}_k \in \mathbb{R}^{N_k \times p}\) is projected to obtain the transformed representations \[\label{eq:sampled95cpcs} \mathbf{U}_k = \mathbf{X}_k \boldsymbol{\beta}, \quad k = 1, \dots, K,\tag{3}\] which correspond to the sample CPCs. Building on its solid statistical foundation, CPCA has inspired a broad range of theoretical and methodological extensions, including partial CPCA for relaxed sharing assumptions [47], robust estimators for handling outliers [48], [49], state-space formulations [50], and efficient stepwise optimization algorithms [51], [52]. Beyond foundational studies [53], CPCA has also been adapted to diverse statistical modeling settings [54]–[56], further with applications in multiview representation learning [57] and multivariate time series clustering [58]–[60]. Despite these advances, CPCA remains difficult to integrate into modern deep learning systems due to its reliance on non-differentiable iterative eigensolvers.
Deep Unfolding Networks (DUNs) bridge principled optimization and deep learning by unfolding iterative algorithms into trainable neural networks while preserving interpretability. This paradigm originated with Learned Iterative Shrinkage-Thresholding Algorithms (LISTA) [61], which reformulated classical sparse coding solvers, such as ISTA and FISTA [62]–[64], as learnable network layers. A few years later, model-based constraints were incorporated into deep unfolding architectures for non-negative matrix factorization [65]. Recent advances have further integrated deep unfolding with Transformer-based architectures [66], [67] and demonstrated strong performance across diverse applications, including wireless communications [68]–[72] and computer vision tasks such as compressive sensing [73]–[76], super-resolution [77]–[79], image restoration [80], [81], segmentation [82], [83], and small target detection [84]–[91]. Motivated by the differentiable capability of DUNs, we unfold the FG algorithm into a trainable architecture that integrates the statistical geometry of CPCA into end-to-end deep learning frameworks for geometric invariance learning in complex vision tasks.
In this section, we first introduce a CPCA-based perspective on DG in Section 3.1. As it is not directly compatible with end-to-end training, we then develop a differentiable CPCA solver that integrates CPCA into a deep learning framework, as described in Section 3.2. Finally, we describe the training objective and inference procedure in Section 3.3.
Let \(\mathcal{X} \subseteq \mathbb{R}^p\) be the \(p\)-dimensional input space and \(\mathcal{Y} = \{1, \dots, C\}\) be the label space for a \(C\)-class classification task. A domain is formally defined by a joint probability distribution \(P_{XY}\) over \(\mathcal{X} \times \mathcal{Y}\). In the standard DG setting, we are provided with data from \(K\) distinct source environments, denoted as \(\mathcal{E}_{tr} = \{E_1, \dots, E_K\}\). Each environment \(E_k = \{(\mathbf{x}_{i}^{(k)}, y_{i}^{(k)})\}_{i=1}^{N_k}\) consists of \(N_k = n_k + 1\) samples, denoted in matrix form as raw inputs \(\mathbf{X}_k \in \mathbb{R}^{N_k \times p}\), drawn from a specific joint distribution \(P_{XY}^{(k)}\). The fundamental objective of DG is to learn a robust predictive model using only \(\mathcal{E}_{tr}\) that minimizes the expected risk on a strictly unseen target environment \(E_{te}\) characterized by \(P_{XY}^{(te)} \neq P_{XY}^{(k)}\).
While classical CPCA operates on raw \(p\)-dimensional data, we apply it in a \(d\)-dimensional latent space. For simplicity, we retain standard CPCA notation (\(\mathbf{S}_k\), \(\boldsymbol{\beta}\), \(\mathbf{U}_k\)) to denote operations in this latent space. Let \(h_\theta: \mathbb{R}^p \rightarrow \mathbb{R}^D\) represent a pre-trained neural backbone parameterized by \(\theta\), which extracts high-dimensional features \(\mathbf{f}_i^{(k)} = h_\theta(\mathbf{x}_i^{(k)})\). To facilitate robust optimization on the Stiefel manifold, we subsequently apply a linear bottleneck projection \(b_\psi: \mathbb{R}^D \rightarrow \mathbb{R}^d\) parameterized by \(\psi\). For the \(k\)-th environment, this sequential mapping yields a set of latent vectors \(\mathbf{z}_i^{(k)} = b_\psi(\mathbf{f}_i^{(k)}) \in \mathbb{R}^{d}\). We characterize the structural geometry of these latent features via the unbiased sample covariance matrix \(\mathbf{S}_k \in \mathbb{R}^{d \times d}\), given by: \[\mathbf{S}_k = \frac{1}{n_k} \sum_{i=1}^{N_k} \left(\mathbf{z}_{i}^{(k)} - \bar{\mathbf{z}}^{(k)}\right)\left(\mathbf{z}_{i}^{(k)} - \bar{\mathbf{z}}^{(k)}\right)^\top,\] where \(\bar{\mathbf{z}}^{(k)} \in \mathbb{R}^d\) is the sample mean vector of the latent features in the \(k\)-th environment.
To isolate a structured domain-invariant subspace, we seek a shared orthogonal matrix \(\boldsymbol{\beta} \in \mathbb{R}^{d \times d}\) that simultaneously diagonalizes the \(K\) latent source covariance matrices \(\mathbf{S}_1, \dots, \mathbf{S}_K\). Let \(\mathbf{Z}_k \in \mathbb{R}^{N_k \times d}\) denote the feature matrix whose rows are \(\mathbf{z}_i^{(k)}\). We project the source representations onto this common basis to obtain the invariant feature subspace: \[\mathbf{U}_k = \mathbf{Z}_k \boldsymbol{\beta}, \quad k = 1, \dots, K.\] This orthogonal projection suppresses domain-specific spurious correlations while preserving shared invariant structures across source domains. During inference on an unseen target environment \(E_{te}\), a target sample \(\mathbf{x}^{(te)} \in \mathbb{R}^p\) is mapped to a high-dimensional feature vector \(\mathbf{f}^{(te)} = h_\theta(\mathbf{x}^{(te)}) \in \mathbb{R}^{D}\), and then to a latent bottleneck representation \(\mathbf{z}^{(te)} = b_\psi(\mathbf{f}^{(te)}) \in \mathbb{R}^{d}\). The representation is subsequently projected onto the learned CPCA subspace as \(\mathbf{u}^{(te)} = \boldsymbol{\beta}^\top \mathbf{z}^{(te)}\).
Finally, a naive inference strategy is to perform classification directly in the low-dimensional CPCA subspace. Specifically, the prediction \(\hat{y}\) can be obtained via a linear classifier parameterized by \(\mathbf{W}_{cls} \in \mathbb{R}^{d \times C}\) and \(\mathbf{b}_{cls} \in \mathbb{R}^{C}\): \[\hat{y} = \arg\max_{c \in \{1, \dots, C\}} \left( \mathbf{W}_{cls}^\top \mathbf{u}^{(te)} + \mathbf{b}_{cls} \right)_c.\] Although this enforces domain-invariant predictions, it introduces a severe information bottleneck, which we address via feature modulation as described in Section 3.3.2.
In deep learning pipelines, computing the common orthogonal matrix \(\boldsymbol{\beta}\) poses a key bottleneck. Classical estimation relies on the FG algorithm [18], an iterative procedure for solving the ML constraints in Equation 2 . However, this approach is not compatible with modern computational graphs, preventing gradient backpropagation and end-to-end optimization. To address this, we develop a deep unfolded CPCA solver that integrates orthogonal retraction (Section 3.2.1), Riemannian gradients (Section 3.2.2), and dynamic unfolding via hypernetworks (Section 3.2.3).
To enforce the orthogonality constraint on \(\boldsymbol{\beta}\) during gradient-based optimization, we optimize directly on the orthogonal manifold using the Cayley transform as a retraction [92]. The tangent space of the orthogonal group \(\mathcal{O}(d)\) is characterized by the Lie algebra of skew-symmetric matrices, defined as \(\mathfrak{so}(d)=\{\mathbf{A}\in\mathbb{R}^{d\times d}\mid \mathbf{A}^\top=-\mathbf{A}\}\). Instead of optimizing \(\boldsymbol{\beta}\) directly under the constraint \(\boldsymbol{\beta}^\top \boldsymbol{\beta}=\mathbf{I}_d\), we optimize an unconstrained skew-symmetric matrix \(\mathbf{A}\in\mathfrak{so}(d)\) and map it onto the manifold via the Cayley transform, as adopted in prior works [93], [94]: \[\boldsymbol{\beta}(\mathbf{A})= \left(\mathbf{I}_d-\frac{1}{2}\mathbf{A}\right) \left(\mathbf{I}_d+\frac{1}{2}\mathbf{A}\right)^{-1}.\] This reparameterization preserves the manifold constraint throughout training while avoiding computationally prohibitive orthogonalization procedures, such as Singular Value Decomposition (SVD).
To unfold optimization on the orthogonal manifold, we derive the gradient of the CPCA objective with respect to the skew-symmetric tangent space. For a given orthogonal basis \(\boldsymbol{\beta}\), the basis-transformed variances are defined by the diagonal entries \(\lambda_{kl} = [\boldsymbol{\beta}^\top \mathbf{S}_k \boldsymbol{\beta}]_{l,l}\). Following [17], the ML estimate of the common basis \(\boldsymbol{\beta}\) is obtained by minimizing the following negative log-likelihood objective: \[\label{eq:flury95objective} \mathcal{J}(\boldsymbol{\beta}) = \sum_{k=1}^K n_k \sum_{l=1}^d \log(\lambda_{kl}).\tag{4}\] Taking the partial derivative of this objective with respect to \(\boldsymbol{\beta}\) yields the Euclidean gradient: \[\label{eq:G95euc} \mathbf{G}_{\text{Euc}} = \frac{\partial \mathcal{J}(\boldsymbol{\beta})}{\partial \boldsymbol{\beta}} = 2 \sum_{k=1}^K n_k \mathbf{S}_k \boldsymbol{\beta} \boldsymbol{\Lambda}_k^{-1}\tag{5}\] where \(\boldsymbol{\Lambda}_k = \text{diag}(\lambda_{k1}, \dots, \lambda_{kd})\). Since \(\boldsymbol{\beta}\) is constrained to the Stiefel manifold \(St(d, d)\), which coincides with the orthogonal group \(\mathcal{O}(d)\), direct Euclidean updates are not valid.Following the canonical metric geometry of the orthogonal group [95], we instead project the Euclidean gradient onto the Lie algebra \(\mathfrak{so}(d)\). As utilized in Cayley-based optimization frameworks [96], the unconstrained skew-symmetric update \(\mathbf{G}_{\mathbf{A}}\) is obtained via: \[\mathbf{G}_{\mathbf{A}} = \boldsymbol{\beta}^\top \mathbf{G}_{\text{Euc}} - \mathbf{G}_{\text{Euc}}^\top \boldsymbol{\beta}\] Expanding the Riemannian gradient in its skew-symmetric matrix form element-wise yields: \[[\mathbf{G}_{\mathbf{A}}]_{l,m} = 2 \sum_{k=1}^K n_k [\boldsymbol{\beta}^\top \mathbf{S}_k \boldsymbol{\beta}]_{l,m} \left( \frac{\lambda_{kl} - \lambda_{km}}{\lambda_{kl}\lambda_{km}} \right)\] To enable efficient implementation via batched tensor operations within the computational graph, we define a skew-symmetric weight matrix \(\boldsymbol{\Omega}_k \in \mathbb{R}^{d \times d}\) for each domain, whose elements capture pairwise variance differences. The scalar factor \(2\) is absorbed into the learning rate for simplicity: \[[\boldsymbol{\Omega}_k]_{l,m} = \frac{\lambda_{kl} - \lambda_{km}}{\lambda_{kl}\lambda_{km} + \epsilon},\] where \(\epsilon\) is a small constant for numerical stability when mini-batch eigenvalues are close to zero. With \(\boldsymbol{\Omega}_k\) defined, the skew-symmetric tangent gradient is computed via the Hadamard (element-wise) product \(\odot\) between the basis-transformed domain covariances and the corresponding weight matrices: \[\mathbf{G}_{\mathbf{A}} = \sum_{k=1}^{K} n_k \left( (\boldsymbol{\beta}^\top \mathbf{S}_k \boldsymbol{\beta}) \odot \boldsymbol{\Omega}_k \right)\] We further normalize the Riemannian gradient by its Frobenius norm to stabilize deep unfolding.
We unfold Riemannian gradient descent into \(T\) differentiable layers. In standard algorithm unrolling, step sizes are typically fixed or learned as static parameters. However, in DG, covariance statistics vary across mini-batches, rendering static step sizes suboptimal and potentially unstable. Inspired by dynamic parameter generation [85], we introduce a lightweight hypernetwork \(H_\phi\) that maps flattened mini-batch covariances to a context-aware step-size vector \(\boldsymbol{\eta} \in \mathbb{R}^T\) for all unfolded layers: \[\boldsymbol{\eta} = \frac{1}{2} \cdot \sigma\big(H_\phi(\mathbf{S}_1, \dots, \mathbf{S}_K)\big),\] where \(\sigma\) denotes the sigmoid function. This scaling bounds each step size in \((0, 0.5)\), ensuring stable optimization on the Stiefel manifold even under mini-batch noise.
Starting from the origin of the Lie algebra (\(\mathbf{A}_0 = \mathbf{0}\)), the network iteratively accumulates tangent-space updates for \(t = 1, \dots, T\). Using the normalized gradient \(\tilde{\mathbf{G}}_{\mathbf{A}, t-1}\), the update of the skew-symmetric matrix \(\mathbf{A}_t\) and its corresponding orthogonal projection \(\boldsymbol{\beta}_t\) are given by: \[\mathbf{A}_t = \mathbf{A}_{t-1} - \eta_t \tilde{\mathbf{G}}_{\mathbf{A}, t-1}, \quad \boldsymbol{\beta}_t = \left(\mathbf{I}_d - \frac{1}{2}\mathbf{A}_t\right) \left(\mathbf{I}_d + \frac{1}{2}\mathbf{A}_t\right)^{-1}.\] The final projection \(\boldsymbol{\beta}_T\) is thus a strictly orthogonal basis that is fully differentiable and adapted to the statistical structure of the current forward pass.
While the unfolded module dynamically estimates the basis \(\boldsymbol{\beta}_T\) for each batch, the backbone must learn representations amenable to joint diagonalization. To enforce this structural prior, we penalize the off-diagonal energy of the basis-transformed covariances. Let \(\hat{\mathbf{S}}_k = \boldsymbol{\beta}_T^\top \mathbf{S}_k \boldsymbol{\beta}_T\) denote the covariance matrix in the learned basis for the \(k\)-th domain. The CPCA regularization is defined as: \[\mathcal{L}_{\text{CPCA}} = \frac{1}{K} \sum_{k=1}^K \frac{\|\hat{\mathbf{S}}_k\|_F^2 - \|\mathrm{diag}(\hat{\mathbf{S}}_k)\|_F^2}{d(d-1)}.\] The full training objective is then given by: \[\mathcal{L}_{\text{total}} = \mathcal{L}_{\text{task}} + \lambda_{\text{cpca}} \mathcal{L}_{\text{CPCA}},\] where \(\lambda_{\text{cpca}}\) controls the strength of the structural alignment. Thus, the entire architecture, including the feature backbone, step-size hypernetwork, and unfolded CPCA solver, is trained end-to-end.
The obtained orthogonal basis \(\boldsymbol{\beta}_T\) captures the domain-invariant geometric structure of the current mini-batch. Rather than performing classification directly in the low-dimensional CPCA bottleneck (\(\mathbf{u} \in \mathbb{R}^{d}\)), which introduces a severe information bottleneck by discarding fine-grained, class-discriminative features in the ambient space (\(\mathbf{f} \in \mathbb{R}^{D}\), where \(D \gg d\)), we instead use it as a conditioning signal. Specifically, we leverage this invariant geometry to recalibrate the high-dimensional backbone features, suppressing domain-specific spurious correlations while preserving representational capacity. Let \(\mathbf{f} \in \mathbb{R}^{D}\) denote the backbone features and \(\mathbf{z} \in \mathbb{R}^{d}\) the corresponding bottleneck representation. We project \(\mathbf{z}\) onto the learned basis to obtain the invariant representation \(\mathbf{u} = \boldsymbol{\beta}_T^\top \mathbf{z}\). We then use two lightweight MLPs to map this invariant signal back to dimension \(D\), producing affine transformation parameters: \[\boldsymbol{\gamma} = 2 \cdot \sigma\big(\mathrm{MLP}_\gamma(\mathbf{u})\big), \quad \Delta \mathbf{f} = \mathrm{MLP}_{\Delta f}(\mathbf{u}),\] where \(\sigma\) denotes the sigmoid function, and \(\boldsymbol{\gamma}, \Delta \mathbf{f} \in \mathbb{R}^{D}\). Inspired by Feature-wise Linear Modulation (FiLM) [97], [98], we modulate the backbone features \(\mathbf{f}\) via a channel-wise affine transformation: \[\tilde{\mathbf{f}} = \left(\mathbf{f} \odot \boldsymbol{\gamma}\right) + \Delta \mathbf{f},\] where \(\odot\) denotes the Hadamard product. To ensure stable training and avoid disrupting the pre-trained backbone, the weights and biases of the final linear layers in both \(\mathrm{MLP}_\gamma\) and \(\mathrm{MLP}_{\Delta f}\) are initialized to zero, yielding \(\boldsymbol{\gamma} = \mathbf{1}\) and \(\Delta \mathbf{f} = \mathbf{0}\) at initialization. This initialization starts the model from the standard ERM baseline [21], [99] and gradually phasing the proposed modulation during training. The modulated feature vector \(\tilde{\mathbf{f}}\) is then fed into a linear classifier, maintaining architectural parity with DomainBed baselines [99]. Parameterizing this layer with a weight matrix \(\mathbf{W}_{cls} \in \mathbb{R}^{D \times C}\) and a bias vector \(\mathbf{b}_{cls} \in \mathbb{R}^{C}\), the prediction \(\hat{y}\) is given by: \[\hat{y} = \arg\max_{c \in \{1, \dots, C\}} \left( \mathbf{W}_{cls}^\top \tilde{\mathbf{f}} + \mathbf{b}_{cls} \right)_c.\] This standard linear readout ensures that performance gains are attributable to the invariant subspace modulation rather than classifier design.
We evaluate the proposed CPCANet on four widely used DG benchmarks: PACS, VLCS, OfficeHome, and TerraIncognita. Detailed dataset statistics are provided in Table 1 to clarify inconsistencies in prior literature, such as discrepancies in domain names and image counts, which can hinder reproducibility
and lead to unfair comparisons. To further ensure transparency and reproducibility, we provide the exact dataset download sources.
8pt
| Dataset | Domain | |||||||||||||||
| of Images | ||||||||||||||||
| of Images | ||||||||||||||||
| of Classes | Range of Images per Class | Range of Resolutions | ||||||||||||||
| PACS [100] | Art | 2,048 | 9,991 | 7 | 184 | (guitar) | to | 449 | (person) | \(227{\times}227\) | ||||||
| Cartoon | 2,344 | 135 | (guitar) | to | 457 | (elephant) | ||||||||||
| Photo | 1,670 | 182 | (giraffe) | to | 432 | (person) | ||||||||||
| Sketch | 3,929 | 80 | (house) | to | 816 | (horse) | ||||||||||
| VLCS [101] | Caltech101 | 1,415 | 10,729 | 5 | 67 | (dog) | to | 870 | (person) | 80 | \(\times\) | 174 | to | 708 | \(\times\) | 468 |
| LabelMe | 2,656 | 42 | (dog) | to | 1237 | (person) | 375 | \(\times\) | 384 | to | 3504 | \(\times\) | 4257 | |||
| SUN09 | 3,282 | 20 | (bird) | to | 1264 | (person) | 187 | \(\times\) | 174 | to | 6144 | \(\times\) | 4096 | |||
| VOC2007 | 3,376 | 330 | (bird) | to | 1499 | (person) | 200 | \(\times\) | 97 | to | 500 | \(\times\) | 500 | |||
| OfficeHome [102] | Art | 2,427 | 15,588 | 65 | 15 | (drill) | to | 99 | (bottle) | 85 | \(\times\) | 117 | to | 4438 | \(\times\) | 2686 |
| Clipart | 4,365 | 39 | (toothbrush) | to | 99 | (scissors) | 18 | \(\times\) | 4 | to | 2400 | \(\times\) | 2400 | |||
| product | 4,439 | 38 | (postit notes) | to | 99 | (scissors) | 42 | \(\times\) | 42 | to | 2560 | \(\times\) | 2560 | |||
| Real World | 4,357 | 23 | (marker) | to | 99 | (candles) | 80 | \(\times\) | 63 | to | 6000 | \(\times\) | 6500 | |||
| TerraIncognita [103] | L100 | 4,879 | 24,788 | 10 | 12 | (coyote) | to | 2552 | (raccoon) | \(1024{\times}747\) | ||||||
| L38 | 9,767 | 3 | (bird) | to | 4500 | (opossum) | ||||||||||
| L43 | 4,020 | 3 | (cat) | to | 1104 | (bobcat) | ||||||||||
| L46 | 6,122 | 14 | (squirrel) | to | 1464 | (raccoon) | ||||||||||
Training setups in prior DG literature vary substantially, including differences in training duration (e.g., 5k steps vs. 50 epochs), batch size (e.g., 16 vs. 32 per domain), optimizer settings, and learning-rate schedules, with some works additionally relying on dataset-specific tuning. Such variations can hinder fair comparisons across methods. To ensure a controlled and reproducible evaluation, we fix all training settings across methods and datasets, as summarized in Table [tab:hyperparameters]. Our hyperparameter configuration follows [40], which also shows that significant performance improvements can be achieved through just extended training duration. To prevent catastrophic forgetting of the pre-trained backbone while enabling fast adaptation of CPCANet, we adopt a different learning-rate strategy: the backbone is trained with a conservative learning rate of \(1\times10^{-5}\), while CPCANet parameters use \(1\times10^{-4}\). In addition, all experiments are conducted on NVIDIA A100 GPUs with 80 GB of memory, and model selection strictly follows the DomainBed [99] training-domain validation protocol.
8pt
l c c c c c c c c c c c c & & &
(lr)3-5 (lr)6-13 & & & Stages (\(T\)) & \(\lambda_{cpca}\) & Optimizer & & & & & & &
ResNet-50 & 2048 & & & & Adam & 0 & & & & & & 5,000
(lr)1-2 (lr)6-7 (lr)13-13 DeiT-S & 384 & & & & & & & & & & &
DeiT-B & 768 & & & & & & & & & & &
VMamba-T & 768 & & & & & & & & & & &
VMamba-S & 768 & & & & & & & & & & &
VMamba-B & 1024 & & & & & & & & & & &
As presented in Table 2, all methods are evaluated under the same controlled training setup described in the previous section to ensure a fair comparison, under which CPCANet achieves the best average performance among methods using the same ResNet-50 [104] backbone. We also report the computational cost of all reproduced methods. The results show that CPCANet remains comparable to the ERM baseline and can be effectively combined with modern backbone architectures, including DeiT [105] and VMamba [44], for further performance gains. In the reported results, the suffixes -T, -S, and -B denote tiny, small, and base model variants, respectively.
8pt
| Method | PACS | VLCS | OfficeHome | TerraIncognita | Avg. (\(\uparrow\)) | ||
| RAM (GB) | |||||||
| (days-hh:mm:ss) | |||||||
| ResNet-50 Backbone | |||||||
| ERM [21] (Book ’98) | 84.1 \(\pm\) 0.3 | 74.5 \(\pm\) 0.5 | 67.1 \(\pm\) 0.3 | 49.0 \(\pm\) 0.8 | 68.7 | 0-16:18:01 | |
| CORAL [8] (ECCV ’16) | 82.9 \(\pm\) 1.1 | 75.6 \(\pm\) 0.4 | 67.3 \(\pm\) 0.2 | 41.6 \(\pm\) 1.1 | 66.9 | 0-17:01:36 | |
| CDANN [106] (ECCV ’18) | 83.6 \(\pm\) 0.3 | 76.2 \(\pm\) 0.4 | 66.7 \(\pm\) 0.3 | 48.9 \(\pm\) 0.7 | 68.9 | 0-16:28:10 | |
| SelfReg [15] (ICCV ’21) | 82.6 \(\pm\) 0.7 | 76.2 \(\pm\) 0.5 | 67.2 \(\pm\) 0.2 | 47.2 \(\pm\) 1.0 | 68.3 | 0-17:14:25 | |
| SagNet [107] (CVPR ’21) | 82.7 \(\pm\) 1.0 | 73.8 \(\pm\) 0.6 | 64.8 \(\pm\) 0.4 | 47.7 \(\pm\) 0.5 | 67.2 | 1-02:44:50 | |
| ARM [108] (NeurIPS ’21) | 84.1 \(\pm\) 0.4 | 75.8 \(\pm\) 0.3 | 67.0 \(\pm\) 0.3 | 45.4 \(\pm\) 0.6 | 68.1 | 12.85 | 0-22:21:43 |
| IB-ERM [109] (NeurIPS ’21) | 82.9 \(\pm\) 0.5 | 74.3 \(\pm\) 0.6 | 65.6 \(\pm\) 0.3 | 50.3 \(\pm\) 0.7 | 68.3 | 0-16:15:01 | |
| IB-IRM [109] (NeurIPS ’21) | 82.0 \(\pm\) 0.8 | 76.4 \(\pm\) 0.6 | 58.1 \(\pm\) 0.2 | 42.8 \(\pm\) 1.1 | 64.8 | 0-16:26:45 | |
| Transfer [110] (NeurIPS ’21) | 83.0 \(\pm\) 0.4 | 73.6 \(\pm\) 0.7 | 62.5 \(\pm\) 0.3 | 36.3 \(\pm\) 1.3 | 63.9 | 3-03:42:55 | |
| EQRM [111] (NeurIPS ’22) | 84.0 \(\pm\) 0.7 | 76.0 \(\pm\) 0.4 | 67.4 \(\pm\) 0.2 | 45.0 \(\pm\) 0.8 | 68.1 | 8.12 | 0-17:07:21 |
| ADRMX [30] (arXiv ’23) | 84.6 \(\pm\) 0.3 | 75.6 \(\pm\) 0.5 | 66.6 \(\pm\) 0.2 | 47.2 \(\pm\) 0.8 | 68.5 | 16.36 | 0-23:49:41 |
| RDM [112] (WACV ’24) | 85.3 \(\pm\) 0.3 | 74.6 \(\pm\) 0.4 | 68.0 \(\pm\) 0.2 | 49.5 \(\pm\) 0.6 | 69.4 | 0-16:19:27 | |
| URM [113] (TMLR ’24) | 81.4 \(\pm\) 0.7 | 77.1 \(\pm\) 0.2 | 65.3 \(\pm\) 0.3 | 49.8 \(\pm\) 0.9 | 68.4 | 0-16:18:08 | |
| CPCANet | 85.5 \(\pm\) 0.3 | 75.9 \(\pm\) 0.5 | 69.3 \(\pm\) 0.3 | 47.4 \(\pm\) 0.9 | 69.5 | 0-16:49:40 | |
| ViT-based Backbones | |||||||
| CPCANet-S | 85.4 \(\pm\) 0.4 | 78.4 \(\pm\) 0.4 | 72.8 \(\pm\) 0.4 | 44.7 \(\pm\) 0.8 | 70.3 | 1-20:53:26 | |
| CPCANet-B | 89.6 \(\pm\) 0.3 | 79.8 \(\pm\) 0.4 | 77.1 \(\pm\) 0.2 | 44.6 \(\pm\) 0.7 | 72.8 | 14.28 | 4-18:12:24 |
| SSM-based Backbones | |||||||
| CPCANet-T | 89.6 \(\pm\) 0.7 | 79.1 \(\pm\) 0.5 | 70.2 \(\pm\) 0.4 | 54.1 \(\pm\) 0.4 | 73.3 | 21.43 | 2-02:34:26 |
| CPCANet-S | 92.6 \(\pm\) 0.4 | 80.1 \(\pm\) 0.5 | 75.4 \(\pm\) 0.2 | 56.4 \(\pm\) 0.3 | 76.1 | 37.41 | 3-18:05:48 |
| CPCANet-B | 91.2 \(\pm\) 0.6 | 79.6 \(\pm\) 0.4 | 78.1 \(\pm\) 0.3 | 57.7 \(\pm\) 0.8 | 76.6 | 47.42 | 4-12:57:31 |
Beyond the dataset-level summary, Table 3 presents domain-wise results across all datasets, enabling a more comprehensive comparison with prior work. However, the reported accuracy gap may not fully reflect performance differences due to inconsistent training setups. This is evidenced by the difference between the original reports and our reproductions of the same methods. We also observe discrepancies between re-reported results in the literature and those in the original papers. Accordingly, results not highlighted in gray are verified directly against the original publications rather than taken from secondary comparison tables. We make our best effort to verify these values by carefully reviewing each paper, its supplementary materials, and associated code repositories.
| Method | PACS | VLCS | OfficeHome | TerraIncognita | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2-6 (lr)7-11 (lr)12-16 (lr)17-21 | Art | Cartoon | Photo | Sketch | Avg.(\(\uparrow\)) | Caltech | LabelMe | Pascal | Sun | Avg. (\(\uparrow\)) | Art | Clipart | Product | Real | Avg.(\(\uparrow\)) | L100 | L38 | L43 | L46 | Avg. (\(\uparrow\)) |
| ResNet-50 Backbone | ||||||||||||||||||||
| ERM\(^\dagger\) [21] (Book ’98) | 84.7 \(\pm\) 0.4 | 80.8 \(\pm\) 0.6 | 97.2 \(\pm\) 0.3 | 79.3 \(\pm\) 1.0 | 85.5 \(\pm\) 0.2 | 97.7 \(\pm\) 0.4 | 64.3 \(\pm\) 0.9 | 73.4 \(\pm\) 0.5 | 74.6 \(\pm\) 1.3 | 77.5 \(\pm\) 0.4 | 61.3 \(\pm\) 0.7 | 52.4 \(\pm\) 0.3 | 75.8 \(\pm\) 0.1 | 76.6 \(\pm\) 0.3 | 66.5 \(\pm\) 0.3 | 49.8 \(\pm\) 4.4 | 42.1 \(\pm\) 1.4 | 56.9 \(\pm\) 1.8 | 35.7 \(\pm\) 3.9 | 46.1 \(\pm\) 1.8 |
| ERM (reproduced) | 81.8 \(\pm\) 0.8 | 82.6 \(\pm\) 0.9 | 94.7 \(\pm\) 0.3 | 77.4 \(\pm\) 0.2 | 84.1 \(\pm\) 0.3 | 94.8 \(\pm\) 0.6 | 62.6 \(\pm\) 1.2 | 66.3 \(\pm\) 1.2 | 74.5 \(\pm\) 0.8 | 74.5 \(\pm\) 0.5 | 63.2 \(\pm\) 0.3 | 51.9 \(\pm\) 0.6 | 75.3 \(\pm\) 0.2 | 77.8 \(\pm\) 0.9 | 67.1 \(\pm\) 0.3 | 52.4 \(\pm\) 1.8 | 47.4 \(\pm\) 2.2 | 55.4 \(\pm\) 1.5 | 40.8 \(\pm\) 1.1 | 49.0 \(\pm\) 0.8 |
| CORAL\(^\dagger\) [8] (ECCV ’16) | 88.3 \(\pm\) 0.2 | 80.0 \(\pm\) 0.5 | 97.5 \(\pm\) 0.3 | 78.8 \(\pm\) 1.3 | 86.2 \(\pm\) 0.3 | 98.3 \(\pm\) 0.1 | 66.1 \(\pm\) 1.2 | 73.4 \(\pm\) 0.3 | 77.5 \(\pm\) 1.2 | 78.8 \(\pm\) 0.6 | 65.3 \(\pm\) 0.4 | 54.4 \(\pm\) 0.5 | 76.5 \(\pm\) 0.1 | 78.4 \(\pm\) 0.5 | 68.7 \(\pm\) 0.3 | 51.6 \(\pm\) 2.4 | 42.2 \(\pm\) 1.0 | 57.0 \(\pm\) 1.0 | 39.8 \(\pm\) 2.9 | 47.6 \(\pm\) 1.0 |
| CORAL (reproduced) | 80.0 \(\pm\) 1.4 | 82.7 \(\pm\) 1.1 | 93.4 \(\pm\) 0.7 | 75.7 \(\pm\) 3.9 | 82.9 \(\pm\) 1.1 | 96.9 \(\pm\) 0.6 | 60.3 \(\pm\) 1.0 | 71.3 \(\pm\) 0.8 | 73.8 \(\pm\) 1.0 | 75.6 \(\pm\) 0.4 | 64.0 \(\pm\) 0.7 | 52.3 \(\pm\) 0.6 | 75.8 \(\pm\) 0.3 | 77.3 \(\pm\) 0.2 | 67.3 \(\pm\) 0.2 | 45.4 \(\pm\) 2.7 | 35.4 \(\pm\) 3.1 | 50.3 \(\pm\) 1.4 | 35.4 \(\pm\) 1.0 | 41.6 \(\pm\) 1.1 |
| CDANN [106] (ECCV ’18) | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A |
| CDANN (reproduced) | 83.1 \(\pm\) 1.0 | 79.8 \(\pm\) 0.6 | 95.6 \(\pm\) 0.4 | 76.1 \(\pm\) 0.6 | 83.6 \(\pm\) 0.3 | 96.1 \(\pm\) 0.5 | 63.4 \(\pm\) 0.4 | 70.3 \(\pm\) 1.1 | 74.8 \(\pm\) 0.9 | 76.2 \(\pm\) 0.4 | 64.3 \(\pm\) 0.9 | 49.6 \(\pm\) 0.4 | 75.2 \(\pm\) 0.9 | 77.8 \(\pm\) 0.3 | 66.7 \(\pm\) 0.3 | 50.5 \(\pm\) 2.1 | 47.8 \(\pm\) 0.6 | 55.9 \(\pm\) 1.0 | 41.5 \(\pm\) 1.1 | 48.9 \(\pm\) 0.7 |
| DGER [114] (NeurIPS ’20) | 87.5 \(\pm\) 1.0 | 79.3 \(\pm\) 1.4 | 98.3 \(\pm\) 0.1 | 76.3 \(\pm\) 0.7 | 85.3 \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A |
| SelfReg [15] (ICCV ’21) | 87.9 \(\pm\) 1.0 | 79.4 \(\pm\) 1.4 | 96.8 \(\pm\) 0.7 | 78.3 \(\pm\) 1.2 | 85.6 \(\pm\) 0.4 | 96.7 \(\pm\) 0.4 | 65.2 \(\pm\) 1.2 | 73.1 \(\pm\) 1.3 | 76.2 \(\pm\) 0.7 | 77.8 \(\pm\) 0.9 | 63.6 \(\pm\) 1.4 | 53.1 \(\pm\) 1.0 | 76.9 \(\pm\) 0.4 | 78.1 \(\pm\) 0.4 | 67.9 \(\pm\) 0.7 | 48.8 \(\pm\) 0.9 | 41.3 \(\pm\) 1.8 | 57.3 \(\pm\) 0.7 | 40.6 \(\pm\) 0.9 | 47.0 \(\pm\) 0.3 |
| SelfReg (reproduced) | 83.0 \(\pm\) 0.8 | 77.8 \(\pm\) 1.2 | 95.4 \(\pm\) 0.8 | 74.2 \(\pm\) 2.1 | 82.6 \(\pm\) 0.7 | 96.5 \(\pm\) 0.6 | 64.4 \(\pm\) 1.0 | 69.4 \(\pm\) 1.2 | 74.6 \(\pm\) 1.1 | 76.2 \(\pm\) 0.5 | 65.6 \(\pm\) 0.4 | 49.9 \(\pm\) 0.3 | 75.7 \(\pm\) 0.3 | 77.5 \(\pm\) 0.5 | 67.2 \(\pm\) 0.2 | 50.7 \(\pm\) 3.1 | 46.0 \(\pm\) 1.0 | 53.4 \(\pm\) 0.9 | 38.8 \(\pm\) 2.1 | 47.2 \(\pm\) 1.0 |
| SagNet\(^\dagger\) [107] (CVPR ’21) | 87.4 \(\pm\) 1.0 | 80.7 \(\pm\) 0.6 | 97.1 \(\pm\) 0.1 | 80.0 \(\pm\) 0.4 | 86.3 \(\pm\) 0.2 | 97.9 \(\pm\) 0.4 | 64.5 \(\pm\) 0.5 | 71.4 \(\pm\) 1.3 | 77.5 \(\pm\) 0.5 | 77.8 \(\pm\) 0.5 | 63.4 \(\pm\) 0.2 | 54.8 \(\pm\) 0.4 | 75.8 \(\pm\) 0.4 | 78.3 \(\pm\) 0.3 | 68.1 \(\pm\) 0.1 | 53.0 \(\pm\) 2.9 | 43.0 \(\pm\) 2.5 | 57.9 \(\pm\) 0.6 | 40.4 \(\pm\) 1.3 | 48.6 \(\pm\) 1.0 |
| SagNet (reproduced) | 80.8 \(\pm\) 2.1 | 79.3 \(\pm\) 2.1 | 95.0 \(\pm\) 0.9 | 75.6 \(\pm\) 2.7 | 82.7 \(\pm\) 1.0 | 93.6 \(\pm\) 2.0 | 61.6 \(\pm\) 0.4 | 67.4 \(\pm\) 0.6 | 72.6 \(\pm\) 1.1 | 73.8 \(\pm\) 0.6 | 60.4 \(\pm\) 1.4 | 49.1 \(\pm\) 0.7 | 74.6 \(\pm\) 0.1 | 75.0 \(\pm\) 0.5 | 64.8 \(\pm\) 0.4 | 49.1 \(\pm\) 1.8 | 45.5 \(\pm\) 0.5 | 56.5 \(\pm\) 0.4 | 39.5 \(\pm\) 0.3 | 47.7 \(\pm\) 0.5 |
| SWAD [40] (NeurIPS ’21) | 89.3 \(\pm\) 0.2 | 83.4 \(\pm\) 0.6 | 97.3 \(\pm\) 0.3 | 82.5 \(\pm\) 0.5 | 88.1 \(\pm\) 0.1 | 98.8 \(\pm\) 0.1 | 63.3 \(\pm\) 0.3 | 75.3 \(\pm\) 0.5 | 79.2 \(\pm\) 0.6 | 79.1 \(\pm\) 0.1 | 66.1 \(\pm\) 0.4 | 57.7 \(\pm\) 0.4 | 78.4 \(\pm\) 0.1 | 80.2 \(\pm\) 0.2 | 70.6 \(\pm\) 0.2 | 55.4 \(\pm\) 0.0 | 44.9 \(\pm\) 1.1 | 59.7 \(\pm\) 0.4 | 39.9 \(\pm\) 0.2 | 50.0 \(\pm\) 0.3 |
| ARM\(^\dagger\) [108] (NeurIPS ’21) | 86.8 \(\pm\) 0.6 | 76.8 \(\pm\) 0.5 | 97.4 \(\pm\) 0.3 | 79.3 \(\pm\) 1.2 | 85.1 \(\pm\) 0.4 | 98.7 \(\pm\) 0.2 | 63.6 \(\pm\) 0.7 | 71.3 \(\pm\) 1.2 | 76.7 \(\pm\) 0.6 | 77.6 \(\pm\) 0.3 | 63.9 \(\pm\) 0.8 | 51.0 \(\pm\) 0.7 | 74.5 \(\pm\) 0.3 | 78.5 \(\pm\) 0.6 | 67.0 \(\pm\) 0.3 | 46.9 \(\pm\) 1.2 | 41.9 \(\pm\) 2.0 | 54.2 \(\pm\) 0.2 | 38.8 \(\pm\) 1.0 | 45.4 \(\pm\) 0.6 |
| ARM (reproduced) | 83.9 \(\pm\) 1.2 | 80.8 \(\pm\) 0.3 | 94.8 \(\pm\) 0.3 | 76.7 \(\pm\) 1.2 | 84.1 \(\pm\) 0.4 | 95.5 \(\pm\) 0.6 | 64.8 \(\pm\) 0.4 | 67.2 \(\pm\) 0.5 | 75.6 \(\pm\) 1.0 | 75.8 \(\pm\) 0.3 | 63.9 \(\pm\) 0.8 | 51.0 \(\pm\) 0.7 | 74.5 \(\pm\) 0.3 | 78.5 \(\pm\) 0.6 | 67.0 \(\pm\) 0.3 | 46.9 \(\pm\) 1.2 | 41.9 \(\pm\) 2.0 | 54.2 \(\pm\) 0.2 | 38.8 \(\pm\) 1.0 | 45.4 \(\pm\) 0.6 |
| IB-ERM [109] (NeurIPS ’21) | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | 56.4 \(\pm\) 2.1 |
| IB-ERM (reproduced) | 82.7 \(\pm\) 0.7 | 78.3 \(\pm\) 1.8 | 94.3 \(\pm\) 0.1 | 76.4 \(\pm\) 1.0 | 82.9 \(\pm\) 0.5 | 94.8 \(\pm\) 1.0 | 62.5 \(\pm\) 1.2 | 67.6 \(\pm\) 1.5 | 72.4 \(\pm\) 1.0 | 74.3 \(\pm\) 0.6 | 62.5 \(\pm\) 0.7 | 51.7 \(\pm\) 0.4 | 73.0 \(\pm\) 0.5 | 75.3 \(\pm\) 0.5 | 65.6 \(\pm\) 0.3 | 56.5 \(\pm\) 2.4 | 47.7 \(\pm\) 1.1 | 58.5 \(\pm\) 1.1 | 38.4 \(\pm\) 0.3 | 50.3 \(\pm\) 0.7 |
| IB-IRM [109] (NeurIPS ’21) | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | 54.1 \(\pm\) 2.0 |
| IB-IRM (reproduced) | 81.9 \(\pm\) 0.6 | 76.2 \(\pm\) 0.3 | 95.9 \(\pm\) 0.3 | 74.1 \(\pm\) 2.9 | 82.0 \(\pm\) 0.8 | 96.2 \(\pm\) 0.3 | 63.3 \(\pm\) 1.5 | 69.3 \(\pm\) 1.0 | 76.9 \(\pm\) 1.8 | 76.4 \(\pm\) 0.6 | 54.6 \(\pm\) 0.5 | 46.9 \(\pm\) 0.3 | 64.2 \(\pm\) 0.3 | 66.6 \(\pm\) 0.1 | 58.1 \(\pm\) 0.2 | 45.3 \(\pm\) 1.7 | 36.8 \(\pm\) 2.9 | 51.7 \(\pm\) 2.5 | 37.5 \(\pm\) 0.8 | 42.8 \(\pm\) 1.1 |
| Transfer [110] (NeurIPS ’21) | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A |
| Transfer (reproduced) | 79.5 \(\pm\) 1.2 | 82.6 \(\pm\) 0.8 | 92.6 \(\pm\) 0.3 | 77.2 \(\pm\) 0.7 | 83.0 \(\pm\) 0.4 | 93.8 \(\pm\) 1.8 | 62.5 \(\pm\) 0.7 | 67.0 \(\pm\) 0.5 | 71.2 \(\pm\) 1.8 | 73.6 \(\pm\) 0.7 | 57.6 \(\pm\) 1.0 | 46.4 \(\pm\) 0.6 | 71.4 \(\pm\) 0.2 | 74.7 \(\pm\) 0.3 | 62.5 \(\pm\) 0.3 | 41.0 \(\pm\) 4.0 | 24.5 \(\pm\) 3.4 | 48.7 \(\pm\) 0.4 | 31.0 \(\pm\) 1.2 | 36.3 \(\pm\) 1.3 |
| EQRM [111] (NeurIPS ’22) | 86.5 \(\pm\) 0.4 | 82.1 \(\pm\) 0.7 | 96.6 \(\pm\) 0.2 | 80.8 \(\pm\) 0.2 | 86.5 \(\pm\) 0.2 | 98.3 \(\pm\) 0.0 | 63.7 \(\pm\) 0.8 | 72.6 \(\pm\) 1.0 | 76.7 \(\pm\) 1.1 | 77.8 \(\pm\) 0.6 | 60.5 \(\pm\) 0.1 | 56.0 \(\pm\) 0.2 | 76.1 \(\pm\) 0.4 | 77.4 \(\pm\) 0.3 | 67.5 \(\pm\) 0.1 | 47.9 \(\pm\) 1.9 | 45.2 \(\pm\) 0.3 | 59.1 \(\pm\) 0.3 | 38.8 \(\pm\) 0.6 | 47.8 \(\pm\) 0.6 |
| EQRM (reproduced) | 83.0 \(\pm\) 0.6 | 80.8 \(\pm\) 0.5 | 94.5 \(\pm\) 0.5 | 77.7 \(\pm\) 2.6 | 84.0 \(\pm\) 0.7 | 97.1 \(\pm\) 0.2 | 62.8 \(\pm\) 1.4 | 70.2 \(\pm\) 0.4 | 73.8 \(\pm\) 1.0 | 76.0 \(\pm\) 0.4 | 64.7 \(\pm\) 0.3 | 51.8 \(\pm\) 0.4 | 75.6 \(\pm\) 0.5 | 77.5 \(\pm\) 0.3 | 67.4 \(\pm\) 0.2 | 47.7 \(\pm\) 1.5 | 38.9 \(\pm\) 2.8 | 52.8 \(\pm\) 0.2 | 40.7 \(\pm\) 1.0 | 45.0 \(\pm\) 0.8 |
| EoA [115] (NeurIPS ’22) | 90.5 \(\pm\) N/A | 83.4 \(\pm\) N/A | 98.0 \(\pm\) N/A | 82.5 \(\pm\) N/A | 88.6 \(\pm\) N/A | 99.1 \(\pm\) N/A | 63.1 \(\pm\) N/A | 75.9 \(\pm\) N/A | 78.3 \(\pm\) N/A | 79.1 \(\pm\) N/A | 69.1 \(\pm\) N/A | 59.8 \(\pm\) N/A | 79.5 \(\pm\) N/A | 81.5 \(\pm\) N/A | 72.5 \(\pm\) N/A | 57.8 \(\pm\) N/A | 46.5 \(\pm\) N/A | 61.3 \(\pm\) N/A | 43.5 \(\pm\) N/A | 52.3 \(\pm\) N/A |
| ADRMX [30] (arXiv ’23) | 87.7 \(\pm\) N/A | 80.6 \(\pm\) N/A | 97.7 \(\pm\) N/A | 77.5 \(\pm\) N/A | 85.9 \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | 78.5 \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | 68.3 \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | 47.4 \(\pm\) N/A |
| ADRMX (reproduced) | 86.7 \(\pm\) 1.0 | 80.7 \(\pm\) 0.5 | 96.2 \(\pm\) 0.6 | 74.9 \(\pm\) 0.3 | 84.6 \(\pm\) 0.3 | 94.8 \(\pm\) 1.5 | 62.7 \(\pm\) 0.2 | 69.3 \(\pm\) 0.9 | 75.6 \(\pm\) 0.6 | 75.6 \(\pm\) 0.5 | 64.1 \(\pm\) 0.4 | 50.6 \(\pm\) 0.7 | 74.4 \(\pm\) 0.3 | 77.5 \(\pm\) 0.4 | 66.6 \(\pm\) 0.2 | 47.0 \(\pm\) 2.7 | 44.4 \(\pm\) 1.2 | 55.1 \(\pm\) 0.6 | 42.6 \(\pm\) 0.9 | 47.2 \(\pm\) 0.8 |
| MADG [25] (NeurIPS ’23) | 87.8 \(\pm\) 0.5 | 82.2 \(\pm\) 0.6 | 97.7 \(\pm\) 0.3 | 78.3 \(\pm\) 0.4 | 86.5 \(\pm\) 0.4 | 98.5 \(\pm\) 0.2 | 65.8 \(\pm\) 0.3 | 73.1 \(\pm\) 0.3 | 77.3 \(\pm\) 0.1 | 78.7 \(\pm\) 0.2 | 68.6 \(\pm\) 0.5 | 55.5 \(\pm\) 0.2 | 79.6 \(\pm\) 0.3 | 81.5 \(\pm\) 0.4 | 71.3 \(\pm\) 0.3 | 60.0 \(\pm\) 1.2 | 51.8 \(\pm\) 0.2 | 57.4 \(\pm\) 0.3 | 45.6 \(\pm\) 0.5 | 53.7 \(\pm\) 0.5 |
| SAGM [116] (CVPR ’23) | 87.4 \(\pm\) 0.2 | 80.2 \(\pm\) 0.3 | 98.0 \(\pm\) 0.2 | 80.8 \(\pm\) 0.6 | 86.6 \(\pm\) 0.2 | 99.0 \(\pm\) 0.2 | 65.2 \(\pm\) 0.4 | 75.1 \(\pm\) 0.3 | 80.7 \(\pm\) 0.8 | 80.0 \(\pm\) 0.3 | 65.4 \(\pm\) 0.4 | 57.0 \(\pm\) 0.3 | 78.0 \(\pm\) 0.3 | 80.0 \(\pm\) 0.2 | 70.1 \(\pm\) 0.2 | 54.8 \(\pm\) 1.3 | 41.4 \(\pm\) 0.8 | 57.7 \(\pm\) 0.6 | 41.3 \(\pm\) 0.4 | 48.8 \(\pm\) 0.9 |
| GMDG [117] (CVPR ’24) | 84.7 \(\pm\) 1.0 | 81.7 \(\pm\) 2.4 | 97.5 \(\pm\) 0.4 | 80.5 \(\pm\) 1.8 | 85.6 \(\pm\) 0.3 | 98.3 \(\pm\) 0.4 | 65.9 \(\pm\) 1.0 | 73.4 \(\pm\) 0.8 | 79.3 \(\pm\) 1.3 | 79.2 \(\pm\) 0.3 | 68.9 \(\pm\) 0.3 | 56.2 \(\pm\) 1.7 | 79.9 \(\pm\) 0.6 | 82.0 \(\pm\) 0.4 | 70.7 \(\pm\) 0.2 | 60.9 \(\pm\) 2.5 | 47.3 \(\pm\) 1.6 | 55.2 \(\pm\) 0.5 | 41.0 \(\pm\) 1.4 | 51.1 \(\pm\) 0.9 |
| RDM [112] (WACV ’24) | 88.4 \(\pm\) 0.2 | 81.3 \(\pm\) 1.6 | 97.1 \(\pm\) 0.1 | 81.8 \(\pm\) 1.1 | 87.2 \(\pm\) 0.7 | 98.1 \(\pm\) 0.2 | 64.9 \(\pm\) 0.7 | 72.6 \(\pm\) 0.5 | 77.9 \(\pm\) 1.2 | 78.4 \(\pm\) 0.4 | 61.1 \(\pm\) 0.4 | 55.1 \(\pm\) 0.3 | 75.7 \(\pm\) 0.5 | 77.3 \(\pm\) 0.3 | 67.3 \(\pm\) 0.4 | 52.9 \(\pm\) 1.2 | 43.1 \(\pm\) 1.0 | 58.1 \(\pm\) 1.3 | 36.1 \(\pm\) 2.9 | 47.5 \(\pm\) 1.0 |
| RDM (reproduced) | 83.5 \(\pm\) 0.7 | 81.5 \(\pm\) 0.7 | 96.2 \(\pm\) 0.5 | 79.9 \(\pm\) 0.3 | 85.3 \(\pm\) 0.3 | 95.9 \(\pm\) 0.6 | 61.7 \(\pm\) 0.8 | 67.2 \(\pm\) 0.5 | 73.8 \(\pm\) 1.0 | 74.6 \(\pm\) 0.4 | 65.5 \(\pm\) 0.4 | 53.1 \(\pm\) 0.3 | 75.8 \(\pm\) 0.4 | 77.7 \(\pm\) 0.6 | 68.0 \(\pm\) 0.2 | 55.5 \(\pm\) 1.9 | 45.4 \(\pm\) 1.3 | 55.8 \(\pm\) 0.9 | 41.3 \(\pm\) 0.7 | 49.5 \(\pm\) 0.6 |
| URM [113] (TMLR ’24) | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | 87.2 \(\pm\) 3.4 | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | 77.1 \(\pm\) 0.2 | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | 68.9 \(\pm\) 0.6 | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | 49.3 \(\pm\) 0.9 |
| URM (reproduced) | 83.5 \(\pm\) 0.7 | 76.9 \(\pm\) 1.7 | 94.7 \(\pm\) 0.4 | 70.4 \(\pm\) 2.0 | 81.4 \(\pm\) 0.7 | 96.8 \(\pm\) 0.6 | 64.5 \(\pm\) 0.7 | 70.5 \(\pm\) 0.2 | 76.4 \(\pm\) 0.2 | 77.1 \(\pm\) 0.2 | 62.1 \(\pm\) 1.1 | 50.2 \(\pm\) 0.3 | 73.5 \(\pm\) 0.4 | 75.2 \(\pm\) 0.5 | 65.3 \(\pm\) 0.3 | 54.4 \(\pm\) 3.5 | 46.7 \(\pm\) 0.7 | 57.3 \(\pm\) 0.5 | 40.9 \(\pm\) 0.6 | 49.8 \(\pm\) 0.9 |
| CPCANet (Ours) | 86.0 \(\pm\) 0.4 | 82.8 \(\pm\) 0.9 | 95.4 \(\pm\) 0.6 | 77.8 \(\pm\) 0.7 | 85.5 \(\pm\) 0.3 | 97.1 \(\pm\) 0.3 | 63.2 \(\pm\) 0.3 | 68.4 \(\pm\) 1.8 | 74.9 \(\pm\) 0.2 | 75.9 \(\pm\) 0.5 | 68.2 \(\pm\) 0.4 | 54.2 \(\pm\) 0.6 | 75.5 \(\pm\) 0.4 | 79.2 \(\pm\) 0.5 | 69.3 \(\pm\) 0.3 | 44.3 \(\pm\) 1.4 | 47.9 \(\pm\) 0.4 | 57.2 \(\pm\) 1.2 | 40.3 \(\pm\) 2.8 | 47.4 \(\pm\) 0.9 |
| ViT-based Backbones | ||||||||||||||||||||
| SDViT-S [42] (ACCV ’22) | 87.6 \(\pm\) 0.3 | 82.4 \(\pm\) 0.4 | 98.0 \(\pm\) 0.3 | 77.2 \(\pm\) 1.0 | 86.3 \(\pm\) 0.2 | 96.8 \(\pm\) 0.5 | 64.2 \(\pm\) 0.8 | 76.2 \(\pm\) 0.4 | 78.5 \(\pm\) 0.4 | 78.9 \(\pm\) 0.4 | 68.3 \(\pm\) 0.8 | 56.3 \(\pm\) 0.2 | 79.5 \(\pm\) 0.3 | 81.8 \(\pm\) 0.1 | 71.5 \(\pm\) 0.2 | 55.9 \(\pm\) 1.7 | 31.7 \(\pm\) 2.6 | 52.2 \(\pm\) 0.3 | 37.4 \(\pm\) 0.6 | 44.3 \(\pm\) 1.0 |
| GMoE-S [43] (ICLR ’23) | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | 88.1 \(\pm\) 0.1 | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | 80.2 \(\pm\) 0.2 | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | 74.2 \(\pm\) 0.4 | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | 48.5 \(\pm\) 0.4 |
| GMoE-B [43] (ICLR ’23) | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | 89.4 \(\pm\) 0.1 | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | 81.2 \(\pm\) 0.1 | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | 77.2 \(\pm\) 0.4 | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | 49.3 \(\pm\) 0.3 |
| START-M-S [46] (NeurIPS ’24) | 88.6 \(\pm\) N/A | 83.2 \(\pm\) N/A | 98.6 \(\pm\) N/A | 77.8 \(\pm\) N/A | 87.1 \(\pm\) 0.3 | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A |
| START-M-B [46] (NeurIPS ’24) | 88.7 \(\pm\) N/A | 83.0 \(\pm\) N/A | 98.5 \(\pm\) N/A | 76.8 \(\pm\) N/A | 86.8 \(\pm\) 0.2 | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A |
| CPCANet-S (Ours) | 87.6 \(\pm\) 0.4 | 82.9 \(\pm\) 0.7 | 96.9 \(\pm\) 0.2 | 74.3 \(\pm\) 1.5 | 85.4 \(\pm\) 0.4 | 97.5 \(\pm\) 0.3 | 64.3 \(\pm\) 1.2 | 72.0 \(\pm\) 0.4 | 79.6 \(\pm\) 1.0 | 78.4 \(\pm\) 0.4 | 70.0 \(\pm\) 1.5 | 56.1 \(\pm\) 0.7 | 81.0 \(\pm\) 0.6 | 84.1 \(\pm\) 0.5 | 72.8 \(\pm\) 0.4 | 52.3 \(\pm\) 1.3 | 35.9 \(\pm\) 3.0 | 52.2 \(\pm\) 0.9 | 38.5 \(\pm\) 0.6 | 44.7 \(\pm\) 0.8 |
| CPCANet-B (Ours) | 91.7 \(\pm\) 0.6 | 85.3 \(\pm\) 0.2 | 99.3 \(\pm\) 0.4 | 82.1 \(\pm\) 0.8 | 89.6 \(\pm\) 0.3 | 97.9 \(\pm\) 0.2 | 66.4 \(\pm\) 1.0 | 73.6 \(\pm\) 0.2 | 81.2 \(\pm\) 1.4 | 79.8 \(\pm\) 0.4 | 77.9 \(\pm\) 0.5 | 61.1 \(\pm\) 0.4 | 83.2 \(\pm\) 0.5 | 86.4 \(\pm\) 0.3 | 77.1 \(\pm\) 0.2 | 51.6 \(\pm\) 0.4 | 33.2 \(\pm\) 2.7 | 51.4 \(\pm\) 0.5 | 42.4 \(\pm\) 0.8 | 44.6 \(\pm\) 0.7 |
| SSM-based Backbones | ||||||||||||||||||||
| DGMamba-T [45] (ACM MM ’24) | 91.2 \(\pm\) N/A | 86.9 \(\pm\) N/A | 98.9 \(\pm\) N/A | 87.0 \(\pm\) N/A | 91.0 \(\pm\) 0.1 | 97.7 \(\pm\) N/A | 64.8 \(\pm\) N/A | 79.3 \(\pm\) N/A | 81.0 \(\pm\) N/A | 80.7 \(\pm\) 0.1 | 75.6 \(\pm\) N/A | 61.9 \(\pm\) N/A | 83.8 \(\pm\) N/A | 86.0 \(\pm\) N/A | 76.8 \(\pm\) 0.1 | 62.0 \(\pm\) N/A | 67.7 \(\pm\) N/A | 61.7 \(\pm\) N/A | 46.9 \(\pm\) N/A | 54.5 \(\pm\) 0.1 |
| DGMamba-S [45] (ACM MM ’24) | 94.1 \(\pm\) N/A | 87.8 \(\pm\) N/A | 99.6 \(\pm\) N/A | 89.0 \(\pm\) N/A | 92.6 \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A |
| DGMamba-B [45] (ACM MM ’24) | 95.1 \(\pm\) N/A | 89.2 \(\pm\) N/A | 99.8 \(\pm\) N/A | 87.9 \(\pm\) N/A | 93.0 \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A | N/A \(\pm\) N/A |
| START-M [46] (NeurIPS ’24) | 93.3 \(\pm\) N/A | 87.6 \(\pm\) N/A | 99.1 \(\pm\) N/A | 87.1 \(\pm\) N/A | 91.8 \(\pm\) 0.4 | 98.8 \(\pm\) N/A | 67.0 \(\pm\) N/A | 77.2 \(\pm\) N/A | 82.3 \(\pm\) N/A | 81.3 \(\pm\) 0.3 | 75.2 \(\pm\) N/A | 62.0 \(\pm\) N/A | 85.3 \(\pm\) N/A | 85.8 \(\pm\) N/A | 77.1 \(\pm\) 0.2 | 70.1 \(\pm\) N/A | 50.0 \(\pm\) N/A | 63.0 \(\pm\) N/A | 49.5 \(\pm\) N/A | 58.2 \(\pm\) 0.8 |
| START-X [46] (NeurIPS ’24) | 92.8 \(\pm\) N/A | 87.4 \(\pm\) N/A | 99.2 \(\pm\) N/A | 87.5 \(\pm\) N/A | 91.7 \(\pm\) 0.5 | 98.7 \(\pm\) N/A | 66.6 \(\pm\) N/A | 77.0 \(\pm\) N/A | 82.6 \(\pm\) N/A | 81.2 \(\pm\) 0.3 | 75.5 \(\pm\) N/A | 62.1 \(\pm\) N/A | 85.2 \(\pm\) N/A | 85.5 \(\pm\) N/A | 77.1 \(\pm\) 0.1 | 70.7 \(\pm\) N/A | 49.5 \(\pm\) N/A | 64.0 \(\pm\) N/A | 49.0 \(\pm\) N/A | 58.3 \(\pm\) 0.8 |
| CPCANet-T (Ours) | 91.8 \(\pm\) 0.7 | 86.3 \(\pm\) 0.8 | 98.0 \(\pm\) 0.4 | 82.3 \(\pm\) 2.7 | 89.6 \(\pm\) 0.7 | 97.5 \(\pm\) 0.4 | 66.7 \(\pm\) 0.4 | 72.9 \(\pm\) 1.3 | 79.4 \(\pm\) 1.3 | 79.1 \(\pm\) 0.5 | 69.0 \(\pm\) 0.4 | 54.6 \(\pm\) 1.5 | 77.5 \(\pm\) 0.3 | 79.8 \(\pm\) 0.2 | 70.2 \(\pm\) 0.4 | 60.3 \(\pm\) 0.3 | 46.5 \(\pm\) 0.8 | 61.9 \(\pm\) 0.9 | 47.6 \(\pm\) 1.2 | 54.1 \(\pm\) 0.4 |
| CPCANet-S (Ours) | 93.6 \(\pm\) 0.6 | 91.6 \(\pm\) 0.4 | 99.5 \(\pm\) 0.2 | 85.7 \(\pm\) 1.4 | 92.6 \(\pm\) 0.4 | 96.5 \(\pm\) 0.6 | 65.8 \(\pm\) 0.7 | 75.6 \(\pm\) 1.4 | 82.4 \(\pm\) 1.1 | 80.1 \(\pm\) 0.5 | 77.1 \(\pm\) 0.7 | 58.6 \(\pm\) 0.2 | 81.5 \(\pm\) 0.1 | 84.3 \(\pm\) 0.5 | 75.4 \(\pm\) 0.2 | 59.7 \(\pm\) 0.5 | 51.3 \(\pm\) 0.3 | 64.8 \(\pm\) 0.3 | 49.9 \(\pm\) 1.1 | 56.4 \(\pm\) 0.3 |
| CPCANet-B (Ours) | 93.2 \(\pm\) 0.4 | 87.8 \(\pm\) 1.4 | 99.5 \(\pm\) 0.1 | 84.4 \(\pm\) 1.9 | 91.2 \(\pm\) 0.6 | 96.5 \(\pm\) 0.4 | 66.3 \(\pm\) 1.3 | 75.3 \(\pm\) 0.4 | 80.2 \(\pm\) 0.5 | 79.6 \(\pm\) 0.4 | 79.7 \(\pm\) 0.8 | 61.6 \(\pm\) 0.5 | 85.2 \(\pm\) 0.3 | 85.8 \(\pm\) 0.5 | 78.1 \(\pm\) 0.3 | 66.4 \(\pm\) 2.0 | 49.9 \(\pm\) 1.4 | 64.3 \(\pm\) 0.9 | 50.1 \(\pm\) 1.9 | 57.7 \(\pm\) 0.8 |
First, we perform a coarse grid search over (\(d, T\)) using a ResNet-50 backbone to analyze the sensitivity of model performance to these hyperparameters, and then fix them across all subsequent backbones and datasets.
As shown in Table [tab:hyperparameter95analysis], performance remains stable under this sweep, indicating that CPCANet is robust in
extracting domain-invariant representations. Second, we observe significant class imbalance in datasets such as TerraIncognita, as detailed in Table 1, which reflects real-world scenarios well and contributes to the reliability of the evaluation. Lastly, while CPCANet with modern backbones appears to exhibit a performance gap compared to results
reported in prior literature, this is primarily due to inconsistencies in training setups. For the most reliable comparison, we refer readers to Table 2, which indicates that more advanced backbone architectures improve performance, often at the cost of increased computational resources.
8pt
c | c c c c c c &
(lr)2-7 & \(T=1\) & \(T=2\) & \(T=3\) & \(T=4\) & \(T=5\) & \(T=6\)
& 68.5 \(\pm\) 0.2 & 68.9 \(\pm\) 0.4 & 68.0 \(\pm\) 0.3 & 68.7 \(\pm\) 0.2 & 69.1 \(\pm\) 0.6 & 68.7 \(\pm\) 0.4
128 & 68.6 \(\pm\) 0.1 & 68.5 \(\pm\) 0.2 & 69.2 \(\pm\) 0.6 & 68.6 \(\pm\) 0.6 & 68.6 \(\pm\) 0.2 & 68.8 \(\pm\) 0.2
256 & 68.9 \(\pm\) 0.2 & 68.8 \(\pm\) 0.4 & 69.5 \(\pm\) 0.5 & 68.8 \(\pm\) 0.2 & 69.0
\(\pm\) 0.2 & 69.1 \(\pm\) 0.3
512 & 68.8 \(\pm\) 0.5 & 68.8 \(\pm\) 0.2 & 68.7 \(\pm\) 0.1 & 68.9 \(\pm\) 0.3 & 69.2 \(\pm\) 0.1 & 68.4 \(\pm\) 0.2
In this work, we introduced CPCANet, a structured domain-invariant framework that integrates CPCA-based statistical structure into deep neural networks via a differentiable, unfolded Riemannian optimization scheme. By explicitly modeling shared structure across domains and leveraging it to guide representation learning, CPCANet achieves SOTA zero-shot transfer performance across multiple DG benchmarks. The framework is practical, as it is architecture-agnostic, introduces minimal computational overhead, and requires no task-specific hyperparameter tuning.
Broader Impacts and Future Directions. By demonstrating that unrolled statistical solvers can guide neural architectures, this work opens promising research directions for CPCA-based learning. While our current formulation relies on domain labels to estimate latent covariances, extending this differentiable framework to unsupervised or self-supervised settings is a natural next step. Additionally, applying the framework to distribution shift scenarios such as data streams and online learning is important for practical deployment. Overall, CPCANet provides a foundation for developing more interpretable, mathematically grounded, and robust models for generalization under distribution shift.
Claims
Question: Do the main claims made in the abstract and introduction accurately reflect the paper’s contributions and scope?
Answer:
Justification: The abstract and introduction summarize the proposed CPCA-based framework, the deep unfolded approach, and the resulting performance gains.
Guidelines:
The answer means that the abstract and introduction do not include the claims made in the paper.
The abstract and/or introduction should clearly state the claims made, including the contributions made in the paper and important assumptions and limitations. A or answer to this question will not be perceived well by the reviewers.
The claims made should match theoretical and experimental results, and reflect how much the results can be expected to generalize to other settings.
It is fine to include aspirational goals as motivation as long as it is clear that these goals are not attained by the paper.
Limitations
Question: Does the paper discuss the limitations of the work performed by the authors?
Answer:
Justification: Limitations are discussed in the conclusion (Sec. 5), including reliance on domain labels and not yet validated in settings such as online learning.
Guidelines:
The answer means that the paper has no limitation while the answer means that the paper has limitations, but those are not discussed in the paper.
The authors are encouraged to create a separate “Limitations” section in their paper.
The paper should point out any strong assumptions and how robust the results are to violations of these assumptions (e.g., independence assumptions, noiseless settings, model well-specification, asymptotic approximations only holding locally). The authors should reflect on how these assumptions might be violated in practice and what the implications would be.
The authors should reflect on the scope of the claims made, e.g., if the approach was only tested on a few datasets or with a few runs. In general, empirical results often depend on implicit assumptions, which should be articulated.
The authors should reflect on the factors that influence the performance of the approach. For example, a facial recognition algorithm may perform poorly when image resolution is low or images are taken in low lighting. Or a speech-to-text system might not be used reliably to provide closed captions for online lectures because it fails to handle technical jargon.
The authors should discuss the computational efficiency of the proposed algorithms and how they scale with dataset size.
If applicable, the authors should discuss possible limitations of their approach to address problems of privacy and fairness.
While the authors might fear that complete honesty about limitations might be used by reviewers as grounds for rejection, a worse outcome might be that reviewers discover limitations that aren’t acknowledged in the paper. The authors should use their best judgment and recognize that individual actions in favor of transparency play an important role in developing norms that preserve the integrity of the community. Reviewers will be specifically instructed to not penalize honesty concerning limitations.
Theory assumptions and proofs
Question: For each theoretical result, does the paper provide the full set of assumptions and a complete (and correct) proof?
Answer:
Justification: The paper focuses on methodology and model design based on established principles, without introducing new formal theoretical results requiring standalone proofs.
Guidelines:
The answer means that the paper does not include theoretical results.
All the theorems, formulas, and proofs in the paper should be numbered and cross-referenced.
All assumptions should be clearly stated or referenced in the statement of any theorems.
The proofs can either appear in the main paper or the supplemental material, but if they appear in the supplemental material, the authors are encouraged to provide a short proof sketch to provide intuition.
Inversely, any informal proof provided in the core of the paper should be complemented by formal proofs provided in appendix or supplemental material.
Theorems and Lemmas that the proof relies upon should be properly referenced.
Experimental result reproducibility
Question: Does the paper fully disclose all the information needed to reproduce the main experimental results of the paper to the extent that it affects the main claims and/or conclusions of the paper (regardless of whether the code and data are provided or not)?
Answer:
Justification: The paper provides complete details of the model architecture, training procedure, datasets, evaluation protocol, and hyperparameter settings (Sec. 4) sufficient to reproduce the main experimental results and support the reported conclusions.
Guidelines:
The answer means that the paper does not include experiments.
If the paper includes experiments, a answer to this question will not be perceived well by the reviewers: Making the paper reproducible is important, regardless of whether the code and data are provided or not.
If the contribution is a dataset and/or model, the authors should describe the steps taken to make their results reproducible or verifiable.
Depending on the contribution, reproducibility can be accomplished in various ways. For example, if the contribution is a novel architecture, describing the architecture fully might suffice, or if the contribution is a specific model and empirical evaluation, it may be necessary to either make it possible for others to replicate the model with the same dataset, or provide access to the model. In general. releasing code and data is often one good way to accomplish this, but reproducibility can also be provided via detailed instructions for how to replicate the results, access to a hosted model (e.g., in the case of a large language model), releasing of a model checkpoint, or other means that are appropriate to the research performed.
While NeurIPS does not require releasing code, the conference does require all submissions to provide some reasonable avenue for reproducibility, which may depend on the nature of the contribution. For example
If the contribution is primarily a new algorithm, the paper should make it clear how to reproduce that algorithm.
If the contribution is primarily a new model architecture, the paper should describe the architecture clearly and fully.
If the contribution is a new model (e.g., a large language model), then there should either be a way to access this model for reproducing the results or a way to reproduce the model (e.g., with an open-source dataset or instructions for how to construct the dataset).
We recognize that reproducibility may be tricky in some cases, in which case authors are welcome to describe the particular way they provide for reproducibility. In the case of closed-source models, it may be that access to the model is limited in some way (e.g., to registered users), but it should be possible for other researchers to have some path to reproducing or verifying the results.
Open access to data and code
Question: Does the paper provide open access to the data and code, with sufficient instructions to faithfully reproduce the main experimental results, as described in supplemental material?
Answer:
Justification: The code is not yet publicly available at the time of submission, but we will release an open-source implementation with full training and evaluation details to enable faithful reproduction of the reported results.
Guidelines:
The answer means that paper does not include experiments requiring code.
Please see the NeurIPS code and data submission guidelines (https://neurips.cc/public/guides/CodeSubmissionPolicy) for more details.
While we encourage the release of code and data, we understand that this might not be possible, so is an acceptable answer. Papers cannot be rejected simply for not including code, unless this is central to the contribution (e.g., for a new open-source benchmark).
The instructions should contain the exact command and environment needed to run to reproduce the results. See the NeurIPS code and data submission guidelines (https://neurips.cc/public/guides/CodeSubmissionPolicy) for more details.
The authors should provide instructions on data access and preparation, including how to access the raw data, preprocessed data, intermediate data, and generated data, etc.
The authors should provide scripts to reproduce all experimental results for the new proposed method and baselines. If only a subset of experiments are reproducible, they should state which ones are omitted from the script and why.
At submission time, to preserve anonymity, the authors should release anonymized versions (if applicable).
Providing as much information as possible in supplemental material (appended to the paper) is recommended, but including URLs to data and code is permitted.
Experimental setting/details
Question: Does the paper specify all the training and test details (e.g., data splits, hyperparameters, how they were chosen, type of optimizer) necessary to understand the results?
Answer:
Justification: The paper provides complete training and evaluation details, including data splits, optimization settings, hyperparameters, and model selection procedures (Sec. 4), sufficient to understand and reproduce the reported results.
Guidelines:
The answer means that the paper does not include experiments.
The experimental setting should be presented in the core of the paper to a level of detail that is necessary to appreciate the results and make sense of them.
The full details can be provided either with the code, in appendix, or as supplemental material.
Experiment statistical significance
Question: Does the paper report error bars suitably and correctly defined or other appropriate information about the statistical significance of the experiments?
Answer:
Justification: The experiments are conducted over three random seeds, and performance is reported as mean \(\pm\) standard deviation across these runs.
Guidelines:
The answer means that the paper does not include experiments.
The authors should answer if the results are accompanied by error bars, confidence intervals, or statistical significance tests, at least for the experiments that support the main claims of the paper.
The factors of variability that the error bars are capturing should be clearly stated (for example, train/test split, initialization, random drawing of some parameter, or overall run with given experimental conditions).
The method for calculating the error bars should be explained (closed form formula, call to a library function, bootstrap, etc.)
The assumptions made should be given (e.g., Normally distributed errors).
It should be clear whether the error bar is the standard deviation or the standard error of the mean.
It is OK to report 1-sigma error bars, but one should state it. The authors should preferably report a 2-sigma error bar than state that they have a 96% CI, if the hypothesis of Normality of errors is not verified.
For asymmetric distributions, the authors should be careful not to show in tables or figures symmetric error bars that would yield results that are out of range (e.g., negative error rates).
If error bars are reported in tables or plots, the authors should explain in the text how they were calculated and reference the corresponding figures or tables in the text.
Experiments compute resources
Question: For each experiment, does the paper provide sufficient information on the computer resources (type of compute workers, memory, time of execution) needed to reproduce the experiments?
Answer:
Justification: Experiments are conducted on an NVIDIA A100 GPU (80GB), with peak GPU usage and total GPU time reported in Table 2.
Guidelines:
The answer means that the paper does not include experiments.
The paper should indicate the type of compute workers CPU or GPU, internal cluster, or cloud provider, including relevant memory and storage.
The paper should provide the amount of compute required for each of the individual experimental runs as well as estimate the total compute.
The paper should disclose whether the full research project required more compute than the experiments reported in the paper (e.g., preliminary or failed experiments that didn’t make it into the paper).
Code of ethics
Question: Does the research conducted in the paper conform, in every respect, with the NeurIPS Code of Ethics https://neurips.cc/public/EthicsGuidelines?
Answer:
Justification: The research conforms to the NeurIPS Code of Ethics.
Guidelines:
The answer means that the authors have not reviewed the NeurIPS Code of Ethics.
If the authors answer , they should explain the special circumstances that require a deviation from the Code of Ethics.
The authors should make sure to preserve anonymity (e.g., if there is a special consideration due to laws or regulations in their jurisdiction).
Broader impacts
Question: Does the paper discuss both potential positive societal impacts and negative societal impacts of the work performed?
Answer:
Justification: The paper focuses on foundational methodology and algorithmic design for representation learning.
Guidelines:
The answer means that there is no societal impact of the work performed.
If the authors answer or , they should explain why their work has no societal impact or why the paper does not address societal impact.
Examples of negative societal impacts include potential malicious or unintended uses (e.g., disinformation, generating fake profiles, surveillance), fairness considerations (e.g., deployment of technologies that could make decisions that unfairly impact specific groups), privacy considerations, and security considerations.
The conference expects that many papers will be foundational research and not tied to particular applications, let alone deployments. However, if there is a direct path to any negative applications, the authors should point it out. For example, it is legitimate to point out that an improvement in the quality of generative models could be used to generate Deepfakes for disinformation. On the other hand, it is not needed to point out that a generic algorithm for optimizing neural networks could enable people to train models that generate Deepfakes faster.
The authors should consider possible harms that could arise when the technology is being used as intended and functioning correctly, harms that could arise when the technology is being used as intended but gives incorrect results, and harms following from (intentional or unintentional) misuse of the technology.
If there are negative societal impacts, the authors could also discuss possible mitigation strategies (e.g., gated release of models, providing defenses in addition to attacks, mechanisms for monitoring misuse, mechanisms to monitor how a system learns from feedback over time, improving the efficiency and accessibility of ML).
Safeguards
Question: Does the paper describe safeguards that have been put in place for responsible release of data or models that have a high risk for misuse (e.g., pre-trained language models, image generators, or scraped datasets)?
Answer:
Justification: The paper focuses on foundational algorithmic design for representation learning and does not introduce direct societal impacts.
Guidelines:
The answer means that the paper poses no such risks.
Released models that have a high risk for misuse or dual-use should be released with necessary safeguards to allow for controlled use of the model, for example by requiring that users adhere to usage guidelines or restrictions to access the model or implementing safety filters.
Datasets that have been scraped from the Internet could pose safety risks. The authors should describe how they avoided releasing unsafe images.
We recognize that providing effective safeguards is challenging, and many papers do not require this, but we encourage authors to take this into account and make a best faith effort.
Licenses for existing assets
Question: Are the creators or original owners of assets (e.g., code, data, models), used in the paper, properly credited and are the license and terms of use explicitly mentioned and properly respected?
Answer:
Justification: All datasets, codebases, and models used in this work are properly credited through citations to the original sources. The corresponding licenses and terms of use are respected as required by the respective providers.
Guidelines:
The answer means that the paper does not use existing assets.
The authors should cite the original paper that produced the code package or dataset.
The authors should state which version of the asset is used and, if possible, include a URL.
The name of the license (e.g., CC-BY 4.0) should be included for each asset.
For scraped data from a particular source (e.g., website), the copyright and terms of service of that source should be provided.
If assets are released, the license, copyright information, and terms of use in the package should be provided. For popular datasets, paperswithcode.com/datasets has curated licenses for some datasets. Their licensing guide can help determine the license of a dataset.
For existing datasets that are re-packaged, both the original license and the license of the derived asset (if it has changed) should be provided.
If this information is not available online, the authors are encouraged to reach out to the asset’s creators.
New assets
Question: Are new assets introduced in the paper well documented and is the documentation provided alongside the assets?
Answer:
Justification: The new assets will be released upon acceptance, including a fully documented codebase with implementation details and usage instructions.
Guidelines:
The answer means that the paper does not release new assets.
Researchers should communicate the details of the dataset/code/model as part of their submissions via structured templates. This includes details about training, license, limitations, etc.
The paper should discuss whether and how consent was obtained from people whose asset is used.
At submission time, remember to anonymize your assets (if applicable). You can either create an anonymized URL or include an anonymized zip file.
Crowdsourcing and research with human subjects
Question: For crowdsourcing experiments and research with human subjects, does the paper include the full text of instructions given to participants and screenshots, if applicable, as well as details about compensation (if any)?
Answer:
Justification: The paper does not involve crowdsourcing or research with human subjects.
Guidelines:
The answer means that the paper does not involve crowdsourcing nor research with human subjects.
Including this information in the supplemental material is fine, but if the main contribution of the paper involves human subjects, then as much detail as possible should be included in the main paper.
According to the NeurIPS Code of Ethics, workers involved in data collection, curation, or other labor should be paid at least the minimum wage in the country of the data collector.
Institutional review board (IRB) approvals or equivalent for research with human subjects
Question: Does the paper describe potential risks incurred by study participants, whether such risks were disclosed to the subjects, and whether Institutional Review Board (IRB) approvals (or an equivalent approval/review based on the requirements of your country or institution) were obtained?
Answer:
Justification: The research does not involve human subjects or primary data collection from individuals.
Guidelines:
The answer means that the paper does not involve crowdsourcing nor research with human subjects.
Depending on the country in which research is conducted, IRB approval (or equivalent) may be required for any human subjects research. If you obtained IRB approval, you should clearly state this in the paper.
We recognize that the procedures for this may vary significantly between institutions and locations, and we expect authors to adhere to the NeurIPS Code of Ethics and the guidelines for their institution.
For initial submissions, do not include any information that would break anonymity (if applicable), such as the institution conducting the review.
Declaration of LLM usage
Question: Does the paper describe the usage of LLMs if it is an important, original, or non-standard component of the core methods in this research? Note that if the LLM is used only for writing, editing, or formatting purposes and does not impact the core methodology, scientific rigor, or originality of the research, declaration is not required.
Answer:
Justification: The core methods and experiments in this work do not involve the use of LLMs as part of the proposed methodology. Any LLM usage, if present, is limited to writing and editing assistance and does not affect the scientific content or experimental results.
Guidelines:
The answer means that the core method development in this research does not involve LLMs as any important, original, or non-standard components.
Please refer to our LLM policy in the NeurIPS handbook for what should or should not be described.