《Flow Prediction in Spatio-Temporal Networks Based on Multitask Deep Learning》,发表于IEEE TKDE-2020期刊上,作者为京东智能城市研究院郑宇老师的团队。
论文下载地址:https://ieeexplore.ieee.org/document/8606218
时空网络中的交通流量包括一个节点的进出流量和不同节点间的转移流量,而流量的预测受到了多种复杂因素的影响,如不同地点间的空间相关性,不同时间间隔的时间相关性,亦或外部因素如事件和天气等。此外,节点的进出流量和不同节点的转移流量之间也会相互影响。这篇论文提出了一个基于多任务的深度学习框架,并设计了两个模型分别预测节点和边的流量,通过对这两个模型隐藏状态的拼接来进行连接,并通过一个门控融合机制来集成外部因素。
时空网络在现实世界中广泛存在,如图1所示,该网络中的流可以分为节点流和边缘流两种类型,节点流表示了节点处的出流和入流,边缘流体现了节点之间流量的转移。然而由于一些问题的存在,使得同时预测节点流和边缘流存在了一定的挑战性:
图1 简单时空网络中的流量
作者根据所提出的挑战,设计了一个基于多任务的深度学习框架(MDL),该论文的贡献主要有:
1、节点
如图2所示将地图按照经纬度划分成网格状,每个格子代表一个节点,,每一个时间地理位置用表示,其中t表示时间片。人的移动轨迹可以表示为一个按时间顺序排列的空间轨迹,起始点s和终点e分别为,使用P表示所有的(s,e)对。
图2 空间节点和流矩阵
2、节点的出入流量
对于每一个时间片,定义一个的流矩阵X,其中第0维代表出流量,第1维代表入流量。
3、边的转移流量
同样对于每一个时间片,定义一个的转移流矩阵S,该矩阵可以表示为
论文中所用到的所有字母和符号所代表的意思如图3所示:
图3 符号含义
整篇论文所提出的模型框架如图4所示,模型整体非常对称,它大致可以分为四个部分,数据转换(Data Converting),节点流建模和边缘流建模,将二者的预测结果建模建立相关性,以及融合外部影响因素。
图4 MDL模型结构
1、数据转换
为了将深度神经网络应用于时变图,我们需要先将t时刻的每个图转换成张量形式。如图5的例子所示,该区域包含了四个节点,它们之间的流量组成了一个有向图,将其进行展开能够得到图5(b)所示的样子,根据图b中各个节点的流入流出情况可以画出图5(c)中所示的矩阵,将其看成一个8维的通道后,如r1的向量为[0,2,0,1,0,0,3,0],r2的向量为[0,0,0,2,2,0,0,1],将这些各个节点的向量重新组合成矩阵后就得到如图5(d)所示的样子。
图5 时变图转换成张量
2、边缘流
由于节点数为N,当N的值很大时,每个节点的边缘流将可能有2N种可能性,因此将会变得非常稀疏。为了解决该问题,作者使用了空间嵌入的方法来处理,简单来说,作者在这里对其进行了降维,即将2N维的节点映射到了k维空间。
其中矩阵M为降维前的矩阵,矩阵Z为降维后得到的矩阵,W和b为可学习参数,在所有节点中共享。
由于矩阵M由所有节点组成的有向图转换而来,因此包含了每个节点与其他节点的交互信息,即最后得到的矩阵Z也获得了空间相关性。而对于时间相关性而言,作者将其分成了closeness, period和trend这三种类型,它们分别代表了一天内的不同时间,一周内不同天的同一时间,相同星期数的同一时间。时间相关性可以由以下式子表示:
其中p和q分别是period跨度和trend跨度,是这三个部分各自的长度。
在这里,作者提出使用全卷积网络进行处理,因此在整个架构中,作者设计了一个3S-FCN模块,每一个FCN捕获一种时间关系,它由多个卷积层组成,每一层包含三个部分即批归一化(BN)、激活函数(RELU)和卷积(Conv),其中卷积负责捕获空间相关性,而随着卷积层数目的增加,可捕获的依赖关系会越来越大。同时由于随着层数的增加,神经网络的训练会变得越来越复杂,因此使用了残差连接来进行优化。
图6 FCN模块
三个FCN模块的输出结果最后被进行融合得到该部分的最终输出:
3、节点流
与边缘流类似,节点流也是通过3个FCN模块进行训练,而由于节点流只有2维,因此不需要进行降维操作。
4、合并
到这一步时,已经获得了边缘流和节点流的初步预测情况,但是考虑到这两者是相互联系的,因此需要将其进行合并,作者认为合并方法有相加和拼接这两种,而作者在论文中选择了后一种方式,即将两个输出结果进行拼接。
图7 合并过程
其中分别为节点流和边缘流的通道数。合并完成后,分别对节点和边再进行一次卷积,将其映射到不同大小的通道进行输出。
5、外部因素
每一个区域都可能有自己相对应的外部因素,如天气、突发事件等,这些外部因素可能会对流量造成较大影响。因此,作者在这里使用了一个门控机制,对于边而言,门控值Fm的计算方式可以表示为:
与前面合并后重新映射得到的边缘流的输出合并后得到最终的边缘流预测结果:
同理,节点流最终的预测结果可以表示为:
作者结合了经典的多任务学习工作,针对节点和边两种情况提出了一种新的多任务框架,同时预测这两个的结果,此外除了时空模型传统的空间相关性和时间相关性,作者还使用门控机制将外部因素结合进来,使得考虑地更加全面,提高了预测的准确性。最后作者在两个真实数据集上对MDL框架进行了测试和评估,实验结果证明该框架有着明显好于多种基本方法的性能。