2023年合成数据最大的利用价值

news2024/11/28 8:48:37

开发成功的 AI 和 ML 模型需要访问大量高质量数据。但是,收集此类数据具有挑战性,因为:

  • AI/ML 模型可以解决的许多业务问题都需要访问敏感的客户数据,例如个人身份信息 (PII) 或个人健康信息 (PHI)。收集和使用敏感数据会引发隐私问题,并使企业容易受到数据泄露的影响。出于这个原因,GDPR 和 CCPA 等隐私法规限制了个人数据的收集和使用,并对违反这些法规的公司处以罚款。
  • 某些类型的数据收集成本高昂,或者很少见。例如,为自动驾驶汽车收集代表各种真实道路事件的数据可能非常昂贵。另一方面,银行欺诈是罕见事件的一个例子。收集足够的数据来开发机器学习模型来预测欺诈易具有挑战性,因为欺诈易很少见。

因此,企业正在转向以数据为中心的 AI/ML 开发方法,包括合成数据来解决这些问题。

与收集大型数据集相比,生成合成数据的成本低廉,并且可以在不损害客户隐私的情况下支持 AI/深度学习模型开发或软件测试。据估计,到 2024 年,用于开发 AI 和分析项目的数据中有 60% 将以合成方式生成。

2020年,AI生成的合成数据已经超过了真实数据,预计2030年代还会扩大。

图 1:未来合成数据超过真实数据

什么是合成数据?

合成数据,顾名思义,是人工创建的数据,而不是由实际事件生成的数据。它通常是在算法的帮助下创建的,用于广泛的活动,包括作为新产品和工具的测试数据、模型验证和 AI 模型训练。合成数据是一种数据增强。

为什么合成数据现在很重要?

合成数据很重要,因为它可以被生成以满足现有(真实)数据中不可用的特定需求或条件。这在许多情况下都很有用,例如

  • 当隐私要求限制数据可用性或数据的使用方式时
  • 测试要发布的产品需要数据,但是这些数据要么不存在,要么测试人员无法获得
  • 机器学习算法需要训练数据。然而,特别是在自动驾驶汽车的情况下,这些数据在现实生活中的生成成本很高。

虽然合成数据在 90 年代首次开始使用,但 2010 年代丰富的计算能力和存储空间带来了合成数据的更广泛使用。

它有哪些应用?

可以从合成数据中受益的行业:

  • 汽车和机器人
  • 金融服务
  • 医疗
  • 制造业
  • 安全
  • 社交媒体

可以从合成数据中受益的业务功能包括:

  • 营销
  • 机器学习
  • 敏捷开发和 DevOps
  • 人力资源

合成数据使我们能够继续开发新的和创新的产品和解决方案,否则所需的数据将不存在或不可用。

比较合成数据和真实数据的性能

数据用于应用程序,数据质量最直接的衡量标准是数据在使用时的有效性。机器学习是当今最常见的数据用例之一。麻省理工学院的科学家们希望衡量来自合成数据的机器学习模型是否能够像从真实数据构建的模型一样出色。在 2017 年的一项研究中,他们将数据科学家分为两组:一组使用合成数据,另一组使用真实数据。使用合成数据的时间组中有70%能够产生与使用真实数据的组相当的结果。这将使合成数据比其他隐私增强技术(PET)更具优势,例如数据屏蔽和匿名化。

合成数据的好处

能够生成模拟真实事物的数据似乎是创建测试和开发场景的无限方法。虽然这有很多道理,但重要的是要记住,任何从数据中得出的合成模型都只能复制数据的特定属性,这意味着它们最终只能模拟总体趋势。

但是,与真实数据相比,合成数据有几个好处:

  • 克服实际数据使用限制:由于隐私规则或其他法规,真实数据可能受到使用限制。合成数据可以在不暴露真实数据的情况下复制真实数据的所有重要统计属性,从而消除了这个问题。

这些好处表明,随着我们的数据变得更加复杂和受到更严密的保护,合成数据的创建和使用只会增长。

合成数据生成/创建 101

在确定创建合成数据的最佳方法时,首先要考虑您打算拥有的合成数据类型非常重要。有三大类可供选择,每类都有不同的优点和缺点:

全合成:此数据不包含任何原始数据。这意味着几乎不可能重新识别任何单个单元,并且所有变量仍然完全可用。

部分合成:只有敏感数据才会被替换为合成数据。这需要严重依赖插补模型。这导致模型依赖性降低,但确实意味着由于数据集中保留的真实值,因此可以进行一些披露。

