用于域泛化的投影追踪 CPCANet Projection Pursuit CPCANet for Domain Generalization
用 Stiefel 流形优化与稳健投影追踪绕开 CPCA 协方差秩亏瓶颈。
前置知识
域泛化 (Domain Generalization, DG)
给定 $K$ 个源域 $E_{tr}=\{E_1,\dots,E_K\}$,每个域 $E_k$ 采样自联合分布 $P_{XY}^{(k)}$,目标是学一个能泛化到与所有源域分布都不同的未见目标域 $E_{te}$ ($P_{XY}^{(te)}\neq P_{XY}^{(k)}$) 的预测器。与域适应不同,DG 在训练时完全接触不到目标域数据。
整篇论文的问题设定,所有方法设计都围绕'如何从多源域学到域不变表征'展开。
公共主成分分析 (CPCA)
经典 PCA 的多总体推广,假设 $K$ 个总体的协方差矩阵共享同一组公共正交基 $\beta$,但保留各自域特异的特征值 $\Lambda_k$,即 $\Sigma_k=\beta\Lambda_k\beta^\top$。公共基自然对应跨域不变结构,因此与 DG 高度契合。CPCANet 把 CPCA 嵌入深度网络以抽取公共主成分 (CPCs)。
PP-CPCANet 是 CPCANet 的直接改进,必须理解 CPCA 的'共享基'假设才能理解本文要绕开的协方差估计瓶颈。
Stiefel 流形与 Cayley 变换
Stiefel 流形 $\mathrm{St}(d,p)$ 是所有满足 $\beta^\top\beta=I_d$ 的半正交矩阵集合。Cayley 变换 $\beta=(I-\tfrac12 A)(I+\tfrac12 A)^{-1}$ 把任意反对称矩阵 $A^\top=-A$ 映射为正交矩阵,从而把流形上的约束优化转化为对无约束向量 $\theta$ 的优化,实现流形平凡化 (manifold trivialization)。
本文用这一参数化把'全局正交基'变成可随网络一起反向传播的可学习参数,是绕开 batch-wise 协方差估计的关键技术。
投影追踪 (Projection Pursuit, PP)
一种降维范式,不计算协方差矩阵,而是直接在投影样本 $U=X\beta$ 上最大化某个投影指标 (如 L1 散度、median-based 散度),从而天然规避高维小样本下的协方差秩亏问题。其挑战在于:正交基下投影总方差具有旋转不变性,无加权时 PP 没有优化信号。
PP-CPCANet 的名字即源于此,作者用对称破缺权重 + detached-median L1 散度解决了 PP 在深度网络中的两大难题。
研究动机
CPCANet 将 CPCA 嵌入深度网络,通过小批量协方差估计抽取域不变 CPCs。但现代深度学习中特征维度 $p$ 远大于小批量样本数 $N_k$,设域 $k$ 的中心化特征矩阵为 $X_k\in\mathbb{R}^{N_k\times p}$,则 $n_k=N_k-1\ll p$,导致协方差矩阵 $X_k^\top X_k$ 严重秩亏。虽然 dual PCA 改用 Gram 矩阵 $X_k X_k^\top$ 缓解数值奇异性,但恢复的子空间仍被可用样本数 $n_k$ 截断,只能逼近真实公共子空间,丢弃重要几何信息。具体场景:DomainBed 协议下每域 batch 仅 32 样本,而 ResNet-50/VMamba 的特征维度高达数千,秩亏瓶颈在 PACS、VLCS、OfficeHome、TerraIncognita 四个标准 benchmark 上普遍存在。
本文的目标是本文要设计一个 covariance-free 的深度 CPCA 框架 (PP-CPCANet),彻底绕开 batch-wise 协方差估计的秩亏瓶颈:通过一个全局可学习的正交基抽取域不变 CPCs,使其不再受小样本限制;同时提供稠密且对域漂移离群点稳健的优化信号;最终在保持或超越 CPCANet 精度的前提下降低训练显存与时间开销,并在 SSM (VMamba) backbone 上取得 SOTA 平均域泛化精度。
与已有工作不同的是,已有 CPCA 类方法 (CPCANet 及其 dual PCA 变体) 本质都依赖协方差矩阵估计,从根本上受限于小样本。本文的独特切入角度是彻底放弃协方差估计范式,改用投影追踪 (PP) 直接在投影特征上优化投影指标;并创新性地把稳健统计 (median-based L1 散度) 与 PP 结合,进一步用 detached-median (stop-gradient 锚点) 解决中位数反向传播梯度稀疏不稳定的问题,用单调递减对称破缺权重 $w_t$ 解决正交基旋转不变性导致 PP 无优化信号的理论矛盾。
核心方法
PP-CPCANet 整体思路:先用预训练 backbone $h_\theta$ 提取环境特征 $\tilde F_0$,再经 $T$ 级 progressive bottleneck cascade,每级先用瓶颈模块 $b_{\psi_t}$ 把特征压到 $d_t$ 维 $Z_t$,通过参数化 Stiefel 流形得到正交基 $\beta_t$ 并投影出 $U_t=Z_t\beta_t$,随后用域引导特征调制残差更新特征 $\tilde F_t=(\tilde F_{t-1}\odot\gamma_t)+\Delta F_t$。核心是绕开协方差、直接学全局正交基。关键超参:$\lambda_{ppcpca}=5\times10^{-3}$、$T=1$、$d_1=128$、每域 batch=32、dropout=0.5、label smoothing=0.1、backbone lr $5\times10^{-5}$、PP 模块 lr $1\times10^{-4}$,ResNet-50 用 Adam 训 5000 步,DeiT/VMamba 用 AdamW (wd 0.05) 训 10000 步,全部在 A100 80GB 上完成。
核心创新两点。(1) 参数化 Stiefel 流形:用无约束向量 $\theta_t\in\mathbb{R}^{d_t(d_t-1)/2}$ 经 $S(\cdot)$ 构造反对称矩阵 $A_t=S(\theta_t)$,再由 Cayley 变换 $\beta_t=(I-\tfrac12 A_t)(I+\tfrac12 A_t)^{-1}$ 得正交基,保证 $\beta_t^\top\beta_t=I$,使正交基成为可联合优化的全局参数。(2) 对称破缺 detached-median L1 散度:固定中位数锚点 $m_{t,k}=\mathrm{sg}[\mathrm{median}\{U^{(i)}_{t,k}\}]$ (stop-gradient),用单调递减权重 $w_t$ (归一化 $\sum_j w_{t,j}=1$,如正比 $[d_t,d_t-1,\dots,1]$) 计算 $s_{t,k}=w_t^\top\big(\tfrac1{N_k}\sum_i|U^{(i)}_{t,k}-m_{t,k}|\big)$。权重 $w_t$ 打破旋转不变性,强制方差集中到前几个主分量,为 $\beta_t$ 提供优化信号。与 CPCANet 的 batch-wise 谱分解本质不同。
方法步骤详情
完整前向见 Algorithm 1。(1) 特征提取 $\tilde F_0=h_\theta(X)$。(2) 对 $t=1,\dots,T$:$Z_t=b_{\psi_t}(\tilde F_{t-1})$;$A_t=S(\theta_t)$;Cayley 得 $\beta_t$;$U_t=Z_t\beta_t$。(3) 域引导调制:$\gamma_t=2\sigma(\mathrm{MLP}_{\gamma_t}(U_t))$,$\Delta F_t=\mathrm{MLP}_{\Delta f_t}(U_t)$,$\tilde F_t=(\tilde F_{t-1}\odot\gamma_t)+\Delta F_t$。(4) PP 散度:每域 $k$ 算锚点 $m_{t,k}=\mathrm{sg}[\mathrm{median}\{U^{(i)}_{t,k}\}]$,再算 $s_{t,k}=w_t^\top\big(\tfrac1{N_k}\sum_i|U^{(i)}_{t,k}-m_{t,k}|\big)$,归一化 $\mathcal L_{ppcpca}=-\tfrac1{KT}\sum_{t,k}s_{t,k}$。(5) 联合目标:由末层 $\tilde F_T$ 算 logits $\hat Y=\tilde F_T W_{cls}+b_{cls}$,$\mathcal L_{total}=\mathcal L_{task}+\lambda_{ppcpca}\mathcal L_{ppcpca}$。级联维度按 $d_{t+1}=\max(d_t/2,16)$ 递减。
技术新颖性
技术新颖性体现在四处。(1) 首个 covariance-free 深度 CPCA:用全局可学正交基取代 batch-wise 谱分解,从根本上规避 $n_k\ll p$ 的秩亏,而非像 dual PCA 那样只缓解数值奇异性。(2) detached-median 技巧:stop-gradient 固定中位数锚点,避免非光滑 median 算子反向传播产生稀疏不稳定梯度,借鉴自 SimSiam 系列的 stop-gradient 思路。(3) 对称破缺权重 $w_t$:从理论上指出'正交基下投影总方差旋转不变 → 无加权 PP 无优化信号'的矛盾,并用单调递减权重强制方差集中到前几个分量,这是把 PP 引入深度网络的关键理论贡献。(4) progressive bottleneck cascade $d_{t+1}=\max(d_t/2,16)$:基于信息瓶颈原理逐步过滤高熵域特异变化。这些都是实质性方法创新,而非简单组合。
实验结果
逐项分析。(1) SOTA 仅在 SSM 成立:PP-CPCANet-B+VMamba-B 平均 77.2%,超 CPCANet-B 的 76.6% (+0.6%),为全表最高,论文 SOTA 主张基于此。(2) ResNet-50 上 PP-CPCANet 69.2% 略低于 CPCANet 69.5% (-0.3%);ViT-B 上 72.6% 略低于 72.8% (-0.2%),卷积/注意力 backbone 上未占优,优势对 backbone 敏感。(3) 训练开销降低:ResNet-50 显存 8.25GB vs 8.65GB,GPU 时间 0-16:47:22 vs 0-16:49:40;VMamba-B 总 GPU 时间 4-11:23:51 vs 4-12:57:31 (省约 1.5 小时)。(4) 消融 $d_1$ (T=1):32→69.0、64→68.9、128→69.2(最优)、256→68.8、512→68.7,中间最优。(5) 消融 $T$ ($d_1=128$):T=1→69.2 最优,T≥2 (T=2→68.3, T=3→68.8) 无增益甚至下降,浅层最佳,progressive cascade 实际未发挥作用。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| 域泛化平均精度 (PACS/VLCS/OfficeHome/TerraIncognita) | 平均 DG 准确率 (%) | PP-CPCANet-B + VMamba-B: 77.2% | CPCANet-B + VMamba-B: 76.6% | +0.6%,全表最高,达成 SOTA |
| 域泛化平均精度 (ResNet-50) | 平均 DG 准确率 (%) | PP-CPCANet: 69.2% | CPCANet: 69.5% | -0.3%,略低于 CPCANet |
| 域泛化平均精度 (ViT-B) | 平均 DG 准确率 (%) | PP-CPCANet-B: 72.6% | CPCANet-B: 72.8% | -0.2%,略低于 CPCANet |
| 训练效率 (VMamba-B) | 总 GPU 时间 (4 数据集×3 seed) | 4-11:23:51 | CPCANet-B: 4-12:57:31 | 节省约 1.5 小时,开销更低 |
局限与改进
局限明显。(1) 作者承认 SOTA 优势仅在 VMamba-B (SSM) 上成立,在 ResNet-50 (-0.3%) 与 ViT-B (-0.2%) 上反而略逊于 CPCANet,方法的跨 backbone 泛化性存疑,'SOTA' 的表述需谨慎。(2) T=1 为最优配置意味着 progressive bottleneck cascade 这一核心架构设计形同虚设,多级信息瓶颈机制未发挥预期作用,削弱了方法的理论价值与架构贡献。(3) 论文未与 DGMamba (ResNet-50 上 PACS 91.0%、SSM 上更强)、START (PACS 91.8%) 等更强 backbone 基线做 PP-CPCANet-B 公平对比,SOTA 主张的对比范围有限。(4) 全文无任何 figure 可视化正交基、特征分布或 t-SNE,对'为什么 SSM 受益、卷积/注意力不受益'缺乏机理性分析。(5) 仅在 4 个图像分类 benchmark 上验证,缺少 NLP、检测、分割、医学影像等其他 DG 场景的检验,泛化性证据不足。
独立分析的弱点
独立分析的弱点。(1) 优势局限于 SSM:在 ResNet-50/ViT 上退步提示方法对 backbone 特征结构高度敏感,可能仅在 SSM 长程建模能力基础上才互补。改进方向:深入分析为何 VMamba 受益 (是否与其状态空间的低秩隐状态有关),设计 backbone 自适应的投影维度与散度权重。(2) cascade 失效:T=1 最佳说明级联是冗余设计,浪费参数与显存。改进方向:移除级联或改为可学习深度 / 动态级联。(3) 稳健性未量化:median L1 的理论稳健性未通过对抗扰动、标签噪声、协变量偏移实验验证,与动机中的'域漂移离群点'脱节。改进方向:补做鲁棒性 stress test。(4) 复现门槛高:无代码开源声明。改进方向:开源完整训练脚本与 checkpoint。(5) 对比不充分:未报告 PP-CPCANet 在更强 SSM 基线 (DGMamba、START) 上的结果。改进方向:补齐横向对比。
未来方向
未来研究方向。(1) 作者暗示可扩展到更多 backbone 与任务。(2) PP 散度与 detached-median 技巧可推广到其他几何对齐、不变性学习、解耦表征场景。(3) 全局 Stiefel 正交层可与其他范式 (mixture-of-experts、adapter、parameter-efficient fine-tuning) 结合,迁移到持续学习、联邦域泛化。(4) 理论层面:可证明 PP-CPCANet 在 $n_k\ll p$ 小样本体制下恢复 CPC 的样本复杂度优势,并刻画对称破缺权重与主分量排序收敛性的关系。(5) 把失效的 progressive cascade 重新设计为可学习深度或与课程学习结合。(6) 将 median L1 推广为可微的 Huber/Cauchy 散度,进一步缓解梯度稀疏。(7) 在跨模态、医学影像、自动驾驶等真实 DG 场景验证。
复现评估
复现评估:作者提供较完整超参 (每域 batch=32、dropout=0.5、label smoothing=0.1、backbone lr $5\times10^{-5}$、PP 模块 lr $1\times10^{-4}$、$\lambda_{ppcpca}=5\times10^{-3}$、$T=1$、$d_1=128$、Adam/AdamW、5000/10000 步、A100 80GB),明确遵循 DomainBed 协议与 CPCANet 设置,4 个 benchmark 公开,模型选择规则清晰 (按测试域选模型),单点复现难度中等。但短板明显:无代码仓库/开源声明;Algorithm 1 虽详尽,瓶颈模块 $b_{\psi_t}$、$\mathrm{MLP}_{\gamma_t}$、$\mathrm{MLP}_{\Delta f_t}$ 具体结构未全列,映射 $S(\cdot)$ 需查文献 [28,29,33];VMamba-B 总 GPU 时间高达约 4 天×4 数据集×3 seed×80GB,算力开销巨大,普通实验室难复现全表,SOTA 行的复现成本很高。
论文图表
伪代码完整展示前向计算与目标函数:从 backbone 特征 $\tilde F_0=h_\theta(X)$ 出发,经 $T$ 级循环依次完成 bottleneck 投影、Cayley 变换得正交基 $\beta_t$、特征投影 $U_t=Z_t\beta_t$、域引导调制 ($\gamma_t,\Delta F_t$),再计算 detached-median L1 散度 $s_{t,k}$ 并归一化为 $\mathcal L_{ppcpca}$,最后联合 $\mathcal L_{total}=\mathcal L_{task}+\lambda_{ppcpca}\mathcal L_{ppcpca}$。输入为小批量 $X$ 与域标签 $d$,输出为 logits $\hat Y$ 与总损失。
这是理解整个方法实现的唯一完整规格,把 Stiefel 参数化、对称破缺散度、级联调制、联合目标四块串成一条可执行流水线,是复现与方法理解的核心。