← 返回 2026-05-18

稀疏自编码器实现 CLIP 模型鲁棒且可解释的微调 Sparse Autoencoders enable Robust and Interpretable Fine-tuning of CLIP models

Fabian Morelli, Arnas Uselis, Ankit Sonthalia, Seong Joon Oh 📅 2026-05-15 👍 10 2026-07-13 08:36
CLIP 分布偏移 可解释性 稀疏自编码器 鲁棒微调

SAE约束CLIP微调,仅在语义特征空间内做特征重加权

前置知识

CLIP 对比视觉-语言预训练

CLIP 通过对比学习将图像和文本映射到共享 $d$ 维空间,图像编码器 $f$ 与文本编码器 $g$ 联合训练;零样本分类用 prompt 模板得到类原型 $w_k$,与图像嵌入做余弦相似度完成推理。

SAE-FT 直接作用于 CLIP 视觉编码器,理解零样本分类与线性分类头微调流程是看懂方法动机与对比基线(如 WiSE-FT、FLYP)的前提。

稀疏自编码器 (SAE)

SAE 把稠密表征 $r\in\mathbb{R}^d$ 编码为高维稀疏潜码 $s=\mathrm{TopK}(W_e r)\in\mathbb{R}^p$($p>d$),再由 $\tilde{r}=W_d s$ 重建;TopK 仅保留 $K$ 个激活,使 $W_d$ 的列方向对应可解释语义。

SAE-FT 的几何约束完全建立在 SAE 字典上,必须理解解码器 $W_d$ 的列如何定义'语义 span',才能抓住残差对齐损失的设计意图。

特征叠加与多义性 (superposition/polysemanticity)

在 CLIP 等大模型中,单个神经元往往同时编码多个不相关概念,多个语义方向压缩存储在同一表征空间内;这使得传统基于坐标轴的稀疏约束意义有限,需引入 SAE 学习'解纠缠'的语义基底。

这是 SAE-FT 优于 L1 正则的本质原因:L1 限制原始坐标轴上的变化,而 SAE-FT 限制的是语义方向上的变化。

分布偏移与鲁棒微调

微调会显著提升分布内 (ID) 精度,但常导致分布外 (OOD) 精度(如 ImageNet-R/A/Sketch/V2)下降;鲁棒微调方法试图在两者之间取得平衡,例如 WiSE-FT 通过权重插值实现。

这是本文要解决的核心 trade-off;ID 提升 1 个点意义不大,关键是 OOD 不退化甚至提升。

CKA 表征相似度

中心化核对齐 (Centered Kernel Alignment) 用于衡量两个网络层输出的表征几何相似性,值域 $[0,1]$,越接近 1 表示表征结构越一致。

Table 1、Table 2、Table 7 都用 CKA 量化微调造成的表征漂移,是理解 SAE-FT 几何保持能力的关键指标。

研究动机

对 CLIP 做标准有监督微调虽然能把 ImageNet 准确率从 68.3% 提到 81.3%,但在 ImageNet-R/A/Sketch 等分布偏移基准上反而下降——例如 IN-R 从 77.7% 跌到 71.3%,IN-A 从 50.0% 跌到 44.5%,平均 OOD 精度甚至低于零样本。论文在 Table 1 中量化了根因:微调后视觉表征与零shot 表征的 CKA 仅 0.40,几何严重漂移;Figure 2 进一步显示 SAE 的 Fraction of Variance Unexplained 在微调 8–10 个 epoch 后飙升至 1.0 以上,意味着原本可解释的语义字典完全崩塌,约 80% 的 SAE 特征被覆盖。已有方案各有短板:WiSE-FT 通过权重插值在 ID 与 OOD 之间做线性折中,FLYP/CAR-FT/StarFT 则依赖复杂的文本侧数据工程(如上下文检索、合成 prompt 注入),引入了额外先验并增加算力开销。

本文的目标是本文提出 SAE-FT:仅在视觉模态内,用一个在零shot 模型上预训练好的稀疏自编码器作为'语义基底约束器',让微调过程的表征更新严格落在 SAE 解码器 $W_d$ 列张成的可解释 span 内,同时显式惩罚新增语义特征、允许且仅允许对已激活特征做幅度重加权;从而在不改文本侧、不引入外部先验的前提下同时获得高 ID 精度与高 OOD 鲁棒性,并使微调过程本身可被 SAE 直接解读为'哪些语义被重加权和保留'。

