0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

模拟使软件工程师能够生成训练神经网络所需的数据

星星科技指导员 来源:嵌入式计算设计 作者:Peter McGuinness 2022-07-09 07:45 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

在多年前,当多伦多大学的一个团队使用经过训练而不是设计来识别图像的卷积神经网络赢得 Imagenet 挑战赛时,在计算世界的一个有点不起眼的角落发生了重大震动。该团队和其他团队不仅击败了最好的检测算法,而且在许多图像分类任务中都超越了人类。现在,仅仅几年后,深度神经网络似乎是不可避免的。

即使在2012年,机器学习也不是什么新鲜事物,事实上,到目前为止,几乎所有的分类软件都进行了一些训练。但它们在某种程度上都依赖于人工设计的特征提取算法。这个新解决方案(后来以首席研究员的名字命名为 AlexNet)的不同之处在于,它没有这种人工设计的算法,并且完全通过监督学习获得了结果。

这一发现对整个计算领域的影响已经在与图像分类相距甚远的领域产生了巨大的影响,随着研究人员学习如何将深度学习技术应用于更多领域,预计它带来的变化在未来会更加深远。以及越来越多的领域中的更多问题。对深度学习的热情甚至导致一些评论员预测依赖于设计算法的经典软件创作的终结,取而代之的是经过大量数据训练的网络。

软件解决方案从数据暴露演变的愿景有一些引人注目的方面:通过实例进行培训为软件提供了真正的大规模制造技术的可能性。目前,软件制造处于工业化前阶段,每个应用程序都是定制设计的,就像客车制造的汽车一样。借助标准算法平台(网络)和自动化培训环境,深度学习可以为软件做亨利福特为汽车制造所做的事情。

无论您是否同意这一愿景,深度学习的关键特征在于它取决于数据的可用性,因此,特定领域的专业知识变得不如相关数据的所有权重要。正如深度学习先驱 Andrew Ng 所说:“获胜的不是拥有最好算法的人,而是拥有最多数据的人。” 这是希望过渡到新范式的公司面临的核心问题:他们从哪里获取数据?

行为数据的作用

对于依赖在线行为数据的公司来说,答案是显而易见的,我们所有浏览习惯的记录、跟踪和转售现在无处不在,以至于它们的开销都支配了我们的在线体验。对于与现实世界打交道更密切的公司来说,解决方案不太方便。Waymo 是自动驾驶汽车领域最知名的品牌,它通过部署仪表汽车车队来绘制位置图并记录现实世界的摄像头、雷达和其他数据,然后将这些数据输入其感知软件,从而解决了这个问题。该领域的其他参与者也以较小的方式效仿,但即使是拥有数百万英里行驶里程和大量可用数据的 Waymo,也发现它不足以完成这项任务。

首先,并非所有数据都是平等的:为了有用,它必须经过准确和彻底的注释,即使在今天,这仍然是一项昂贵且容易出错的业务。经过几年努力使流程自动化,亚马逊的 Mechanical Turk 仍然是注释数据的首选方法。除了被注释之外,为了有用,数据必须是相关的,当相关性取决于任何给定事件的不常见、危险或完全非法时,这是一个主要问题。可靠、相关的真实数据很难获得,以至于 Waymo 已经开始在沙漠中建立自己的模拟城市,在那里它可以模拟在受控条件下所需的行为。

但是在好莱坞可以制作完全令人信服的 CGI 场景的世界中,必须有可能使用这种能力为现实世界场景创建训练数据,当然,确实如此。几年来,该行业一直在朝着这个方向发展,一个研究人员团队开发了一种方法来注释侠盗猎车手的序列。Udacity 有一个用于自动驾驶汽车模拟器的开源项目,作为其自动驾驶汽车纳米学位的一部分。

与 Udacity 示例一样,大多数可用的模拟器旨在实现验证循环以测试经过训练的感知堆栈,而不是生成主要用于训练本身的数据。那些确实存在的数据模拟器被汽车公司及其初创竞争对手紧紧抓住,展示了他们产生的数据的基本价值。

那么,合成数据真的可以成功地用于训练神经网络吗?需要多少和什么样的数据才能完成这项工作?

