滴滴叶杰平:年运送乘客百亿次,AI如何“服务”出行领域?| BDTC 2019
出品 | AI科技大本营(ID:rgznai100)
“如果把北京一天滴滴的轨迹数据放在一起,要覆盖北京所有道路差不多四百次,数据非常大、非常完整。”
超5.5亿用户,年运送乘客100亿人次,除了中国地区,滴滴也在拉美、日本、澳大利亚等地提供出行服务。在近日由中国计算机学会主办,CCF大数据专家委员会承办,CSDN、中科天玑数据科技股份有限公司协办的2019大会上,滴滴人工智能实验室负责人、滴滴出行副总裁,美国密西根大学教授叶杰平介绍,滴滴目前每天产生超过100T的轨迹数据,滴滴平台基本上每辆车每隔几秒钟都会传送GPS信号数据,这也使其成为出行领域领先的数据公司。
滴滴希望通过大数据、人工智能技术,能够从海量的出行数据里挖掘有价值的信息,提升出行安全、体验与效率。
无疑,交通设施领域,人工智能、大数据技术可以显著提升服务效果。虽然庞大的数据量也带来了业务上的挑战,“比如每天做路径规划需要超过400亿次,高峰时期每1秒钟可能需要处理好几百万次的路径规划,定位也是超过150亿次。”但大数据智能会发挥越来越重要的作用。
滴滴究竟在技术上是如何落地到出行服务的?大会上,叶杰平做了题为《人工智能在出行领域的机遇和挑战》的报告,对滴滴技术布局和落地进行了详细阐述。
以下为叶杰平部分演讲内容实录,AI科技大本营(ID:rgznai100)整理:
滴滴的AI布局
滴滴非常早期投入了大数据和人工智能,成立了研究院,AI在滴滴的各个核心系统、场景包括智慧交通,用AI优化交通基础设施,包括智能交通工具,滴滴在电动车、自动驾驶领域也有很深入的投入。
还有智能运营,包括怎么做派单,拼车、怎么做供需预测等等;还有出行安全,我们一直致力于用人工智能技术让出行更安全。地图是非常核心的模块,我们用很多前沿技术提升地图体验效率,包括路况预测、路径规划、时间预估等等。客服方面,每天有超过120万次的用户进线,这个量非常大。我们利用前沿知识图谱、NLP、语音技术,构建一套智能的客服系统,目前75%的进线可以用智能助手来回答。去年8月份我们还提出AI赋能社会,用AI来赋能安全、环保、健康等等。
这是滴滴的人工智能布局,底层是做核心的基础人工智能技术,包括强化学习、深度学习、统计、运筹,这些是核心关键基础技术。中间层是技术层,包括语音识别、自然语言理解、计算机视觉、知识图谱。上面一层是应用层。
AI技术在出行领域的落地
很多人问为什么出行交通需要用到前沿的AI技术,为什么AI在出行领域发挥很大的作用?国际顶级专家Michael Jordan去年在上海人工智能大会给了一个Keynote,总结人工智能成功的几个阶段:Back End、Human Side、End to End。目前处于第三个阶段End to End的深度学习,带来很大的变革,利用深度学习在语音、视觉、NLP取得很大的突破,我们在很多方向已经接近或者超越人类了,他也展望了下一个10年人工智能应该往哪个方向走,他提出大家应该关注的方向是Market,有交易市场的人工智能,这个问题更复杂,牵涉到大数据、人工智能、经济等方向。
除了预测,交易市场很重要的一个方向是怎么做决策,而且是系列决策,如何保证所有决策是最优的?我们目前做序列决策的方法论不是特别完善,他认为这是未来10年我们非常需要关注的方向。
今天我重点讲讲在出行领域,AI如何落地创造价值。
出行场景一个最重要的模块是派单,如何匹配司机和乘客。在滴滴,派单系统会每2秒钟做一次订单匹配,把乘客和司机做最优匹配。这分几个步骤:第一步,两两计算它的匹配度,比如一个司机和一个乘客如果距离近、行驶时间短,那这个匹配是好的。如果离得很远,那这个匹配是不好的。第二步,有了这个匹配度之后,基于二分匹配图可以实现最优的匹配。
用二分图方法解最优解,结果是2秒之内最大量的乘客被满足需求。这里面需要预估司机接乘客需要的行驶距离和时间,里面会涉及两项核心技术,一个是路径规划,一个是预估到达时间。滴滴开发了一套基于深度学习和强化学习的地图算法。
早期,我们派单算法的目标是在提升用户体验到同时让2秒钟之内更多乘客被应答。2016年,我们思考算法如何更加优化,比如考虑能不能更长时间优化,比如优化1小时或者1天。
本质上,派单是序列决策问题,而且我们做每一个决策能够影响未来司机的分布,比如一个司机接一个乘客可以认为是一个动作,动作带来的结果是这个司机过了一段时间到了乘客目的地,这个动作导致状态发生变化,这是类似AlphaGo的强化学习问题。
2017年我们开发了一套基于强化学习的智能派单匹配系统,把目标从2秒钟最优改成了1天最优,2017年上线取得显著的收益,目前全国很多的城市都是用了基于强化学习的智能派单系统。
实际上,2017年的时候我们的派单还有很多不足,只能模拟简单的时间、空间,不能模拟动态的复杂信息,比如天气,这个区域如果发生下雨了,对派单会产生很大的影响,如何把这些信息都包括进来?
去年我们开发一套基于深度强化学习的方法V-Net,把所有潜在有价值的信息都包含起来,建立深度学习模型,显著超过了之前的算法。今年10月,我们基于强化学习的网约车派单解决方案获得了2019年度INFORMS Daniel H. Wagner Prize,这是这个奖项22年以来第一次颁给中国公司。
基于这套深度强化学习我们还定制了一套司机AI助手,来帮助司机做合理的调度决策。其实每个司机其实都很在乎,没有订单时到底是应该原地不动还是开空车到一个热的区域。如果他做了一个错误的决策,可能空车开到别的地区后依然长时间没有订单。我们开发一套基于深度强化学习的系统,能为司机提供更好的调度决策,来帮助提升司机的收入。基于类似于AlphaGo的深度优化方法也能显著提升平台效率。
滴滴的核心AI技术
下面介绍滴滴这几个核心的AI技术,包括语音、NLP、视觉、知识图谱,如何在出行领域落地创造价值。最近十年我们在语音、视觉、NLP取得很大突破,尤其最近两年NLP方向取得很大突破,每过几个月就能够听到新的模型出来创造价值。
1、NLP。有人会问为什么在滴滴需要做NLP?举几个例子,滴滴的司机、乘客有很多交互,比如司机、乘客会联系客服,接单后司机和乘客相互间也可以通过端内IM交流,NLP能够让这些沟通更加高效便捷。假设你去日本旅游,通过滴滴APP叫了一辆出租车,假设你要问司机一些问题,不懂日语也没关系,你可以直接在IM里输入中文,我们会把你的中文翻译成日语,司机看到的是日语,看到之后他可以用日语写一段他的回答,然后IM会自动翻译成你能看懂的中文。这背后是一套中日翻译系统,这个系统极大解决了中国用户和日本出租车司机间的交互,且更加便捷和高效。
滴滴高质量的人工智能翻译系统核心技术是利用海量的文本数据,我们拿到海量的中文、日文,找到一些匹配对,背后有一套很强大的算法能够检测这个对是不是相似的、是不是一对翻译,然后过滤掉很多匹配度差的噪声,把这个clean数据放到我们的机器翻译系统,然后构建中日翻译,显著提升了效率。目前很多中日翻译系统都是把数据拿到之后没有太多过滤就直接构建这个系统,效率有很大提升空间。
另外一个NLP的场景是客服,如前面提过的,我们开发一套基于NLP、知识图谱、语音的智能客服系统,目前75%的进线是可以通过智能客服来回答。
2、语音技术。一是语音识别,我们怎么听得清、听得懂,二是语言理解,三是语音合成。
语音在出行有很多应用,在一些场景,语音可以操作接单、取消订单。大家知道滴滴司机每天非常多人工点触手机屏,比如接订单需要点一下,取消订单需要点一下,用导航需要点一下,用热力图也需要点一下,这个动作不安全。我们开发了一套基于语音交互系统,司机只需要跟我们的系统说话就好了,就能完成一些操作。今年7月我们已经在日本率先上线了,司机只需要用语音交互就能够完成接单功能,极大提升了体验和效率。
3、知识图谱。滴滴有海量出行轨迹数据,可以用知识图谱来表达,知识图谱的一个优势是能够做图嵌入,最终结果是每一个结点,比如POI,得到非常丰富的向量、特征表达。这个Embedding可以做很多事情,比如机器学习,做聚类、分类、相似度分析等等很多功能。
基于滴滴的出行数据,我们构建一个知识图谱,在4个城市做了个聚类,把Embedding之后的POI做了聚类。不同颜色表示不同的类别,同一颜色的点基本在空间和时间上属于临近的区域。这还可以做很多事情,比如北京火车站这个点我们通过Embedding找到跟它最近的10个点。分为两个时间段,一个是平日,把所有的平日数据放在一起,然后找到相似的数据点,不出意料,相似的点要么是火车站,要么是机场。
我们用2019年国庆节滴滴的数据做了Embedding,发觉有点不一样,比如长途汽车站就出现了,我们理解在国庆时人流量显著提升,很多人只能用汽车出行,所以汽车站在国庆节就出现了。更有意思的是我们看到德胜门跟东直门这两个点出现了,国庆节期间很多旅游大巴在那里是起点和终点,这两个刚好是旅游大巴比较密集的地方,我们的数据能够把这个点找出来。
我们还利用跨城的数据做了Embedding,然后基于embedding进行聚类。可以看到突显的三个区域是京津冀、长三角、珠三角,也符合预期。
4、视觉。我们每天做人脸识别,保证接你的司机和注册的司机是同一个司机,来提升出行安全。人脸识别之前很重要的一个动作是人脸检测,我们自研了一套基于深度学习的人脸检测算法,今年年初在WIDER FACE最权威的数据集检测的6项排名里5项排名第一。视觉技术在辅助驾驶里也可以发挥非常大作用,来提升驾驶安全,比如可以用来检测车前面的所有交通参与者,检测出你有没有越线、有没有跟前面的车靠得太近,如果人和车靠得非常近的话,可以提醒。
5、滴滴去年成立AI for Social Good的平台,希望用滴滴平台赋能环保、安全、健康、无障碍。我举两个例子,第一个是交通安全,全世界每年有135万的用户死于交通事故,基本每24秒钟就有1个人死于交通事故,这是非常严重的问题,滴滴一直致力于用技术提升出行安全。出行安全一般从三个层面考虑:人、车、路。人,包括有没有急加速、急减速等等这些不好的行为,有没有玩手机,玩手机分心是导致交通事故非常主要的因素,以及有没有疲劳等各种行为;路,包括各种路的基础信息,还交通灯、限速、车道速等等,也结合滴滴海量数据预测出道路行使速度;车,包括车龄、里程、车型等等。
我们把人、车、路这么多特征结合滴滴海量的出行数据,做海量数据挖掘,检测到有几个隐患是对交通安全造成比较大影响的:第一个隐患是路口,很多交通事故发生在路口,大家开车时一定要注意路口,注意左右前后有没有车、有没有人,另一方面,如果你是行人,走在道路口,也要特别关注,大家以后出行时,不管是开车还是行人,在交通路口要特别注意。第二个隐患是超速;第三个隐患是疲劳驾驶;第四个隐患是分心驾驶、玩手机等等。
我们通过更深度的数据挖掘到,在一些特殊的路口,如果速度超过某个值,发生交通事故的概率会显著提升。当我们检测到危险路口,速度过高我们会对司机语音提醒。大家打滴滴的时候应该能碰到这个提醒,如果前面道路比较复杂,我们认为是高危路口,司机速度超过某个值,我们会提醒让司机减速。今年我们做了大量的数据挖掘,进行提醒,交通事故也有下降。第二,我们非常关注司机群体的健康。
大数据是人工智能时代的原油,我们的“盖亚计数据开放计划”,会把部分脱敏数据免费开放给学界,贡献给大家,包括海量的POI检索数据、视频数据、出行数据、交通指数等等,也希望和大家携手推进技术进步,让出行更美好。
(*本文为AI科技大本营整理文章,转载请微信联系 1092722531)
◆
精彩公开课
◆
推荐阅读
滴滴开源在2019:十大重点项目盘点,DoKit客户端研发助手首破1万Star
你的 App 在 iOS 13 上被卡死了吗
Hinton、吴恩达们也“吹牛”炒作?媒体和研究人员共谋,AI圈误导信息泛滥
通向人工智能产业落地化的道路在哪?
为什么我们最终抛弃 Chromium 选择了 Firefox ?
如何用Redis实现微博关注关系?
扎心了!互联网公司福利缩水指南
“对不起,我们只招有出色背景的技术人员!”
不用失去控制权和所有权,也能在区块链中通过数据共享获得奖励?
你点的每个“在看”,我都认真当成了AI
相关文章:

