← 返回 2026-07-14

自然图像对比学习的一种理论 A Theory of Contrastive Learning with Natural Images

Antonio Torralba, Yair Weiss 📅 2026-07-08 👍 2 2026-07-15 05:11
傅里叶分析 可解释性 对比学习 自然图像统计 表示学习理论 部分白化

解析证明对比学习最优表示是测部分频率并做白化,可用正弦滤波器单层CNN实现。

前置知识

对比学习与 InfoNCE 损失

对比学习(Contrastive Learning, CL)是一种无监督表示学习范式:对每张训练图像施加一次增广 $T$,目标是让同一图像的两个增广在表示空间中彼此靠近,而不同图像的表示彼此远离。最常用的损失是 InfoNCE:$\mathcal{L}=\mathbb{E}_{x,T}\left[-\log\frac{e^{-t\|y(Tx)-y(x)\|^2}}{e^{-t\|y(x)-y(Tx)\|^2}+\sum_{x'}e^{-t\|y(x)-y(x')\|^2}}\right]$,其中 $t$ 是逆温度,$x'$ 是批次内其他图像。它可拆成 alignment(对齐)损失与 uniformity(均匀性)损失之和。

本文全部理论都在分析这个损失的最优解,理解 InfoNCE 的对齐+均匀分解是读懂后续推导的前提。

平稳信号与 DFT 系数的高斯性

平稳性(stationarity)指信号统计量不随平移改变,即两像素协方差只取决于相对位置。本文依赖一条经典定理(Peligrad & Wu, 2010):对任意满足正则条件的平稳信号,当尺寸 $N\to\infty$ 时,其离散傅里叶变换(DFT)系数 $x_F[k]$ 渐近服从复高斯 $\text{Re}(x_F[k]),\text{Im}(x_F[k])\sim\mathcal{N}(0,\frac{g(k)}{2}I)$,其中 $g(k)=\mathbb{E}[|x_F[k]|^2]$ 是该频率期望功率;且不同频率系数两两独立。

这条定理把「任意平稳图像数据集」统一成可计算的对象——期望功率谱 $g(k)$,是整篇论文能把最优解闭式算出来的根本杠杆。

白化与部分白化

白化(whitening)指让表示各方向方差相等(协方差为 $\sigma^2 I$),消除冗余。「部分白化」(partial whitening)是折中:只测量一部分频率,对测到的频率做白化(敏感度反比于该频率期望功率),从而在去冗余与抗噪之间取得平衡。经典做法是 $y_j \leftarrow y_j / \sqrt{\lambda_j + \lambda}$,其中 $\lambda_j$ 是 PCA 特征值,$\lambda$ 是平滑常数。

本文最核心的结论就是「对比学习在自然图像上学到的最优表示本质就是部分白化」,这把深度学习经验现象和几十年前的信号处理理论对接起来。

注水(waterfilling)算法

注水算法源自通信系统的功率分配问题:在总功率约束 $\sum_k P_k\le 1$ 下把功率分配给若干「信道」以最大化容量。本文最优权重化简成 $\mathcal{L}(\{P_k\})=\sum_k P_k\lambda_k-\epsilon\sum_k\log(P_k+\epsilon)-\epsilon^2\sum_k\frac{P_k}{P_k+\epsilon}$,这是严格凸的,可用算法 1 这类注水法求全局最优,自动决定哪些频率得到正功率、哪些被丢弃。

它给出从数据集功率谱直接预测 CNN 该测哪些频率、权重多大的可执行算法,是理论走向可复现预测的关键工具。

广义特征值问题

给定两个对称矩阵 $B$、$\Sigma$,广义特征值问题 $Bv=\Sigma v\lambda$ 的解 $v$ 称为广义特征向量。本文证明线性投影层最优权重 $W^*$ 的列恰是 $(B,\Sigma)$ 的最小特征值对应的广义特征向量,其中 $\Sigma=\text{cov}[\phi(x)]$,$B=\mathbb{E}[\delta(x)\delta(x)^T]$,$\delta(x)=\phi(x)-\phi(Tx)$。