什么是 KITTI

总部位于帕洛阿尔托的Highwai发布了其试点研究的结果,该研究使用 KITTI 数据集作为起点,以检查用于增强 KITTI 提供的注释图像的完全合成数据集可能获得的收益。

训练图像是使用 Highwai 的真实世界模拟器制作的,其中包括从市区和住宅郊区场景拍摄的许多序列,这些场景中挤满了各种车辆、行人和自行车。目的是对象检测和分类,而不是跟踪,因此将捕获帧速率设置为较低,以便在保持数据集大小适中的同时捕获各种图像。图像是在一系列条件下拍摄的,包括相机高度和视野、由于一天中的时间和大气影响(如雾和霾)引起的照明和阴影变化。虽然 Highwai 的工具支持 LIDAR,但在这种情况下只捕获了可见光相机数据。注释包括诸如“行人、

使用 Highwai 的数据增强工具包为训练准备数据,以添加相机传感器噪声、图像压缩噪声、向图像添加“干扰”对象并使训练对颜色不敏感。在此过程结束时,合成数据集的总大小为 5,000 张图像中的 54,443 个对象。(相比之下,原始 KITTI 数据集中有 37,164 个对象和 7,000 个图像)。生成数据、扩充数据并将其添加到训练数据集的总时间不到两个小时。

使用的基础网络是一个 Faster RCNN Inception Resnet,它被预训练为上下文中常见对象 (COCO) 数据集上的对象检测器,并进行了两次补充重新训练;首先仅使用 KITTI 数据集生成基线,然后结合 KITTI 和 Highwai 合成数据集。测试是在 KITTI 参考测试数据集上完成的,该数据集仅包含真实世界的图像,并且在仅 KITTI 和 KITTI 加合成训练之间显示出显着的性能提升。添加合成数据后,识别率总体提高了 5.9%,对汽车和行人的检测显着提高——这一结果并不令人惊讶,因为 Highwai 合成数据集集中在这些对象类型上。

需要多少训练数据的问题没有很好的答案,但 Highwai 指出高度针对性的数据管理对于将其保持在合理范围内至关重要。一个很好的例子是他们为一个未公开的对象检测项目创建的数据集,其中实际用于训练的图像和注释数据总量约为 15GB。最初的大约 12,000 张图像包含大约 120,000 个带注释的对象,是从 30,000 个图像和 500,000 个带注释的对象的原始集合中自动整理出来的。

