什么是合成数据(Synthetic Data)?

news2024/11/23 20:13:49

关于合成数据您需要知道的一切

推出人工智能(AI)的企业在为其模型采集足够的数据方面会遇到一个主要障碍。对于许多用例来说,正确的数据根本不可用,或者获取数据非常困难且成本高昂。在创建AI模型时,数据缺失或不完整就无法满足需要,即使是大型科技公司在这方面也会难免失误。例如,研究人员在2018年发现,顶尖的面部识别软件可以很容易识别出白人男性的面孔,但在识别肤色较深的人时,错误率却高出34%。用于训练这些模型的数据在缺少一整个种群子集的代表。那么,在这种情况下,企业该何以应对?合成数据提供了一种令人信服的解决方案。 合成数据是通过计算机程序人工生成的数据,而不是由真实事件生成的数据。企业可以用合成数据来增强其训练数据,以填补所有潜在用例和边缘用例,节省数据采集费用,或满足隐私要求。随着计算能力的提高和云数据存储选项的崛起,合成数据比以往更容易获取。这无疑是一个积极的发展:合成数据推动了AI解决方案的开发,从而更好地为所有终端用户服务。  

为什么要使用合成数据?

假设您有一个AI问题需要解决,您不确定是否应该投资于合成数据,用以部分或完全满足您的数据需求。以下是合成数据非常适合您的项目的若干原因:

改进模型的可靠性

无需采集更多数据,即可为您的模型获取更为多样化的数据。有了合成数据,您可以用同一个人的不同发型、面部毛发、佩戴不同的眼镜、不同的头部姿势等来训练您的模型,还能以肤色、种族特征、骨骼结构、雀斑等特征创造出不同的面孔,使该模型变得更加可靠。

比“真实”数据获取更快

团队可以在短时间内生成大量的合成数据。当真实数据依赖于很少发生的事件时,这一点尤其有帮助。例如,当为自动驾驶汽车采集数据时,由于极端路况比较罕见,团队可能难以捕获到足够的真实数据。 此外,数据科学家还可以设置算法,在合成数据创建时自动进行标注,从而减少标注过程的耗时。

边缘案例的解读

机器学习算法更喜欢均衡的数据集。回忆我们的面部识别示例。如果这些企业创造出肤色较深的面孔合成数据来填补数据缺口,那么不仅模型的精确度会提高(事实上,这正是其中几家企业所做的),而且还会生成更符合道德标准的模型。合成数据帮助团队涵盖所有用例,包括数据不足或根本不存在的边缘用例。

保护用户的私人数据

根据行业和数据类型的不同,企业在处理敏感数据时可能会面临安全挑战。例如,在医疗行业,患者数据通常包括个人健康信息(PHI),需要满足较高的安全性要求才能使用。合成数据可以减轻对隐私问题的担忧,因为它不涉及真人的信息。如果您的团队需要满足某些数据隐私要求,可以考虑将合成数据作为备选。  

合成数据的应用场景

从业务角度来看,合成数据有许多应用:模型验证、模型训练、新产品测试数据等。一些行业已率先在机器学习中使用合成数据,我们将重点介绍其中的几个行业:

汽车

开发自动驾驶汽车的企业通常依靠模拟来测试性能。在某些条件下,例如极端天气的情况下,获取真实路况数据可能很困难或很危险。总体而言,在所有可能的驾驶体验中,有太多的变量需要考虑,所以不能依赖于在道路上使用真车进行现场测试。合成数据比人工采集数据更安全、更快捷。

医疗保健

由于数据的敏感性,医疗保健是采用合成数据的首选行业。团队可以利用合成数据捕获所有可能的患者类型的生理信息,最终帮助更快速、更准确地诊断疾病。其中一个生动的示例是Google的黑色素瘤检测模型,该模型使用肤色较深个体的合成数据(不幸的是,该领域的临床数据不足),使模型能够适用于所有皮肤类型。

安全

合成数据促进了组织安全性的提高。回到我们的面部识别示例,您可能听说过“深度伪造品(Deepfakes)”一词,它是指人工创建的图像或视频。企业可以创建深度伪造品来测试自己的安全系统和面部识别平台。 视频监控还利用合成数据以更低的成本和更快的速度训练模型。

数据可移植性