这是把对比损失转化为可求解代数问题的桥梁,理解它就能明白为什么最优滤波器落在频域单位向量上。

研究动机

对比学习在自然图像上取得了巨大成功,SimCLR 默认只用三种极「低级」的增广——随机裁剪(random crop)、颜色抖动(color jitter)、高斯模糊(Gaussian blur),就能学到 KNN 精度逼近有监督学习的表示。这件事令人困惑:这些增广和「识别物体」看似毫无关系,甚至可以手工构造对这些增广不变的表示(比如转灰度+局部对比度归一化即可对颜色抖动不变),但那些手工表示对识别毫无帮助。更令人困惑的是 Baradad 等人(2021)的发现:用纯噪声图像(分形噪声 $1/f^\alpha$、随机权重的 StyleGAN 生成图、dead leaves 叠加图)做对比学习,居然也能学到对真实图像识别很有用的特征,作者甚至感叹「视觉可能比我们以为的更简单」。现有的谱方法理论(如与 Laplacian Eigenmaps、Spectral Clustering 的联系)虽能解释 CL 的部分机制,但在有限数据集上同样会塌缩成平凡无用解,并不能解释上述「简单增广」「简单图像」为何奏效。

本文的目标是本文目标是给「对比学习为什么在自然图像上有效」一个可计算的解析回答。具体地,作者希望:对一大类基本增广和任意满足平稳性的图像数据集,闭式地求出对比损失的全局最优表示;进一步证明这个最优表示可用一个极简 CNN(一层正弦卷积滤波器 + 逐点非线性 + 全局平均池化 + 线性投影)精确实现;并给出一个从数据集期望功率谱 $g(k)$ 直接算出该测哪些频率、权重多大的算法。最终用实验验证:真实 CNN 在 SGD 训练下确实学到了理论预测的正弦滤波器和部分白化,从而把「经验现象」翻译成「可预测的理论」。

与已有工作不同的是,以往的理论工作(Balestriero & LeCun 2022、HaoChen 等 2021)多止步于「一旦把均匀性损失化简,线性网络最优解可用谱方法求」这一层,但没回答「对自然图像,网络具体会学到什么样的滤波器」。本文的独特切入点是抓住自然图像两个几乎普适的统计性质——平稳性(平移不变)和功率谱随频率衰减——并把它们代入上述谱框架。关键洞见是:平稳性使 DFT 系数渐近高斯且两两独立,于是 $\Sigma$ 和 $B$ 在频域同时是对角的,最优广义特征向量退化为频域单位向量,即正弦滤波器。这一步把抽象谱定理变成了对自然图像的具体、可检验预测。

核心方法

直觉上,作者把对比学习重新理解成一个「信道选择」问题:表示 $y(x)$ 应该既对增广不变(对齐损失小),又在所有图像上尽可能分散(均匀性损失小)。对自然图像,由于平稳性,最佳信息载体就是各频率上的功率 $|x_F[k]|^2$,因为它们既对循环平移天然不变,又彼此独立。技术上,论文先把 InfoNCE 在「表示高斯 + 批量无穷大」假设下化简成可分析的 LGUPA 损失(定理 1.1);证明 LGUPA 的均匀项在 $\mathbb{E}\|y-\mu_y\|^2=1$ 约束下的最小值是白化表示(定理 1.2);再证明只训最后一层时最优权重是 $(B,\Sigma)$ 的广义特征向量配注水缩放(定理 1.3)。随后利用平稳信号 DFT 的高斯-独立性(定理 2.1),把这套代数结果专门化到图像:最优表示就是测量若干频率的功率并按 $1/\sqrt{g(k)}$ 缩放(定理 3.1/3.2),可由一层正弦卷积 CNN 实现。