分析部署无线局域网的关键要素
在部署无线局域网时需要考虑的关键问题包括:确定单个接入点的RF覆盖,保证足够的支持所有用户的容量,以及考虑RF信号损耗因素。 单个AP的覆盖 网络设计师必须通过研究AP的服务范围来决定单个AP的覆盖。数据速率是一种距离函数ÿ…

Delphi调用java开发的WebService,传入参数出错
http://www.cnblogs.com/zhangzhifeng/p/3397053.html 调用没有参数的服务正常,当调用有参数的服务出现以下错误java.util.concurrent.ExecutionException: java.lang.NullPointerException 另外加了RIO.HTTPWebNode.UseUTF8InHeader : True;InvRegistry.RegisterInvokeOptions…
B站收藏6.1w+!这门课拯救你薄弱的计算机基础
作者 | Rocky0429来源 | Python空间大家好,我是 Rocky0429,一个对计算机基础一无所知的蒟蒻...作为一个所谓的计算机科班出身的人来说,特别难为情的是自己的计算机基础很差,比如计算机网络当年一度差点挂掉,多亏当时…

一种不会导致资源泄露的“终止”线程的方法
在项目工程中,我们可能会使用第三方开发的模块。该模块提供一个接口用于完成非常复杂和耗时的工作。我们一般不会将该API放在UI线程中执行,而是启动一个线程,用工作线程去执行这个耗时的操作。(转载请指明出于breaksoftware的csdn…

TCP/IP详解学习笔记(9)-TCP协议概述
终于看到了TCP协议,这是TCP/IP详解里面最重要也是最精彩的部分,要花大力气来读。前面的TFTP和BOOTP都是一些简单的协议,就不写笔记了,写起来也没啥东西。TCP和UDP处在同一层---运输层,但是TCP和UDP最不同的地方是&…

在windows程序中嵌入Lua脚本引擎--使用VS IDE编译Luajit脚本引擎
前些天听到一个需求:某业务方需要我们帮忙清理用户电脑上的一些废弃文件。同事完成这个逻辑的方案便是在我们程序中加入了一个很“独立”的业务逻辑:检索和删除某个程序产生的废弃文件。试想,该“独立”的逻辑之后会如何?被删掉&a…
优酷智能档在大型直播场景下的技术实践
作者 | 阿里文娱高级技术专家 肖文良 本文为阿里文娱高级技术专家肖文良在【阿里文娱2019双11猫晚技术沙龙】中的演讲,主要内容为如何通过优酷智能档,降低用户卡顿尤其是双11直播场景下,提升用户观看体验。具体包括智能档的落地挑战、算法架…

主题:CS0016: 未能写入输出文件“c:#92;WINDOWS#92;Microsoft.NET#92;***.dll”错误处理...
刚装完.NET环境,在编译时出现了如下错误: 编译器错误信息:CS0016: 未能写入输出文件“c:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files\***\*****.dll”--“拒绝访问。” 错误的处理: 出现CS0016的原因一般是…

关于 android 加载 res 图片 out of memory 问题 解决 同样适用于 sd卡图片
2019独角兽企业重金招聘Python工程师标准>>> 发现android 加载res图片如果过多也会崩溃 android 也是使用 Bitmap bm BitmapFactory.decodeResourceStream(res, value, is, pad, opts); 来加载图片,不同他一般不会释放,如果图片太多就崩溃了 不过解决方法就更简…
近期必读的6篇NeurIPS 2019零样本学习论文
来源 | 专知(ID:Quan_Zhuanzhi) 【导读】NeurIPS 是全球最受瞩目的AI、机器学习顶级学术会议之一,每年全球的人工智能爱好者和科学家都会在这里聚集,发布最新研究。NIPS 2019大会已经在12月8日-14日在加拿大温哥华举行,…

在windows程序中嵌入Lua脚本引擎--建立一个简易的“云命令”执行的系统
在《在windows程序中嵌入Lua脚本引擎--使用VS IDE编译Luajit脚本引擎》开始处,我提到某公司被指责使用“云命令”暗杀一些软件。本文将讲述如何去模拟一个简易的“云指令”执行系统。(转载请指明出于breaksoftware的csdn博客) 首先我们思考下…

oracle9i.rar下载
甲骨文数据库9I转载于:https://blog.51cto.com/263054/46968

每天一道算法题(24)——自定义幂函数pow
double myPower(double base, int exponent){if(exponent0)return 1;if(exponent1)return base;if(exponent-1)//当为是负数的情况return 1.0/base;double result1.0;resultmyPower(base,exponent>>1);result*result;if(exponent&1)//绝对值为奇数result*base;return…
在windows程序中嵌入Lua脚本引擎--编写自己的Lua库
在《在windows程序中嵌入Lua脚本引擎--建立一个简易的“云命令”执行的系统》一文中,我提到了使用Lua的ffi库,可以让我们像写C代码一样写lua程序。这是个非常令我们这些C程序员激动的事。但是我们使用ffi库写出来的程序往往比较大,因为我们可…

我的C#学习笔记(1)
1.基本类型:基本与C\C相同decimal decimal是一个128位的高精度浮点数。bool 注意的是bool类型只有true和faulse两个可取值,在C#中,不能将bool值强制转换为值。如,将true转换为1或将1,0转换为bool值都是不行的。Parse和…
区块链人才月均薪酬1.6W?
01在上周,我国宣布将重点推动区块链技术的发展,这个消息无疑是为区块链开发者们打了一针强心剂,简直是喜大普奔啊 !因为之前区块链这个技术虽然一直在圈内很火,但是却没有得到国家的全面认可和推广,所以很多…

javascript通过json数据按格式生成一个按字母分类排序的分类信息表
效果图如下 1.json数据格式 var _people[{name:朱瑞,url:aaaaaa,nick:zhu},{name:刘桂清,url:aaaaa,nick:liu}];这里按姓氏排序借用了nick,不用nick的话,需要加载一个汉字拼音对照数组,判断匹配2.javascript代码 1 (function ($){2 funct…

(1)学习数组,集合,IEnumerable接口,引申学习迭代器
发展:数组-->集合-->泛型 (1)数组 1. 数组数据结构是System.Array类的一个实例. 2. System.Array类的语法为 [SerializableAttribute] [ComVisibleAttribute(true)] public abstract class Array : ICloneable, IList, ICollection, IEnumerable 3. 下面看一个使用数组…
人工智能尴尬的2019:需要钱却没钱可烧了
作者 | 余洋洋编辑 | 张丽娟来源 | CV智识(ID:CVAI2019)【导读】正需要钱的时候,钱却不够用了,人工智能领域缺钱与亟需钱的矛盾在今年集中体现了出来。2019年,中国人工智能领域的投融资热情大幅降低,交易量随之急剧下降…

WMI技术介绍和应用——WMI概述
今天,我要开始一系列关于微软WMI技术的介绍。通过之后若干节的介绍,我想WMI技术将为在windows平台上从事开发的朋友开启另外一扇窗。(转载请指明出于breaksoftware的csdn博客) 第一次接触WMI技术是在一年前,当时我接到…

综合技术 --@Autowired和@Resource
2019独角兽企业重金招聘Python工程师标准>>> 1.Autowired和Resource 的作用一样,都是自动注入 2.Autowired是按照byType自动注入,而Resource默认是按照byName自动注入。 3.Resource有两个属性比较重要,分别是name和type࿰…

CowNew开源团队新书《自己动手写开发工具》隆重上市
《自己动手写开发工具--基于Eclipse的工具开发》本书系统地介绍了SWT、Draw2D、GEF、JET等与Eclipse插件开发相关的基础知识,并且以实际的开发案例来演示这些知识的实战性应用,通过对这些实际开发案例的学习,读者可以非常轻松地掌握Eclipse插…
4000个“不会数学”的程序员出现大反转!居然能学AI,玩算法,搞逻辑!背后原因首次曝光...
不懂数学的程序员,尤其是在工作之后的一些瞬间,有多少次让你感受到数学的重要性?我们来看2个例子:写一行代码会用数学的程序员:我能分析除代码算法的时间复杂度与空间复杂度,不用写就知道这个算法的优缺点。…

WMI技术介绍和应用——VC开发WMI应用的基本步骤
在《WMI技术介绍和应用——WMI概述》中介绍了我们可以使用C、.net或者支持ActiveX技术的脚本语言来使用WMI。但是各种语言对WMI的控制能力是不同的,比如脚本语言只能用来从WMI获取数据或者接收事件通知。而C还可以编写WMI提供者和发送消息。和脚本语言相比ÿ…

WMI技术介绍和应用——使用VC编写一个半同步查询WMI服务的类
在《WMI技术介绍和应用——VC开发WMI应用的基本步骤》文中,我们介绍了VC使用WMI技术的基本框架。本节我将讲解封装和实现一个用于半同步查询WMI的类。(转载请指明出于breaksoftware的csdn博客) 我曾思考过如何编写一个比较有用的类࿰…

致被套基民:老基民的四点教训七点经验(ZT)
四点错误: 一是没有足够的耐心。比如我曾买入一只基金,上半年表现不好,在忍无可忍之下终于赎回,结果它在下半年股市调整时大放异彩,成为收益率的冠军; 二是只看高分红买基金,结果错过了几只净值…
千万用户同时在线,优酷智能档在双11“猫晚”直播如何防卡顿?
作者 | 阿里文娱高级技术专家肖文良出品 | AI科技大本营(ID:rgznai100) 导读:本文为阿里文娱高级技术专家肖文良在【阿里文娱2019双11猫晚技术沙龙】中的演讲,主要内容为如何通过优酷智能档,降低用户卡顿尤其是双11直播…

导航菜单:jQuery粘性滚动导航栏效果
粘性滚动是当导航在滚动过程中会占粘于浏览器上,达到方便网站页面浏览的效果,也是一种用户体验,下面我们看一下是怎么实现的: jQuery的 smint插件,也是一个导航菜单固定插件。当页滚动时,导航菜单会固定在顶…
如何用Python实现超级玛丽的人物行走和碰撞检测?
作者 | marble_xu编辑 | 郭芮出品 | CSDN博客在《如何用 Python 实现超级玛丽的界面和状态机?》这篇文章中我们讲解如何用代码实现界面和状态机,本文详解人物行走和碰撞检测的实现。功能介绍人物行走人物的行走速度这边分成水平方向(X轴&…

WMI技术介绍和应用——查询正在运行的进程信息
在《WMI技术介绍和应用——使用VC编写一个半同步查询WMI服务的类》一文中,我们介绍到了一个半同步查询WMI类的框架。本文将是该技术的一个应用,介绍如何使用WMI技术查询正在运行的进程信息。(转载请指明出于breaksoftware的csdn博客ÿ…