混合合成:混合合成数据源自真实数据和合成数据。在保证数据集中其他变量之间的关系和完整性的同时,研究了原始数据的底层分布,并形成了每个数据点的最近邻。为真实数据的每条记录选择合成数据中的近似记录,然后将两者连接起来以生成混合数据。

构建合成数据的两种常规策略包括:

从分布中抽取数字:这种方法通过观察真实的统计分布和复制虚假数据来工作。这还可以包括创建生成模型。

基于智能体的建模:为了在这种方法中获得合成数据,需要创建一个模型来解释观察到的行为,然后使用相同的模型重现随机数据。它强调理解智能体之间的交互对整个系统的影响。

深度学习模型:变分自动编码器和生成对抗网络 (GAN) 模型是合成数据生成技术,通过为模型提供更多数据来提高数据效用。请随意详细了解数据增强和合成数据如何支持深度学习。

合成数据的挑战

尽管合成数据具有各种好处,可以简化组织的数据科学项目,但它也有局限性:

  • 可能缺少异常值:合成数据只能模仿真实世界的数据,它不是它的精确复制品。因此,合成数据可能无法涵盖原始数据所具有的一些异常值。然而,数据中的异常值可能比常规数据点更重要,正如纳西姆·尼古拉斯·塔勒布(Nassim Nicholas Taleb)在他的《黑天鹅》一书中深入解释的那样。

机器学习和合成数据:构建 AI

解释机器学习与合成数据之间关系的图示

图 2:ML 和合成数据的关系

合成数据在机器学习中的作用正在迅速增加。这是因为机器学习算法使用大量数据进行训练,如果没有合成数据,这些数据可能难以获得或生成。它还可以在创建用于图像识别和类似任务的算法方面发挥重要作用,这些任务正在成为人工智能的基线。

使用合成数据来帮助开发机器学习还有其他几个好处:

  • 建立初始合成模型/环境后,易于数据生成
  • 标签的准确性是昂贵的,甚至不可能通过手工获得
  • 合成环境的灵活性可根据需要进行调整,以改进模型
  • 可用性可替代包含敏感信息的数据

在各自的机器学习社区中被广泛采用的 2 个合成数据用例是:

自动驾驶模拟

通过现实生活中的实验来学习在生活中是困难的,对算法来说也很难。

  • 对于那些最终被自动驾驶汽车撞到的人来说,这尤其困难,就像优步在亚利桑那州发生的致命车祸一样。2虽然 Uber 缩减了他们在亚利桑那州的业务,但他们可能应该加强模拟来训练他们的模型。

为了最大限度地降低数据生成成本,谷歌等行业领导者一直依靠模拟来创建数百万小时的合成驾驶数据来训练他们的算法。3

生成对抗网络 (GAN)

这些网络也称为GAN或生成对抗神经网络,由Ian Goodfellow等人于2014年推出。这些网络是图像识别的最新突破。它们由一个鉴别器和一个生成器网络组成。虽然生成器网络生成尽可能接近现实的合成图像,但鉴别器网络旨在从合成图像中识别真实图像。这两个网络都构建了新的节点和层,以学习更好地完成任务

虽然这种方法在图像识别中使用的神经网络中很受欢迎,但它的用途超出了神经网络。它也可以应用于其他机器学习方法。它通常被称为图灵学习,作为图灵测试的参考。在图灵测试中,人类与一个看不见的说话者交谈,试图了解它是机器还是人类。

合成数据工具

与合成数据相关的工具通常是为了满足以下需求之一而开发的:

  • 用于软件开发和类似目的的测试数据
  • 机器学习模型的训练数据

UnrealSynth 虚幻合成数据生成器 利用虚幻引擎的实时渲染能力搭建逼真的三维场景,为 YOLO 等 AI 模型的训练提供自动生成的图像和标注数据。UnrealSynth 生成的合成数据可用于深度学习模型的训练和验证,可以极大地提高各种行业细分场景中目标识别任务的实施效率,例如:安全帽检测、交通标志检测、施工机械检测、车辆检测、行人检测、船舶检测等。

UnrealSynth 生成合成数据的步骤:

