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

    文章

    4759

    浏览量

    100475
  • 模拟器
    +关注

    关注

    2

    文章

    864

    浏览量

    43150
  • 机器学习
    +关注

    关注

    66

    文章

    8367

    浏览量

    132362
收藏 人收藏

    评论

    相关推荐

    LSTM神经网络训练数据准备方法

    LSTM(Long Short-Term Memory,长短期记忆)神经网络训练数据准备方法是一个关键步骤,它直接影响到模型的性能和效果。以下是一些关于LSTM神经网络
    的头像 发表于 11-13 10:08 131次阅读

    关于卷积神经网络,这些概念你厘清了么~

    要的部分,它们使用一组独特的权重和滤波器,使得网络可以从输入数据中提取特征。数据可以是许多不同的形式,如图像、音频和文本。这种提取特征的过程使CNN
    发表于 10-24 13:56

    如何使用经过训练神经网络模型

    使用经过训练神经网络模型是一个涉及多个步骤的过程,包括数据准备、模型加载、预测执行以及后续优化等。
    的头像 发表于 07-12 11:43 790次阅读

    脉冲神经网络怎么训练

    脉冲神经网络(SNN, Spiking Neural Network)的训练是一个复杂但充满挑战的过程,它模拟了生物神经元通过脉冲(或称为尖峰)进行信息传递的方式。以下是对脉冲
    的头像 发表于 07-12 10:13 470次阅读

    20个数据可以训练神经网络

    当然可以,20个数据点对于训练一个神经网络来说可能非常有限,但这并不意味着它们不能用于训练。实际上,神经网络可以
    的头像 发表于 07-11 10:29 584次阅读

    怎么对神经网络重新训练

    重新训练神经网络是一个复杂的过程,涉及到多个步骤和考虑因素。 引言 神经网络是一种强大的机器学习模型,广泛应用于图像识别、自然语言处理、语音识别等领域。然而,随着时间的推移,数据分布可
    的头像 发表于 07-11 10:25 408次阅读

    如何利用Matlab进行神经网络训练

    Matlab作为一款强大的数学计算软件,广泛应用于科学计算、数据分析、算法开发等领域。其中,Matlab的神经网络工具箱(Neural Network Toolbox)为用户提供了丰富的函数和工具
    的头像 发表于 07-08 18:26 1619次阅读

    rnn是递归神经网络还是循环神经网络

    RNN(Recurrent Neural Network)是循环神经网络,而非递归神经网络。循环神经网络是一种具有时间序列特性的神经网络能够
    的头像 发表于 07-05 09:52 479次阅读

    人工神经网络模型训练的基本原理

    图像识别、语音识别、自然语言处理等。本文将介绍人工神经网络模型训练的基本原理。 1. 神经网络的基本概念 1.1 神经神经元是
    的头像 发表于 07-05 09:16 540次阅读

    卷积神经网络训练的是什么

    训练过程以及应用场景。 1. 卷积神经网络的基本概念 1.1 卷积神经网络的定义 卷积神经网络是一种前馈深度学习模型,其核心思想是利用卷积操作提取输入
    的头像 发表于 07-03 09:15 336次阅读

    如何训练和优化神经网络

    神经网络是人工智能领域的重要分支,广泛应用于图像识别、自然语言处理、语音识别等多个领域。然而,要使神经网络在实际应用中取得良好效果,必须进行有效的训练和优化。本文将从神经网络
    的头像 发表于 07-01 14:14 381次阅读

    嵌入式软件工程师和硬件工程师的区别?

    部分,如微处理器、传感器、执行器等。他们的任务是创建硬件平台,以满足软件工程师的需求,提供必要的硬件功能和性能。 定义和工作职责 嵌入式硬件工程师的主要职责是设计、制造、测试和部署嵌入式系统所需的硬件
    发表于 05-16 11:00

    利用神经网络对脑电图(EEG)降噪

    数据与干净的EEG数据构成训练数据,并且分成训练、验证和测试数据集。 绘制有噪声EEG
    发表于 04-30 20:40

    Kaggle知识点:训练神经网络的7个技巧

    训练神经网络的挑战在训练数据集的新示例之间取得平衡。七个具体的技巧,可帮助您更快地训练出更好的神经网络
    的头像 发表于 12-30 08:27 628次阅读
    Kaggle知识点:<b class='flag-5'>训练</b><b class='flag-5'>神经网络</b>的7个技巧

    如何训练这些神经网络来解决问题?

    神经网络建模中,经常会出现关于神经网络应该有多复杂的问题,即它应该有多少层,或者它的滤波器矩阵应该有多大。这个问题没有简单的答案。与此相关,讨论网络过拟合和欠拟合非常重要。过拟合是模型过于复杂且
    发表于 11-24 15:35 691次阅读
    如何<b class='flag-5'>训练</b>这些<b class='flag-5'>神经网络</b>来解决问题?