您的机器学习模型是否正在“暴饮暴食”垃圾数据?

如果能够一键获取所有所需数据,那该多好?理论上,这正是合成数据的承诺:通过在模拟环境中生成数据,然后用它来训练机器学习 (ML) 模型,从而解决使用机器学习面临的最大挑战之一,即收集和标记相关数据。但是,要捕捉现实世界的所有复杂性并不容易,因此合成数据和模拟往往达不到预期效果,导致机器学习模型在实际数据环境中表现不佳。现实世界收集的数据与合成数据之间的所有差异累积起来,被称为领域差距,这个差距可能很大且多方面——这使得识别和解决那些导致模型性能不佳的差异变得非常困难。另一种看待这个问题的方式是,用低质量数据(即领域差距大且无关信息百分比高的模型)训练模型,可能导致模型养成“坏习惯”,无法应用于真实数据。
如果我们要兑现合成数据的承诺,解决领域差距问题是至关重要的一步。虽然目前有多种缩小领域差距的方法,但在 Duality,我们利用高质量的数字孪生,并相信这代表了一种深思熟虑、系统化且面向未来的方法,用于生成高质量的合成数据,从而带来对数据投资的切实且可预测的回报。
什么是数字孪生?数字孪生是现实世界实体和过程的虚拟表示,以指定频率和保真度同步。来源:数字孪生联盟
简单来说,数字孪生是现实世界实体的高度逼真的数字版本。数字孪生的主要目的是在虚拟环境中准确呈现物理对象的外观、属性和行为。为了实现这一目标,数字孪生采集需要精细的 3D 建模、充分描述实体基本特征的高质量真实世界数据,以及最先进的物理引擎将其整合在一起。因此,数字孪生可以从无限的现实世界源中生成,且复杂性不断增加:一朵花茎和一片野花田都可以表示为不同类型的数字孪生。我们将数字孪生分为三种基本类型:环境、系统和物品。
环境是我们感兴趣领域中包含的周围事物——它们可以像森林或城市街道一样广阔,也可以像传送带上的某个特定点一样狭窄。
系统是指在环境中执行或表现出行为的任何实体。
物品是指填充环境且系统可以与之交互的任何非功能性对象或产品。
数字孪生实现更精准高效的训练
我们观察到,高度逼真且相关的合成数据可以匹配并增强真实世界数据,从而产生健壮且可部署的机器学习模型。这意味着,我们合成数据的质量有助于预测成功的机器学习模型训练,这引导我们提出一个问题:
我们如何在未使用这些数据训练模型之前,量化数字孪生的真实性和相关性?
为此,我们提出了三个标准来指导合成数据的创建。它们统称为“三项I”(The Three I's):无法区分性 (Indistinguishability)、信息丰富性 (Information Richness) 和意图性 (Intentionality)。
1. 无法区分性
无法区分性:在这个例子中,行李箱并非完全相同(合成行李箱与真实行李箱混在一起),我们无法分辨哪个是哪个。
高质量合成数据的第一步是最大限度地缩小领域差距。因此,我们的合成数据应力求与真实世界样本无法区分。它不需要完全相同,但应该无法判断任何给定数据分布是来自我们的模拟版本还是来自真实世界样本。换句话说,一个不偏不倚的算法在将数据分类为“真实”或“虚假”时,应该至少有 50% 的时间是错误的——真实世界样本应该与合成样本完全融合。我们的无法区分性评级越高,我们的数据就能越精确地捕捉特定场景。我们将在本文稍后详细阐述如何评估数字孪生的无法区分性。
2. 信息丰富性
信息丰富性:生成我们从未在真实世界中见过的新版本。在这里,我们有熟悉和新颖的变体,上面覆盖着无限种类的贴纸和标签。
虽然合成数据根据上述指标应该无法区分,但它也需要具有新颖性——为了有用,它需要生成有关特定领域的新信息。例如,数据应该提供新的视角、新的角度、新的特征等,以填补真实数据的空白。我们不希望用冗余信息稀释数据集,因此每个数据点都应该是有价值的,并且能够代表真实世界的场景。如果无法区分性允许高精度,那么信息丰富性使我们能够准确地拓宽数据所能捕获的范围。
3. 意图性
意图性:确定我们感兴趣的领域。对于这个假设模型,是指带有 Duality 标志贴纸的行李箱。
我们正在寻求对我们正在模拟的数据及其在我们的领域中有用方面有一个基本的了解。在生成新数据时,我们希望识别关键项目,以便在最相关的变量中创建多样性。通过意图性数据,我们定义了我们的操作领域。换句话说,即使我们可以在合成数据中创建无限量的变化,但并非所有变化都对提高机器学习模型的性能有用。如果引入信息丰富性时不考虑用例或与模型的相关性,通常会产生微不足道或可能混淆的结果。因此,为了创建健壮的机器学习模型,我们可以对其预期的操作领域做出明确的决定:哪些条件是相关的?它们是可变的还是静态的?哪些边缘情况是重要的,哪些可以忽略?意图性旨在全面理解要引入哪些特定的信息丰富性,并且可以被视为控制杠杆,用于在任何给定用例中,我们从现实世界收集的数据基础偏离多远以及偏离的方向。
“三项I”是相互关联和相互依存的。为了帮助我们可视化这些抽象关系,我们可以想象任何领域都可以表示为一个独特的三维形状。无法区分性是这个形状的结构核心,其中我们的真实和合成样本融合在一起。信息丰富性是我们填充了多少领域,或者形状可以从核心演变的所有方式。意图性则是这种演变的指导,修剪不相关的部分并突出有价值的方面,最终定义了形状的外观。随着我们对感兴趣领域的更好理解,我们能够更好地精确指示引入哪些信息丰富性,并且形状呈现出清晰明确的形式。
打个比方,我们可以想象根据一套通用蓝图建造一座房子。大部分原始结构将与蓝图规定的大致吻合(无法区分性)——这是我们知道房子安全和功能健全的原因。那么,信息丰富性就是我们能够改进建造的所有方式:我们可以选择的材料,我们可以隔断或增加的房间,我们可以安装的电器等等——所有这些蓝图没有明确规定,但受其基础布局指导的东西。意图性是我们如何确定哪些选择适合我们的特定房屋:哪些特征对我们的位置很重要?或者对气候?或者对居住者的数量和类型?所有这些选择都使房屋偏离了原始蓝图,但其方式有意地符合蓝图的界限和我们的需求。将这个想法总结到合成数据领域:我们通过做出明智的选择,有意地增加信息丰富性,以指导我们机器学习模型的方向,从而在我们的初始结构之上进行构建。
综上所述,我们认为提供越来越无法区分、信息丰富和有意的合成数据是可能且必要的。
评估无法区分性
正如我们一开始提到的:高质量的合成数据在机器学习模型训练中可以匹配甚至超越真实世界数据。这使得高无法区分性与更好的训练结果相关联,并要求我们在对任何模型进行特定数据“饮食”之前,对其无法区分性进行定量评估。
评估数字孪生场景的第一步是单独评估数字孪生项目。例如,如果我们正在训练一个对象检测模型,我们将首先单独评估每个项目/系统的无法区分性,然后重复该过程在预期环境中进行。我们将详细介绍单个项目数字孪生的评估,但数字孪生系统和环境以及它们在环境中的数字孪生系统/项目也遵循相同的过程。
如图4所示,我们使用从我们创建的数字孪生和真实世界对象中获取的图像来评估它们的无法区分性。我们在Voxel51的朋友开发了一个名为FiftyOne的开源软件工具,它支持机器学习数据可视化和分析。我们利用FiftyOne来促进无法区分性分数(Indistinguishability Score)的计算和可视化(我们将在下面展示一个例子,但鼓励大家在自己的数据上尝试FiftyOne和我们的repo)。为了将图像的视觉方面表示为可分析的定量特征,图像会通过一个预训练的卷积神经网络。然后,使用FiftyOne的降维实现来可视化数据。
图 5a 可区分的合成数据
图 5b 无法区分的合成数据
在图 5 中,每个数据点代表一个唯一的真实(蓝色)或合成(红色)图像。这里,我们展示了等量的真实数据和合成数据。如果数据确实无法区分,那么随机合成图像旁边最近的样本是真实的概率应该是 50%。换句话说,合成数据图像与它们的真实世界对应物完美混合,合成数据的分布与真实世界数据的分布无法区分地匹配。请注意,理想情况下,真实世界数据在图 5 a) 和 b) 之间不应改变,但由于降维是一个迭代过程,它需要同时在合成数据和真实数据上进行。这就是为什么,尽管图 5 a) 和 b) 中的真实数据是相同的,但不同的合成数据导致了不同的低维表示 T-SNEUMAP。这种技术不限于任何特定的降维方法,并且可以从其他类型的降维中受益。
当数据并非完全无法区分时,我们可以遵循相同的逻辑,生成一个“数据重叠值”。该值量化了合成数据与真实数据实际重叠的程度,并将其表示为一个简洁的“无法区分性分数”。在这种情况下,合成样本与其最近邻为真实世界样本的概率将小于 50%。一旦我们有了这个概率,我们就可以计算该分布与完全无法区分的程度的偏差,以获得“无法区分性分数”。
这种方法也可以扩展到合成数据多于真实数据的情况,而这种情况正好一直存在!如果我们有 70% 的合成数据和 30% 的真实数据,并且数据是无法区分的,那么随机合成图像旁边的最近样本是真实的概率应该是 30%。同样,这个概率随后被转换为一个无法区分性分数,该分数现在考虑了真实数据和合成数据数量的巨大不平衡,以及不那么无法区分的数据,从而为我们提供了合成数据真实性的良好估计。
在图 5a 和 5b 中,合成图像和真实图像数量相等,这意味着合成数据点应该在 50% 的时间里最接近一个真实数据点。在图 5a 中,这种情况发生率为 0%,而在图 5b 中,发生率为 40%。根据这些观测到的概率,我们估计图 5a 和 5b 的数据重叠分别为 0% 和 80%。请查看我们的repo以在样本数据上测试这些方法,或在您自己的数据上尝试。
图 6 无法区分性分数(数据重叠)与用于对象检测的平均精度均值(mAP)的关系。请注意,无法区分性分数越高,模型性能越好。
图6展示了数字孪生的无法区分性分数与在该数字孪生上训练的模型性能之间的关系。在我们的测试中,我们观察到无法区分性分数与目标检测模型的性能之间存在明显的正相关。更重要的是,我们还可以看到数字孪生不需要完美无法区分也能为机器学习模型带来显著益处。事实上,分数大于0.8并不一定会带来改进。原因在于无法区分性并非唯一重要因素——许多因素都会影响使用合成模型的数据性能,其中最重要的是无法区分性与信息丰富性之间的直接矛盾。
虽然本文不深入探讨数字孪生获取的具体细节,但重要的是要记住,无法区分性始终根植于对真实世界样本的测量和分析,并且是与实际真实世界关系的一种近似。此外,即使我们能够访问完整的真实世界数据,也并不意味着它就是我们想要的分布。例如,我们可能希望对真实世界中不常见但对良好训练非常重要的边缘案例进行过采样,因此真实世界数据可能不是最终目标。这就是为什么“三项I”对于最佳合成数据至关重要的原因。在下一篇博客中,我们将探讨这些观点,并更深入地研究信息丰富性及其与无法区分性的张力。我们将剖析我们如何概念化信息丰富性,推断其有用性,以及这与当今主流方法相比如何确保任何机器学习模型的最佳数据“饮食”。