人工智能
什么是合成数据?

什么是合成数据?
合成数据是数据科学领域中迅速发展的趋势和新兴工具。什么是合成数据?简短的答案是,合成数据由不基于任何真实世界现象或事件的数据组成,而是通过计算机程序生成的。然而,为什么合成数据对数据科学如此重要?合成数据是如何创建的?让我们探索这些问题的答案。
什么是合成数据集?
如“合成”一词所示,合成数据集是通过计算机程序生成的,而不是通过记录真实世界事件组成的。合成数据集的主要目的是足够灵活和强大,以便用于训练机器学习模型。
为了使合成数据对机器学习分类器有用,合成数据应具有某些属性。虽然数据可以是分类的、二进制的或数值的,但数据集的长度应为任意的,数据应随机生成。用于生成数据的随机过程应可控,并基于各种统计分布。数据集也可以包含随机噪声。
如果合成数据用于分类算法,类别分离的数量应可自定义,以便分类问题可以根据问题的要求变得更容易或更难。同时,对于回归任务,可以使用非线性生成过程来生成数据。
为什么使用合成数据?
随着TensorfFlow和PyTorch等机器学习框架变得更容易使用,计算机视觉和自然语言处理的预设计型变得更加普遍和强大,数据科学家面临的主要问题是数据的收集和处理。公司通常难以在给定的时间范围内收集大量数据来训练准确的模型。手动标记数据是一种昂贵和缓慢的获取数据的方式。然而,生成和使用合成数据可以帮助数据科学家和公司克服这些障碍,并更快地开发可靠的机器学习模型。
使用合成数据有许多优势。使用合成数据最明显的好处是,它减少了从真实世界事件中捕获数据的需要,因此可以更快地生成数据和构建数据集,而不依赖于真实世界事件。这意味着可以在短时间内生产大量数据。这对于罕见事件尤其如此,因为如果事件在野外很少发生,可以从一些真实数据样本中模拟出更多数据。此外,数据可以在生成时自动标记,大大减少了标记数据所需的时间。
合成数据还可以用于获取边缘情况的训练数据,边缘情况是可能很少发生但对于AI的成功至关重要的实例。边缘情况是与AI的主要目标非常相似但在重要方面不同的事件。例如,部分在视野中的物体可以被视为图像分类器的边缘情况。
最后,合成数据集可以最小化隐私问题。尝试匿名化数据可能无效,因为即使从数据集中删除敏感/识别变量,其他变量也可以在组合时起到识别器的作用。这不是合成数据的问题,因为它从一开始就不是基于真实的人或真实事件的。
合成数据的用例
合成数据有广泛的用例</a),因为它可以应用于几乎任何机器学习任务。合成数据的常见用例包括自动驾驶汽车、安全、机器人、欺诈保护和医疗保健。
合成数据的初始用例之一是自动驾驶汽车,因为合成数据用于创建汽车在难以或危险的条件下获取真实的道路训练数据的训练数据。合成数据也用于创建训练图像识别系统(如监视系统)的数据,效率比手动收集和标记大量训练数据高。机器人系统可以通过传统的数据收集和训练方法缓慢地训练和开发。合成数据允许机器人公司通过模拟来测试和开发机器人系统。欺诈保护系统可以从合成数据中受益,新的欺诈检测方法可以使用不断更新的合成数据进行训练和测试。在医疗保健领域,合成数据可以用于设计准确但保密的健康分类器,因为数据不会基于真实的人。
合成数据的挑战
虽然使用合成数据带来许多优势,但也带来许多挑战。
当合成数据被创建时,它通常缺乏异常值。异常值在数据中自然发生,虽然通常从训练数据集中删除,但其存在可能对于训练真正可靠的机器学习模型是必要的。除此之外,合成数据的质量可能非常可变。合成数据通常使用输入或种子数据生成,因此数据的质量可能取决于输入数据的质量。如果用于生成合成数据的数据有偏见,则生成的数据可以延续这种偏见。合成数据还需要某种形式的输出/质量控制。它需要与人工注释的数据或其他形式的真实数据进行比较。
合成数据是如何创建的?
合成数据是使用机器学习技术以编程方式创建的。可以使用经典的机器学习技术,如决策树,以及深度学习技术。合成数据的要求将影响用于生成数据的算法类型。决策树和类似的机器学习模型可以让公司创建非经典的、多模态的数据分布,训练这些模型使用真实世界数据的示例。使用这些算法生成的数据将与原始训练数据高度相关。对于已知数据的典型分布的情况,公司可以通过蒙特卡罗方法生成合成数据。
基于深度学习的合成数据生成方法通常使用变分自编码器(VAE)或生成对抗网络(GAN)。VAE是无监督的机器学习模型,使用编码器和解码器。VAE的编码器部分负责将数据压缩到原始数据集的更简单、更紧凑的版本中,然后解码器分析和使用它来生成基本数据的表示。VAE的训练目标是使输入数据和输出数据之间具有最优的关系,即输入数据和输出数据非常相似。
对于GAN模型,它们被称为“对抗”网络,因为GAN实际上是两个相互竞争的网络。生成器负责生成合成数据,而第二个网络(判别器)通过比较生成的数据与真实数据集并尝试确定哪些数据是假的来运作。当判别器检测到假数据时,生成器会收到通知并尝试通过判别器生成新的数据批次。相反,判别器变得越来越擅长于检测假数据。两个网络相互竞争,假数据变得越来越逼真。
