在机器学习领域,我们经常面临一个棘手的问题:模型训练数据的质量。就像人类长期摄入垃圾食品会导致健康问题一样,模型如果"暴食"低质量数据,其性能也会大打折扣。特别是在使用合成数据训练模型时,这个问题尤为突出。
合成数据本应解决机器学习中最棘手的挑战之一——收集和标注相关数据。理论上,我们可以在模拟环境中生成所需数据,然后直接用于训练模型。但现实情况是,合成数据经常无法完全捕捉真实世界的复杂性,导致模型在实际应用中表现不佳。这种真实世界数据与合成数据之间的差异被称为"领域差距"(Domain Gap),它往往是多方面且难以量化的。
数字孪生是真实世界实体和过程的虚拟表示,它以特定的频率和保真度与现实世界同步。简单来说,数字孪生是现实世界实体的高度逼真数字版本。其主要目的是在虚拟环境中准确呈现物理对象的外观、属性和行为。
要创建高质量的数字孪生,需要:
数字孪生可以从无限的真实世界来源生成,复杂度可以不断增长——从单一的花茎到整片野花田,都可以表示为不同类型的数字孪生。
我们将数字孪生分为三类:
为了量化数字孪生的真实性和相关性,我们提出了三个标准,统称为"三个I":不可区分性(Indistinguishability)、信息丰富度(Information Richness)和意向性(Intentionality)。
不可区分性是迈向优质合成数据的第一步。我们的合成数据应努力做到与真实世界样本无法区分。这并不是说要完全相同,而是应该无法确定任何给定的数据分布是来自我们的模拟版本还是来自真实世界的例子。
关键提示:一个公正的算法将数据分类为"真实"或"虚假"时,错误率至少应为50%——真实世界样本应该完全与合成样本融为一体。
不可区分性评分越高,我们的数据就能越精确地捕捉特定场景。我们可以使用Voxel51开发的FiftyOne等工具来计算和可视化不可区分性分数。
在评估中,每个数据点代表一个独特的真实(蓝色)或合成(红色)图像。如果数据确实不可区分,那么随机合成图像最近的样本是真实的可能性应该是50%。
虽然合成数据应该符合上述不可区分性标准,但它也需要具有新颖性——要有用,它需要生成关于特定领域的新信息。数据应提供新的视角、新的角度、新的特征等,填补真实数据的空白。
我们不想用冗余信息稀释数据集,因此每个数据点都应该有价值并代表真实世界场景。如果说不可区分性允许高精度,那么信息丰富度则让我们能够准确拓宽数据可以捕捉的范围。
我们需要对所模拟的数据及其在领域中哪些方面有用有基本的理解。在生成新数据时,我们希望识别关键项目,以便在最相关的变量中创造多样性。
通过意向性数据,我们定义了我们的操作领域。换句话说——虽然我们可以在合成数据中创造无限的变化,但并非所有变化都有助于提高ML模型的性能。简单地引入信息丰富度而不考虑用例或与模型的相关性,通常会产生微不足道或可能混淆的结果。
"三个I"是相互关联和相互依存的。为了帮助可视化这些抽象关系,我们可以想象任何领域都可以表示为一个独特的三维形状:
这种关系可以用建造房屋来类比:
图6展示了数字孪生的不可区分性分数与在该数字孪生上训练的模型性能之间的关系。在我们的测试中,我们观察到不可区分性分数与目标检测模型的性能之间存在明显的正相关。
值得注意的是,数字孪生不需要完全不可区分就能为ML模型带来显著好处。事实上,大于0.8的分数不一定会产生改进。这是因为不可区分性不是唯一重要的因素——许多因素会影响使用合成数据的模型性能,其中最重要的是不可区分性与信息丰富度之间的直接张力。
数据平衡:当合成数据远多于真实数据时(比如70%合成,30%真实),如果数据不可区分,那么随机合成图像最近的样本是真实的可能性应该是30%。
边缘案例:即使我们能获得完整的真实世界数据,也不意味着这就是我们想要的分布。我们可能希望对真实世界中不常见但对良好训练非常重要的边缘案例进行过采样。
工具选择:FiftyOne等工具可以大大简化不可区分性评估过程,建议在实际项目中采用。
迭代优化:数字孪生的创建是一个迭代过程,需要不断根据评估结果进行调整和改进。
虽然不可区分性是合成数据质量的重要指标,但它不是唯一需要考虑的因素。在后续的研究中,我们需要更深入地探讨:
在实际项目中,我发现数字孪生的质量往往决定了模型性能的上限。一个实用的建议是:先从小的、可控的场景开始构建数字孪生,验证"三个I"指标,然后再逐步扩展到更复杂的场景。这种方法可以避免一开始就陷入过于复杂的建模工作,同时确保合成数据的质量可控。