企业需要安全可靠的方法来与他人共享其训练数据。合成数据的另一个有趣的用例是在将数据集提供给其他人之前隐藏个人身份信息(PII)。这被称为隐私保护合成数据,可用于共享科学研究数据集、医学数据、社会学数据和可能包含PII的其他领域。  

如何创建合成数据

团队可使用机器学习技术以编程方式创建合成数据。通常情况下,他们将使用一组样本数据来创建合成数据;合成数据必须保留样本数据的统计属性。合成数据本身可以是二进制、数字或分类数据。它应该是随机生成的,具有任意长度,并且足够可靠能覆盖所需的用例。有几种生成合成数据的技术;最常见的技术如下所述:

从分布数据中提取

如果您没有真实数据,但了解数据集分布情况,则可以按分布生成合成数据。在此技术中,您将生成任意分布(正态分布、指数分布等)的随机样本以创建假数据。

将真实数据与分布数据拟合

如果您确实有真实数据,您可以使用蒙特卡罗方法等技术来找到数据的最佳拟合分布,并使用它生成合成数据。

深度学习

深度学习模型可以生成合成数据。例如:

  • 变分自编码器模型:这种无监督模型压缩初始数据集并将其发送至解码器,然后解码器输出该初始数据集的表示。
  • 生成对抗网络(GAN)模型:GAN模型由两个网络组成。生成器接收样本数据集并输出合成数据。鉴别器将合成数据与真实数据集进行比较,并迭代微调。

结合使用上述方法可能是最有益的,具体取决于您开始使用的真实数据量和您使用合成数据的目的。  

合成数据的未来

在过去的十年中,我们看到合成数据的使用速度大幅加快。虽然这为企业节省了时间和资金,但并非没有挑战。合成数据缺乏异常值,这些异常值自然出现在真实数据中,对于某些模型来说,异常值对于精确度至关重要。还需要注意的是,合成数据的质量通常取决于用于生成的输入数据;输入数据中存在的偏见很容易传播到合成数据中,因此不能低估使用高质量数据作为起点的重要性。最后,它需要额外的输出控制;也就是说,需要将合成数据与人工标注的真实数据进行比较,以确保不会出现不一致的情况。 尽管面临这些挑战,合成数据仍然是一个充满机遇、令人兴奋的领域。即使在无法获取真实数据的情况下,合成数据也能帮助我们生成创新的AI解决方案。最重要的是,合成数据能帮助企业创建更具包容性、更能代表终端用户多样性的产品。 来自澳鹏数据科学总监的专业洞察 请记住,合成数据是一种数据增强技术,它不能取代数据采集和标注。必须要认识到,如果没有任何真实数据,就无法创建在现实世界中运行出色的模型。您可能会涵盖大部分情况,但会出现许多模型将失效的边缘情况(例如,对于我们的人脸识别案例,可能会有一些罕见的光照条件、罕见的面部特征、整形手术等情况,您可能从未考虑过——如果您仅从合成数据开始,无论这些人脸有多么逼真,您都不会知道这些情况)。 除此之外,在创建和使用合成数据时,还需要注意以下几点:

  1. 了解模型的可靠性要求,以定义所需的合成数据:甚至在开始生成合成数据之前,您就希望弄清楚模型真正需要什么,并为需要合成数据类型创建一组功能需求。构建与已有数据类似的合成数据对于模型毫无用处。相反,您可能希望通过数据增强改善多样性(例如,人脸识别用例中具有不同面部特征的人脸)和变化(例如,同一人的轻微偏差)。您可能需要考虑一些罕见或边缘的情况,并在生成合成数据时优先考虑这些情况。另一种方法是从现实世界训练、验证和测试数据集预测的误报和漏报中得出合成数据的需求,以减少这些情况的发生。
  2. 了解合成数据可以为您的数据集和模型做什么,不能做什么:数据增强大大提高了模型的精确度,但并不会使模型达到完美。由于我们的合成数据分布接近我们知道的真实数据,因此它无法神奇地有效理解现实世界中产生的任何显著不同的数据,也无法创建训练数据无法引导它生成的预测或结果。我们还要考虑数据的来源和条件(例如,在ThisPersonDoesNotExist.com上生成的人脸是根据个人资料头像生成的。当天空阴云密布、房间光线很暗时,这些都无法帮助您的模型识别室内的图像)。
  3. 了解您可以使用的各种合成数据工具以及即将推出的工具:合成数据的常见方法是从现实世界克隆部分数据并叠加到另一个真实数据上,或者使用Unity或某些3D环境生成逼真的数据。但由于GAN和VAE技术的变化,这一领域正在快速发展。与其创建全新的数据,不如通过在真实数据基础上合成一些新组件(例如,在真实人脸上添加雀斑、改变阴影角度等)来创建现实世界数据的变体。另一个例子是,可以优化叠加的数据,使其更真实。还有许多其他工具可以使用,不过您需要首先了解它们。
  4. 数据的版本管理:当随着合成数据的生成,生成更好合成数据的能力也会增强。您上个月生成的图像现在可能会被更新版本的图像淘汰,后者看起来会更逼真(例如,您发现一种用于面部的更好的皮肤纹理,新的GPU可帮助您从光线跟踪中获得更细致的效果等)。您不会想用这些旧版本图像训练旧模型。版本管理将帮助您了解用新数据替换了哪些数据,并在您添加不同的合成数据或更新旧数据时验证模型的改进。

