社区计算机视觉课程文档

介绍

Hugging Face's logo
加入 Hugging Face 社区

并获得增强文档体验

开始使用

引言

您是否曾经尝试为您的问题(无论是机器学习问题还是其他开发相关问题)获取一些数据,却发现无法找到足够的数据?要么数据是闭源且您无法获得,要么获取数据的成本或时间过高。在这种情况下,我们该如何应对呢?

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

什么是合成数据?

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

为什么要使用合成数据?

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

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

上述大多数问题都可能通过合成数据来解决:

  • 合成数据以结构化形式生成,因此易于处理。
  • 公司可以训练合成数据生成模型,这些模型学习原始数据的分布,但不会泄露原始数据中任何单个数据点的信息,从而保持隐私。类似的方法可以应用于医疗数据。
  • 我们可以训练数据生成模型以生成无偏差的数据。
  • 合成数据可以与真实数据增强,使模型或应用程序更健壮。

如何生成合成数据?

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

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

合成数据的挑战

既然我们已经看到了合成数据的功能和用途,那么让我们抽出一些时间来讨论一下它的挑战:

  • 合成数据并非天生就是私密的:合成数据也可能泄漏其派生数据的信息,并且容易受到隐私攻击。生成私密的合成数据需要格外小心。
  • 异常值可能难以私密地捕获:异常值和低概率事件(通常在真实数据中发现)特别难以捕获,并且难以私密地包含在合成数据集中。
  • 对单个数据集的隐私进行经验评估可能存在问题:严格的隐私概念(例如,差分隐私)是对生成合成数据集的机制的要求,而不是对数据集本身的要求。

  • 在生成合成数据方面,黑盒模型可能特别不透明:过度参数化的生成模型擅长生成高维合成数据,但这些数据集的准确性和隐私级别难以估计,并且在生成的数据点之间可能存在很大差异。

资源

< > 在 GitHub 上更新