全文最核心的洞见是:对自然图像,对比学习的最优表示就是「部分白化」——先选一组频率测其功率,再让表示对每个频率的敏感度反比于该频率期望标准差 $\sqrt{g(k)}$,从而使输出协方差为白。形式上,对图 4 那组增广,全局最优表示为 $y^*_i(x)=\frac{1}{\sqrt{g(k_i)}}|x_F[k_i]|^2$(平方非线性)或 $y^*_i(x)=\frac{1}{\sqrt{g(k_i)}}|x_F[k_i]|$(ReLU),再归一化到单位范数。这与已有方法的本质区别在于:以往把 CL 成功归功于「学到了对增广的不变性」或「深度网络学到物体部件」,而本文证明对一大批增广而言,不变性其实可由测量平方 DFT 直接获得、最优性完全由功率谱决定;换言之增广的作用不是教网络「识别物体」,而是引导它落在「部分白化」这个领域专家早已推荐的表示上。这也解释了为什么用功率谱接近 CIFAR10 的噪声图像训练,迁移到真实图像照样好用。

方法步骤详情

完整流程分四步。(1) 损失化简:把 InfoNCE 在高斯表示假设下替换为 LGUPA $\mathcal{L}_{\text{GUPA}}=t\mathbb{E}\|y(Tx)-y(x)\|^2-\tfrac{1}{2}\log\det(\Sigma_y+\epsilon I)-\tfrac{1}{2}\text{Tr}\,\Sigma_y(\Sigma_y+\epsilon I)^{-1}$($\epsilon=2t$),输出只依赖表示协方差的对齐+均匀损失。(2) 求最优线性权重:固定特征 $\phi(x)$,最优投影 $W^*$ 的列是 $(B,\Sigma)$ 的广义特征向量($\Sigma=\text{cov}[\phi(x)]$、$B=\mathbb{E}[\delta\delta^T]$),再用注水算法 1 决定每列缩放 $P_k=\alpha_k^2$,自动丢弃不该测的频率,输出低秩 $W^*$。(3) 代入自然图像统计:由平稳性(定理 2.1),$\Sigma$ 与 $B$ 都在频域对角,故广义特征向量是频域单位向量——即正弦滤波器;对循环裁剪+噪声,特征值 $\lambda_k=\frac{16\sigma^2 g[k]+8\sigma^4}{g^2[k]}$。(4) CNN 实现:如图 5,第一层放正弦滤波器,平方/ReLU 非线性 + 全局平均池化测出各频率功率,线性投影层做白化缩放,输出归一化到单位球。整个最优表示可直接构造,无需深网络。

技术新颖性

新颖性体现在三方面。其一,把「自然图像统计 → DFT 高斯独立 → $\Sigma,B$ 频域对角 → 最优滤波器是正弦」这条因果链完整打通,给出闭式最优解而非泛泛的「谱方法存在性」。其二,证明即便增广更复杂(循环裁剪加噪、任意模糊核、线性抖动),最优权重仍保持正弦形式、仍做部分白化(定理 3.2),并用注水算法把「测哪些频率」变成数据驱动的可计算问题。其三,给出「投影层冻结为正交矩阵时,最优滤波器只能是正弦」的唯一性结果(定理 M.1),把梯度下降隐式偏置与正弦解联系起来。这些和以往仅讨论 InfoNCE 与谱聚类抽象对应、或仅经验观察「第一层学 Gabor/正弦」的工作有本质区别。

For any stationary signal, the DFT coefficients are Gaussian and pairwise independent
Figure 3: For any stationary signal, the DFT coefficients are Gaussian and pairwise independent
A set of augmentations for which measuring squared DFT coefficients yields the global optimum of the LGUPA contrastive loss
Figure 4: A set of augmentations for which measuring squared DFT coefficients yields the global optimum of the LGUPA contrastive loss
A simple CNN architecture that can compute the optimal representation in terms of CL
Figure 5: A simple CNN architecture that can compute the optimal representation in terms of CL
Frequency sensitivity of the CNN with optimal weights for different datasets
Figure 6: Frequency sensitivity of the CNN with optimal weights for different datasets

实验结果

