社区计算机视觉课程文档

引言

Hugging Face's logo
加入 Hugging Face 社区

并获得增强的文档体验

开始使用

简介

你是否曾试图为你的问题(无论是机器学习问题还是其他开发相关问题)获取一些数据,但却发现数据不足?数据要么是闭源且你无法获取,要么获取成本或时间成本过高。我们如何处理这种情况?

嗯,一个解决方案是合成数据。合成数据由模型生成,用于替代真实数据或与真实数据一起使用。这里,我们所说的模型不仅指机器学习或深度学习模型;它们也可以是简单的数学或统计模型,比如一组(随机)微分方程,用于模拟物理或经济系统。是不是有点兴奋了?让我们深入了解合成数据的细节:它是什么,如何生成,以及它的好处。你现在可能已经能回答最后一个问题了 ;)

什么是合成数据?

正如英国皇家学会所定义,合成数据是使用专门构建的数学模型或算法生成的数据,以解决一个(或一组)数据科学任务。请记住,合成数据仅模仿真实数据,并非由真实事件生成。理想情况下,合成数据应具有与它所补充的真实数据相同的统计属性。它有许多用途,例如改进人工智能模型、保护敏感数据和减轻偏见。

为什么要使用合成数据?

在回答这个问题之前,我们先来谈谈为什么真实数据不再足够。真实数据的一些非穷举问题包括:

  • 它可能很混乱,很难处理。
  • 由于隐私问题,公司间的数据共享可能无法实现。
  • 医疗数据是机密的,因此无法公开共享。
  • 它可能存在偏见。
  • 数据收集和标注可能成本高昂。

上述大部分问题都可以通过合成数据来解决:

  • 合成数据以结构化形式生成,因此易于处理。
  • 公司可以训练合成数据生成模型,这些模型学习原始数据的分布,但不会泄露原始数据中任何单个数据点的信息,从而维护隐私。医疗数据也可以采取类似的方法。
  • 我们可以训练数据生成器模型来生成去偏见的数据。
  • 合成数据可以与真实数据进行增强,以使模型或应用程序更具鲁棒性。

如何生成合成数据?

这里,我们提到了一些生成合成数据的方法:

在本单元中,我们将介绍以下生成合成数据的方法:基于物理的渲染、点云和GAN。

合成数据的挑战

既然我们已经了解了合成数据的力量和用途,现在让我们花一些时间讨论它的挑战:

  • 合成数据本身并不具备隐私性:合成数据也可能泄露其来源数据的信息,并且容易受到隐私攻击。生成私有合成数据需要非常谨慎。
  • 异常值难以私密捕获:异常值和低概率事件(通常在真实数据中发现)尤其难以捕获并私密地包含在合成数据集中。
  • 实证评估单个数据集的隐私性可能存在问题:严格的隐私概念(例如,差分隐私)是对生成合成数据集的机制的要求,而不是对数据集本身的要求。
  • 生成合成数据时,黑盒模型可能尤其不透明:过度参数化的生成模型擅长生成高维合成数据,但这些数据集的准确性和隐私级别难以估计,并且在不同生成数据点之间可能差异很大。

资源

< > 在 GitHub 上更新