与已有工作不同的是,现有 SAE 工作(如 CLIP 视觉 ViT 上的事后分析)只用于解释而非优化,本文首次把 SAE 从'分析工具'升级为'训练循环内的几何正则器',并提出'特征加性惩罚'(feature-addition penalty)这一新颖约束形式:相比 L2 把所有方向同等对待、L1 假设坐标轴即语义、PCA 限制于线性子空间,SAE-FT 直接在 SAE 学到的稀疏语义基底上操作,能区分'必要语义重加权'与'无关几何漂移',实现细粒度、机制透明的特征级控制。

核心方法

SAE-FT 的核心直觉是:把 CLIP 的视觉表征看作大量语义特征的叠加,零shot 模型的 SAE 字典已经为这些特征定义了'合法语义基底';微调时只要保证视觉表征的变化 $\Delta r$ 可以被 SAE 字典稀疏线性组合表达,就相当于把更新限制在'已有的可解释语义词汇表'内。具体技术上分两阶段:第一阶段在冻结的零shot 视觉编码器输出上无监督训练一个 Top-K SAE,得到冻结的 $W_e, W_d$;第二阶段做线性头 + 交叉熵微调,但额外加入两项正则——残差对齐损失 $L_{resid}=\|\Delta r-W_d\Delta s\|_2^2$ 强制 $\Delta r$ 落在 $W_d$ 的列 span 内,特征加性损失 $L_{add}=\sum_k(1-m_k)|s_k^{ft}|$ 惩罚零shot 模型中本未激活却在微调后激活的新特征。

与已有方法最本质的区别有两点。其一,正则空间不同:L1 在原始坐标轴、PCA 在线性子空间、L2 在欧氏范数意义下整体约束,而 SAE-FT 在 SAE 学到的稀疏语义方向上做约束,使被限制的对象天然具有可解释性。其二,机制不同:标准稀疏正则只鼓励'少变化',并不区分变化方向是否合理;SAE-FT 通过 mask $m_k=\mathbb{I}(s_k^0\neq 0)$ 显式区分'已有特征'与'新特征',只允许前者幅度变化、不允许后者被'启用',配合 Top-K 的固定支撑约束,把语义支持集 (support set) 锁死在零shot 模型内,从而既保留鲁棒性又能通过重加权适应下游任务。

方法步骤详情

完整流程如 Algorithm 1 所示。第一步 SAE 训练:用冻结的零shot 编码器 $f_0$ 在下游数据上提取表征 $r^0=f_0(x_v)$,无监督训练 Top-K SAE 至收敛;无需任何标签。第二步微调初始化:视觉编码器从 $f_0$ 初始化,分类头 $W$ 随机初始化,SAE 权重冻结。第三步每个 mini-batch:对同一 $x_v$ 同时计算 $r^{ft}=f(x_v)$ 和冻结的 $r^0=f_0(x_v)$,得到 $s^0=\mathrm{SAE}_{enc}(r^0)$(无梯度)与 $s^{ft}=\mathrm{SAE}_{enc}(r^{ft})$;计算 logits $=W r^{ft}$,总损失 $\mathcal{L}=\mathcal{L}_{CE}+\lambda_{resid}L_{resid}+\lambda_{add}L_{add}$,仅更新 $f$ 与 $W$。第四步推理直接用 $f$ 与 $W$,SAE 不参与,开销只在训练阶段。超参数 $\lambda_{resid}$、$\lambda_{add}$ 通过验证搜索确定。

技术新颖性

技术新颖性体现在三个层面。算法层面,首次把 SAE 嵌入微调循环作为几何约束器而非事后分析工具,提出 span restriction + feature preservation 的复合正则。损失层面,$L_{resid}$ 把表征空间约束转化为 SAE 字典列空间的最小二乘投影,$L_{add}$ 用 0/1 mask 与 L1 结合实现'语义支持集锁死'。机制层面,作者用 Table 7 证实 SAE-FT 在保持 CKA≈0.99 的同时把特征重叠度从 L2 的 0.67 提到 0.78,特征熵从 2.60 降到 2.36——说明模型既保住了原有语义结构,又把权重集中到任务相关特征上;Figure 6 中'pirate ship vs schooner'例子直观展示:SAE-FT 把 feature #1898(pirate ship)从次要升到主要、feature #595(schooner)降权但不删除,正是论文提出的'feature re-weighting'机制。