实验系统验证了理论的每一项预测。(1) 学到的滤波器确为正弦:在一层 CNN(256 个 $11\times 11$ 滤波器、平方/ReLU 非线性、GAP、投影到 32 维)上用 LGUPA 训练,覆盖 6 个合成数据集(不同 $\alpha$ 的分形噪声、dead leaves)与 3 个真实数据集(CIFAR10/100、ImageNet),第一层最高方差滤波器在所有情况下都收敛到正弦(图 2、图 7、图 16),全部 256 个滤波器几乎都是「频域双峰」纯正弦(图 20-23)。(2) 敏感度匹配部分白化:网络对某频率的敏感度 $S[k]=\sum_i|W^{eff}(i,k)|$ 集中在一段环形(分形噪声)或菱形(CIFAR10)频带,且敏感度乘以 $\sqrt{g(k)}$ 近似常数——正是「敏感度反比于期望标准差」的部分白化特征(图 6/7)。(3) 颜色图像:在去相关后的三通道(约等于灰度+红绿+蓝黄,Ruderman 1998)上各学到单通道正弦滤波器(图 9/26)。(4) 识别性能(图 10,均在 CIFAR10 上 KNN 测试):在 CIFAR10 自身上训练达 57.5%;CIFAR100 训练迁移 45.1%;dead leaves、$1/f$ 噪声约 35.7–35.8%;功率谱越接近 CIFAR10 的合成噪声迁移越好($1/f$ 噪声 39.8% 远好于白噪声 33.5%)。换增广时 SOTA 增广(水平翻转+随机裁剪+颜色抖动)给到 47.1%,水平翻转 46.3%,循环平移 42.2%。(5) 关键反直觉发现:简单的线性 PCA 部分白化(Thiry 2021)就能拿到约 45–47% 的 KNN 精度,和大多数 CL 设置相当——说明 CL 大部分增益来自部分白化本身,只有 SOTA 增广下的局部滤波器才额外贡献了超出部分白化的信息。InfoNCE 与 LGUPA 训练曲线几乎重合(图 11-13),佐证高斯假设合理。

First-layer filters learned by a one-layer CNN trained with contrastive loss on different datasets
Figure 2: First-layer filters learned by a one-layer CNN trained with contrastive loss on different datasets
Summary of recognition performance with ReLU nonlinearity (testing always on CIFAR10)
Figure 10: Summary of recognition performance with ReLU nonlinearity (testing always on CIFAR10)
查看结构化数据
任务指标本文基线提升
CIFAR10 KNN 识别(训练数据集对迁移的影响) Top-1 KNN accuracy (%) 在 CIFAR10 自身训练 57.5%;在 CIFAR100 训练迁移 45.1%;在 dead leaves 35.8%;在 1/f 噪声 39.8% 随机权重约 33–35% 功率谱匹配时合成噪声迁移精度从白噪声 33.5% 提升到 1/f 噪声 39.8%;同域(CIFAR10)训练比跨域(CIFAR100)高约 12 个点
CIFAR10 KNN 识别(增广策略对性能的影响) Top-1 KNN accuracy (%) SOTA 增广 47.1%;水平翻转 46.3%;循环平移 42.2;混合增广 40.4;模糊 39.0 无增广 33.5%(接近随机权重) SOTA 增广相对无增广提升约 14 个点
对比学习增益拆解:CL 表示 vs 线性部分白化 CIFAR10 KNN accuracy (%) 一层 CNN + CL 在大多数简单增广下约 45–47% PCA 部分白化(Thiry 2021,含水平翻转增强)47% 简单增广下 CL 几乎不优于纯线性部分白化;仅 SOTA 增广下的局部滤波器才显著超出,说明 CL 主要收益来自部分白化
InfoNCE 与 LGUPA 损失等价性 CIFAR10 KNN/线性读出精度随 epoch 变化 LGUPA 与 InfoNCE 在 ResNet18 及一层 CNN 上训练曲线几乎重合 InfoNCE 验证高斯假设下两损失等价,理论分析所用 LGUPA 可安全替代 InfoNCE

局限与改进

