A08 · 第 3 章 · 第二编 自监督目标
对比学习:从配对关系到可迁移表示
从正负样本对、归一化表示与温度缩放推导 InfoNCE 和 NT-Xent,手算相似度、softmax 与损失,并系统讨论批内负例、增强不变性、假负例、表示坍塌、数值实现和线性评价的边界。
报告页面错误本章目标
- 从配对采样、编码器、投影头和归一化相似度推导对称 NT-Xent 目标。
- 手算一组相似度、温度缩放后的 softmax 概率与单锚点损失。
- 判断批内负例、假负例与增强操作分别向模型注入了什么监督。
- 用方差、谱、相似度分布和简单基线诊断完全或部分坍塌。
- 设计无数据泄漏的冻结线性评价、微调评价与复现协议。
本页目录
配对关系才是监督信号
对比学习不要求每个样本都有人工类别,而是要求训练过程能构造“应相近”和“应区分”的关系。设原始样本为 ,从随机增强分布中独立抽取两次变换 ,得到
这两个视图通常组成正对。来自其他原始样本的视图通常作为负例。编码器 先产生用于迁移的表示 ,投影头 再产生训练对比目标所用的向量 。两者分开很重要:目标可以在投影空间中删除增强细节,而下游任务仍可读取编码器表示中保留的信息。
正对并不等于“语义相同”的自然事实,而是由采样规则作出的建模承诺。同一照片的两次增强若都保留目标,这个承诺可能合理;若一次裁剪只剩背景,目标就会强迫背景与主体接近。反过来,两个不同文件可能拍摄同一物体、属于同一类别或互为近重复,把它们当作负例也可能注入错误排斥。设计对比学习首先要写清样本单位、配对来源、增强范围和下游需要保留的变化。
归一化把方向与长度分开
常用做法是先作二范数归一化:
于是 是余弦相似度,范围为 。归一化阻止模型仅靠不断增大向量范数扩大 logit,使优化主要改变方向关系。实现中必须处理零向量,通常以很小的正数截断分母,并把连续出现的近零范数视为训练故障而不是静默修正。若不归一化,点积同时受角度与长度影响,温度、权重衰减和特征范数会共同改变概率尺度,实验结论不能与归一化版本直接混用。
距离和相似度也不能只靠颜色观察。检查单个锚点时,应列出正例索引、各候选的数值相似度、排名和概率;检查整个批次时,应分别统计正对、随机负对与疑似假负对的分布,并给出样本标识。这样即使图形无法辨色,也能判断模型把谁拉近、把谁推远。
从 softmax 推导 NT-Xent
一个批次含 个原始样本,每个样本产生两个视图,共 个表示。对锚点 ,设它的配对视图为 。温度为 时,单向损失为
分母排除锚点自身,却包含唯一正例 和其余 个负例。把每个视图都依次作为锚点并平均,就得到常见的对称 NT-Xent 形式。它也常被归入 InfoNCE 目标族。命名不如索引重要:漏删对角线会让相似度为一的自身项参与竞争;把配对索引错移一位会训练完全错误的关系;只算一侧则改变每个样本收到的梯度。
该式等价于一个批内分类问题:给定锚点,从其余视图中识别配对视图。降低 会放大相似度差异,使 softmax 更尖锐。若正例已经排第一,较低温度通常提高它的概率;若某个负例比正例更相似,较低温度也会更强地惩罚这个错误。温度不是无条件改善分离度的旋钮,过低会让少数困难项主导梯度,也更放大标注噪声和假负例。
取已经归一化的锚点 ,正例 ,两个负例 、。三个余弦相似度依次为
当 时,logit 为 ,指数近似为 。正例概率和损失为
当 时,指数约为 ,正例概率约为 ,损失约为 。此处降低温度使本来就最高的正例更占优势。若把 换成相似度 的负例,结论会反转:低温会更确信那个负例,损失反而显著增大。
批内负例改变了学习问题
在批内负例方案中,每个锚点的候选数随全局批量而变。扩大批量不仅降低随机梯度方差,还会增加分母中的竞争项,从而改变目标本身。分布式训练若只使用单卡局部表示,不等价于先跨卡汇总表示再构造全局相似度矩阵;复现实验必须说明全局批量、每卡批量、视图数以及跨卡梯度是否可传播。
更多负例也不保证更好。若数据按主体、时间或来源成簇,大批量更容易同时抽到同一语义对象的不同记录。重复网页、同一病人的多次检查、同一视频的相邻帧和同一类别的稀有实例都可能成为假负例。解决方式取决于可用信息:按主体分组采样可避免明显冲突;已知标签可屏蔽同类负例或采用多正例目标;软权重可降低高相似疑似项影响;去重可移除近重复。不能仅因当前模型认为两项相似就一律屏蔽,否则模型会用自身错误选择容易的训练集。
队列或记忆库可以用较小当前批次提供大量候选,但队列中的表示可能由较旧参数产生。应记录入队和出队顺序、队列长度、目标编码器更新方式以及是否停止梯度。陈旧程度越高,候选几何与当前编码器越不一致;这不是普通缓存细节,而是优化目标的一部分。
锚点与正例相似度为 ,某个实际同类却被当作负例的样本相似度为 ,另一个普通负例相似度为 。令 ,三个 logit 为 。正例概率近似为
对应损失约为 。若移除假负例,只剩相似度为零的负例,正例概率接近 ,损失接近零。梯度因此会强烈推动锚点远离那个实际同类。这个数值不能证明所有高相似负例都应删除;它说明批次身份规则已经进入监督,必须借助主体标识、标签、去重或人工切片判断冲突。
增强定义希望获得的不变性
从同一样本生成两视图,相当于要求表示忽略两次增强之间的差异。随机裁剪可能教会位置和尺度不变性,颜色扰动可能降低对色调的依赖,模糊可能降低对局部高频纹理的依赖。然而这些变化是否无关必须由任务决定。花卉颜色分类不能随意抹去颜色,字符识别中旋转可能把六变成九,病理图像的强裁剪可能删除病灶,方向估计也不能把翻转当成标签不变。
增强组合还可能产生单项看似合理、联合作用却破坏语义的视图。先裁剪再模糊可能让小目标完全消失;图像重采样与压缩可能泄漏增强管线的固定指纹;两个视图若总用不同文件格式,模型甚至可以靠格式判断配对来源。可靠流程要保存增强参数与少量实际视图,按目标大小、类别、来源和极端参数分层检查,同时测试只含背景、替换背景或保留主体的反事实样本。
任务是从箭头图像的表示预测朝向。亮度微调不改变朝向,可作为正对变化;水平翻转会把向左变为向右,若仍让两视图完全接近,冻结读出器无法同时恢复两个标签;旋转九十度也需要同步更新方向,而不是被当作无关噪声。
可采用两种修订。若只关心“是否为箭头”,翻转和旋转可进入正对增强;若必须预测方向,则限制这些变换,或让表示分为对外观不变的部分与对姿态等变的部分。验收时既比较正对距离,也训练冻结方向读出器,并在未见角度上检查。仅观察预训练损失下降无法判断合同是否正确。
对齐、分散与坍塌
对比目标同时推动正对对齐,并通过分母让不同样本在归一化空间中分散。如果所有表示完全相同,则每个锚点对其余 项给出相同分数,正例概率为 ,损失为 。在负例丰富、配对正确和优化正常时,这通常不是最优解,因为模型可通过区分样本降低损失。但这不构成任何实现都不会坍塌的保证:批次几乎重复、配对索引错误、表示在归一化前接近零、数值溢出、过强正则或数据捷径都可能产生完全或部分退化。
诊断不能只看平均损失。完全坍塌表现为逐维方差近零和随机样本对相似度都接近一;部分坍塌可能仍有少数方向变化,却只使用很低的有效秩。应记录归一化前范数、逐维标准差、协方差谱、有效秩、正负相似度分布和最近邻组成,并与未训练编码器、常量表示及简单监督基线比较。若训练集正负分离但按相机或站点切分后失效,模型可能学到来源捷径而非期望语义。
温度与维数影响球面上的分布,但不能单独消除错误监督。极低温度会集中处理最相似负例,极高温度会让概率接近均匀;更高维度提供更多分离方向,也可能让模型记住实例。选择应在预先定义的验证协议上进行,并同时报告表示诊断和下游结果。
InfoNCE 的信息解释有前提
在特定联合分布、负样本从边缘分布独立抽取以及评分函数等假设下,InfoNCE 可与互信息下界联系起来。这一理论联系帮助解释为何候选数会影响界,但不能直接把任意批内 NT-Xent 数值称为“样本语义互信息”。同一主体成组采样会破坏独立边缘抽样,有限批次限制可辨认候选,增强又改变了随机变量本身。假负例、重复样本和数据依赖采样都会使朴素解释失效。
即使某个估计下界更高,也不保证下游需要的信息更容易线性读取。模型可能保留实例编号、拍摄设备或背景,从而很好地区分候选,却删除类别、方向或物理量。信息语言应转化为可检验问题:输入和视图随机变量是什么,负例来自哪个分布,评分函数受到什么限制,下游读出器需要什么信息。超出这些前提时,只把损失解释为当前采样任务的交叉熵。
编码器、投影头与线性评价
训练结束后,常见做法是丢弃投影头,在编码器输出 上评价。投影头允许对比损失在一个专用空间满足强不变性;但它并不保证 总优于 ,因此应预先说明读取哪一层,并避免看到测试结果后再选择。冻结线性评价固定编码器,只训练一个仿射分类器或线性回归器。它测试目标信息是否线性可读,不等于表示包含全部语义,也不等于全量微调能力。
公平协议先按主体或来源划分预训练、下游训练、验证和测试数据,处理近重复污染;再固定输入处理、特征层、标准化、优化器、正则化和训练预算。超参数只用验证集选择,测试集只在方案冻结后运行。至少比较随机初始化编码器、未预训练特征、简单手工特征或监督基线。还可补充最近邻检索、少标签曲线、全量微调、鲁棒性和分布外切片,因为它们回答不同问题。
设同一冻结编码器产生二维表示。训练集两类点分别集中在 与 ,验证集也保持该结构。训练线性头 ,并只用验证集选择正则强度,可以说明类别在该表示中近似线性可读。
若改为同时更新编码器,再取得高准确率,结论只能是预训练参数提供了可微调的初始化;优化过程可能已经重排整个表示。若先在测试集挑选编码器层或正则强度,再报告同一测试分数,就产生选择泄漏。若训练和测试包含同一对象的不同增强,探测器还可能识别对象记忆。三种情况即使最终数字相同,证据含义也不同。
数值实现与复现清单
相似度矩阵的直接计算量约为 ,内存也随候选对数增长。可以分块计算,但必须保持同一分母和配对掩码。为避免指数溢出,应使用 log-sum-exp:先从每行 logit 中减去该行最大值,再计算指数和;混合精度下尤其不能直接对大 logit 求指数。对角线应在 softmax 前以不可选值屏蔽,而不是算完概率后再把自身项清零,因为后者已改变归一化分母。
固定随机种子只解决一部分复现。还需记录数据版本与去重规则、原始样本到两视图的映射、增强顺序和参数分布、批次采样器、全局批量、分布式汇总方式、温度、归一化位置、编码器与投影头结构、优化器、精度模式以及评价协议。若批次中最后一个不完整批被丢弃,候选分布也会改变;若多卡仅有部分进程看到某些类别,局部负例会形成系统偏差。
训练监控至少同时包含损失、正例概率、最难负例相似度、表示范数、逐维方差和有效秩。性能状态要区分数据等待、增强耗时、编码器前向与相似度矩阵开销。发生非有限损失时,保存批次标识和增强参数并停止该次更新,不能吞掉异常继续产生不可追溯的模型。
三个常见误区
第一,“两个视图来自同一文件,所以一定是正确正对”。增强可能删除主体、改变标签或产生管线捷径;来源相同只是构造规则,不是语义证明。
第二,“批量越大,负例越多,表示必然越好”。全局批量改变候选任务,也提高遇到重复项和假负例的概率;收益必须在固定计算预算与分组切片中验证。
第三,“预训练损失更低就证明表示更通用”。模型可能记住实例或背景,温度与候选数也会改变损失尺度。表示质量要由冻结探测、微调、检索、污染检查和坍塌诊断共同判断。
练习
查看提示
查看解答
查看提示
查看解答
查看提示
查看解答
查看提示
查看解答
查看提示
查看解答
查看提示
查看解答
关系与资源
- 度量学习 提供距离、相似度与配对监督的基础。
- 熵、交叉熵与散度 支持 softmax 损失和信息解释。
- 正则化与数据增强 约束正对所表达的不变性。
- 跨模态预训练 将配对对比目标用于不同模态。
- 表示学习综合复习 汇总迁移、坍塌与评价边界。
A Simple Framework for Contrastive Learning of Visual Representations
Ting Chen, Simon Kornblith, Mohammad Norouzi, Geoffrey Hinton
用于核对对比学习目标、增强选择、负样本规模以及表示评估的实证边界。
打开官方来源