你在使用哪种编程语言?快来投票,亲手选出你心目中的编程语言之王 了解详情
写点什么

在自动驾驶研发中充分发挥数据的潜能

2019 年 6 月 23 日

在自动驾驶研发中充分发挥数据的潜能

本次分享内容提纲

  • 数据标注

  • 数据驱动开发

  • 数据驱动决策


前言


上图这是我加入小马智行之前的一个小故事。这不断的提醒我,人工智能需要有足够的数据量,并且充分发挥这些数据的潜能,是我们作为人工智能公司的一个非常重要的核心竞争力。


数据的作用

  1. 数据驱动开发:提到数据的作用我们首先会想到,数据驱动开发,包括感知领域、行为预测领域、决策领域,需要有数据(标注好的数据)来作为我们模型训练的粮食和作为系统准确度评测的依据。

  2. 数据驱动决策:尤其是优先级的决策,作为创业公司我们现在想做的事情,远远多于我们的人力,如何把人力用在我们需要优先解决的问题上,不管在行车安全性、乘坐舒适性、车辆的运营等等,每个方面都有更重要的问题,或者次要一点的问题,需要做优先级的决策,通过对于数据的分析和处理,拿出一些有效的决策。

  3. 展现公司实力:通过对数据的分析,展示出来的结果是可以展示公司实力的。

  4. 满足监管要求:数据的保存、处理、分析也是为了满足监管的要求。


数据标注

在讲数据驱动开发和决策前,先分享下关于数据标注的一些体会。


  1. 评价指标



对于数据标注来说,它的评价指标有:


① 团队规模:只有你有足够大的团队,你才能在单位时间内标注出你所需要的数量的数据。


② 效率和成本:二者间的关系像是硬币的正反两面,效率是指单个人单位时间的产出量,成本是指单位产出的人力、设备、场地开销。


③ 质量:标注的准确度,比如标注一个激光点云里障碍物的尺寸、位置、朝向的准确度,又比如预测下一步行为的准确度。


这是大家通常所关注的三个方面,下面再讲下另外两个很重要的点:


① 能力多样性:能够处理各种不同种类的标注任务的能力,对地图来说我们需要标注车道线,对于感知来说我们需要标交通灯、障碍物,还有行为预测所需要的标注等。


② 标准灵活性:各种长尾场景(如雨点,汽车尾气等)的处理方式在不断的探索和迭代,随之标注的方式也在不断的探索和迭代,如何保证在这些快速探索和迭代过程中标注团队直接的高效沟通,不至于出现混乱,这需要花很多精力去做。


  1. 团队构成


如下图所示:



  1. 效率提升与成本控制


技术手段:


① 默认障碍物大小:第一帧可以通过一些人机交互的方式默认障碍物大小。



② 自动追踪外推:接下来,比如说标注员跳了一帧到第 3 帧,然后把车新的位置手工找到了,当再跳到第 5 帧的时候,系统就可以通过智能算法做到自动的追踪外推来找到车在第 5 帧中的新位置。



③ 自动插值:当车在第 1 帧、第 2 帧、第 5 帧的位置都标出来之后,系统可以做自动插值,自动找到车在第 2 帧,第 4 帧中的位置。



这里大概看下车的整个标注过程,以及人机交互方面的技巧,通过人工智能的方法提高标注员的效率。


相比于车载系统,智能标注系统所受的限制更少:


① 更多的可用信息:比如在尝试智能标注某一帧数据的时候,可以参考其后的数据帧里的信息;


② 更宽松的计算资源和时间限制。


需要注意的问题:


  • 对自动化结果的依赖,可能导致标注结果中产生系统性偏差

  • 如何发现和识别这些系统性偏差

  • 不同的自动化功能,产生系统性偏差的几率和程度各不相同


非技术手段


① 薪酬激励


② 组织结构设计:这里最主要的是信息流动的结构,比如:具体的某些场景的某个细节如何通过标注平台的某些技巧去标注,如何促进这些技巧在标注团队内部被高效地总结、传播。


③ 各工段之间成本平衡:系统化的思考,我们标准的流程分为标注、质检、复检等多个工段,通过各工段的配合达到整体的优化,而不是单纯的只优化某个工段。


当然所有的非技术手段依赖于标注平台对于标注任务生命周期与标注团队架构、绩效的管理。


  1. 系统能力



这里的一个核心目标是何如保证系统在大规模标注团队持续高频使用的条件下能保持稳定运行。这里举一个因为平台不稳定性产生的焦虑感,进而导致恶性循环的例子:


  • 保存失败:比如标注了 5 分钟,尝试保存的时候失败了。

  • 工作成果丢失的焦虑感

  • 更加频繁地尝试保存

  • 系统负载进一步提高

  • 系统稳定性和响应速度进一步下降


而且有些时候牵扯到外部合作商时,会进步一加剧一种情况:信任成本升高,降低长期合作意愿。


这对我们提出的要求是:


① 不断优化、提升效率


② 保持稳定、保障效率:最细微的稳定性问题都可能导致效率下降


③ 良好的工程实践:


  • 与线上系统隔离的完整测试环境,要求能较为准确地重现线上数据规模和数据分布

  • 分级发布流程

  • 线上系统监控及应急处理预案


关于提升效率的 Tips:


  • 开发:实现效率优化方案

  • 测量:在实现方案后,对标注员的操作流程和节奏进行记录和准确复现

  • 提升:在测量和观察中,发现可能的效率提升点,然后再循环到第一点。


数据驱动开发


