| |
|
开发:
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|的邻接矩阵( ? ? ? ? ?下图表示了路网,路网对应的图,以及图的邻接矩阵 3.2 随机权重? ? ? ? 为了捕获交通中的时间相关性,我们将一天划分成多个时间片段(eg,将一天分为96个15分钟为间隔的时间片段)。 ? ? ? ? 基于这个,我们可以引入一个随机权重方程 ? ? ? ? 给定一条特定的边 ?????????我们首先需要指定我们需要的时间段 ? ? ? ? 然后我们把边集分成 ? ? ? 以图1为例,?? ? ? ? ?对于不同的点,直方图的每个柱体代表的间隔是一样的,因此,我们可以用落在不同直方图柱体的概率来表示这条边在特定时间的速度分布。 ? ? ? ? 假设我们有n条边,直方图一共有m个柱体,那么在时间片段Tj,所有边的随机权重可以被表示成一个n×m的矩阵。其中每一行代表了一条边的随机权重(如果 3.3 问题格式化? ? ? ? 给定一条中某一个时间片段Tj,给定一个初始化的随机权重矩阵W,随机权重补全任务是要把W中的空行填充,赋上我们预测的随机权重,使得 ? ? ? ? ?这相当于对每一个 ? ? ? ? 为了方便之后的表述,我们这里形式化一些符号:
?3.4 方法概述? ? ? ? 我们提出了一种基本的模型和一种提高版的模型。 ? ? ? ? 基本的模型将一个初始化的、只有一部分行有值的随机权重矩阵W,和边邻接矩阵A作为输入。基本模型的目的是从W和A中学习图卷积核,然后生成一个完整的随机权重矩阵 ? ? ? ? 然而,基本模型并没有充分利用很重要的文本信息(contextual information)【比如,不同的时间片段、今天是一个礼拜的星期几)。为了更好地利用这种在基本模型中缺省的信息,我们提出了提高版的模型。???????? ? ? ? ? 这个模型不仅把W和A作为输入,还把一些文本信息放入输入中,使用贝叶斯推断模型来建立文本信息和基本模型输出之间的关系。这种方式可以提高输出的?随机权重矩阵 ?4 基本模型4.1 模型概述?????????不同边之间的随机权重可以共享相关的特征。为了建模这一相关特征,我们将随机权重矩阵W转换成隐藏向量 ? ? ? ? ?整个过程可以看作一个自动编码器,我们先把不完整的随机权重矩阵编码成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,标准化拉普拉斯矩阵为 ? ? ? ? 在卷积层中,我们通过使用标准化拉普拉斯矩阵 ? ? ? ? W矩阵的列向量 ? ? ? ? 基于某一个
? ? ? ? ?详细地来说,首先? 然后 ? ? ? ? 最后我们定义了一个过滤器 ? ? ? ? ? 这时候
? ? ? ? ?给定一个作为输入的随机权重矩阵W,对于W中的每一个列向量 ? ? ? ? 于是,对每一个 ? ? ? ? ????????然后,对于每一个 ???????? ? ? ? ? 接着,我们把所有的Q叠加起来,得到一个 4.3 池化层? ? ? ? 在卷积层中,有些边可能仍然只有零值。因此我们进一步通过最大池化操作(max pooling)压缩卷积结果 ? ? ? ? 我们使用一个基于图的多层池化算法,使用图的拓扑结构和随机权重分布,来识别边之间的集簇关系。 ???????? ????????比如,在图3中,e1,e2,e4,e5汇成一个集簇,e3,e6汇成另外的一个集簇 ? ? ? ? 基于这个分集簇的方法,每一个卷积矩阵Ql被进一步压缩成更紧缩的矩阵Cl(l∈[1,f]),现在,我们把这一组Ci的值看成隐空间上的特征集 4.4 输出层? ????????经过池化层之后,我们获得了可以捕获输入矩阵W特征的压缩矩阵C。于是,我们可以将压缩矩阵解码成一个新的随机权重矩阵 ? ? ? ? 我们首先使用一个全连接层来获得一个矩阵Z,这个矩阵代表了从集合C中解码得到的所有边的随机权重 4.4.1 softmax层? ? ? ? ?但是最终的输出 1,对于每一个 2, ? ? ? ? 于是,我们对每一个? ? 最终,我们有: 4.5 损失函数? ? ? ? GCWC的损失函数 ? ? ? ? 我们一共有n条边,但是模型重点是有观测数据的那一些边。因此我们在损失函数那里设置了一个权重函数I,当第i条边有观测交通数据的时候 ? ? ? ? 这里我们使用ε是为了防止log的时候出现0 ?5 带文本的GCWC? ? ? ? 当我们考虑某一特定时间片段的随机权重矩阵W的时候,我们可以同时考虑一组文本信息。 ? ? ? ? 在这里,我们考虑三种文本信息:时间片段 ? ? ? ? ???????? ???????? ?下图是带文本的GCWC的流程图: ? ?????????我们这里使用P(Z)表示基本GCWC的输出 ????????文本嵌入模块首先把 ? ? ? ? 贝叶斯推断模块将P(Z)、 ?5.1 文本嵌入模块? ? ? ? 这里的文本嵌入模块具有一定的普适性——也就是说,不止我们之前说的三种文本信息适用,之后如果我们还有其他的文本信息(天气情况,交通状况,等等),一样可以使用这个文本嵌入模块。 ? ? ? ? 鉴于不同的? 5.1.1 嵌入层(embedding layer)? ? ? ? 对于 ? ? ? ? ? 对于某一个one-hot 向量 ? ? ? ? 然后,我们对每一个学到的 ? ? ? ? 相似地,我们可以得到 5.1.2 全连接层???????? ? ? ? ? 用公式表示,我们有? ???????? ? ? ? ? ? 这里 ?5.2 计算条件概率????????我们使用了条件概率卷积神经网络(conditional probability convolutional neural network CP-CNN)来捕获边j的随机权重zj和不同类型的文本之间的关系 ? ? ? ? ? 为了简化说明,我们用Xi表示文本。(Xi可以是? ? ? ? ? 如上图5(a)所述,我们将 ? ? ? ? 作为结果,我们得到了 一个矩阵 ? ? ? ? 然后我们使用经典的卷积过滤来捕获随机权重在各个文本下的条件概率。 ? ? ? ? 还是以图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'个 ? ? ? ? 以此类推,我们可以对所有的n条边进行以上操作,得到? ? ?5.3 贝叶斯推断? ? ? ? 我们使用贝叶斯推断模型来获得一个已知所有类型的文本信息?? ? ? ? ? 一般地,假设我们有N种类型的文本信息 ? ? ? ?在这里,我们假设不同的文本信息之间是独立的,即 ? ? ? ? 于是,我们有:
?因此,我们可以计算我们的 ? 然后,我们需要对(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的随机权重矩阵 ? ? ? ? 然后我们从n条边中随机选择? ? ? ? ? ?需要注意的是, ? ? ? ? 对于数据集,我们将数据集分成五份,使用5折交叉验证(5-cross validation)来进行训练。 ?6.2 模型的功能? ? ? ? 我们提出的两个模型,GCWC和A-GCWC都是具有一定普适性的。我们把模型的设定稍作修改,便可以得到不同的功能。 ? ? ? ? 这里,我们考虑三种功能:估计/预测随机权重矩阵(以直方图的形式),估计平均速度(以确定值的形式)。这里我们用 ?6.2.1 估计 estimation? ? ? ? 给定Ti时刻的输入随机权重矩阵 ? ? ? ? 在训练的时候,对于训练集? ? ? ? ? 在测试的时候,给定输入随机权重矩阵 6.2.2 预测prediction? ? ? ? ?给定Ti时刻的输入随机权重矩阵 ?????????训练的时候,对于训练集? ? ? ? ? 与此同时,我们要确认 ? ? ? ? 在测试的时候,给定输入随即权重 表2说明了estimation和prediction之间的异同 ?6.2.3 平均 average? ? ? ? 这个的配置和估计estimation类似,给定输入矩阵 ? ? ? ? 之后这一部分我持保留意见,原文的意思是把4.4 公式(2)中的softmax替换成sigmoid; ?6.3 模型的设定? ? ? ? 在表3中,我们展现了所有模型的超参数(注:A-GCWC的β参数,也就是各文本被压缩到的响亮的维度,统一设置为4) ? ? ? ? ?我们将为了估计和预测任务的模型记为HIST,将为了平均任务的模型记为?AVG ? ? ? ? 在表格中,#Para表示参数的总数(卷积核的参数、全连接层的参数、激活函数的偏差等),这个代表了不同神经网络的复杂度。这个数值越大,表示神经网络越复杂。通过表格中的#Para,我们可以得到结论:CNN、GCWC、A-GCWC使用的参数量差不多,也就是说,相比于传统的CNN?,我们提出的GCWC和A-GCWC模型并没有怎么增加模型的复杂度 ? ? ? ? LR表示学习率(learning rate),Decay 表示学习率损失,Regul表示 正则化系数(regularization) ? ? ? ? 我们用以下的表述来描述模型的结构:
?我们分别以GCWC和A-GCWC的参数为例:
?6.5 baseline
注意:GP\RF\LSM只能预测、估计确定值。因此,我们对不同的速度片段下的随机权重,分别学习了一个回归任务。
6.6 评估方法6.6.1 估计和预测(estimation & prediction)
? ? ? ? ?我们也可以使用相似比例(FLR, fraction of likelihood ratio)来衡量预测/估计的精准程度 ? T,n,
???????? ???????? ????????ε用来防止log里的内容是0 ????????我们给定第j条边和第i段预测片段,我们可以有预测/估计的随机矩阵 ? ? ? ? 如果 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图书馆 购物 三丰科技 阅读网 日历 万年历 2025年2日历 | -2025/2/21 21:48:05- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |