Anderson 视角
‘流氓’ 数据污染生成式 AI 性能

一项新研究发现,许多用于训练 AI 模型的流行图像数据集被测试图像或近似副本污染,允许模型通过记忆答案而不是学习来作弊。泄漏是普遍的,但通常未被检测到,悄悄地膨胀了分数,并给予了训练在网络规模数据上的模型不公平的优势。
当你参加驾驶考试时,你通常不会提前知道将使用哪些具体路线进行考试。如果你知道了(并且你有点缺乏诚信),你可能会通过反复练习那条路线来“优化”考试,而不是发展更广泛的驾驶技能,以便能够处理任何路线。
在机器学习模型的训练中,这是一个合理的类比——一个将训练集数据分割成(通常)70% 的训练数据和 30% 的“野外”数据的测试分割。
由于“野外”数据从未被模型看到,如果模型在这些数据上表现良好,则可以假设其有效且高效;如果没有,则模型可能过度拟合到一个平衡的数据集上——或者数据需要额外的策划和定义。
无论如何,不 在模型的训练数据上评估模型是当前 AI 研究和开发方法的基石。
同样,请再来一次
根据日本的一篇新研究论文,计算机视觉和生成式 AI 研究领域尚未达到 LLM 研究人员在确保测试数据不会污染训练数据方面的努力;在测试中,研究人员发现他们研究的每个超大规模视觉数据集都在某种程度上允许其测试数据泄漏到其训练数据中——这意味着在这些分割上训练的模型的基准和性能报告将不比有人在考试中偷偷使用 crib 的考试成绩更准确,并且不会反映真实世界中对新数据的性能。

研究人员发现的数据交叉污染示例,其中训练数据和测试数据中都存在重复或近似重复的数据点。 来源:https://arxiv.org/pdf/2508.17416
上图来自新论文,展示了研究人员在各种模型的训练数据和测试数据中发现的重复或近似重复数据点的示例——足以使模型在这些数据上的性能失效,并轻微地膨胀其整体分数,制造出模型可能没有真正达到的泛化能力。
为了使事情更加复杂,污染似乎发生在多种可能的场景中,包括“预训练”,其中使用较旧的祖先模型的权重来“启动”一个新模型。如果上游的较旧模型具有与新数据集相同的某些数据,则即使 70/30 或 80/20 分割是干净的,交叉污染仍然可以发生。
累积效应
这几乎肯定会发生,即使在最新的数据集中:过去五年中,视觉/语言数据集的范围已经大大增加,不仅包括网络上最新的图像数据,还包括以前的历史数据集的大部分内容。
此外,设计用于筛选和过滤数十亿图像的自动化例行程序现在面临着如此繁重的任务,以至于策划本身——在时间和金钱方面的成本——现在必须在预算限制的背景下考虑。
同时,像 Common Crawl 这样的巨型集合背后的这种网络抓取行为是由于图像的重发和重新压缩、应用裁剪等编辑以及翻转(例如,当图像未经许可使用时)而导致图像重复的必然结果。
作者观察到*:
‘数据泄漏是一个普遍的问题,存在于大多数视觉数据集中。泄漏会模糊模型的泛化能力,这在比较在不同数据集上训练的模型时尤其成问题,导致不公平的比较。 ‘
‘我们敦促数据集设计者仔细考虑这些评估的影响。为了进行更公平的模型评估,我们建议使用考虑硬性和软性泄漏的重复检测器。 ‘
‘理想情况下,泄漏的图像应从训练集中删除,如果不可能,至少应从测试集中删除。’
该论文详细介绍了研究人员对大量和流行数据集进行的多项测试——每一个测试都表明存在某种程度的污染。
这篇题为《视觉数据集中的数据泄漏》的新论文来自大阪大学的三位研究人员。
方法
该论文的作者从三个维度定义了泄漏:模态、覆盖范围和程度。
模态区分了只泄漏图像还是同时泄漏图像和标签;覆盖范围确定了重叠发生在同一数据集内还是跨不同数据集;程度定义了重复内容是否完全相同或仅相邻。
关于泄漏,工作中考虑了两种场景:数据集内泄漏(其中评估图像重新出现在同一数据集的训练分割中)和数据集间泄漏(其中一个数据集的评估图像存在于用于训练的不同数据集中)。
关于程度,定义了两个级别:软性泄漏(其中图像不完全相同但具有小的变化)和硬性泄漏(其中图像在训练和评估中完全相同)。
研究人员使用图像检索来解决泄漏检测问题,使用图像编码器将每个图像表示为一个特征向量。查询集是评估数据,而集合是训练集。
对于较小的数据集,使用余弦相似度直接比较每个查询向量与所有训练向量。对于较大的数据集,构建了 Faiss 索引以实现更快的 K 最近邻搜索。
由于编码器需要捕获足够的视觉信息以检测微妙的相似性,但仍然需要在面对大量数据时保持效率,作者依赖于数据集创建者提供的预计算的 CLIP 特征(在 LAION 集合和后续项目中)。
作者注意到,允许 CLIP 使用其对数据集的提炼理解(而不是对实际文件进行大规模的轮询)大大加快了该过程,并在比较中提供了更好的一致性。
数据和测试
用于测试的 CLIP 图像编码器是默认的 CLIP ViT-B/32,最初用于筛选 LAION。
为了确定多样图像之间的关系,使用了 KNN 搜索,受 AutoFaiss 支持。
数据集被分为三类:预训练数据集——用于训练通用模型的超大型网络抓取集合;训练数据集——较小、通常带注释的集合,用于直接模型调整;和基准数据集——手动注释,仅用于评估。
分析涵盖了七个数据集中的二十个分割:Microsoft COCO 既用作训练集,也用作评估集,包括训练、验证、测试和未标记的分割;Flickr30k 仅用作基准;Google 概念标题(GCC)集合用作预训练源,其验证部分也用于评估。
此外,ImageNet 用于训练和基准,而 LAION-400M 数据集仅用于预训练。
OpenImages v4 贡献了训练和基准数据,而 TextCaps 提供了训练和测试分割用于评估。

来自新工作的 Google Open Images 数据集的图像注释示例。 来源:https://arxiv.org/pdf/1811.00982
为了评估方法在图像经过微妙改变(例如调整大小、裁剪或类似非语义转换)时检测泄漏的能力,作者在 Flickr30k 上进行了测试,随机选择 5,000 张图像作为查询,并使用整个数据集作为参考集合。
每个查询图像在编码之前都会进行转换(即进行非语义修改,例如调整大小或裁剪),然后使用余弦相似度与集合中的最相似项进行匹配;只有当原始图像被检索为顶级结果时,才会计算匹配。
比较了三种编码器:ResNet-152;DINOv2 ViT-B/14;和 CLIP ViT-B/32。
使用了四种非语义图像转换:几何(翻转和旋转);裁剪(从每个边缘删除 20、50 或 100 像素);像素化(高斯模糊、添加噪声或向下采样到 128 或 256 像素);和颜色(灰度、反转或红、绿或蓝色叠加)。

来自补充材料的数据转换示例——也用于数据增强预处理的常规例程。
然后测试了图像检索中的泄漏检测:

对 5,000 张 Flickr30k 查询图像(经过各种非语义转换)进行泄漏检测的准确率。
所有三个编码器在未修改的图像上都实现了完美的性能,并且 CLIP 在裁剪、水平翻转、噪声和调整大小方面保持了可靠性,超越了 ResNet 在像素级和颜色变化方面的表现。
DINOv2 在颜色转换方面表现出强大的恢复力(可能是由于其自监督设计,作者认为),但在几何编辑和裁剪方面明显较弱——这些都是重复数据集中的常见问题。
由于 LAION 已经包含 CLIP 嵌入,并且考虑到其在一致性和速度方面的稳健性,CLIP 被选为主要分析的默认编码器。
硬性和软性泄漏
性能是根据余弦相似度阈值评估的,以区分完全重复和近似重复图像(硬性和软性泄漏)。
选择 0.98 作为阈值来定义硬性泄漏,结果没有假阳性,并且能够完美地检测出完全相同的图像。
对于软性泄漏,选择 0.95 作为阈值,允许检索更多近似重复项,同时保持近似为零的假阳性率。优先考虑精度而不是召回率,发现被保守地估计:

用于指导泄漏检测的硬性和软性阈值选择的 ROC 曲线。转换和未转换条件下的高 AUC 得分表明,即使在最小的修改下,也可以可靠地将近似重复项与无关图像区分开来。
数据集内泄漏
数据集内泄漏是通过在同一数据集内的训练和评估分割之间识别图像重叠来计算的。只有具有基准和训练或预训练分割的数据集才有资格参加分析,分析范围缩小到 COCO、GCC、ImageNet、OpenImages 和 TextCaps。
对于 COCO,测试集与训练集、评估集和未标记的子集进行了比较,而验证集则与训练集和未标记的子集进行了比较。
ImageNet 的测试和验证分割中观察到了最高的数据集内泄漏率,硬性泄漏高达 1.58%,软性泄漏略低于 2%。GCC 和 COCO 次之,COCO 的 val2017 显示软性泄漏率为 3%,其测试分割范围从 1.35% 到 1.38%。OpenImages 表现出低硬性泄漏率(0.05%),但软性泄漏率超过 1.3%,出现在测试和验证集中。TextCaps 显示出总泄漏率最低(0.69%),且未检测到硬性泄漏:

