| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 论文笔记:Stochastic Weight Completion for Road Networks using Graph Convolutional Networks -> 正文阅读 |
|
[人工智能]论文笔记:Stochastic Weight Completion for Road Networks using Graph Convolutional Networks |
ICDE2019 0 摘要
?1 introduction
? ? ? ? 然而,这样的情况面临数据稀疏性问题(data sparseness problem)。因为交通数据可能并不能覆盖到每一条边上,同时测出来的数据在一些时候可能会出错。
2 相关工作2.1 道路网络中的数据稀缺性问题????????尽管交通预测问题已被广泛研究,但只有少数研究考虑了道路网络中的数据稀疏问题。 ????????最近,一种潜在空间模型 (LSM)被提出, 来估计没有环路检测数据的边的权重。在这种模型框架下,该研究使用非负矩阵分解作为编码器来学习潜在空间特征,这有助于在没有数据的情况下估计边的权重。 LSM 是目前最先进的方法。 ????????所有现有的解决数据稀疏问题的研究都只考虑确定性权重,这些方法都不能以直接的方式扩展到随机权重的计算上。 ????????此外,它们都采用线性模型来处理边缘权重之间的相关性。 然而,这种相关性可能是高度非线性的 。 ????????我们提出了一个图卷积权重完成框架,该框架在考虑非线性权重相关性的同时,可以对边的随机权重进行一定的注释。 2.2 交通领域的深度学习问题????????基于交通传感器数据,带有自动编码器的 RNN 被用来进行交通预测。 ????????然而,上面这种方法忽略了传感器之间的空间相关性。为了解决这个问题,另一种方法使用扩散卷积网络,它能够对空间相关性进行建模,与 RNN 一起,来进行交通流量预测 。 ????????经典的卷积网络也可以对交通传感器之间的相关性进行建模。但是,这些方法仅限于预测确定性交通流量值,不支持随机值。此外,这些方法假设有足够的交通数据,可以覆盖道路网络中的所有边,而我们的模型则需要考虑数据稀疏的情况。最 ????????近的一项研究侧重于使用多任务学习(multi-task)对起点-目的地对的通行时间进行估计,而不是对交通路段的通行时间进行估计。 ????????多任务学习也用于区分来自不同类型的驾驶员的轨迹[22]。 ????????据我们所知,本文提出的框架是第一个用于道路网络图中随机权重补全的深度学习框架。 3 问题设定3.1 路网? ? ? ? 路网经常被表示成H=(V,E)的形式,其中集合V表示了路口点,表示了子路段。 ? ? ? ? 我们把路网建模成一个图G=(E,A),其中E是边集,A是一个|E|×|E|的邻接矩阵(表示点i和点j之间有相连边,表示点i和点j之间没有相连边) ? ? ? ? ?下图表示了路网,路网对应的图,以及图的邻接矩阵 3.2 随机权重? ? ? ? 为了捕获交通中的时间相关性,我们将一天划分成多个时间片段(eg,将一天分为96个15分钟为间隔的时间片段)。 ? ? ? ? 基于这个,我们可以引入一个随机权重方程其中TI是整个时间域,E是边集合,D是所有可能的速度分布的集合。 ? ? ? ? 给定一条特定的边,以及时间间隔函数表示在特定的时间间隔TI内,边ei的速度分布 ?????????我们首先需要指定我们需要的时间段 ? ? ? ? 然后我们把边集分成和?,这两个集合分别代表了有交通数据和没有交通数据的边集。其中 ? ? ? 以图1为例,??Tj=[8:15,8:30] ? ? ? ?对于不同的点,直方图的每个柱体代表的间隔是一样的,因此,我们可以用落在不同直方图柱体的概率来表示这条边在特定时间的速度分布。 ? ? ? ? 假设我们有n条边,直方图一共有m个柱体,那么在时间片段Tj,所有边的随机权重可以被表示成一个n×m的矩阵。其中每一行代表了一条边的随机权重(如果, 那么wi为空) 3.3 问题格式化? ? ? ? 给定一条中某一个时间片段Tj,给定一个初始化的随机权重矩阵W,随机权重补全任务是要把W中的空行填充,赋上我们预测的随机权重,使得没有空行 ? ? ? ? ?这相当于对每一个,初始化 ? ? ? ? 为了方便之后的表述,我们这里形式化一些符号:
?3.4 方法概述? ? ? ? 我们提出了一种基本的模型和一种提高版的模型。 ? ? ? ? 基本的模型将一个初始化的、只有一部分行有值的随机权重矩阵W,和边邻接矩阵A作为输入。基本模型的目的是从W和A中学习图卷积核,然后生成一个完整的随机权重矩阵 ? ? ? ? 然而,基本模型并没有充分利用很重要的文本信息(contextual information)【比如,不同的时间片段、今天是一个礼拜的星期几)。为了更好地利用这种在基本模型中缺省的信息,我们提出了提高版的模型。???????? ? ? ? ? 这个模型不仅把W和A作为输入,还把一些文本信息放入输入中,使用贝叶斯推断模型来建立文本信息和基本模型输出之间的关系。这种方式可以提高输出的?随机权重矩阵的预测精准度。 ?4 基本模型4.1 模型概述?????????不同边之间的随机权重可以共享相关的特征。为了建模这一相关特征,我们将随机权重矩阵W转换成隐藏向量。基于C,我们建立一个没有空行的新随机权重矩阵 ? ? ? ? ?整个过程可以看作一个自动编码器,我们先把不完整的随机权重矩阵编码成C,然后将C解码成完整的权重编码 ? ? ? ? ?上图展示了GCWC的完整架构 ? ? ? ? 首先,我们把随机权重矩阵W以及邻接矩阵A作为输入,喂入GCWC中 ? ? ? ? 然后,我们使用卷积和最大池化将W编码成一组特征是C的向量 ? ? ? ? 之后,我们分别通过全连接层和softmax层(最终输出层)编码C,并得到最终估计得到的?随机权重矩阵?(类似于自动编码器中的解码操作) ? ? ? ? 在训练阶段,W也会在反向传播阶段被用作标签(label)的来源。我们可以通过最小化损失函数的方式来学习框架的参数,其中损失函数被定义为:我们估计的随机权重矩阵和实际的随机权重矩阵之间(有交通数值的初始化随机权重)的KL散度 4.2 卷积层? ? ? ? 在传统的CNN中,基于“输入矩阵相邻的元素共享相似的特征”这一假设,二维的卷积核被CNN模型使用。 ? ? ? ? 但在我们的设置中,作为输入的随机权重矩阵可能不能很好地满足这一假设(比如还是图1中,e5和e6在随机权重矩阵上是相连的,但是在交通图上是不相连的)。 ? ? ? ? 因此,我们使用了GCN来将路网的拓扑结构考虑进我们的模型中。这里我们使用简化的切比雪夫GNN(Simplified ChebNet) 4.2.1 ChebNet? ? ? ? 我们记拉普拉斯矩阵为L=D-A,标准化拉普拉斯矩阵为,其中是L最大的特征值 ? ? ? ? 在卷积层中,我们通过使用标准化拉普拉斯矩阵,把图卷积核使用到输入的随机权重矩阵W上。 ? ? ? ? W矩阵的列向量表示了所有节点在第j个数据区间的权重(概率)大小,(j∈[1,m]) ? ? ? ? 基于某一个和?,我们可以生成一个矩阵,其中。这里表示x和第i阶切比雪夫多项式卷积核的卷积结果(即),k是一个超参数,表示切比雪夫多项式进行到几阶。?
? ? ? ? ?详细地来说,首先?然后()? 然后 ? ? ? ? 最后我们定义了一个过滤器(维度的矩阵),来将各个xi加权求和 ? ? ? ? ? 这时候
? ? ? ? ?给定一个作为输入的随机权重矩阵W,对于W中的每一个列向量(j∈[1,m]),我们将f个过滤器应用到他们的切比雪夫简化GNN中。 ? ? ? ? 于是,对每一个,我们得到f个相应的H:‘ ? ? ? ? ????????然后,对于每一个,(l∈[1,f]),我们将所有列向量求得的H(卷积结果)求和(求和结果Ql是一个向量) ???????? ? ? ? ? 接着,我们把所有的Q叠加起来,得到一个矩阵这个Q就是最终从卷积层得到的结果。(f个过滤器代表了f个不同特征) 4.3 池化层? ? ? ? 在卷积层中,有些边可能仍然只有零值。因此我们进一步通过最大池化操作(max pooling)压缩卷积结果 ? ? ? ? 我们使用一个基于图的多层池化算法,使用图的拓扑结构和随机权重分布,来识别边之间的集簇关系。 ???????? ????????比如,在图3中,e1,e2,e4,e5汇成一个集簇,e3,e6汇成另外的一个集簇 ? ? ? ? 基于这个分集簇的方法,每一个卷积矩阵Ql被进一步压缩成更紧缩的矩阵Cl(l∈[1,f]),现在,我们把这一组Ci的值看成隐空间上的特征集 4.4 输出层? ????????经过池化层之后,我们获得了可以捕获输入矩阵W特征的压缩矩阵C。于是,我们可以将压缩矩阵解码成一个新的随机权重矩阵 ? ? ? ? 我们首先使用一个全连接层来获得一个矩阵Z,这个矩阵代表了从集合C中解码得到的所有边的随机权重(其中n是边的数量,?,m是速度区间的数量)? 4.4.1 softmax层? ? ? ? ?但是最终的输出需要满足两个条件 1,对于每一个中的(i∈[1,n],j∈[1,m]),它的取值都必须在[0,1]之间 2, ? ? ? ? 于是,我们对每一个?使用softmax: ? 最终,我们有: 4.5 损失函数? ? ? ? GCWC的损失函数使用了KL散度衡量输入随机权重矩阵和预测随机权重矩阵之间的差距: ? ? ? ? 我们一共有n条边,但是模型重点是有观测数据的那一些边。因此我们在损失函数那里设置了一个权重函数I,当第i条边有观测交通数据的时候,否则 ? ? ? ? 这里我们使用ε是为了防止log的时候出现0 ?5 带文本的GCWC? ? ? ? 当我们考虑某一特定时间片段的随机权重矩阵W的时候,我们可以同时考虑一组文本信息。 ? ? ? ? 在这里,我们考虑三种文本信息:时间片段,周中星期几以及是否有观测值 ? ? ? ? :我们使用一个one-hot向量来表示一天中特定的时间片段(比如,如果我们要描述[0:15,0:30],那么就是第二个维度为1,其他的都是0) ????????:我们使用一个7位的one-hot向量来表示这是星期几 ????????:表示在当前时间片段内,哪些边有观测数值(是一个n维向量,哪一条边有值,那么对应的维度为1,否则为0) ?下图是带文本的GCWC的流程图: ? ?????????我们这里使用P(Z)表示基本GCWC的输出,其中P()表示softmax操作 ????????文本嵌入模块首先把、、表示成相同维度的向量。然后和GCWC的输出P(Z)一起,分别求得有了各个文本之后,有预测的随机权重矩阵Z的条件概率、、 ? ? ? ? 贝叶斯推断模块将P(Z)、、、作为输入,他求得有了所有文本信息之后,有Z的概率 ?5.1 文本嵌入模块? ? ? ? 这里的文本嵌入模块具有一定的普适性——也就是说,不止我们之前说的三种文本信息适用,之后如果我们还有其他的文本信息(天气情况,交通状况,等等),一样可以使用这个文本嵌入模块。 ? ? ? ? 鉴于不同的?、、?,我们使用了两种不同的模型(嵌入模型和全连接模型) 5.1.1 嵌入层(embedding layer)? ? ? ? 对于、,我们使用了嵌入层,将one-hot 稀疏编码 表示成更 紧致的向量。 ? ? ? ? ? 对于某一个one-hot 向量,嵌入层的作用是将?表示成(其中?) ? ? ? ? 然后,我们对每一个学到的使用softmax函数,得到 ? ? ? ? 相似地,我们可以得到 5.1.2 全连接层????????中可能不止一个1.而在一些embedding方法中,输入的向量必须是one-hot 向量。于是,我们引入了一种全连接层来将嵌入到更低维的空间中(其中,) ? ? ? ? 用公式表示,我们有? ???????? ? ? ? ? ? 这里是权重矩阵,是偏差向量,σ是softmax函数 ?5.2 计算条件概率????????我们使用了条件概率卷积神经网络(conditional probability convolutional neural network CP-CNN)来捕获边j的随机权重zj和不同类型的文本之间的关系 ? ? ? ? ? 为了简化说明,我们用Xi表示文本。(Xi可以是?、、?)? ? ? ? ? 如上图5(a)所述,我们将和相乘。是之前用嵌入层或者全连接层得到的文本表示。?是前面GCWC得到的某一条特定的边对应的随机权重。 ? ? ? ? 作为结果,我们得到了 一个矩阵,该矩阵将第j条边的随机权重和不同文本信息联系了起来。 ? ? ? ? 然后我们使用经典的卷积过滤来捕获随机权重在各个文本下的条件概率。 ? ? ? ? 还是以图1为例,我们有3段速度区间[5,10),[10,15),[15,20) 【注:原文是[0,20),[20,40),[40,60),感觉是不是原文写错了】。如果我们使用2*2的卷积核在图5(b)的最左边阴影区间内,我们将可以捕获两个速度区间和两个文本条目之间的关系(比如,速度?[5,10),[10,15)和时间片段[8:00,8:15],[8:15,8:30]) ? ? ? ? 如图5(b)所示,我们使用f'个卷积核,得到了f’个矩阵,每个矩阵的大小为 ? ? ? ? 接着,我们使用一个大小为2的最大池化层来学习更多的关联性?。通过池化层之后,我们将获得大小为的矩阵 ? ? ? ? 然后我们使用全连接层将f'个的矩阵拼接成一个的向量,这个向量便代表了j边的随机权重在已知文本Xi下的条件概率。 ? ? ? ? 以此类推,我们可以对所有的n条边进行以上操作,得到?即当我们得到文本信息Xi时候的随机权重矩阵 ? ?5.3 贝叶斯推断? ? ? ? 我们使用贝叶斯推断模型来获得一个已知所有类型的文本信息??、、?的情况下,随机权重矩阵Z的条件概率 ? ? ? ? 一般地,假设我们有N种类型的文本信息,我们通过上一步获得了Z在各个条件下分别的条件概率。我们现在要做的是求得,作为我们最终的随机权重矩阵。 ? ? ? ?在这里,我们假设不同的文本信息之间是独立的,即,这个也是很直观的,类似于一天中的时间、一周中的星期几、那几个路段有数据等,都是独立的,没有很明显的相关性。 ? ? ? ? 于是,我们有:
?因此,我们可以计算我们的= ? 然后,我们需要对(10)的结果进行正则化,使得 ?1)对于每一个 2) ?5.4 损失函数这里的损失函数和之前GCWC的一致,我就把之间的内容贴过来了
?6 实验部分6.1 数据集? ? ? ? 我们使用两个交通的数据集。同时,我们将速度片段从0到40m/s八等分。 6.1.1 HW(highway tollgate network)? ? ? ? 这个数据集有24个子路段,因此我们的随机权重矩阵为: 6.1.2 CI (city road network)? ? ? ? 这个数据集是从14864辆成都的出租车上获得的。我们使用其中的172个子路段,因此这个数据集的随机权重矩阵为 6.1.3 ground truth 和输入数据? ? ? ? 给定了时间片段之后,我们就可以构建ground truth的随机权重矩阵,我们只建立至少有5段观测记录的边。 ? ? ? ? 然后我们从n条边中随机选择?条边(rm是一个移除比例,在这里我们设置为0.5,0.6,0.7,0.8),将这些边的随机权重设置为0。于是我们得到了我们的输入W。将W作为输入,我们就可以用我们之前介绍的模型来估计一个随机权重矩阵。我们可以通过比较?和之间的差距来判断我们模型的精准程度。 ? ? ? ? ?需要注意的是,可能本来就有空行(鉴于某一些边可能本来就没有交通观测值,或者交通观测值小于5个,我们不初始化这条边)。尽管如此,我们还是需要将一些边的随机权重抹除(这样才能够训练,知道我们参数的选择正确与否) ? ? ? ? 对于数据集,我们将数据集分成五份,使用5折交叉验证(5-cross validation)来进行训练。 ?6.2 模型的功能? ? ? ? 我们提出的两个模型,GCWC和A-GCWC都是具有一定普适性的。我们把模型的设定稍作修改,便可以得到不同的功能。 ? ? ? ? 这里,我们考虑三种功能:估计/预测随机权重矩阵(以直方图的形式),估计平均速度(以确定值的形式)。这里我们用来表示时间片段T下的权重矩阵。 ?6.2.1 估计 estimation? ? ? ? 给定Ti时刻的输入随机权重矩阵(其中有一些边没有权重),我们去预测 ? ? ? ? 在训练的时候,对于训练集?(不同时刻的输入随机权重矩阵),我们使用自己作为标签,来训练GCWC和A-GCWC。? ? ? ? ? 在测试的时候,给定输入随机权重矩阵,估计的随机权重矩阵会和ground truth随机权重矩阵相比较 6.2.2 预测prediction? ? ? ? ?给定Ti时刻的输入随机权重矩阵(其中有一些边没有权重),我们去预测 ?????????训练的时候,对于训练集?(不同时刻的输入随机权重矩阵),我们使用作为标签,来训练GCWC和A-GCWC。 ? ? ? ? 与此同时,我们要确认和有相同的移除比例rm ? ? ? ? 在测试的时候,给定输入随即权重,预测的随机权重矩阵会和ground truth 随机权重矩阵相比较 表2说明了estimation和prediction之间的异同 ?6.2.3 平均 average? ? ? ? 这个的配置和估计estimation类似,给定输入矩阵,我们希望在时间片段Tj时预估每一条边的确定平均速度 ? ? ? ? 之后这一部分我持保留意见,原文的意思是把4.4 公式(2)中的softmax替换成sigmoid;,就能得到一个,但是sigmoid如果参数是一个向量的话,结果应该还是一个向量才对,维度应该不会变成1维的(softmax然后加权求和我觉得就可以了,这个我事后看一下作者的code,想一想是不是我理解错了,这里放一个伏笔) ?6.3 模型的设定? ? ? ? 在表3中,我们展现了所有模型的超参数(注:A-GCWC的β参数,也就是各文本被压缩到的响亮的维度,统一设置为4) ? ? ? ? ?我们将为了估计和预测任务的模型记为HIST,将为了平均任务的模型记为?AVG ? ? ? ? 在表格中,#Para表示参数的总数(卷积核的参数、全连接层的参数、激活函数的偏差等),这个代表了不同神经网络的复杂度。这个数值越大,表示神经网络越复杂。通过表格中的#Para,我们可以得到结论:CNN、GCWC、A-GCWC使用的参数量差不多,也就是说,相比于传统的CNN?,我们提出的GCWC和A-GCWC模型并没有怎么增加模型的复杂度 ? ? ? ? LR表示学习率(learning rate),Decay 表示学习率损失,Regul表示 正则化系数(regularization) ? ? ? ? 我们用以下的表述来描述模型的结构: 表示卷积层有f个卷积的过滤单元,每一个filter是一个的矩阵 ?表示了一个大小和跨度都是k的池化层 表示了一个有k个隐藏单元的全连接层 ?我们分别以GCWC和A-GCWC的参数为例:
?6.5 baseline
注意:GP\RF\LSM只能预测、估计确定值。因此,我们对不同的速度片段下的随机权重,分别学习了一个回归任务。
6.6 评估方法6.6.1 估计和预测(estimation & prediction)
? ? ? ? ?我们也可以使用相似比例(FLR, fraction of likelihood ratio)来衡量预测/估计的精准程度 ? T,n,的定义和MKLR中的说法是一样的 代表了第i个时间片段中,第j条边的相似比例 ????????表示在第i个时间片段中,第j条边上ground truth的速度记录数(在一个时间片段中,可能有多条记录) ????????是第k个ground truth的速度纪录 ????????ε用来防止log里的内容是0 ????????我们给定第j条边和第i段预测片段,我们可以有预测/估计的随机矩阵以及作为参考的随机矩阵我们分别计算, 作为从这两个随机矩阵代表的分布中,观测到的概率 ? ? ? ? 如果,那么?表明我们的预测/估计模型有更大的概率得到ground truth 速度纪录,那么我们设置此时的这个,否则为0 6.6.2 平均? ? ? ? 我们使用MAPE ? ?T,n,的定义和前文中的说法是一样的 ?6.7 实验结果6.7.1 估计:MKLRMKLR越小,精度越高 ?
?6.7.2 估计:FLR? FLR越大,精度越大
6.7.3 预测:MKLR????????在数据集HW上 ,大部分方法都满足估计(6.7.1)的结论:rm增加,MKLR增加(除了GP和RF) ????????而在数据集CI上,这样的一个结论就不怎么适用了。这是因为CI数据集是一个更大的城市级别的路网,这个路网有着更多的不确定性,以及不同时间片段之间有着更少的关联性。 ? ? ? ? 然而,我们的模型GCWC和A-GCWC依旧表现最好,其中A-GCWC的表现比GCWC还要好一些 6.7.4 预测:FLR
6.7.5 平均:MAPE在这个配置中,LSM是最新的先线性方法,DR是最新的非线性方法? 我们有以下的结论:
6.8 扩展性?? ? ? ? 我们把CI路网的规模扩大10,20,30,40,50倍,使得最大的路网有172×50=8600条边。 ? ? ? ? 如果路网结构过大,以至于不能使用在一个机器内,我们可以把网络划分成子网络,并且在不同的机器内处理之,或者并行处理之,或者一个子网络处理完之后处理另外一个子网络。 ? ? ? ? 为了模拟一个非常大的路网,我们考虑如下的两个配置: ? ? ? ? 1)用GCWC和A-GCWC处理一个非常大的路网结构 ? ? ? ? 2)将路网结构划分成两个小的路网结构,然后先处理一个小路网结构,然后再处理另外一个(我们将这个配置标记为 GCWC-M2和A-GCWC-M2) ???????? ????????图6(a)显示了平均下来一个batch的训练时间(一个batch大小为20【20个输入矩阵】) ? ? ? ? 我们可以发现A-GCWC需要更多的时间(这也是很直观的,因为A-GCWC需要额外训练一个CP-CNN)。 ? ? ? ? 如果我们把一个大的网络划分成两个子网络,然后序贯第训练他们,这会需要更少的时间,但是会损失一定的精确度(因为划分的过程会破坏原始路网中一些边的邻接关系) ? ? ? ? 图6(b)展示了一个案例的测试时间 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/27 18:29:41- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |