微软亚洲研究院郑宇:用人工智能预测城市人流有多少出租车进出该区域?这是微软亚洲研究院基于云计算和大数据的实时运行系统。实时上传贵阳市出租车数据作为测试样本,验证模型的准确性和有效性。每点击一个网格,就会弹出一个图表,你可以清楚地知道未来十个小时内城市某个区域的人流情况。黑色的是已经发生的出租车,绿色的是预测未来的,蓝色的是昨天的同一时间。而同样的,任何来源的人流预测数据,如手机信号、地铁刷卡记录等,都可以通过系统模型计算出某个地方会有多少人进出的结果,并进行预测未来十小时内市区人流情况。“这个系统背后的模型研究的目标是预测未来整个城市的每个区域有多少人进出,有多少人离开,让管理者能够快速了解??每个区域的公共安全情况并及时采取预警措施微软亚洲研究院负责人郑宇表示,直接促使他下定决心开展研究的是2014年除夕上海发生的踩踏事件。当时,郑宇在微博上号召用手机数据检测,避免发生踩踏悲剧。会进来,并提醒他们是否需要早退,”郑宇说。目前,研究论文《Deep Spatio-Temporal Residual Networks for Citywide Crowd Flows Prediction》已经发表在AAAI2017上。在郑宇看来,除了具有推广应用的社会价值外,ication,从技术角度来说,“之前还没有真正意义上的针对时空数据设计的深度学习算法。本篇为第一篇论文,今后该方向的研究将有进一步的发展。这种发展不是CNN和RNN简单使用,而是必须基于对时空数据的深刻理解,充分利用时空数据本身的特性。”在北京,郑宇向《机器之心》讲解了这篇论文的研究方法、过程和应用方向。“传统的深度学习方法不能直接使用。”以往提到人流预测,通常采用预测个体行为的方法。理想情况下,只要统计某个区域内每个人都去了哪里,就可以测出有多少人进入该区域,多少人出来了。但这样的统计本身就有很大的障碍,准确性难以保证,涉及隐私。此外,还有一些基于物理模型、动力学模型或土木工程经典模型等的传统方法,但这些总是难以应对大规模的交通预测。我们的方法先不涉及隐私,只要进出数据不需要知道谁进出,然后把整个城市,比如北京,分成两千个格子,同时预测,不是一个接一个,是一个整体的预测。整体预测的必要性在于区域与区域之间存在相关性,不能单独预测。在预测A的时候,其实预测B和C区域也可能有影响,反之亦然。因此,将深度学习引入整体预测与使用传统方法有很大不同。但同样,我们在研究过程中也面临着很多困难。首先,影响人流的因素有很多。关系到前一个小时内有多少人进出该区域,以及有多少人进出周边甚至远处。比如上海的踩踏事件,很多人都是从外地乘坐高铁、地铁或者高速,直接到外滩,不经过周边。还有很多外部因素,包括天气和事件,都会导致该地区的人流发生变化。更重要的是,在进行预测时,人流具有时空属性,即时间属性和空间属性。这个属性很特殊,会阻止其他传统的深度学习方法直接用于预测。人流作为一种时空属性数据,具有特定的属性。一个城市由很多个区组成,一个区有很多街道和社区,自然有层次感。这就是空间的不同。在时间维度上,相邻的两个时间点之间,车流量和人流量是平滑变化的。趋势,但周期明显不同。车流和人流是往复循环的。今天早上8:00和昨天早上8:00的车流量和人流量的趋势看起来很像,但是今天早上8:00和今天12点的流量会有很大的不同,尽管只相差4小时,而两个早上相差24小时,时差更大但更相似。这些都是传统视频和图像所不具备的特征。一般情况下,人们不会看完一个五分钟的视频,然后再回去看第二分钟的视频。这种周期性是时空数据即人流数据中的特有属性,周期不是固定的,而是随着时间的推移而上升或下降。比如天气越来越冷,天亮越来越晚,人们出门的时间越来越晚,那么早高峰也会越来越晚,所以周期和趋势的结合使得时空数据完全不同于以前的图像、视频等数据,以前使用的方法都将失效。如果我们直接使用传统的RNN,必须考虑周期性和趋势性,而且输入数据必须非常长。如果只用最近两三个小时的数据,是无法体现周期性和趋势性的。至少需要24小时才能体现出周期性,趋势甚至需要几个月的数据。如果用RNN作为模型,输入这么长的数据,那么RNN模型会变得非常庞大,非常复杂,难度会很大。很难训练,效果也不会好。我们还与LSTM进行了比较,发现我们的数据使用的帧更少,但结果更好。“我们设计了一个特殊的网络模型。”我们验证了北京出租车的GPS轨迹,使用了3万多辆出租车5年的数据,我们也使用了纽约的公共自行车租赁数据进行了验证。一方面,我们通过政府合作项目获得开放数据;另一方面,我们也要用好开放数据。然后将这些琐碎的数据转化为可以作为深度学习输入的规则格式,通过空间划分和折射,成为二维矩阵,从而可以作为深度学习模型的输入。这个转换过程非常重要,涉及到不同数据的多样化融合,需要一定的时空数据经验。基于对时空数据的深刻理解,我们设计了一个特殊的网络模型。在这个结构中,我们只需要提取一些关键帧,比如昨天同一时刻,前天同一时刻,其他时间不需要输入,大概只要用到几十个关键帧作为输入,它可以反映出我们有多少个月所包含的周期性和趋势性,大大简化了我们的网络结构,但是训练的质量和效果却大大提高了,这是一个重点。具体来说,我们把城市划分成统一的、不相交的网格,比如一个平方公里的网格,然后输入流量数据(包括手机、出租车轨迹等)投影到网格中,计算出有多少人进入和退出每个网格。红色越亮,代表人越多。例如,一帧图像是一个二维图像。如果时间点很多,可以连续生成图像。同时,我们有相应的事件和天气信息,这就构成了数据输入,将时空数据转换为这样的模式。使用此类数据,可以模拟时间行为。我们将最近几小时和几帧的数据输入时空残差网络模拟相邻时刻变化的平滑过程,然后输入昨天和前天对应时间点的数据模拟周期性,以及然后进一步带入时间点对应的读数,模拟一个趋势,分别模拟三个时间属性。这三个残差网络结构都是深度残差网络,然后做第一次融合,再把外部事件、天气等因素带入第二次融合得到一个结果。接下来,进行空间属性模拟。深度卷积神经网络的过程是将区域划分成网格,然后对相关区域进行卷积运算,得到一个值。你可以认为,经过一次卷积,就捕获到周围人流的相关性,进行多次卷积。最后将较远地方的区域属性卷积在一起。如果要捕捉到远处的地方,那就意味着你的卷积网络层级一定要比较深,只有一层无法捕捉到远处的相关性。之所以会这样,是因为前面提到过,很多人可能会从很远的地方坐高铁或者高速直接到达,不会经过你所覆盖的周边地区。一旦网络层次很深,训练就会变得非常复杂。我们在卷积神经网络的基础上引入了深度残差网络结构来预测人流,用来帮助深度卷积网络提高训练精度。使用这种方法的灵感也是来自于我们以前的同事孙健之前的研究。从目前的验证结果来看,本研究的最佳效果是24层,但这与不同的应用和数据规模有关。此外,在融合相似性、周期性和趋势三个模块时,与直接融合相比,我们提出的基于参数矩阵的融合方法考虑了每个区域时间特征的不同强度,从而取得了更好的效果。好结果。在最近的研究中,我们考虑了阈值机制来调节,而不是简单的相加,期待更好的实验结果。这部分XExt的输入已经过归一化或one-hotcoding,经过FC(或embedding)可以缓解“数值尺度”的问题。事实上,融合仍然是一个具有挑战性的问题,异构时空数据的融合仍然值得进一步研究。接下来,我们将继续改进模型本身。现在我们只能预测出每个区域有多少人进出,反映不同区域之间的关系。在下一阶段,我们需要同时统计区域与区域之间的进出和进出转移。深度学习在时空数据中的应用成为课题组重点研究方向。人工智能也有其局限性,它并不像大家想象的那样无所不能。目前,我认为利用深度学习解决大规模物流调度问题的时机已经成熟。同时,也将解决一系列的调度问题。做出影响,比如共享单车、外卖、快递等。【本文为栏目组织机器之心原创文章,微信公众号“机器之心(id:almosthuman2014)”】点这里想看到作者更多的好文章