Schematic overview of SAE-FT
Figure 3: Schematic overview of SAE-FT
Visualization of the residual loss
Figure 4: Visualization of the residual loss
Visualization of the feature preservation regularization
Figure 5: Visualization of the feature preservation regularization

实验结果

在 OpenAI ViT-B/16 上,SAE-FT 的 ImageNet 准确率达 82.9%,与 FLYP、StarFT 并列前茅;五个分布偏移基准上的平均精度 64.6% 为所有方法最高,优于次优 CaRot(63.7%)与 StarFT/WiSE-FT(64.4%)。Table 4 的下游迁移结果更突出:CIFAR-10 91.9%、CIFAR-100 71.2%、Caltech-101 89.5%、STL-10 98.7%,平均 87.8% 超过所有基线(包括 StarFT 的 87.3%)。Table 5 在 iWilds 真实分布偏移基准上,iWildCam OOD macro-F1 达 38.1(StarFT 为 37.1),FMoW OOD worst-group accuracy 42.8(与 L2 并列最佳)。Table 6 与 L1/L2/PCA 表征正则对照,平均精度 64.6% 仅略高于 64.3–64.5%,但 Table 7 显示其特征重叠 0.78 显著高于 L2 的 0.67、特征熵 2.36 显著低于 2.60,主要价值在机制透明度。

CKA similarity matrix for vision encoder representations
Table 1: CKA similarity matrix for vision encoder representations
Representation and feature comparison: zero-shot, FT, WiSE-FT, L2 reg
Table 2: Representation and feature comparison: zero-shot, FT, WiSE-FT, L2 reg
Robust fine-tuning results on ImageNet and distribution shift benchmarks for OpenAI ViT-B/16
Table 3: Robust fine-tuning results on ImageNet and distribution shift benchmarks for OpenAI ViT-B/16
Generalization performance of ViT-B/16 models fine-tuned on ImageNet, evaluated on downstream transfer benchmarks
Table 4: Generalization performance of ViT-B/16 models fine-tuned on ImageNet, evaluated on downstream transfer benchmarks
Results for ViT-B/16 on iWildCam and FMoW
Table 5: Results for ViT-B/16 on iWildCam and FMoW
Comparison of SAE-FT to representation regularization baselines for ViT-B/16
Table 6: Comparison of SAE-FT to representation regularization baselines for ViT-B/16
Representation and feature comparison: zero-shot, L2 reg, SAE-FT
Table 7: Representation and feature comparison: zero-shot, L2 reg, SAE-FT
Feature re-weighting in SAE-FT
Figure 6: Feature re-weighting in SAE-FT
查看结构化数据
任务指标本文基线提升
ImageNet 鲁棒微调 ImageNet 准确率 82.9% WiSE-FT 81.7%, FLYP 82.6%, CAR-FT 81.9%, StarFT 82.9% 与 StarFT 并列最高,比 WiSE-FT 提升 +1.2
分布偏移平均精度 (IN-R/A/S/V2) 平均准确率 64.6% WiSE-FT 64.4%, StarFT 64.4%, CaRot 63.7% SOTA,比次优高 +0.2
ImageNet-R 准确率 78.5% WiSE-FT 78.7%, CaRot 76.2% 接近最高,零shot 77.7%
ImageNet-A 准确率 52.6% WiSE-FT 52.2%, StarFT 53.7% 零shot 50.0% 大幅超越 FT 44.5%
下游迁移 (C10/C100/Cal101/STL10) 平均准确率 87.8% StarFT 87.3%, CaRot/WiSE-FT 86.5% SOTA,比次优高 +0.5
iWildCam OOD macro-F1 38.1 StarFT 37.1, WiSE-FT(opt) 33.1 比次优高 +1.0
FMoW OOD worst-group accuracy 42.8 WiSE-FT(opt) 42.1, L2 42.8 并列最高,比 FT 40.2 高 +2.6

