查看原文
其他

精品课|郑宇:深度学习在时空数据中的应用(视频+PPT)

2017-05-05 郑宇 中国计算机学会

点击上方中国计算机学会轻松订阅!

4月8日,在CCF ADL 第78期“深度学习:从算法到应用”的讲习班中,郑宇博士做了题为《深度学习在时空数据中的应用》的报告,本报告探讨了时空数据的特性,以及深度学习技术在时空大数据上的使用和设计方法,分享基于深度学习的城市人流量预测的实战案例,并介绍深度学习和深度强化学习在围棋中的应用。以下分享的是郑宇博士的报告PPT和部分视频。

郑宇博士,CCF杰出会员、CCCF编委、CCF ADL工作组组长。微软亚洲研究院资深研究员、“城市计算”领域负责人,ACM数据挖掘中国分会(KDD China)秘书长、上海交通大学讲座教授、香港科技大学客座教授、人工智能国际权威期刊(SCI一区刊物)ACM TIST主编,在顶尖国际会议和期刊上发表论文百余篇(其中以主作者身份发表论文50余篇),论文被引用12800余次,Google Scholar H-Index 53(截至2017-5-5), 2016年论文单年被引用3400余次。他主持开发了多个城市大数据系统,其中Urban Air首次利用大数据来监测和预报细粒度空气质量,该服务覆盖了中国的300多个城市,并被中国环境保护部采用。他主持了城市大数据平台的设计和实施,并成功在中国大数据示范基地贵阳市部署。2013年他被MIT科技评论评为“全球杰出青年创新者”(TR35),并作为现代创新者代表登上了美国《时代》周刊。2014年,由于他主导的城市计算具有巨大的商业前景和改变行业格局的潜力,他被美国《财富》评选为中国40位40岁以下商界精英。2016年他被评为美国计算机学会杰出科学家。

https://v.qq.com/txp/iframe/player.html?vid=p0500c8fsa0&width=500&height=375&auto=0