总之,您的合成数据可以提高模型在现实世界中的性能。您采取的任何方法或生成的数据都必须使您的模型更可靠,并有助于改善其性能。根据模型的不足之处明确定义模型的需求,将能帮助您集中精力选择合适的工具并生成正确的数据。  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/891484.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

哨兵1号处理流程

分步步骤 1.打开.mainsafe文件 2.轨道校正:Radar—>Apply Orbit File,勾上Do not fail 3.热噪声去除:Radar—>Radiometric—>S-1 Thermal Noise 4.辐射定标:Radar—>Radiometric—>Calibrate (只选outp…

day20 飞机大战射击游戏

有飞行物类 飞行 爆炸 的连环画, 飞行的背景图 , 子弹图, 还有游戏开始 暂停 结束 的画面图。 设计一个飞机大战的小游戏, 玩家用鼠标操作hero飞行机, 射出子弹杀死敌机,小蜜蜂。 敌机可以获得分数&…

Vue2集成Echarts实现可视化图表

一、依赖配置 1、引入echarts相关依赖 也可以卸载原有的,重新安装 卸载:npm uninstall echarts --save 安装:npm install echarts4.8.0 --save 引入水球图形依赖 npm install echarts-liquidfill2.0.2 --save 水球图可参考文档&#xff1…

【Python】使用python解析someip报文,以someip格式打印报文

文章目录 1.安装scapy库2.示例 1.安装scapy库 使用 pip 安装 scapy 第三方库,打开 cmd,输入以下命令: pip install scapy出现如图所示,表示安装成功: 2.示例 要解析someip格式报文,需要导入someip模块&a…

rabbitmq的死信队列

目录 成为死信的条件 消息TTL过期 队列达到最大长度 消息被拒 延迟队列 延迟队列使用场景 消息设置 TTL 队列设置 TTL 两者区别 producer 将消息投递到 broker 或者直接到 queue 里了, consumer 从 queue 取出消息 进行消费,但某些时候由…

汇聚产学合力二十载,2023英特尔学术大会在南京开幕

8月16日,以“合聚创 共IN智能时代”为主题的“2023英特尔(中国)学术大会”在南京开幕,邀请专家学者共话科技界前沿趋势,展示科研成果和技术解决方案。本次大会延续了英特尔“为智能而聚能”,推动中国产业界…

ShowMeBug CEO李亚飞受邀出席ArchSummit 全球架构师峰会

2023年7月21-22日,极客邦科技旗下InfoQ中国举办的ArchSummit 全球架构师峰会(深圳站)2023 在深圳顺利召开。本次会议,聚集了国内外数百位架构师专家来分享技术内容,像MySQL之父、科大讯飞涵盖语言大模型、AIGC、可观测…

214、仿真-基于51单片机温度甲醛一氧化碳(co)电机净化报警Proteus仿真设计(程序+Proteus仿真+配套资料等)

毕设帮助、开题指导、技术解答(有偿)见文未 目录 一、硬件设计 二、设计功能 三、Proteus仿真图 四、程序源码 资料包括: 需要完整的资料可以点击下面的名片加下我,找我要资源压缩包的百度网盘下载地址及提取码。 方案选择 单片机的选择 方案一&a…

Spring系列七:声明式事务

🐘声明式事务 和AOP有密切的联系, 是AOP的一个实际的应用. 🐲事务分类简述 ●分类 1.编程式事务: 示意代码, 传统方式 Connection connection JdbcUtils.getConnection(); try { //1.先设置事务不要自动提交 connection.setAutoCommit(false…

【数理知识】向量与基的内积,Matlab 代码验证

序号内容1【数理知识】向量的坐标基表示法,Matlab 代码验证2【数理知识】向量与基的内积,Matlab 代码验证 文章目录 1. 向量与基的内积2. 二维平面向量举例3. 代码验证Ref 1. 向量与基的内积 假设存在一个二维平面内的向量 a ⃗ \vec{a} a &#xff0c…

复旦微FR0触摸原理(1)

传统的家电产品通常使用物理按键来进行操作,但随着科技的不断进步,越来越多的家电产品开始采用触摸屏幕和触摸按键来提供更加智能化和便捷的操作方式。 本篇介绍复旦微FM33FR026的触摸检测原理 TSI 模块使用自电容的 方法来检测触摸行为。 自电容检测的原…

半导体退火那些事(1)

1.半导体退火的原理 半导体材料在晶体生长和制造过程中,由于各种原因会出现缺陷、杂质、位错等结构性缺陷,导致晶格不完整,施加电场后的电导率较低。通过退火处理,可以使材料得到修复,结晶体内部重新排列,…

day22 API文档 第一个元素File

file的绝对路径 file的相对路径 file路径的写法 file的各种方法 File.separator 解决虚拟机和windows路径中的斜杠问题 lambda怎么写 file1 file2 file3 file4 public class FileDemo04 {public static void main(String[] args) {File file new File(".");File…

shell连接ubuntu

当使用aws的私钥连接时,老是弹出输入私钥密码,但是根本没有设置过密码,随便输入后,又提示该私钥无密码... 很早就使用过aws的ubuntu,这个问题也很早就遇到过,但是每次遇到都要各种找找找...索性这次记下来算了 此处用FinalShell连接为例 首先现在Putty连接工具: 点击官方下载 …

uploadifive php上传进度条插件 解决动态传参数问题

uploadifive默认只能在加载时,静态传递参数.如果想让用户输入参数.再动态读取.传到后端,是没有直接的办法的 效果图 但我们可以通过settings.formData 来修改配置的方式传参数,完整演示 <form id"file_form{$v.id}" style"display:none"><hr/>…

四川玖璨电商:新媒体短视频运营是做什么?

随着互联网科技的不断发展&#xff0c;新媒体行业如今已经成为了人们获取信息、进行交流的主要渠道之一。在这样的大环境下&#xff0c;短视频成为了新媒体运营的一个重要组成部分。那么&#xff0c;新媒体短视频运营到底是做什么呢&#xff1f;接下来&#xff0c;小编将从几个…

查看 Linux 内核版本的几种方法

uname -a uname -srm uname -r 分拆&#xff1a;Linux 5.13.0-19-generic x86 64 5-内核版本 13-主修订版本 0-19 -次要修订版本 过查看 /proc/version 文件确认 /proc 目录包含虚拟文件&#xff0c;其中包含有关系统内存&#xff0c;CPU内核&#xff0c;已安装文件系统等的信…

【JAVA程序设计】基于SpringBoot+vue的在线考试系统-以计算机网络为例,可自行录入题库-附下载地址

基于SpringBootvue的在线考试系统-以计算机网络为例&#xff0c;可自行录入题库 一、项目简介二、开发环境三、项目技术四、功能结构五、运行截图六、功能实现七、数据库设计八、源码下载地址 一、项目简介 随着信息技术的迅猛发展&#xff0c;教育行业正面临着巨大的变革和挑…

Docker容器安装mysql 8 教程

一、 安装Docker&#xff0c;Docker安装过程如下&#xff1a; 1、卸载系统之前的 docker sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine 2、安装 Docker-CE 安装…

vue利用 sortable 完成表格拖拽

先讲一下vue2&#xff0c;使用sortable完成表格拖拽【不只是表格&#xff0c;div也可以实现&#xff0c;但我项目中是表格拖拽】 github地址 安装 npm install sortablejs --save使用 &#xff08;我的项目中是拖拽一个小按钮移动&#xff0c;而不是整行&#xff09; <te…