语义相近的负样本会破坏表征
自监督对比学习用同一张图像的两个增强视图构成正样本对,再从数据集中抽取其他图像构成负样本对,却不检查这些图像是否语义相近。当抽到的负样本与锚点在语义上接近时,损失函数仍会把两个嵌入推开。论文把这种样本对称为假负例,并指出这会迫使模型丢弃本应保留的语义信息。
规模并不小。在 ImageNet100 上预训练 SogCLR 时,约 1% 的负样本对是假负例;按批大小 1024 计算,每批约有 20,000 个假负例,批大小为 128 时约有 325 个。论文还报告,在存在这类假负例的情况下学到的表征,其上训练的线性分类器在半监督设置中准确率最多比没有假负例时低 10%。
局部检测看不到全数据集的信息
此前的假负例发现方法分为两类。局部方法用相似度或邻接关系,在同一小批次内把锚点与其他样本比较。论文的反驳针对结构本身:小批次内最相似的样本,未必是整个数据空间中语义最相似的样本,因此局部规则可能漏掉真正的假负例,也可能标错对象。
全局方案 IFND 为每个锚点搜索整个数据集,但做法是在特定轮次对整个数据集聚类。这换来了全局覆盖,代价是计算量随数据集规模增长。GloFND 同时针对这两类方法:它保留数据集范围的假负例定义,同时把每次迭代的成本控制在小批次规模。
阈值编码的是分位数而非固定截断
GloFND 把锚点的假负例定义为整个数据集中相似度最高的前 α% 负样本,即相似度分数高于 (1−α) 分位数的集合,其中 α 在 [0,1] 内。因此每个锚点都有自己的阈值 λᵢ,而不是共用一个全局截断值,因为不同锚点位于嵌入空间中相似度尺度不同的区域。
阈值不是手工设定的。论文用随机梯度下降求解一个凸优化问题来学习它,目标是恰好滤掉一组分数中前 α% 的部分。更新方向使分数高于阈值的负样本比例趋近 α,结果再投影回 [−1,1],因为余弦相似度分数落在该区间。图像实验中 α 设为 0.01,阈值更新只在调优选定的起始轮次之后开始,候选值为 {70, 90, 110}。
两步交替更新把检测留在批次内
算法在两个步骤之间交替。第一步,对当前批次中的每个锚点,只用该批次内的负样本更新 λᵢ,因此阈值估计是逐步细化的,而它瞄准的定义仍是数据集范围的。第二步,用修改后的对比损失更新编码器,其中分数高于 λᵢ 的负样本会从该锚点的负样本集合中移除,不再把嵌入推开。
移除假负例会缩小负样本集合,论文用滑动平均估计器来补偿:每个锚点维护一个标量 uᵢ,跨迭代累积其损失项的估计,沿用 SogCLR 的做法。这正是该方法无需大批次也能工作的原因。新增计算被描述为运行时间为 O(B²) 的基础矩阵运算,论文认为相对于余弦相似度和前向/反向传播可以忽略。
图像与图文预训练均出现提升
单模态实验中,论文用 ResNet-50 加两层投影头预训练 200 轮,批大小为 128,然后冻结编码器并在其上训练线性分类器进行评估。评估覆盖 100%、10%、1% 和 0.1% 的带标签训练数据,报告的半监督指标是这些比例下 top-1 验证准确率的平均值。迁移性能则在另外八个数据集上,用冻结特征训练逻辑回归分类器来测量。
双模态实验使用 CC3M,部分链接失效后下载到的训练集包含 2,723,840 个图文对,并通过 Datacomp 基准的 38 个下游任务评估零样本表现,报告平均值以及 ImageNet 及其变体、跨模态检索两个子集的成绩。论文的主张是,GloFND 在两种设置下都以极小的计算开销改进了现有对比学习方法;ImageNet100 上的 t-SNE 定性对比显示,移除假负例后外围簇更紧凑、更分明。
收益取决于假负例的数量
论文直接说明了自己的边界:GloFND 及类似假负例技术在下游任务上的收益,取决于预训练数据集中假负例的比例,以及下游任务如何定义假负例。这一条件比基准选择更重要,因为语义重叠负样本很少的数据集,留给阈值移除的对象本就不多。
作者还给出两点限制。该方法只通过过滤来处理假负例,论文称其直接且在其设置中有效,但并非唯一选择;把假负例当作额外正样本是论文提到却未采用的替代方案。另外,α 是单一共享值,而非逐锚点个性化设置,作者将其与 GloFND 能否扩展到对比学习方法之外一并列为开放问题。
关注 α 取值与起始轮次
对想复用该方法的人,最与决策相关的细节是 GloFND 引入了两个需按设置调优的参数:α 决定多大比例的负样本被判为假负例,以及阈值学习从哪一轮开始。图像实验用 α = 0.01,起始轮次在三个候选值中调优;CC3M 实验在 {5e−4, 1e−3} 中调优 α,SogCLR 从第 15 轮后开始,FastCLIP 从第 20 轮后开始。这些并非无关紧要的超参数,因为 α 直接定义了阈值所求解的目标量。
论文自身的定位把重点放在全局与局部的区别上,而非原始准确率差值:贡献在于以批次级成本套用数据集范围的假负例定义,报告的证据是这在单模态和双模态设置中改进了现有对比方法。至于它在某个预训练语料上是否划算,应依据该语料中语义重叠负样本的占比来判断,作者认定这一条件决定了下游收益。
本文引用的文献
Discovering Global False Negatives On the Fly for Self-supervised Contrastive Learning
GloFND 在训练中为每个锚点学习相似度阈值,把整个数据集中相似度最高的前 α% 负样本识别为假负例,使每次迭代成本不随数据集规模增长,并在图像和图文数据上改进了对比学习。