像这样的结果对于独立软件制造商以及系统集成商和 OEM 来说都很重要。当然,他们可以使用亚马逊的服务来帮助训练网络,但如果价值在于数据,那么商业可行性要求他们能够在该领域创建 IP——他们必须能够使用自己的领域专业知识创建自己的训练数据来指定、优化和管理数据集。这意味着旨在生产此类 IP 的工具行业的出现是重要的一步,将受到欢迎。我们可以期待看到使用合成训练数据的专业知识的快速发展,以及生产它的工具的同样快速发展。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 神经网络
    +关注

    关注

    42

    文章

    4827

    浏览量

    106799
  • 模拟器
    +关注

    关注

    2

    文章

    992

    浏览量

    45381
  • 机器学习
    +关注

    关注

    66

    文章

    8541

    浏览量

    136236
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    NMSIS神经网络库使用介绍

    NMSIS NN 软件库是一组高效的神经网络内核,旨在最大限度地提高 Nuclei N 处理器内核上的神经网络的性能并最​​大限度地减少其内存占用。 该库分为多个功能,每个功能涵盖特定类别
    发表于 10-29 06:08

    在Ubuntu20.04系统中训练神经网络模型的一些经验

    模型。 我们使用MNIST数据集,训练一个卷积神经网络(CNN)模型,用于手写数字识别。一旦模型被训练并保存,就可以用于对新图像进行推理和预测。要使用
    发表于 10-22 07:03

    人工智能工程师高频面试题汇总:循环神经网络篇(题目+答案)

    后台私信雯雯老师,备注:循环神经网络,领取更多相关面试题随着人工智能技术的突飞猛进,AI工程师成为了众多求职者梦寐以求的职业。想要拿下这份工作,面试的时候得展示出你不仅技术过硬,还得能解决问题。所以
    的头像 发表于 10-17 16:36 489次阅读
    人工智能<b class='flag-5'>工程师</b>高频面试题汇总:循环<b class='flag-5'>神经网络</b>篇(题目+答案)

    液态神经网络(LNN):时间连续性与动态适应性的神经网络

    神经元,但却能产生复杂的行为。受此启发,与传统的神经网络相比,LNN旨在通过模拟大脑中神经元之间的动态连接来处理信息,这种网络
    的头像 发表于 09-28 10:03 707次阅读
    液态<b class='flag-5'>神经网络</b>(LNN):时间连续性与动态适应性的<b class='flag-5'>神经网络</b>

    神经网络的并行计算与加速技术

    问题。因此,并行计算与加速技术在神经网络研究和应用中变得至关重要,它们能够显著提升神经网络的性能和效率,满足实际应用中对快速响应和大规模数据处理的需求。
    的头像 发表于 09-17 13:31 887次阅读
    <b class='flag-5'>神经网络</b>的并行计算与加速技术

    如何成为一名嵌入式软件工程师

    如何成为一名嵌入式软件工程师? 01明确岗位的角色与定位 嵌入式软件工程师主要负责开发运行在特定硬件平台上的软件,这些软件通常与硬件紧密集成,以实现特定的功能。 不仅需要精通编程语言
    发表于 04-15 14:37

    嵌入式软件工程师就业好不好?

    嵌入式软件工程师就业好不好?会不会越老越吃香?今天一起来看看。 首先看下市场需求。 随着物联网、人工智能、5G等前沿技术的快速发展,嵌入式系统的应用领域不断扩大,从智能家居、汽车电子到工业自动化
    发表于 02-20 10:19

    BP神经网络与卷积神经网络的比较

    多层。 每一层都由若干个神经元构成,神经元之间通过权重连接。信号在神经网络中是前向传播的,而误差是反向传播的。 卷积神经网络(CNN) : CNN主要由卷积层、池化层和全连接层组成。
    的头像 发表于 02-12 15:53 1308次阅读

    如何优化BP神经网络的学习率

    优化BP神经网络的学习率是提高模型训练效率和性能的关键步骤。以下是一些优化BP神经网络学习率的方法: 一、理解学习率的重要性 学习率决定了模型参数在每次迭代时更新的幅度。过大的学习率可能导致模型在
    的头像 发表于 02-12 15:51 1424次阅读

    BP神经网络的优缺点分析

    自学习能力 : BP神经网络能够通过训练数据自动调整网络参数,实现对输入数据的分类、回归等任务
    的头像 发表于 02-12 15:36 1588次阅读

    什么是BP神经网络的反向传播算法

    BP神经网络的反向传播算法(Backpropagation Algorithm)是一种用于训练神经网络的有效方法。以下是关于BP神经网络的反向传播算法的介绍: 一、基本概念 反向传播算
    的头像 发表于 02-12 15:18 1278次阅读

    BP神经网络与深度学习的关系

    ),是一种多层前馈神经网络,它通过反向传播算法进行训练。BP神经网络由输入层、一个或多个隐藏层和输出层组成,通过逐层递减的方式调整网络权重,目的是最小化
    的头像 发表于 02-12 15:15 1341次阅读

    如何训练BP神经网络模型

    BP(Back Propagation)神经网络是一种经典的人工神经网络模型,其训练过程主要分为两个阶段:前向传播和反向传播。以下是训练BP神经网络
    的头像 发表于 02-12 15:10 1466次阅读

    人工神经网络的原理和多种神经网络架构方法

    所拟合的数学模型的形式受到大脑中神经元的连接和行为的启发,最初是为了研究大脑功能而设计的。然而,数据科学中常用的神经网络作为大脑模型已经过时,现在它们只是能够在某些应用中提供最先进性能
    的头像 发表于 01-09 10:24 2256次阅读
    人工<b class='flag-5'>神经网络</b>的原理和多种<b class='flag-5'>神经网络</b>架构方法