上图是我们的一个愿景:先是利用机器智能,提高人工标注效率,然后利用人工标注结果,提升机器智能,最后再反过来利用机器智能,提高人工标注效率,达到一个交互促进的过程。


  1. 充分利用海量标注数据


① 分布式训练和评测系统


② 人工标注的质量是有极限的,这需要我们:


  • 对标注数据的进一步处理与修正

  • 在设计评测指标时,要考虑到标注数据常见的质量问题。避免设计出的评测指标对于这些常见质量问题过于敏感。


  1. 数据索引平台


数据在各个维度上的分布,例如:


  • 时段和天气

  • 道路等级

  • 障碍物种类

  • 住宅、商业区、工业区


当我有了索引平台,可以做的事情有:


① 标注任务筛选:基于分布上不平衡的维度,对路测原始数据的自动化初筛


② 训练数据选取:按照指定的维度检索访问标注数据


③ 评测数据集维护:难度和规模分级


数据驱动决策

  1. 路测事件分析



  • 问题路段

  • 问题模块

  • 问题车辆

  • 问题时间段

  • 深入分析的工具


  1. 数据展现方式


这里我们主要面临的挑战:


  • 准确性:给的数据要靠谱,有说服力

  • 实时性:每次采集的数据都可以实时更新

  • 易用性:从界面上可以直观的看到关键数据


这需要我们:


① 以用户为中心,依据关键决策流程,不断迭代与优化


② 根据不同受众和使用场景,提供差异化的视图


  • 运营团队周会

  • 公司高管 C-level

  • 团队 tech lead


③ 在每个视图中,提供最简洁实用的图表


  • 在默认视图中,提供刚刚好用户想要的信息,不多不少

  • 对于每一个数据点,提供进一步深入分析的工具


作者介绍

宋浩,Pony.ai Tech lead。清华大学交叉信息研究院博士,此前任职于 Facebook 广告分发策略优化部门。目前在 Pony.ai 负责自动驾驶数据平台与应用的技术研发。


本文来自 DataFun 社区


原文链接


https://mp.weixin.qq.com/s/Kgf_aXkx3x-Tv52TmDEZ-g


2019 年 6 月 23 日 08:004297

评论

发布
暂无评论
发现更多内容

将本地文件/文章上传到 GitHub 的流程

彭宏豪95

git GitHub 效率 编程

Redis-技术专题-Redis分布式锁实现方案

李浩宇/Alex

redis 分布式锁 5月日更

如何选择开源许可证

HoneyMoose

名可名

顿晓

5月日更 命名

SwiftUI @ Netflix:推动新技术落地是怎样一种体验?

故胤道长

swift iOS Developer 移动开发· SwiftUI

数字经济消费这一年:这届中国消费者咋想的、咋做的?迪士尼出售奥斯卡广告,每30秒可赚200万美元

󠀛Ferry

5月日更

限时白嫖!腾讯内部员工培训Java资料,网友:大厂就是不一样

牛哄哄的java大师

Java

你的烂代码终于有了解决方案

博文视点Broadview

书单 | 月度畅销好书,助你技能满格,摆脱低效,走向财富人生

博文视点Broadview

通向未来的十二个趋势

CECBC区块链专委会

人工智能

未来5年或将出现颠覆型区块链应用,资产通证化将重构实体经济

CECBC区块链专委会

区块链

【LeetCode】员工的重要性Java题解

HQ数字卡

算法 LeetCode 5月日更

【人间碎片】关于努力这件事

南吕

人生修炼 人生故事

网络攻防学习笔记 Day2

穿过生命散发芬芳

5月日更 网络攻防

从零搭建一款PC页面编辑器PC-Dooring

徐小夕

可视化 前端进阶 lowcode 代码编辑器

复杂Gremlin查询的调试方法

Tom(⊙o⊙)

gremlin调试

Redis-技术专区-知识问题总结大全(上篇)

李浩宇/Alex

redis 5月日更 问题分析

OAuth 2.0 了解了,OAuth 2.1 呢?

Zhang

OAuth 2.0 认证授权 OAuth 2.1

清华教授说:这不是我教的Java运算符知识。学生:反正我学会了!

java专业爱好者

Java

外行在谈论流派,大师在讨论颜料

顿晓

极限编程 5月日更 门道

【算法训练营】C++学前班--如何在Windows上搭建开发环境

IT蜗壳-Tango

IT蜗壳教学 5月日更 C++环境搭建

区块链如何推动人力资源和薪酬管理体系变革?

CECBC区块链专委会

人力资源

当你觉得老板的决策是错的,你会怎么做?

石云升

职场经验 5月日更

0基础如何快速进入Java编程领域?5天挑战入门,你确定不来看看?

java专业爱好者

Java

BPF 之巅:洞悉 Linux 系统和应用性能

博文视点Broadview

Excel用户如何学习数据分析语言DAX?

博文视点Broadview

超硬核!阿里技术大牛肝了2晚整理的Java知识,这也太强了!

飞飞JAva

Java Java泛型

多家银行增设数字金融部 架构调整背后透露出哪些信号?

CECBC区块链专委会

银行

数字化转型能力成为中国纺织服装业未来发展的核心动能

CECBC区块链专委会

纺织面料

鹅厂疯子整理了万字Java笔记!小白:硬核资源基础知识已入门

牛哄哄的java大师

Java Object

如何在 GitHub 上面为你的项目选择开源许可证

HoneyMoose

技术为帆,纵横四海- Lazada技术东南亚探索和成长之旅

技术为帆,纵横四海- Lazada技术东南亚探索和成长之旅

在自动驾驶研发中充分发挥数据的潜能-InfoQ