数据集内泄漏率,显示每个评估分割中与其关联的训练数据的重叠比例。
关于这些结果,作者指出†:
‘这些结果表明,数据集内泄漏发生在所有分析的数据集中,或者是硬性泄漏,或者是软性泄漏。 ‘
‘鉴于数据泄漏会损害模型评估,而数据集是为此目的而设计的,数据集内泄漏是一种本应不存在的风险。 ‘
‘然而,我们在所有数据集中都找到了多个实例。 ‘
数据集间泄漏
为了衡量数据集间泄漏(其中模型在一个数据集上进行训练并在另一个数据集上进行评估),使用了四个数据集作为训练数据来源:gcc 训练、imagenet 训练、openimages 训练和 LAION。
这些数据集被匹配到从 COCO 2014 测试和验证分割、Flickr30k、TextCaps 测试、OpenImages 测试和验证分割以及 ImageNet 测试和验证分割中提取的评估数据。
对于除 LAION 之外的所有数据集,使用 CLIP ViT-B/32 提取了嵌入。然而,由于 LAION 提供的嵌入与使用官方 CLIP 实现生成的嵌入略有不同,因此查询图像根据 clip-retrieval 存储库中使用的方法进行了重新缩放,以确保兼容性。
使用 KNN 搜索进行检索,尽管 LAION 的规模需要将其分成每个一百万图像的块,并分别对每个块进行索引:

基准数据集(列)和预训练数据集(行)之间的数据集间泄漏。左侧显示“硬性”泄漏(完全相同的图像),右侧显示“软性”泄漏(近似重复项)。
在所有基准数据集中都观察到了数据集间泄漏,严重程度各不相同。LAION 显示出最高的硬性泄漏率(完全相同的图像),尤其是在 OpenImages 和 TextCaps 测试数据中,每个数据集的泄漏率超过 3%。OpenImages 也向 COCO 贡献了一小部分硬性泄漏。ImageNet 包含来自每个基准的硬性重复项,但总体而言,GCC 的硬性泄漏最低,低于 1%。
软性泄漏(近似重复项)更为普遍:LAION 产生了最高的软性泄漏率,某些基准的重叠率高达 7.9%;OpenImages 和 TextCaps 是最受影响的基准数据集;Flickr30k 显示出最低的泄漏率。
虽然这种重叠可能只占评估集的一小部分,但作者指出其存在可能允许记忆并损害测试的有效性:

泄漏图像示例。左侧显示数据集内的“硬性”泄漏(顶部)和数据集间的“硬性”泄漏(底部);右侧显示“软性”泄漏,图像在视觉上几乎相同。
对下游评估的影响
该论文接下来考虑了数据泄漏如何影响下游评估(即预训练模型在基准测试中的性能,当这些基准测试包含重复的训练数据时)。
对于每个任务,模型的性能都在基准数据集上进行了评估,该数据集已知包含来自预训练数据的泄漏样本。结果与四个子集进行了比较:完整的基准;泄漏样本的子集;非泄漏样本的子集;以及一个随机选择的子集,其大小与泄漏组相同(用作控制)。
泄漏对三个下游任务的影响使用已知包含泄漏图像的基准子集进行了测量。在零样本分类中,预训练于 LAION 的模型在 ImageNet 评估集上的泄漏图像上实现了显著更高的准确率,确认了在训练中接触到甚至是近似重复项可以提供可测量的优势:

ImageNet 验证集上的零样本分类准确率,跨具有和不具有泄漏的子集。最后一列报告了相对于完整集的准确率增益,突出显示的行对应于泄漏子集。
在监督分类中,ImageNet 中的泄漏导致性能急剧下降,除非泄漏图像在两个分割中具有相同的标签,在这种情况下,模型实现了几乎完美的准确率,揭示了强烈的记忆效应:

ImageNet 验证集上的监督分类准确率,跨具有和不具有泄漏的子集。增益列显示了相对于完整集的变化,突出显示的行对应于泄漏子集。
在图像到文本检索中,性能也对泄漏样本有所提高,硬性和软性泄漏都会导致召回率更高,并且泄漏子集也会产生更一致的结果:

Flickr30k 上的图像到文本检索性能,跨具有和不具有泄漏的子集,突出显示泄漏子集。
作者得出结论:
‘总体而言,我们展示了泄漏对视觉数据集中的公平模型评估构成严重威胁的证据,损害了机器学习中最基本的原则之一:不要在训练数据上评估模型。 ‘
结论
该论文的一个令人震惊的方面,尽管它并非新鲜事,是对需要使用 CLIP 来获取 LAION 中大量图像数据的嵌入的描述,这代表了一个规模,以至于无法以其他方式解决——处理代币化的元数据,而不是可以在数据集更易于管理时检查的更详细的特征。
这是一个明显的例子,说明视觉语言模型的训练已经超出了人类监督或任何手动策划的界限,除了代表性子集之外。
* 也许有些令人困惑的是,该论文将重复问题定义为“泄漏”。
† 作者强调。
首次发布于 2025 年 8 月 26 日,星期二。