(此视频为郑宇博士报告的前半部分,CCF会员观看全部视频请点击【阅读原文】登陆后观看,非会员可访问 mooc.ai 搜索“CCF ADL",付费观看)

大家都听过很多人工智能的报告,多半是在视频、语音以及自然语言处理方面的应用,但是人工智能怎么在城市、时空大数据里面发挥作用说的比较少。今天我就讲讲深度学习在时空数据中的应用,从而让我们的生活越来越好。


今天的报告首先介绍什么叫时空数据,时空数据的特性,以及为什么时空数据和深度学习是一个很好的结合,结合的时候会遇到哪些困难。同时报告会讲两方面的应用,一方面是在城市大数据里面,用深度学习来预测人流量,以及人在不同区域里的转移,另一方面是借用AlphaGo的原理来介绍一下深度强化学习。最后透露一点深度强化学习在物流中的应用。


什么叫做时空数据

城市里的数据越来越多,从交通流量,到气象信息,从地理信息到手机信号,都是时空数据。

时空数据的特性


根据数据结构来分,可以把城市数据分为两类:


  • 点数据

  • 网数据


所谓时空,就一定有时间和空间的属性,根据数据关联的是时空属性的变与不变与否,可以把数据分为纵向的三列:如下图


点数据


  1. 时间和空间属性都不会变化的点数据,如商场、学校、车站等点数据,一旦商场建好,他的位置、面积及窗户大小等属性是不随时间改变而改变的。

  2. 空间不变,时间属性随着时间的变化而变化的点数据。比如传感器部署到某个位置之后,坐标是不会变的,传感器每个小时的读数是随时间变化的,比如气温,空气质量都是随时间变化的。

  3. 空间和时间坐标都会随着时间的变化而变化。比如摩拜单车,滴滴打车,发出的请求信号就是一个时空都变的信息。


网络数据:


  1. 时间和空间属性都不会变化的网数据,比如城市的道路结构,路网 就是一个静态的网络结构,一旦网络建好之后,他的属性不会随着时间空间变化。

  2. 空间不变,时间属性随着时间的变化而变化的网数据。把交通流量信息叠加到路网之后, 就变成一个空间不变,而它的属性是随着时间不断变化的信息。

  3. 空间和时间坐标都会随着时间的变化而变的网络数据,就是轨迹,骑车的轨迹,出租车行驶的轨迹,候鸟飞翔的轨迹,航班的轨迹,手机移动信号等都是轨迹数据,这些数据的的时间和空间都是随着时间变化的。



    生活中很多的数据无非就是这六种,而其中最复杂的就是轨迹数据。

下面是关于轨迹数据的挖掘,包括轨迹数据的预处理,索引和提取,模式匹配,异常检测以及分类聚类等问题, 你只要掌握好轨迹数据处理的问题,其他几个数据的处理就会得心应手。

讲完时空数据分类,我们再看看时空数据和其他文本、图像数据的区别。

空间方面的区别:

  • 空间的距离

  • 空间的层次

层次和距离是空间数据特有的属性之一。


时间方面有3个属性

  • 临近性,比如相邻两个时间段的人流量变化是平缓的。

  • 周期性,比如今天早上八点和昨天八点的交通量很像,但是早上八点的交通流量和中午的交通流量可能很不像,这就是周期性。

  • 趋势性,数据的周期并不是固定不变的,每一天不是严格重复性变化,而是有趋势性的上扬和下降。比如天气越来越暖和,大家上班的时间就越来越早,那么早高峰的时间就会越来越早,所以不是严格的周期性问题,而是有趋势性的上扬的问题。


时间的3个特性, 特别是周期性和趋势性,在视频和语音里边是非常不明显的,甚至是没有的。


为什么时空数据可以和深度学习很好的结合

深度学习能够给时空数据带来什么

  • 深度学习可以很好的编译时空数据的属性

  • 可以用深度学习融合多个不同领域的时空数据


时空数据可以给深度学习带来什么

  • 大量且多样的数据在时空数据里有大量的数据和异构多样性的数据,如果一个领域里数据不够大,那么深度学习很难发挥作用,医疗大数据本身非常少,很难用到深度学习,而城市里边的数据,比如交通,气象,数据量大,种类多,异构,多源,这个很重要。

  • 时空数据在很好的计算平台里已经整理好了。视频数据虽然很多,但是很难有一家机构能够把全国的视频数据都存在一起,但是已经有好几家公司可以把全国的交通数据都存在一个云平台上面,这就给深度学习提供了一个很好的计算环境和基础设施。

  • 应用方案的需求。我们的应用需要像深度学习这样在线计算比较快的方法。比如要对整个城市的每条路都有进行预测,规模大,并且在几秒钟中时间内返回结果,这种大尺度,高实施性的应用正好是深度学习所需要的场景,而且这种场景是传统的机器学习不能做的。

下面看一个简单的例子,深圳市出租车的GPS的轨迹数据

具体讲的话,我们可以用卷积神经网络来模拟区域之间的相关性。

进一步看,如果有多个城市数据

可以把不同的数据进行融合,最后做一个任务,比用单一数据会更好。这就是强调的为什么需要融合。


下面看看时空数据的数据量有多大,比如刚刚的例子,深圳市的出租车,公交车和卡车的数据,假设以一分钟一帧来作为一个图像数据,只考虑一个城市一年的数据的话,一个城市3个数据9tb,而120个城市是1pb。这些数据比图像数据要大很多,这只是三个小数据,而通常我们用的是七八种数据,数据量惊人大,所以说深度学习有他适合的地方。 

深度学习和时空数据结合有什么难点
  • 时空数据怎么变成深度学习模型能够接受的输入格式。

  • 怎么能在编码单一时空数据的时候使得网络结构能够体现他的时间和空间属性。

  • 在融合的时候,怎么设计DNN的网络结构能够使得融合有效。

下面看下具体应用。我们希望预测在一个城市里每一平方公里未来有多少人进和出,即人流量预测。

比如上海外滩踩踏事件,过多的人流涌入造成了严重的公共安全事故,如果提前知道未来会有多少人进出,什么时间达到高峰,那么政府就可以提前进行限流,限行,管控。再例如北京是可以利用这个方法预测每个地铁的未来的进站出站人数,这个关乎到地铁的运力和调度问题,也和安全有关。

这个应用已经落地应用到贵阳。

用出租车的轨迹,把城市分成一公里的格子,预测每个格子内部有多少出租车的进和出,可以用这个数据验证模型的有效性。这个模型是通用的,可以换成手机信号、摩拜单车数据,滴滴打车数据、饿了么数据等,就可以预测这个地方有多少人拿着手机进出,多少人骑车、还车,有多少出租车会进来,多少人点餐等。这个模型不仅可以用在城市安全方面,还可以用到物流行业。

人流量预测跟很多因素有关,非常的困难。人流量预测的难点主要在以下几个方面:

下面看看具体操作

首先把城市划分成一公里乘以一公里的格子,再把过去一个小时收到的车的轨迹信息投影到这个区域里面,再去数每个格子里边有多少人进多少人出,这样每个格子就有一个二元组,进和出的人数,就像每个图片的每个像素都有RGB3个元素。如果有多个小时的数据,那就变成了时间序列,类似下图的视频流,再结合对应时间下面的天气等元素 ,这就构成了输入数据。这就是数据转换的问题,数据转移把问题变得更简单,又适合深度学习的输入模型,并且保留了时空信息。


用这些数据怎么做深度学习呢

首先把最近几帧的数据放到时空残差网络的模型中,把最近时间的数据输入右侧的模型,模拟相邻时间区间的交通流量变化,是个平缓的过程;对应时间的昨天、前天的数据放到中间的模型,模拟周期性;把过期一周或一个月的数据放到左侧的模型,模拟趋势性;三个模型都是残差网络结构,然后进行融合。


这三个网络的输出结果并不是同等重要,根据具体应用侧重不同。除此以外,还要与外部因素融合,像天气、事件等因素可能影响的范围更广,是全局的。

以上是捕捉时间的三个维度,临近性,周期性,趋势性。那么空间怎么捕捉呢。

通过卷积操作,可以捕捉空间的相关性,通过一次卷积可以捕捉你附近的区域与你所在区域的人流相关性。但人流不光受到周边的影响,还受很远的地方的影响,所以要通过多层卷积才能把更远的地方的信息卷进来,但是层级比较深的时候就会出现训练困难,梯度下降的问题。因此,这里引入了深度残差网络来解决这个问题。

为什么RNN/LSTM 不能解决这个问题,比如,如果用LSTM,则这个模型会变得非常复杂,很难训练。并且LSTM并没有考虑空间相关性,CNN也不能抓住很远距离的空间相关性。

WaveNet在语音序列里取得了不错的效果,但丢掉了空间属性。如果WaveNet和CNN的方法结合模拟时空数据,也是一种思路,大家有兴趣可以尝试。

回到之前讲到的模型,这是一个集成预测,一帧把未来所有格子有多少人进出一次性全部预测出来,抓住了时间空间的特性,也抓住了外部的影响。

时间临近性、周期性、趋势性的可视化

从下图可以看出,

  • 临近性可视化:四环主路上,时间临界性的重要程度不如周期性和趋势性明显;

  • 周期性可视化:朝阳公园的周期性很强,周末或者晚上去的多,所以周期明显;医院门口的周期性很不明显;

  • 趋势性可视化:中关村的趋势性不明显;北京动物园的趋势性明显,比如天气暖和了动物园的人就会越来越多。


以上可视化结果告诉大家,融合的权重是不一样的。

以下是这几个方法比较的结果,对于三个时间特性以及外部因素的比较,并在两个数据上行进行了验证,北京的出租车和纽约的共享单车数据。

以上预测只是对这个地方进多少人,出多少人,并不知道这些人从哪里来,未来会去哪里。如果想进一步预测这些人来自哪里,将要去哪,则可以提前对人流进行调度。即下图中格子和格子之前的人流转移。

时空网络跟其他网络有什么不一样的地方呢
  • 有空间节点,节点上有坐标

  • 节点之间有距离,而且节点会随着时间的变化而变化


简单静态的时空网络就是路网。每个点都是固定的。

网络结构是可以变化的,比如传感器网,节点不变,边是变化的。车联网以及战场上士兵跟坦克的网络,节点在变,节点之间的通信也在变。


如果能预测网络与网络之间的传输,很多事情都可以解决,但是这个问题很难,复杂度更高。预测格子之间的转移复杂度高,且数据非常稀疏。

下面看看如何用时空网路解决数据转移预测的问题。



把一个区域的进出预测和区域之间的转移预测同时来做,这两者互相帮助,这就是multitask的思想,两个任务同时做。所以神经网络、深度学习不能一条路走到黑,应该与传统机器学习的方法进行结合。

同时预测进出和转移,在几个数据方面都比用单一的一个方法结果要好。



深度学习在人流中的预测应用很广,下面看看深度学习在AlphaGo的领域有什么应用以及带来的启示。

围棋也是一种时空数据,每个盘面都有19*19的节点,节点就是坐标,每个盘面就是时区里的一帧。

围棋的规则:围棋是19*19的棋盘,黑白相互下棋,以围的面积多少定胜负。

其中有几个重要概念:

  • 气:如果一个棋子在四个方向都没有棋的话,叫四气,堵着一个方向少一气,全部被堵住之后即被吃掉,就要被提子,提子之后的地方禁手;

  • 眼:由多个棋子围住的一个或两个以上的空交叉点;

  • 活棋:至少有两个眼以上的棋叫活棋;

  • 死棋:两个眼以下的棋为死棋,有一种特殊情况叫“双活”,即双方互围的棋子均无两个眼,双方都算活棋。

围棋的难点:

  • 变化无穷:19*19的棋盘,搜索空间非常大;

  • 价值判断:同样的盘面给不同的棋手判断会有不同的结果。

而AlphaGo就是突破这两点。

围棋搜索常用的方法:蒙特卡罗树搜索

AIphaGo的核心思想由三部分组成:深度学习+增强学习+蒙特卡罗树搜索

一张图看懂AIphaGo原理:


以下描述的是神经网络的一些进展,这些是算法上的进步。深度学习和深度神经网络的关系。

未来深度学习在什么地方会有巨大的突破?就是物流。有些方面怎么做都超不过人,比如自然语言,只能无限接近人,而不能超过人。而物流可以超过人,并且有很大的需求,不仅是京东,顺丰,还有饿了么、摩拜单车等,都要依靠物流的调度。谁把物流做好,就可以在行业里占有巨大优势。


总结:
  • 时空数据是非常特别的,因为它具有空间相关性,时间临近性、周期性、趋势性。

  • 应用人流的预测,进出的预测,人流转移的预测,物流的应用,AlphaGo的应用。

  • 未来深度学习可以和其他的机器学习进行组合,与DB结合,时空导向性明确。



谢谢大家!


本期ADL讲者视频已上传至CCF官网,CCF会员点击【阅读原文】登陆后可免费观看;非CCF会员可访问  搜索“CCF ADL",付费观看。



附:CCF ADL活动预告

CCFADL79《存储器件与系统前沿

主题存储器件与系统前沿

时间地点:2017年6月14-16日  北京


学术主任:舒继武 清华大学 、华宇 华中科技大学


特邀讲者:钱学海 南加州大学

演讲题目Accelerating Neural Network and Graph Processing with Memory-Centric Architecture


特邀讲者:华宇 华中科技大学

演讲题目高效检索的智能存储系统


特邀讲者:李柏晴 香港中文大学

演讲题目On the Performance and Dependability of Large-Scale SSD Storage Systems


特邀讲者:杨庆 罗德岛大学

演讲题目Introducing DPU - Data-storage Processing Unit –Placing Intelligence in Storage


特邀讲者:谢源 加州大学圣芭芭拉分校

演讲题目Memory-Centric Architectures to Close the Gap Between Computing and Memory/Storage


特邀讲者:江泓 德州大学阿灵顿分校

演讲题目Data Reduction in The Era of Big Data: Challenges and Opportunities


特邀讲者:李涛 佛罗里达大学

演讲题目构建面向新技术和新兴应用的大数据时代下新型非易失性存储系统


特邀讲者:陈海波 上海交通大学

演讲题目Scalable In-memory Computing: A Perspective from Systems Software


特邀讲者:舒继武 清华大学

演讲题目基于非易失存储器的存储系统软件层优化


报名二维码

【推荐阅读】

更多CCF精彩报道请关注微信公众号


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存