社区计算机视觉课程文档
使用合成数据的挑战与机遇
并获取增强的文档体验
开始使用
使用合成数据的挑战与机遇
训练机器学习模型需要大量数据。合成数据可以通过解决隐私问题、扩充有限数据和纠正真实数据中的不平衡来提供帮助。我们已经学习了如何使用几种不同的方法生成合成数据。然而,在使用合成数据训练模型之前,有几件重要的事情需要考虑。
模型过拟合
当机器学习模型对训练数据学习得太好以至于在新数据、未见过的数据上表现不佳时,就会发生过拟合。这类似于学习解决特定问题的方法,但随后遇到新情况,该策略不再适用。如果合成数据的生成过程过于简单,或者存在过度一致的模式,则您的模型可能会过度拟合合成数据中存在的有限变化。作为一个非常简单的例子,假设您使用由 25 个红色圆圈和 25 个蓝色正方形组成的合成数据集训练了一个模型。该模型可能会学习将圆圈与红色关联,将正方形与蓝色关联。如果向该模型展示一个红色正方形,它可能会失败。
颜色过度一致
尺寸过度一致
背景过度一致
位置过度一致
合成数据中是否存在偏差?
如果合成数据的生成过程存在偏差或不准确之处,您的模型可能会无意中学习并永久存在这些偏差。请注意以下陷阱
多样性有限
一个挑战是,合成数据可能无法充分表示真实数据的复杂性和多样性。形状示例可能看起来微不足道,但在许多情况下,未能考虑人员、地点、动物或物体的广泛多样性将导致模型表现不佳。例如,假设您想训练一个模型来监测濒危物种的种群,例如指猴。如果您的数据集仅包含环尾狐猴的图像,则该模型可能难以准确识别野外的指猴。这种限制可能会导致人口评估出现错误。好消息是,如果您注意到基础数据集中的任何不平衡,您可以使用合成数据通过使用来自代表性不足类别的合成数据进行扩充来消除真实数据的偏差。
良好的多样性
复制现有偏差
如果您用于创建合成图像的数据已经存在偏差,您的模型可能会无意中学习并复制这些偏差。这就像复制朋友的笔记而没有意识到他们犯了错误一样——您的计算机最终可能会出现相同的错误。
使用合成数据的好处是否超过计算成本?
生成高质量的合成数据可能在计算上非常昂贵。这可能会在时间和资源方面带来挑战,特别是对于复杂模型或大型数据集。作为一般规则,只有当生成和使用合成数据集最终节省资源(金钱、时间等)时,才有意义。
合成图像的感知质量如何?
让我们考虑一下我们使用 DCGAN 生成的肺部图像。虽然有些图像看起来非常逼真,但另一些则不太好。使用低质量图像训练的模型可能无法检测到肺炎,因为它们包含真实图像中不存在的噪声。您的模型也可能非常擅长识别合成数据中的模式,但这些模式可能不存在或在现实世界中可能有所不同。
一个好的做法是使用诸如 Frechet Inception Distance (FID)、Inception Score (IS) 或分类准确率分数 (CAS) 等指标来评估您的数据集。
FID
FID 使用预训练的神经网络模型,通常是 Inception,它擅长识别图像中的对象。该模型用于从真实图像和生成的图像中提取特征。FID 衡量一个分布与另一个分布“有多远”,同时考虑分布的均值和协方差。
较低的 FID 表明真实图像和生成图像的特征分布相似,并且生成图像更可能更真实。
IS
IS 使用预训练的 Inception 模型来评估生成模型(特别是 GAN)生成的图像质量。对于每个生成的图像,Inception 模型会根据其识别该图像中对象的置信度分配一个分数。分数越高越好,表明 Inception 模型对图像的内容充满信心。
CAS
分类准确率是衡量您的模型在合成数据上表现如何的另一种指标。较高的准确率表明该模型有效地捕获了真实图像的特征和模式。某些类别的低准确率分数可能表明生成过程存在问题,例如不真实的背景、不正确的纹理或不一致的光照条件。您可以使用 CIS 来帮助您识别和解决这些问题,以提高合成数据集的整体质量。
结论
即使在训练模型之后,持续监控其在真实世界场景中的表现也至关重要。如果您的模型遇到合成数据中不存在的新情况或趋势,它可能难以适应。应对这些挑战需要周到地设计合成数据生成过程并评估模型在真实数据上的性能。应用这些原则将有助于释放合成数据的潜力!
资源与拓展阅读
- 分析伪造训练数据对深度学习系统性能的影响
- 弥合差距:通过后处理技术增强合成数据的效用
- CIFAKE:AI 生成合成图像的图像分类和可解释识别
- 条件生成模型的分类准确率分数
- 通过双时间尺度更新规则训练的 GAN 收敛到局部纳什均衡
- 改进的 GAN 训练技术
- 重新思考用于计算机视觉的 Inception 架构
- 指标
- pytorch-fid