局限与改进

作者明确指出几点不足:相比纯表征正则(L1/L2/PCA),SAE-FT 在平均精度上仅小幅领先(+0.1 到 +0.3),核心价值是机制透明而非绝对数字优势;论文承认该方法主要在视觉侧设计,未覆盖 FLYP 框架下的双模态微调。从独立观察看,方法存在几个潜在限制:一是 SAE 本身需要先在零shot 表征上单独训练,引入额外算力开销和工程复杂度,超参数 $\lambda_{resid}$、$\lambda_{add}$、Top-K 大小均需调优;二是 Top-K SAE 的固定支撑大小约束假设了'恰好 K 个语义特征始终活跃',对极复杂多目标场景是否仍适用未验证;三是论文实验集中在 OpenAI ViT-B/16 一种规模一种架构,未在 ViT-L/14、OpenCLIP、SigLIP 等更大或不同预训练范式的 CLIP 上验证,泛化性有待确认;四是对 iWilds 等强 OOD 场景虽优于多数基线,但绝对精度仍不算高(FMoW ID 69.2%),说明零shot 弱时特征重加权的空间也有限。

独立分析的弱点

独立分析存在三个主要弱点。第一,超参数敏感性:方法依赖 $\lambda_{resid}$ 与 $\lambda_{add}$ 的精细平衡,从 Figure 5 看 $L_{add}$ 的 mask 阈值 $m_k=\mathbb{I}(s_k^0\neq 0)$ 是硬阈值,若零shot 模型对某关键特征的激活恰好处于边界附近,可能被一刀切;改进方向是引入软 mask 或可学习的 mask 松弛。第二,SAE 训练本身无监督且与下游任务脱钩,可能学到与下游分类目标不对齐的语义方向;Figure 2 显示即使 SAE 在零shot 上 FVU=0.22,但应用在微调后模型时仍升至 0.25,说明字典并非'完美语义基底';可考虑在 SAE 训练阶段加入少量任务自适应信号。第三,论文只在分类任务上验证,CILP 的零样本、检索、密集预测等能力未涉及;且对 iWilds 这类零shot 弱的任务,SAE-FT 虽有提升但绝对精度仍低,说明'重加权'策略的上限受限于零shot 表征本身的质量,改进方向是结合少样本 SAE 微调或多 SAE 集成。

未来方向

作者明确提出的未来方向是将 SAE 正则扩展到文本编码器,在 FLYP 双模态微调协议下同步保护视觉与文本的语义特征空间,有望进一步提升鲁棒性与跨模态泛化。基于本文成果可延伸的研究包括:一是把 SAE-FT 推广到 LLM 微调场景,用 SAE 字典约束语言模型激活,检验'重加权'机制在 NLP 任务中是否同样成立;二是探索多 SAE 集成(ensemble of SAEs)以捕捉更细粒度的语义层级;三是把 SAE 作为在线正则器参与训练而非冻结预训练,使其能适应下游任务的语义漂移;四是把特征加性损失改造为更灵活的 Top-K 软约束版本,避免硬 mask 带来的边界问题;五是结合 SAE 的可解释性,开发'语义级调试工具',让用户能可视化微调过程中哪些特征被放大/抑制。

复现评估

复现友好度较高。代码公开在 https://github.com/Fabian-Mor/sae-ft,主干基于 OpenAI CLIP ViT-B/16 开源权重,SAE 训练无标签依赖,微调采用标准交叉熵线性头协议。算力方面:SAE 训练为一次性离线任务,单张 A100 即可完成数 epoch;微调每 batch 仅多一次冻结前向 + 一次 SAE 编码,增加约 10–20% 时间。潜在难点:(1) SAE 的 $p$、Top-K 等架构参数需选定;(2) $\lambda_{resid}$、$\lambda_{add}$ 通过验证集搜索得到,作者未给出唯一最优值;(3) Table 5 中 iWildCam/FMoW 需 iWilds 完整配置。整体而言,ImageNet 主结果(Table 3、Table 4)较易复现,但完整对比需要较好算力支撑多 seed 与多 baseline 训练。