简介
《Learning Effective Road Network Representation with Hierarchical Graph Neural Networks》 发表于 KDD 2020 会议上。
该文章提出了一种新的路网表征模型。该模型首次将多层图神经网络应用于路网表征中。其分别从 raod segments, structural regions, functional zones 三个层次对路网进行建模表征。
Motivation
本小节主要分析 HRNR 的模型提出的动机
- 路网中的各路段在交通中扮演的角色与重要性并不相同。因此,不能简单的使用 GNN 将路网中的各 node 视为一样的。而应该更深入的考虑路段在其所属交通区域(structural region)、功能区(functional zone)中的角色。
- 路网中各路段间的影响并不局限于小范围的邻居,如大城市的主干道。因此,简单的 GNN 中仅考虑邻居对当前节点的影响是不合理的。需要通过交通区域、功能区来挖掘这种长距离的影响关系。
模型架构
如前所述,整个模型由三个图神经网络组成:
- Road Segments Network: 基于 GAT 实现,用于提取路段的表征 N S N_S NS。
- Structural Regions Network: 基于 GCN 实现,用于提取交通区域的表征 N R N_R NR。
- Functional Zones Network:基于 GCN 实现,用于提取功能区域的表征 N Z N_Z NZ。
三层图神经网络通过两个映射矩阵(路段到交通区域的映射矩阵 A S R A^{SR} ASR,交通区域到功能区的映射矩阵 A R Z A^{RZ} ARZ)建立起联系。
值得注意的是,该文并未引入过多的先决知识,而是通过巧妙地设计神经网络的学习算法来让神经网络自行学习交通区域网络与功能区域网络。即,作者仅设计好了各层网络的初始状态与更新算法,并没有人为划定交通区域与功能区域。个人认为这种设计更能够发挥神经网络学习到人为难以发现的隐层表征。
模型架构如下图(图源论文):
Segment 层网络
Segment 层作为整个模型的底层,直接基于路网信息来进行构建。首先基于各路段自身的属性信息(路段编号、路段名称、路段类型等)通过简单的 Embedding 编码,得到各路段的属性表征向量 V V V。该向量将作为 Segment 层图神经网络的初始状态,即 N S 0 = V N_S^{0} = V NS0=V。
Segment 层直接使用路网的邻接矩阵作为图神经网络的邻接矩阵 A S A_S AS。
Stuctrural Region 层网络
该层网络是基于 Segments 层网络构建而来的。作者做出了两点假设:
- 一个路段仅从属于一个交通区域。
- 同一个区域内的不同路段的重要性是不一致的。
基于第一点假设,作者直接使用谱聚类算法来将各路段划分成 K R K_R KR 个交通区域,并能够得到路段到交通区域的映射矩阵 M 1 M_1 M1。
因为 M 1 M_1 M1 矩阵中对于同一个区域内的各点是一视同仁的。而考虑到第二点假设,作者便对 M 1 M_1 M1 进行了修正。作者使用 G A T ( V , A S ) GAT(V, A_S) GAT(V,AS) 来捕捉不同路段对交通区域的影响力(重要性),得到一个权重矩阵 W 1 W_1 W1。接着使用该权重矩阵点乘于