本篇文章4576字,读完约11分钟
雷锋。(公开号码:雷锋。com)有了新的智慧:“机器学习实际上并没有那么高。”腾讯地图导航技术总监蒋在腾讯近日举办的人工智能帮助lbs应用主题沙龙上表示。就在两天前,人工智能用阿尔法戈的Go War击中了人们的眼睛,但事实上,人工智能技术已经为城市日常运营效率的提高做出了相当大的贡献。这些应用包括但不限于物流运输、导航、路况预测等。
姜是腾讯地图导航技术的研发带头人。在过去的几年里,他们的团队逐渐使用人工智能来优化算法,并不断改变他们的想法,使人工智能技术服务于日常旅行和物流。在这次演讲中,姜分享了ai如何帮助eta(预计到达时间)计算变得更智能,以及雷锋的新智能司机在不改变初衷的情况下减少内容,从而为读者提供食物。
我负责腾讯定位服务的导航研发。自2015年以来,我们的团队逐渐将人工智能技术引入导航服务,以解决实时路况预测和道路通行时间计算等问题。从点A到点B,我们将计算许多路线并对它们进行优先排序,这实际上是一个很大的话题。这一次,以eta计算为例,我将分享过去两年来在导航服务中引入人工智能技术的一些经验。
预计什么时候到达?预计到达时间是指“预计到达时间”。每个坐过飞机的人都知道,机场里有许多电子信息板,显示航班的动态信息,包括出发时间etd和到达时间eta。预计到达时间实际上是运输业中一个非常普遍的概念。当使用地图时,预计到达多长时间的数据将在导航计划路线后给出,即预计到达时间。因为是时间估计,所以会涉及到估计是否准确的问题。为了达到这一精度,我们有一个称为mape的测量指标,它是平均绝对百分比误差,表示eta和用户实际到达时间之间的偏差。
对于个人用户,eta可以帮助人们更好地安排他们的旅行时间。Eta有助于帮助决策涉及车辆和人力调度的问题,如网络汽车和物流。
态度:积极拥抱人工智能。目前,我们所理解的人工智能通常指大数据+机器学习。在我看来,这实际上是一种自然状态,不是供使用的。
2000年,我们开始研究图像识别。那时,我们使用机器学习算法。当时,我们不认为有什么高的,因为机器学习算法在那个领域是非常普遍和自然的。如今,经过多年的发展,机器学习在图像、语音和自然语言处理方面已经发展和应用得更加成熟,但在许多传统领域仍处于相对初级的阶段,交通就是其中之一。这有两个原因:
一方面,作为一个非常传统的行业,交通领域有一个传统的计算模型,积累了几年甚至十几年。人工智能模型是对传统模型的一种颠覆和抛弃,它不是一种继承的发展。这项改革需要极大的勇气。
另一方面,传统领域对大数据积累的认识相对薄弱,在数据相对不足的情况下,人工智能模型的初始效果可能不如传统模型。
然而,即使如此,我们也应该积极拥抱人工智能技术。以η为例,平均误差越小越好。例如,当我们使用传统模型计算eta时,平均误差(mape)几乎是19.5%,并且很难突破。当我们引入人工智能模型时,在第一版发布后,平均误差像悬崖一样下降,达到17%。到目前为止,我们的平均误差可以基本控制在15.3%以内。
为什么人工智能模型能取得更好的结果?
这个问题可以从多个维度来解释。例如,人工智能有严格的数据模型和大量的历史数据。但是作为一个“代码农民”,我想我应该从代码的角度来解释它。
如上图所示,上框是传统计算模型中计算“轨迹转弯”的代码,占总代码的5%;下面的方框是机器学习模型中访问决策树的代码,占总代码的50%。
埃塔的计算也是如此。从代码量来看,机器学习模型是传统模型代码量的1/10。代码量差距背后的逻辑是什么?机器学习将通过大数据的训练把一些程序逻辑转换成配置逻辑。其中一个代码农民的法律是“配置是由于编码。”如果我可以通过配置改变整个程序的逻辑,我不会通过编码来实现。
其次,机器学习将把一些在线逻辑转化为离线训练。如果我可以在网下实现一个逻辑,我不会在网上完成它,这也是一个好的道德规范。通过这两次转换,人工智能遵循了代码法,因此取得了较好的效果。
有意识地:能够量化刚才提到的所有数据和特征决定了机器学习的上限,因此特征提取和特征使用对于机器学习非常重要。
一般来说,这个过程分为三个步骤:
第一步是对整个业务的属性进行划分,可以分为物理属性、实时属性、挖掘属性和监控属性。我们以用户肖像为例。在用户肖像中,如用户的年龄、性别、地址等。,都属于简单、直接和稳定的物理属性;例如,用户在过去一小时内浏览的网页内容是实时属性;用户这些行为的积累会产生历史数据,而历史数据的统计结果就是挖掘属性;监控服务(包括用户数量、访问次数等)是一个监控属性。
第二步是量化所有属性。以用户肖像为例,假设在用户肖像中有一个名为“用户面值”的属性。我会在这里停下来,把它交给机器。如果我的面值属性设置为高,机器将被包围,因为它不知道“高面值”是什么意思。然而,如果我换一种方式来说,例如,我的面值等于90,此时机器将看起来轻蔑,因为这个面值的上限可能是500点。然而,不管是90分还是500分,数字化的东西使机器能够理解、分析和观察。因此,这个前提非常重要。我们需要将所有属性量化为数字,量化的结果称为指标。
第三步是分析指标以及指标与业务目标之间的关系。这部分操作有一门名为“数据分析”的特殊课程。我们将高度相关的指标转化为特性,并在我们的培训和服务中使用它们。我们将继续观察那些相关性弱的。
为什么我们必须量化?给出一个eta将监控指标转化为特征的例子。例如,eta计算取决于实时速度,但实时速度是从路况中提取的,路况计算取决于实时数据源。因此,我们开始监控实时数据源。
最初的监控目标不是eta,因为我们需要监控数据源。如果数据有问题,比如数据不稳定,我们会通知数据提供者这些数据有问题,让他们尽快解决,如此而已。但是有一天,我们突然发现埃塔的坏案例与我们的数据源监控指标有一定的关系,它们之间的波动有点类似。因此,我们将这个指标用于相关性分析,并将其添加到我们的特征中,发现不良事件率在上线后实际上有所下降。也就是说,所有的属性都应该量化,量化后不要轻易放弃,因为我们不知道某个指标什么时候会有用,什么时候会被我们采用。
一般来说,人工智能的流程如下:它将在一个大的数据集上训练得到一个学习模型F,并将提取的M个特征应用到F中得到一个预测结果Y,这是我们要不断优化的目标。
一开始,我们通常定义一个可观察和可解释的简单目标。随着模型应用的深入,我们根据大量的不良案例对这一目标进行了分析和优化。最后,我们需要有一个合适的训练目标。
这个培训目标的要求是什么?
尽量简单,这样更容易理解;这也很难实现,也就是说,要注意多个目标,因为在实践中,我们发现我们对模型的要求并不是单一的,我们经常需要高精度和高召回率,这是多个目标。例如,在eta中,我们希望它的平均误差很小,同时,我们希望有一些坏情况,但是有时这些目标之间有冲突,但是冲突并不意味着它们是不可解决的,或者我们可以通过优化目标来找到一些解决方案。
看看埃塔在目标优化方面的工作。Eta是预计到达时间,而ata是用户的实际到达时间。这很容易理解,所以我将把ata作为我的训练目标,让eta尽可能地接近它。这个目标非常简单直接。
后来,我们发现了埃塔的核心特征。因为你要计算的是时间,它与距离和速度有关,它的核心特征是与它的产品关系。我们的模型是gbdt,它的结果是多个树的和关系。总数中可能有一个负数。对埃塔来说,你花费的时间是负数是不可接受的。因此,我们做了一个对数计算,把乘积关系变成了加法关系。同时,由于指数计算,我们还确保不会有负数。
之后,我们发现长距离和长时间出现的坏案例比例相对较高,并且长距离和长时间轨迹在我们的训练样本中有一个长尾巴,所以这是一个由长尾巴引起的坏案例。在eta计算中,长时间和长距离通常同时发生,也就是说,距离越长,花费的时间就越长。另一方面,这确保了速度相对稳定。因此,如果我们把训练目标改为速度,长尾现象会减少很多。
在其他条件不变的情况下,通过不断优化目标,不仅降低了平均误差,而且降低了不良事件率,同时兼顾了多个目标。
不要轻易扔掉数据。在我们的训练数据中,很多数据肯定会有噪声。一般来说,机器学习的第一步是对数据进行预处理,清除数据,滤除噪声数据,然后直接丢弃。此时,我们会发现训练数据和测试数据之间的分布是不同的,很容易产生过度拟合。在这方面,一个更好的方法是纠正这些噪声数据,变废为宝,再利用它们,并尽可能保持分布与我们的测试数据一致,这样也能得到更好的结果。
给出一个eta数据转换的例子。一个司机过去常常在正常的轨道上开车,但是当他到达最后的位置时,他绕了很多圈,这实际上是因为他在寻找一个停车位。这种情况在日常生活中很常见,因为当你到达目的地时,你会来回寻找停车位,尤其是在北京,那里很难找到停车位。
一开始,我们定义了一些噪声数据,当我们遇到类似的数据时,就把它们扔掉。在随后的训练过程中,我们发现与实际数据仍有一些差异。这种情况很常见。当这些数据被丢弃时,将导致整个训练数据的较大偏差。因此,我们首先挑选出这样的噪声数据,将其切掉,丢弃带圆圈的部分,提取剩余部分的真实值,并将轨迹添加到训练样本中。
多模型机器学习的神奇之处在于,如果你给它一大堆数据和一大堆特性,它就能做出一道好菜。困难在于,经过一些优化后,很难证明我在这方面所做的是有效的,也很难说哪个特性优化发挥了更好的作用。因此,验证是一项非常费力的任务。
很多时候,我们会同时优化多个特性。如果上线后效果变得更差,我们不知道是哪个功能导致的。我们以前也陷入过这种情况,因为我们发现上线后效果会变得更差,但是每次离线训练的效果都很好。上线后,没有办法解释,所以我们只能先回滚,这对开发者来说还是很难的。后来,我们采用了双重模式。我们同时运行两个模型——新模型和旧模型。这两个模型同时计算。当结果与预期不一致时,我们可以做diff(一个比较命令),这样可以快速定位问题。
当然,并不是所有的特性都需要经历这样的过程,因为开销相对较大,并且两组数据和两组模型应该同时运行。目前,我们只对一些重要特征或特别难以验证的特征进行双模型运算,如eta的实时速度,因此很难收集其真实值,优化效果也特别难以验证。对于其中的一些特性,我们将采用双模型模式,让两套同时运行,并同时对它们进行比较。如果有问题,它会被更好地定位。
摘要:
首先,我们应该在态度上积极拥抱人工智能技术。与传统模式相比,人工智能模式在大多数领域都有压倒性的效果,其推广尤为明显,这需要我们有勇气去拥抱它。
其次,我们应该有量化一切的意识。所有的数据都应该量化,也许有一天会用到。
第三,我们必须不断优化我们的目标。因为你的目标是有偏差的,最终的结果肯定是有偏差的,所以有必要不断优化和迭代训练目标。
第四,数据如此重要,我们不能随意丢弃。一些噪声数据也很有价值。
第五,对于一些验证问题,即训练效果的分析,我们可以用双重模型来解决。
会后,蒋告诉雷锋,腾讯有一个专门的“无人实验室”用于自主驾驶技术的研发,她的团队所做的努力随时准备为后续自主驾驶模式的一些技术和应用服务。
雷锋原创文章。严禁擅自转载。详情请参考转载说明。
来源:搜狐微门户
标题:AI,如何助力ETA计算更加智能化?
地址:http://www.shwmhw.com/shxw/62261.html