1、将 GLB 文件添加到场景后,接下来就可以配置 UnrealSynth 合成数据生成参数,参数配置说明如下:

  • 模型类别: 生成合成数据 synth.yaml 文件中记录物体的类型
  • 环境变更 : 变更场景背景
  • 截图数量 : 生成合成数据集 image 目录下的图像数量,在 train 和 val 目录下各自生成总数一半数量的图片
  • 物体个数 : 设置场景中的物体个数,目前最多支持 5 个,并且是随机的选取模型的类别
  • 随机旋转 : 场景中的物体随机旋转角度
  • 随机高度 : 场景中的物体随机移动的高度
  • 截图分辨率: 生成的 images 图像数据集中的图像分辨率
  • 缩放 : 物体缩放调整大小

2、点击【确定】后会在本地目录中...\UnrealSynth\Windows\UnrealSynth\Content\UserData 自动生成两个文件夹以及一个 yaml 文件:images、labels、test.yaml 文件。

UnrealSynth\Windows\UnrealSynth\Content\UserData
    |- images
        |-train
            |- 0.png
            |- 1.png
            |- 2.png
            |- ...
         |-val
            |- 0.png
            |- 1.png
            |- 2.png
            |- ...
    |- labels
        |-train
            |- 0.txt
            |- 1.txt
            |- 2.txt
            |- ...
        |-val
            |- 0.txt
            |- 1.txt
            |- 2.txt
            |- ...
    |- synth.yaml

3、模型训练:数据集生成后有三个办法可以进行模型训练:使用 python 脚本、使用命令行、使用在线服务。

第一种是使用 python 脚本,需首先安装 ultralytics 包,训练代码如下所示:

from ultralytics import YOLO

# Load a model
model = YOLO('yolov8n.yaml')  # build a new model from YAML
model = YOLO('yolov8n.pt')  # load a pretrained model (recommended for training)
model = YOLO('yolov8n.yaml').load('yolov8n.pt')  # build from YAML and transfer weights

# Train the model
results = model.train(data='synth.yaml', epochs=100, imgsz=640)

第二种是使用命令行,需安装 YOLO 命令行工具,训练代码如下:

# Build a new model from YAML and start training from scratch
yolo detect train data=coco128.yaml model=yolov8n.yaml epochs=100 imgsz=640

# Start training from a pretrained *.pt model
yolo detect train data=coco128.yaml model=yolov8n.pt epochs=100 imgsz=640

# Build a new model from YAML, transfer pretrained weights to it and start training
yolo detect train data=coco128.yaml model=yolov8n.yaml pretrained=yolov8n.pt epochs=100 imgsz=640

第三种是使用ultralytics hub 或者其他在线训练工具。

转载:2023年合成数据最大的利用价值 (mvrlink.com)

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

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

相关文章

怎么将竖排文字图片转为可编辑的文本?

我们知道,印刷文字的排版大多是横向从左到右排版的,但有些书籍的文字却是从右到左竖向排版的,而一般的OCR软件并不支持这种排版,会将这种排版的文字图片识别成乱码的,那怎么办呢?下面就是很好的解决方案&am…

2023最新版本 FreeRTOS教程 -9-互斥量(基本使用和解决优先级反转)

互斥量是一种特殊的二进制信号量 使用场景1 (互斥访问) 外设的独立访问 如打印 协议操作 使用场景2 解决优先级反转 外设的独立访问 如打印 协议操作 使用场景2 解决优先级反转 我们以较为复杂的场景2来分析 -1- 创建三个任务 优先级从低到高&…

重新安装电脑系统Win10步骤教程

我们的电脑系统出现了中病毒、崩溃等问题,就会影响到自己的正常使用。这时候选择给电脑重新安装上系统,就能快速解决这些系统问题了。如果有用户不清楚详细的重装Win10系统步骤,就可以参考下面小编带来的重新安装电脑系统Win10的详细步骤介绍…

MySQL -- 视图

MySQL – 视图 文章目录 MySQL -- 视图一、基本使用二、视图规则和限制 视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。视图的数据变化会影响到基表,基表的数据变化也会影响到视图。 一、基本使用…

负载平衡介绍

