Deep Spatio-Temporal Residual Networks for Citywide Crowd Flows Prediction

AAAI 2017, ST-ResNet,网格流量预测,用三个相同结构的残差卷积神经网络对近邻时间、周期、趋势(远期)分别建模。与 RNN 相比,RNN 无法处理序列长度过大的序列。三组件的输出结果进行集成,然后和外部因素集成,得到预测结果。原文地址:Deep Spatio-Temporal Residual Networks for Citywide Crowd Flows Prediction

Read More

Spatiotemporal Multi-Graph Convolution Network for Ride-hailing Demand Forecasting

AAAI 2019,滴滴的网约车需求预测,5个点预测1个点。空间依赖建模上:以图的形式表示数据,从空间地理关系、区域功能相似度、区域交通连通性三个角度构造了三个不同的图,提出了多图卷积,分别用 k 阶 ChebNet 对每个图做图卷积,然后将多个图的卷积结果进行聚合(sum, average 等)成一个图;时间依赖建模上:提出了融合背景信息的 Contextual Gated RNN (CGRNN),用 ChebNet 对每个结点卷积后,得到他们的邻居表示,即每个结点的背景信息表示,与原结点特征拼接,用一个两层全连接神经网络计算出 T 个权重,将权重乘到历史 T 个时刻的图上,对历史值进行缩放,然后用一个共享的 RNN,针对每个结点形成的长度为 T 的时间序列建模,得到每个结点新的时间表示。最后预测每个点的网约车需求。原文地址:Spatiotemporal Multi-Graph Convolution Network for Ride-hailing Demand Forecasting

Read More

Multistep Speed Prediction on Traffic Networks: A Graph Convolutional Sequence-to-Sequence Learning Approach with Attention Mechanism

AGC-Seq2Seq,投的是TRC。清华大学和高德地图合作的一项研究。作者采用了 GCN + Seq2Seq + Attention 的混合模型,将路网中的边构建成图中的结点,在 GCN 上做了改进,将邻接矩阵扩展到 k 阶并与一个权重矩阵相乘,类似 HA-GCN(2016),实现了邻居信息聚合时权重的自由调整,可以处理有向图。时间关系上使用 Seq2Seq + Attention 建模,完成了北京市二环线的多步的车速预测,对比的方法中没有近几年出现的时空预测模型。

Read More

Deeper Insights into Graph Convolutional Networks for Semi-Supervised Learning

AAAI 2018。这篇论文很有趣,讲的是 GCN 堆得过多了之后,效果会变差的问题。作者分析了一下为什么会变差,主要是因为 GCN 的本质实际上是对每个结点的邻居特征和自身特征做线性组合,权重和邻接矩阵相关,所以对于顶点分类问题来说,如果堆得层数多了,就会让一个结点的特征聚合越来越多邻居的特征,让大家都变得相似,从而使得类间的相似度增大,自然分类效果就差了。作者提出了两个方法解决这个问题,算训练上的 trick 吧。原文链接:Deeper Insights into Graph Convolutional Networks for Semi-Supervised Learning

Read More

Convolutional LSTM Network: A Machine Learning Approach for Precipitation Nowcasting

NIPS 2015. 将 FC-LSTM 中的全连接换成了卷积,也就是将普通的权重与矩阵相乘,换成了卷积核对输入和隐藏状态的卷积,为了能捕获空间信息,将输入变成了4维的矩阵,后两维表示空间信息。两个数据集:Moving-MNIST 和 雷达云图数据集。原文链接:Convolutional LSTM Network: A Machine Learning Approach for Precipitation Nowcasting

Read More

Large-Scale Learnable Graph Convolutional Networks

KDD 2018.将图结构数据变换到网格状数据中,使用传统的一维卷积进行卷积。变换的方式是:针对每个特征的大小,对邻居结点进行排序,取这个特征前k大的数作为它邻居这列特征的k个值。如果邻居不够,那就用0来补。这样就能得到该顶点的邻居信息,组成一个矩阵,然后使用一维卷积。但是作者没说为什么非要取最大的k个数。原文链接:Large-Scale Learnable Graph Convolutional Networks

Read More