数据是机器学习模型的命脉。 但是,当对这一令人垂涎的资源的访问受到限制时会发生什么呢? 正如许多项目和公司开始表明的那样,合成数据即使不是更好的选择,也可以成为可行的选择。
什么是合成数据?
合成数据可以定义为人工制造的、不是通过直接测量获得的信息。 “假”数据的概念本质上并不是一个新的或革命性的概念。 它实际上是为缺乏运行所需的可用或必要信息的模型生成测试或训练数据的方法的不同标签。
过去,由于缺乏数据,人们采用了使用随机生成的数据点集的便捷方法。 尽管这可能足以满足教育和测试目的,但您不希望使用随机数据来训练任何类型的预测模型。 这就是合成数据的想法不同的地方; 这是可靠的。
从本质上讲,合成数据是一个独特的想法,即我们可以智能地生成随机数据。 因此,这种方法可以应用于更复杂的用例,而不仅仅是测试。
合成数据是如何制造的?
虽然合成数据的创建方式与随机数据没有什么不同——只是通过更复杂的输入集——但它确实有不同的目的,因此具有独特的要求。
综合方法基于并限于预先作为输入提供的某些标准。 实际上,它根本不是随机的。 它实际上基于具有一定分布和标准的样本数据集,指导数据点的可能范围、分布和频率。 基本上,目标是复制真实数据以填充更大的数据集,然后该数据集将足够广泛以训练机器学习模型。
在探索用于细化合成数据的深度学习方法时,这种方法变得特别有趣。 算法可以相互竞争,目的是在生成和识别合成数据的能力方面超越彼此。 从本质上讲,这里的目标是创造一场人工军备竞赛,以产生超现实的数据。
为什么首先需要合成数据?
如果我们无法收集推进文明所需的宝贵资源(这些资源适用于从农业粮食到生产燃料的任何事物),那么我们就会找到一种方法来创造它。 同样的原则现在也适用于机器学习和人工智能的数据领域。
训练算法时拥有非常大的数据样本至关重要,否则算法识别的模式对于现实世界的应用来说可能过于简单。 这实际上是非常合乎逻辑的。 正如人类智能倾向于采取最简单的路径来解决问题一样,在训练机器学习和人工智能时,同样的情况也会不断发生。
例如,让我们将其应用于对象识别算法,该算法可以从一系列猫图像中准确识别狗。 如果数据量太少,人工智能就会面临依赖模式的风险,而这些模式并不是它试图识别的对象的基本特征。 在这种情况下,它可能仍然有效,但是当它遇到不遵循最初识别的模式的数据时,它就会失败。
如何使用合成数据来训练人工智能?
那么,解决办法呢? 我们画了很多略有不同的动物,以迫使网络找到图像的底层结构,而不仅仅是某些像素的位置。 但是,与其手工绘制一百万只狗,不如构建一个专门用于绘制狗的系统,该系统可用于训练为分类而构建的算法——这本质上就是我们在提供合成数据来训练机器学习时所做的事情 算法。
然而,这种方法也存在明显的缺陷。 简单地从无到有生成数据并不能代表现实世界,因此会导致算法在遇到真实数据时很可能无法运行。 解决方案是收集数据子集,分析和识别其中的趋势和范围,然后使用这些数据生成大量随机数据,这些数据很可能代表我们自己收集所有数据时数据的外观。
这就是合成数据的真正价值所在。 我们不再需要不知疲倦地收集数据,然后在使用前需要对其进行清理和处理。
合成数据如何成为对数据隐私日益关注的解决方案?
世界目前正在经历一场非常强烈的转变,尤其是在欧盟,朝着加强对隐私和我们在线存在所生成的数据的保护的方向转变。 在机器学习和人工智能领域,数据保护的加强被证明是一个反复出现的障碍。 很多时候,受限数据正是训练算法执行并为最终用户提供价值所需要的,特别是对于 B2C 解决方案而言。
一般来说,当个人决定使用某种解决方案并批准使用他们的数据时,隐私问题就会得到解决。 这里的问题是,在您拥有提供足够价值的解决方案之前,很难让用户向您提供他们的私人数据。 因此,提供商常常陷入先有鸡还是先有蛋的困境。
该解决方案可以而且可能是综合方法,公司可以通过早期采用者获取数据子集。 从这里,他们可以使用这些信息作为生成足够数据来训练机器学习和人工智能的基础。 这种方法可以大大减少对私有数据的耗时和昂贵的需求,并且仍然可以为实际用户开发算法。
对于某些陷入数据官僚主义困境的行业,例如医疗保健、银行和法律,合成数据提供了一种更简单的方法来访问以前无法获得的大量数据,从而消除了新的和更先进的算法通常存在的限制。
合成数据可以替代真实数据吗?
真实数据的问题在于,它并不是为了训练机器学习和人工智能算法而生成的;而是为了训练数据。 它只是我们周围发生的事件的副产品。 如前所述,这显然限制了可用性和收集的便利性,也限制了数据的参数以及可能破坏结果的缺陷(异常值)的可能性。 这就是为什么可以定制和控制的合成数据在训练模型时更加有效。
然而,尽管合成数据具有卓越的训练应用程序,但其自身的创建将不可避免地始终依赖于至少一小部分真实数据。 因此,合成数据永远不会取代它所需要基于的初始数据。 更现实的是,它将显着减少算法训练所需的实际数据量,该过程需要比测试更多的数据——通常 80% 的数据用于训练,另外 20% 用于测试 。
最终,如果处理得当,合成数据提供了一种更快、更有效的方式来获取我们所需的数据,其成本比从现实世界获取数据的成本更低,并且减少了刺破数据隐私的马蜂窝的需要。