负载均衡 建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展 网络设备 和 服务器 的带宽、增加 吞吐量 、加强网络数据处理能力、提高网络的灵活性和可用性。 1.1. 四层负载均衡 层负载均衡 vs 七层负载均衡 1.1.1. 四层负载均衡( 目标地址和…

UML/SysML建模工具更新(2023.10)(1)StarUML、Software Ideas Modeler

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 工具最新版本:Software Ideas Modeler 14.02 更新时间:2023年10月9日 工具简介 轻量级建模工具,支持UML、BPMN、SysML。 平台:Windo…

前端学习基础知识

环境搭建 windows环境 nodejs版本管理工具NVM nvm全英文也叫node.js version management,是一个nodejs的版本管理工具。nvm和n都是node.js版本管理工具,为了解决node.js各种版本存在不兼容现象可以通过它可以安装和切换不同版本的node.js。 安装学习访…

vue-cli创建自定义preset预设项目

vue-cli创建自定义preset预设项目 背景自定义预设创建默认预设创建预设项目preset.jsonprompts.jstemplate预设模板generator.js 本地预设创建项目 背景 一个 Vue CLI preset 是一个包含创建新项目所需预定义选项和插件的 JSON 对象,让用户无需在命令提示中选择它们…

【LeetCode】每日一题 2023_11_9 逃离火灾(bfs 练习)

文章目录 刷题前唠嗑题目:最长平衡子字符串题目描述代码与解题思路偷看大佬题解 结语 刷题前唠嗑 LeetCode? 启动!!! 嗯?什么?今天是 hard?陷入沉思。。。先看看题吧 题目:最长平…

【面经】如何查看服务器内存和磁盘空间占用

查看服务器内存占用 free -g查看服务器磁盘空间占用 df -h

基于React开发的chatgpt网页版(仿chatgpt)

在浏览github的时候发现了一个好玩的项目本项目,是github大神Yidadaa开发的chatgpt网页版,该开源项目是跨平台的,Web / PWA / Linux / Win / MacOS都可以访问。非常有意思,本人就部署了一套,喜欢的同学可以体验一番。 …

一篇文章揭秘JetBrains的 AI 图形发展历程

JetBrains IDE正式版下载 JetBrains 不断完善用作网站元素和发布图形的图稿创建方式,使命是将平面设计师从日常任务中解放出来,让他们能够专注于自己的核心能力 – 创造力,JetBrains 用于生成图稿的内部工具的历史大约开始于十年前。起初主要…

Web APIs——BOM和延迟函数setTimeout

1、window对象 1.1 BOM(浏览器对象模型) BOM(Browser Object Model)是浏览器对象模型 window对象是一个全局对象,也可以说是JavaScript中的顶级对象像document、alert()、console.log()这些都是window的属性&#xf…

用POST请求在Linux之间传输文件(Python在Linux间传输文件)

背景 实际需求: 已通过iperf和dd命令测试过两台不同区域之间的Linux服务器带宽,均为1000Mb网络。但发送post请求传输文件至对象存储时,总是卡在14Mb/s。除了排查区域之间的防火墙,也应该尝试检查Linux(KylinV10&…

家用AIO系统架构图(Openwrt 群晖 IPV6 DDNS)

折腾几个月了,摸索出的最合适的系统架构。其余的系统架构也都行得通,但是从逻辑角度,下列方案更加的自然通顺。 系统架构图 疑问解答 为什么用IPV6? 2222年了都不会真有人能从运营商哪里搞到ipv4或者还没有ipv6吧。 光猫为什么桥接? 抠门运…

Maven-构建生命周期与插件

一、概念和基础 Maven针对项目的构建和发布定义了一系列明确的步骤,根据作用不同这些步骤分属于不同的生命周期。Maven针对每个步骤都有对应的默认插件,Maven在构建过程中是通过调用这些插件完成整个过程的。开发者只需要通过简单的命令就可以驱动maven…

layui table合计 totalRow 保留4位小数\ 异步请求数据的表格 新增行之后 如何更新数据

layui table合计 totalRow 保留4位小数: 例: totalRowMethod:(column: any, dataSource: any[]) > { let total 0; dataSource.forEach((item) > { total total Number(item[column.key]); …

公益理发暖人心,爱心助老绿萝先行

为更好地关爱老年人的生活,为老年人带来更实在的便利,2023年11月8日,绿萝志愿服务队从老人们的实际需求出发,在拱辰一街二社区开展关爱空巢老人助老志愿活动。 绿萝理发师志愿者们又一次来到老人们熟悉的场地,为老人们…

Qt 二维码生成与识别

1.简介 QZXing是一个基于Qt框架的二维码解码库,它是对ZXing(Zebra Crossing)开源项目的一个Qt封装。ZXing是一个功能强大的开源二维码解码库,支持多种类型的码,包括QR码、DataMatrix码、Aztec码等。 QZXing提供了一个…

PTA_乙级_1011

#include<iostream> using namespace std;int main(){long long A,B,C,T;// 注意AB如果特别大是可能超过int类型最大范围所以用longlong最好// 在C中&#xff0c;int 类型的范围通常是在-2147483648到2147483647之间&#xff0c;这是32位有符号整数的范围。// 在C中&…