作者明确承认三点:理论只覆盖极简 CNN 架构和简单增广,性能远不及 SOTA;理论用 LGUPA 而非 InfoNCE,两者仅在表示高斯时严格相等(虽然实验显示二者训练曲线几乎重合,Betser 等 2026 也报告 CL 表示近似高斯);最优解不唯一,梯度下降的隐式偏置会影响具体收敛到哪个最小值。我另外观察到几处局限:(a) 关键的「循环裁剪+噪声」近似「真实随机裁剪」依赖图 14 的经验相似性,严格等价只对循环平移成立,真实 valid 卷积下的裁剪会引入与 $x$ 相关的扰动 $\eta_F(\omega)$,理论只是近似;(b) 论文核心结论「CL 大部分增益来自部分白化」是基于一层 CNN 得出的,是否能推广到 ResNet/EfficientNet 等深网络的 SOTA 表示尚不清楚(作者只在附录用 ResNet18 比了两条损失曲线,没比识别精度差距);(c) CelebA 等强非平稳数据集上理论并不严格成立,文中靠「GAP 强制平稳化」绕过,这是个待补的缝隙。

独立分析的弱点

第一,理论与实际 SOTA 之间存在架构鸿沟:所有定量预测都基于「一层正弦 CNN」,但真正高性能的 CL 用的是深层 ResNet/ViT 和复杂增广管线。改进方向是把 $\Sigma,B$ 频域对角的论证推广到多层网络——例如证明深层网络的有效核仍近似频域局域化,或把每层视为对功率谱的逐级精炼。第二,「随机裁剪≈循环裁剪+噪声」这一近似在最常被实际使用的增广上是脆弱的:当裁剪比例(论文用 84%)变小或图像含强非平稳结构时,扰动 $\eta_F$ 不再可忽略。改进方向是用图 14 那样的经验 $B$ 矩阵直接数值计算最优核,而非依赖解析近似,并把 valid 卷积纳入理论。第三,「CL≈部分白化」的结论可能被误读为「CL 没学到东西」——实际上 SOTA 增广下的局部滤波器显著超过线性部分白化,说明有额外结构。改进方向是刻画这「超出部分白化的增量」到底编码了什么(边缘?纹理统计?),给出可解释的二级理论。第四,非平稳数据集(人脸、医学影像)上理论失效却靠 GAP 掩盖,改进方向是引入位置相关的 $g(k,\text{pos})$ 或显式建模非平稳性。

未来方向

作者自己点出的方向包括:扩展到更深网络和更复杂增广;用其他基于协方差的对比损失(VICReg、Barlow Twins、Spectral CL)替代 InfoNCE 并验证同样结论;把梯度下降的隐式偏置与正弦最小值的收敛形式化联系。基于本文成果还可延伸的方向:把「功率谱匹配决定迁移性」做成数据集筛选或增广设计的实用工具——给定目标域功率谱,自动合成最匹配的预训练噪声数据;把部分白化的闭式解用作深度 CL 的解析初始化或正则项,加速收敛并提升可解释性;推广到视频/音频等同样近似平稳的模态;结合颜色去相关理论,预测多模态/多通道表示的最优滤波器形态。

复现评估

复现门槛较低,适合教学和研究复现。实验只需一层 CNN(256 个 $11\times 11$ 卷积核 + ReLU/平方 + GAP + 32 维线性投影),用 PyTorch 在 CIFAR10/100 上单卡即可跑完数千 epoch;合成数据集(分形噪声、dead leaves)可按 $g[k]\propto 1/\|k\|^\alpha$ 程序生成,无需额外下载;关键超参已给出($\sigma=0.0014$,$t=1$,裁剪比例 84%,2000 epoch)。LGUPA 损失和注水算法 1 都有完整伪代码,PCA 部分白化基线可用 Thiry (2021) 的开源代码(附录 I 给出 $W=V_K\sqrt{\Lambda_K+\lambda I_K}^{-1}$)。主要不确定性:论文未提供官方代码仓库,部分细节(学习率、weight decay、初始化方差对隐式偏置的影响)散落正文与附录需自行拼凑;ImageNet 128×128 的全滤波器可视化算力稍大但非必需。整体属「一周内可复现核心图」的难度。