Auto-STGCN:自主空时图卷积网络基于强化学习的搜索和现有研究结果
标题 | Auto-STGCN: Autonomous Spatial-Temporal Graph Convolutional Network Search Based on Reinforcement Learning and Existing Research Results |
---|---|
作者 | Chunnan Wang , Kaixin Zhang , Hongzhi Wang, Bozhou Chen |
机构 | Harbin Institute of Technology ,Peng Cheng Laboratory |
邮箱 | {WangChunnan, wangzh, bozhouchen}@hit.edu.cn |
论文 | https://arxiv.org/abs/2010.07474 |
摘要
近年来,许多空时图卷积网络(STGCN)模型被提出来应对空时网络数据预测问题。这些STGCN模型各有优势,即它们各自提出了许多有效的操作,在实际应用中取得了良好的预测结果。如果用户能够有效地利用和组合这些优秀的操作,整合现有模型的优势,那么他们可能会获得更有效的STGCN模型,从而在现有工作的基础上创造更大的价值。然而,由于缺乏领域知识,他们无法做到这一点,也缺乏自动化系统来帮助用户实现这一目标。在本文中,我们填补了这一空白,提出了Auto-STGCN算法,该算法利用现有模型自动探索特定情景下的高性能STGCN模型。具体而言,我们设计了统一的STGCN框架,总结了现有架构的操作,并使用参数来控制每个操作的使用和特征属性,从而实现了STGCN架构的参数化表示以及优势的重组和融合。然后,我们提出了基于强化学习的优化方法Auto-STGCN,快速搜索统一STGCN提供的参数搜索空间,并自动生成最优的STGCN模型。在真实世界的基准数据集上进行的大量实验表明,我们的Auto-STGCN能够找到优于现有STGCN模型的模型,并证明了我们提出的方法的有效性。
本文主要介绍空时图卷积网络进行神经架构搜索,突出了两个方案:
方案一:设计了统一的STGCN框架
方案二:提出来基于强化学习的优化方法Auto-STGCN
1 引言
空间-时间网络数据预测(Spatial-Temporal NDF)是空间-时间数据挖掘中的一个基本研究问题,旨在根据其历史序列预测空间-时间网络的未来观察结果。这个问题在交通速度预测(Li等,2018)、驾驶员行为预测(Jain等,2016)和人体动作识别(Yan,Xiong和Lin,2018)等许多实际应用中都有很多应用,并因其重要性而引起了广泛的研究兴趣。研究人员已经提出了许多方法来处理这个问题,其中空间-时间图卷积网络(STGCN)模型是最流行和有效的解决方案。STGCN模型引入了图卷积网络(GCN)(Bacciu,Errica和Micheli,2018;Liu等,2019;Xu等,2019;Chiang等,2019),这是一种用于图结构数据的强大深度学习方法,用于学习高级节点表示(Velickovic等,2018;Hamilton,Ying和Leskovec,2017;Zhang等,2020),并将GCN与其他能够建模时间依赖性的模型或方法相结合,以直接从空间-时间网络数据中提取高质量的空间-时间特征。与其他仅考虑时间信息(Williams和Hoel,2003;Drucker等,1996)或仅能处理标准网格结构而不是一般领域(Guo等,2019b;Shi等,2015;Yao等,2018)的空间-时间NDF问题的解决方案相比,STGCN模型能更有效地分析图结构的时间序列,从而进行更准确的预测(Song等,2020)。
对于空间-时间网络数据预测的研究问题,空间-时间图卷积网络(STGCN)可用于学习高级节点表示,将GCN与其他建模时间依懒性的模型或方法结合,可以直接从空间-时间网络数据中提取高质量的空间-时间特。
最近,许多STGCN模型(Yu,Yin和Zhu,2018;Song等,2020;Guo等,2019a;Bai等,2019a)被提出来处理空间-时间NDF问题。我们注意到这些STGCN模型都有自己的优点,即它们每个模型都提出了许多有效的操作,并在实际应用中取得了良好的预测结果。如果我们可以分解原始的组合,将不同模型的优秀操作进行组合,我们就可以获得以下两个好处。(1)获得新颖且更强大的STGCN模型。通过整合不同模型的优势,我们可以创建更有效的STGCN模型。(2)推动实现自主STGCN搜索。现有STGCN模型提供的有效操作构成了STGCN模型的搜索空间,这是实现STGCN模型自主搜索的关键因素。我们可以利用有效的优化方法来探索这个搜索空间,从而根据特定场景自动设计功能强大的STGCN模型,为非专业人士提供解决方案。
总结下来就是把其他模型高效的部分进行组合拼接,形成一个更高效的模型。
然而,实现这些好处也带来了两个挑战。一方面,还没有统一的框架来描述STGCN模型的设计流程,也缺乏有效的方法来表示各种STGCN模型(挑战一)。我们需要通过了解STGCN模型的整体操作过程来填补这个空白,从而指导如何从现有的STGCN模型中收集操作,并如何组合这些操作。通过完整的操作流程和操作选项,我们可以找到表示各种STGCN模型的有效方法,从而实现自动化的STGCN搜索。另一方面,缺乏针对STGCN模型设计的自主搜索方法(挑战二)。我们需要根据STGCN模型的特性设计有效的搜索方法,从而快速探索STGCN模型的庞大搜索空间,并发现功能强大的STGCN模型。
在本文中,我们克服了这些挑战,并提出了Auto-STGCN算法,以利用现有的优秀模型自动探索高性能的STGCN模型。具体而言,我们提出了统一的STGCN框架,揭示了STGCN模型的整体操作过程,并总结了现有架构的操作。我们使用参数来控制Unified-STGCN中每个操作的使用和特征属性,从而实现STGCN模型的参数化表示以及优势的重组和融合。然后,我们提出了Auto-STGCN,一种基于强化学习的有效优化方法,快速搜索由Unified-STGCN提供的参数搜索空间,并自动生成最优的STGCN模型。Auto-STGCN在优化阶段同时考虑了架构相关参数和训练相关参数,因此可以为给定的空间-时间NDF问题提供完整的解决方案,即最佳的STGCN结构与其最佳的训练设置相结合。
我们论文的主要贡献总结如下:
• 统一性:我们在Unified-STGCN框架下统一了各种STGCN模型,实现了STGCN模型的参数化表示。Unified-STGCN为优化方法提供了必要的参数搜索空间,并加深了我们对流行的STGCN模型的理解。
• 自动化:我们的Auto-STGCN是一种用于STGCN模型开发的自动化系统。它使非专家能够部署针对其特定场景优化的STGCN模型。据我们所知,这是空间-时间NDF领域中的第一个自动化系统。
• 有效性:对真实世界基准数据集进行的广泛实验表明,我们的Auto-STGCN可以找到优于具有启发式参数的现有STGCN模型的STGCN模型,这证明了我们提出的方法的有效性。
总结:
想要获得更好的STGCN模型存在两个主要挑战问题,
1:没有统一的框架来描述STGCN模型的设计流程,也缺乏有效的方法来表示各种STGCN模型。
2:缺乏针对STGCN模型设计的自主搜索方法。
本文作者的创新点
1:提出了统一的STGCN框架,说明STGCN模型的整体操作过程,并总结现有架构的操作,使用参数控制Unified-STGCN中每一个操作的使用和特征属性,进而实现STGCN模型的参数化表示以及重组和融合。
2:提出基于强化学习的Auto-STGCN,可快速搜索由Unified-STGCN提供的参数搜索空间,自动生成最优的STHCN模型。
1.什么是空间-时间网络数据预测?
空间-时间网络数据预测(Spatial-Temporal Network Data Forecasting)是指对具有空间和时间维度的复杂网络数据进行预测。数据可能是在空间上具有位置信息的节点(例如城市、交叉口、蛋白质等),并且在时间上有一系列的观测值。目标是基于过去的观测数据,预测未来的数据情况。
例如,在城市交通领域,空间-时间网络数据可能包括城市内不同位置(节点)的交通流量或交通速度(特征),以及一系列时间点上的观测。空间-时间网络数据预测的目标是根据过去的交通流量和速度数据,预测未来的交通情况,如未来某个时间点的交通拥堵程度。
2.什么是Unified-STGCN?
“Unified-STGCN” 指"Unified Spatial-Temporal Graph Convolutional Network",是文中描述的一个框架。用于将不同的空间-时间图卷积网络(STGCN)模型整合在一起,从而实现参数化表示和优化。
3.什么是参数化搜索空间?
“参数搜索空间” 指的是在框架中通过调整一系列参数来控制不同操作、结构和特征的使用方式。这些参数用于控制模型中的各种操作,例如图卷积、池化、激活函数等。通过调整参数,可以在不同的STGCN模型之间进行比较和优化,以找到最优的模型结构和参数配置,从而在特定任务下取得更好的性能。
2 先决条件
在本节中,我们给出了空间-时间网络数据预测(Spatial-Temporal Network Data Forecasting)的相关概念(第2.1节),并介绍了最先进的STGCN模型(第2.2节)。
2.1 空间-时间网络数据预测
首先,我们定义空间网络和图信号矩阵,然后使用它们描述空间-时间NDF问题。
定义1:空间网络 G。我们使用 G = (V, E, A) 表示网络的空间信息,其中 V 是顶点集合,|V| = N 表示顶点数量,E 表示边的集合, A ∈ R N × N A ∈ R^{N×N} A∈RN×N 是 G 的邻接矩阵。空间网络 G 可以是有向的或无向的,其结构随时间不变。
定义2:图信号矩阵 χ G t χ_G^t χGt 。我们使用 χ G t = ( χ G t , v 1 , . . . , χ G t , v n ) T ∈ R N × C χ_G^t = (χ_G^t,v1 , . . . , χ_G^t,v_n)^T ∈ R^{N×C} χGt=(χGt,v1,...,χGt,vn)T∈RN×C表示时间步 t 时空间网络 G = (V, E, A) 的观测值,其中C 是属性特征的数量, χ G t χ_G^t χGt,$v_i $表示节点 v i v_i vi ∈ V 在时间步 t 上所有特征的值。
定义3:空间-时间NDF问题。给定一个空间网络 G 及其历史图信号矩阵 X = ( χ G t − T + 1 , χ G t − T + 2 , . . . , χ G t ) ∈ R T × N × C X = (χ_G^{t−T+1} , χ_G^{t−T+2}, . . . , χ_G^t) ∈ R^{T×N×C} X=(χGt−T+1,χGt−T+2,...,χGt)∈RT×N×C,空间-时间网络数据预测问题旨在预测 G 的未来观测值: Y = ( χ G t + 1 , χ G t + 2 , . . . , χ G t + T ′ ) ∈ R T ′ × N × C Y = (χ_G^{t+1}, χ_G^{t+2}, . . . , χ_G^{t+T'} ) ∈ R^{T'×N×C} Y=(χGt+1,χGt+2,...,χGt+T′)∈RT′×N×C,其中 T 和 T’ 分别表示历史序列和目标序列的长度。
定义2:图信号矩阵 χ G t χ_G^t χGt
- χ G t χ_G^t χGt 表示时间步 t 时空间网络 G 的图信号矩阵,其中:
- χ G t χ_G^t χGt 是一个 N × C 的矩阵,每行代表网络中一个节点的属性特征在时间步 t 的取值。
- C 表示属性特征的数量,每个节点有 C 个属性特征。
定义3:空间-时间NDF问题
- 给定空间网络 G 和历史图信号矩阵 X,其中 X 是一个 T × N × C 的矩阵,包含了从 t - T + 1 到 t 时刻的历史观测值。( T 表示时间步数,N 表示节点数量,C 表示属性特征数量。假设一个空间网络 G,其中有 4 个节点(N = 4),每个节点有 3 个属性特征(C = 3)。考虑过去的 2 个时间步(T = 2)的观测值。)
- 空间-时间网络数据预测问题的目标是预测未来时间步中空间网络 G 的观测值。
- Y 是一个 T’ × N × C 的矩阵,包含了从时间步 t + 1 到 t + T’ 的未来观测值,其中 T 和 T’ 分别是历史序列和目标序列的长度。
2.2 空间-时间图卷积网络模型
解决空间-时间NDF问题的关键在于从空间-时间网络数据中捕获空间依赖性和时间依赖性,并利用这些空间-时间特征进行预测。
最近,许多空间-时间图卷积网络(STGCN)模型被提出来有效地处理空间-时间NDF问题。它们提出了各种方法来捕获图结构时间序列的动态空间-时间特征。例如,(Yu、Yin 和 Zhu,2018)在空间维度上使用GCN捕获邻域中的空间依赖性,并在时间维度上使用门控CNN从相邻时间中提取时间依赖性。 (Song 等,2020)构建了局部空间-时间图,将相邻时间步的个体空间图连接成一个图,然后使用GCN在这些局部空间-时间图中同步捕获局部空间-时间相关性。 (Bai 等,2019a)假设空间相关性仅依赖于具有相似模式的节点,并根据节点之间的相似性重新定义了图的连接性。它利用GCN和新定义的邻接矩阵从最相关的区域中捕获空间相关性,然后使用多层LSTM网络捕获时间关系。
现有的STGCN模型各具优势,在许多实际应用中取得了出色的性能(Li 等,2018)。在本文中,我们尝试通过利用它们提供的有价值方法,设计出更加有效的STGCN模型,实现现有STGCN模型优势的融合。
总结:
介绍之前关于空间-时间图卷积网络模型取得的相关成果内容,接着本文提出依照前人提供的方法进行总结设计出更高效的STGCN模型。
3 统一的STGCN:统一STGCN框架
我们首先提出了我们的统一框架Unified-STGCN,并进一步解释了现有的STGCN模型如何适应这个框架(第3.1节)。基于这些示例模型,我们概述了现有STGCN模型的缺点,并在Unified-STGCN的基础上给出了STGCN模型的参数化表示(第3.2节)。
3.1 统一的STGCN
我们分析了现有STGCN模型的工作流程,并总结了STGCN模型设计的4个阶段:输入转换阶段、空间-时间嵌入阶段、输出转换阶段和训练阶段。我们定义了9个参数来描述这些阶段的主要内容,从而实现STGCN模型的参数化表示。此外,我们以4个最先进的STGCN模型为例,分别是Model1(Yu、Yin 和 Zhu,2018)、Model2(Guo 等,2019a)、Model3(Bai 等,2019a)和Model4(Song 等,2020),为每个参数提供了选项。表1总结了本部分的主要内容,详细介绍如下。
表格1:获取STGCN模型所需经历的四个阶段及其性能。每个阶段都需要经过精心设计,以获得高性能的STGCN模型。
**阶段1:输入转换阶段。**该阶段的目标是提高空间-时间NDF问题的输入历史序列 X = ( χ G t − T + 1 , χ G t − T + 2 , . . . , χ G t ) ∈ R T × N × C X = (χ_G^{t−T+1} , χ_G^{t−T+2}, . . . , χ_G^t) ∈ R^{T×N×C} X=(χGt−T+1,χGt−T+2,...,χGt)∈RT×N×C的表示能力。Model4提出在网络顶部使用全连接层将 X X X转换为高维空间,以实现此目标,而其他3个模型不包括此阶段。在Unified-STGCN中,我们使用参数:输入结构(IS)来描述此阶段的详细操作, I S 1 IS_1 IS1和 I S 2 IS_2 IS2分别表示由Model4和其他3个模型提供的解决方案。
阶段2:空间-时间嵌入阶段。这是STGCN模型设计中最重要的阶段。它汇聚整个网络系列的高级空间-时间相关性,用于最终的预测。它以阶段1提供的 X ’ X’ X’和空间-时间NDF问题的输入邻接矩阵A作为输入,通过编码不同时间步骤处的局部图结构和节点属性,输出网络中节点的高级表示。
现有的工作通常使用具有相同结构的连续的空间-时间块(ST块)来实现这个目标。一个ST块的结构由3个参数决定:空间信息处理方法(SIPM)、时间信息处理方法(TIPM)和基于GCN的特征嵌入结构(FES)。一个ST块首先根据SIPM和TIPM调整输入的网络系列和邻接矩阵,然后利用FES来处理它们,从而获得高质量的空间-时间特征。**方程(2)**描述了其工作流程。由于一个ST块只能捕获低级的空间-时间特征,现有模型通常堆叠多个ST块来构建深层模型,以获取更复杂的特征(Xu等,2020)。
- 空间信息处理方法(SIPM):
- SIPM 是用于处理空间信息的方法,用于调整输入的空间网络数据,以便能够更好地捕捉空间上的特征。
- 本方法用于在空间网络中执行特征工程、节点关系建模等操作,以使输入的空间信息更适合后续的处理和分析。
- 示例:图卷积网络(GCN)、图注意力网络(GAT)等。
- 时间信息处理方法(TIPM):
- TIPM 是用于处理时间信息的方法,用于调整输入的时间序列数据,以便能够更好地捕捉时间上的特征。
- 本方法可能包括时间序列分析、时间滤波、周期性分析等技术,以使时间信息能够更好地与空间信息结合。
- 示例:时间序列分析方法(ARIMA、LSTM等)。
- 基于GCN的特征嵌入结构(FES):
- FES 是一种特征嵌入结构,它基于图卷积网络(GCN)的思想,用于将处理过的空间和时间信息嵌入到一个更高维度的特征空间中。
- 这种结构可能包括多层的图卷积层,用于学习节点之间的复杂关系和特征传播,从而生成高质量的空间-时间特征表示。
- 示例:多层图卷积网络结构。
我们总结了现有STGCN模型中使用的ST块,并发现它们的结构非常不同。Model1跳过了SIPM和TIPM步骤,直接使用TST-Sandwich结构(如图1(a)所示),其中在中间使用GCN来提取空间特征,并且使用两个门控CNN来提取时间特征,以共同处理图结构时间序列。Model2引入了注意机制来自适应地捕获给定网络上的动态相关性。它使用空间注意力来动态地调整节点之间的影响权重,并使用时间注意力来动态地调整合并相关信息的输入,然后将调整后的输入和矩阵送入卷积层以获得高质量的特征。至于Model3,它假设空间相关性仅依赖于具有相似模式的节点(Bai等,2019b)。它的ST块根据节点的相似性构建了一个新的邻接矩阵,然后将新矩阵应用于GCN层以提取高级特征。图1(c)给出了这个ST块的结构。Model4的ST块在输入的空间-时间网络系列中加入位置嵌入,以便每个节点包含时间属性,然后利用位置嵌入的信息来处理时间特征。图1(d)显示了这个ST块的结构。
现有的ST块在原始邻接矩阵中添加了一个可学习的掩码矩阵,以调整聚合权重,使聚合变得更加合理。然后,它利用一个TS-Sliding Window结构,在不同的时间段(如图1(d)顶部所示)上部署多个个体STS-GCMs1,以提取远程的空间-时间特征。现有的ST块为我们设计ST块提供了许多有效的方法。我们从最先进的ST块中收集SIPM、TIPM和FES参数的选项(如表1所示),从而构建了一个强大的ST块结构的搜索空间。稍后,我们将利用这个搜索空间来实现ST块的自动设计,构建更强大的STGCN模型。
图1:现有STGCN模型中的ST块结构。
本部分介绍Model1-4各自的空间-时间块(ST模块)结构特点;最后作者基于现有的ST模块构建一个更高效ST模块的搜索空间,并利用这个搜索空间来实现ST块的自动设计,构建更强大的STGCN模型。
**阶段3:输出转换阶段。**阶段3是STGCN结构设计的最后一步。该阶段旨在将阶段2的输出转换为预期的预测。现有的STGCN模型提出了许多有效的解决方案。例如,Model1和Model2直接应用全连接层来实现最终的转换。Model3使用基于LSTM的编码-解码方法生成多步预测。Model4注意到空间-时间数据存在异质性,即每个节点在不同的时间步骤可能会表现出不同的属性,并部署多个两个全连接层来生成每个时间步骤的预测,以进一步提高预测性能。
在统一的STGCN中,我们使用参数:输出结构(OS)来描述该阶段的详细操作,OS1、OS2和OS3分别表示Model3、Model1和Model2、Model4提供的解决方案。
**阶段4:训练阶段。**STGCN模型的性能不仅取决于网络结构,还取决于训练设置。因此,为STGCN模型找到合适的训练方法也是一项重要任务,我们将模型训练视为STGCM模型设计的第四个阶段。在统一的STGCN中,我们总结了四个参数,以描述STGCN模型的训练设置:损失函数(LF)、批大小(BS)、初始学习率(ILR)和优化函数(OF)。现有的研究通过反复尝试找到了适用于训练STGCN模型的一些训练设置。我们从现有的工作中收集了LF、BS、ILR和OF参数的选项(如表1所示),从而构建了一个强大的STGCN模型训练的搜索空间(没有具体说明如何设计的)。稍后,我们将使用这个搜索空间来自动为我们新设计的STGCN模型设计最优的训练设置。
思考总结(本篇论文影响因子3.6):
本段3.1作者想要表达的是创新点一:介绍统一的STGCN框架,适用于各种模型。为此作者总结的STGCN模型设计的4个阶段,但是每一个阶段主要介绍Model1-4(其他作者撰写的四种STGCN算法中的ST模块)的相关内容,并没有具体说明如何设计。总结下来就是作者对4种不同的ST模块进行简要概述。
四种模型的论文
model1:Spatio-Temporal Graph Convolutional Networks: A Deep Learning Framework for Traffic Forecasting
model2:Attention Based Spatial-Temporal Graph Convolutional Networks for Traffic Flow Forecasting.
model3:Spatio-Temporal Graph Convolutional and Recurrent Networks for Citywide Passenger Demand Prediction
model4:Spatial-Temporal Synchronous Graph Convolutional Networks: A New Framework for Spatial-Temporal Network Data Forecasting.
3.2 STGCN的参数化表示
在Unified-STGCN中定义的九个参数清楚地描述了现有STGCN模型的设计过程,并使我们能够实现STGCN模型的参数化表示。然而,如果我们只考虑STGCN搜索空间中的这些参数,那么我们可能会错过许多强大的模型。具体来说,我们观察到现有STGCN模型的结构,其中ST块以线性方式连接并共享相同的结构(如图2(a)所示),不够灵活。在神经网络架构搜索(NAS)(Tan等,2019;Zoph等,2018;Yang等,2020)方面的先前工作指出,块的多样性和灵活的连接方法对模型性能具有重要意义。这个规则可能也适用于我们的STGCN研究,该研究专注于类似NAS的神经网络。如果我们打破现有的结构模式,可能会发现更多有效的STGCN模型。受此启发,我们引入更多的参数来考虑更灵活、多样的STGCN结构。
假设在一个STGCN模型中有N个ST块,我们允许每个ST块具有不同的结构设置,从而增加结构多样性。也就是说,我们完全使用N组参数( S I P M b i , T I P M b i , F E S b i SIPM^{bi},TIPM^{bi},FES^{bi} SIPMbi,TIPMbi,FESbi) ( i = 1 , . . . , N ) 2 (i = 1, ..., N)^2 (i=1,...,N)2来分别确定N个ST块的结构。此外,我们设计了以下参数来描述ST块之间的灵活连接方法以及在我们的Unified-STGCN中使用这些ST块生成Stage2的最终输出的方法。
-
Pre Block Index(PBIndex):与之前的STGCN模型不同,我们不限制使用顺序连接方法,而是允许每个ST块与其任何前面的ST块之一连接,从而构建更灵活的STGCN结构。我们引入参数 P L I n d e x b i ( i = 1 , . . . , N ) PLIndex^{bi}(i = 1, ..., N) PLIndexbi(i=1,...,N)来澄清STGCN中ST块的输入,并且它们的选项如下所示。
P L I n d e x b i ∈ b 1 , . . . , b i − 1 ( 4 ) PLIndex^{bi} ∈ {b_1, ..., b_{i−1}}(4) PLIndexbi∈b1,...,bi−1(4)
将 P L I n d e x b i PLIndex^{bi} PLIndexbi设置为bj表示将第j个ST块的输出作为第 i S T i^{ST} iST块的输入。 -
多个ST块输出融合方法(MBOF):我们STGCN模型中的灵活连接方法可能导致Stage2的多个输出,即可能有多个ST块不被视为其他ST块的前置ST块。在这种情况下,我们使用加法或集中方法将多个输出聚合为一个输出,我们使用MBOF来描述这个操作。
- 加法聚合方法(记为 M B O F 1 MBOF_1 MBOF1):使用全连接操作调整多个输出的形状相同,然后将它们相加。
- 集中聚合方法(记为 M B O F 2 MBOF_2 MBOF2):使用全连接操作调整多个输出的特征维度相同,然后沿时间维度进行聚合。
总结:
本部分介绍Unified-STGCN 框架通过引入新概念和参数,实现了在多个 ST 块之间选择不同结构、连接方式以及输出融合方法的灵活性,从而适应不同的任务需求,提高了模型的表达能力。其在处理时空数据分析问题时具有较大的实用价值。
多个ST块的灵活结构设置:
- 在 Unified-STGCN 框架中,存在 N 个 ST 块,每个 ST 块可以具有不同的结构,通过参数 S I P M b i , T I P M b i , F E S b i SIPM^{bi},TIPM^{bi},FES^{bi} SIPMbi,TIPMbi,FESbi 进行定义( i = 1 , . . . , N i = 1, ..., N i=1,...,N 表示 ST 块的编号)。
- 每个 ST 块可以根据自己的需求和任务选择不同的空间信息处理方法(SIPM)、时间信息处理方法(TIPM)和基于 GCN 的特征嵌入结构(FES)。
Pre Block Index(PBIndex):
- 与之前的 STGCN 模型不同,这里的 Unified-STGCN 允许更灵活的连接方式,每个 ST 块可以连接到之前的任何一个 ST 块。
- 参数 P L I n d e x b i PLIndex^{bi} PLIndexbi 用于指定第 i S T i^{ST} iST块的输入来自哪个之前的 ST 块,取值范围是 P L I n d e x b i ∈ { b 1 , . . . , b i − 1 } PLIndex^{bi} ∈ \{b_1, ..., b_{i−1}\} PLIndexbi∈{b1,...,bi−1}。
- Unified-STGCN可以根据任务需要自由选择 ST 块的输入来源,从而构建更加灵活的结构。
多个ST块输出融合方法(MBOF):
- 在灵活连接方法下,会有多个 ST 块的输出作为 Stage2 的输入。
- MBOF 描述了如何将这些多个输出进行融合,以生成 Stage2 的最终输出。
- 有两种融合方法:
- 加法聚合方法( M B O F 1 MBOF_1 MBOF1):将多个输出逐元素相加,从而生成一个相同形状的输出。
- 集中聚合方法( M B O F 2 MBOF_2 MBOF2):通过全连接操作调整特征维度,并沿时间维度进行聚合。
使用这些新参数,我们可以获得更灵活、多样的STGCN模型(图2(b)是一个示例)。注意,在ST块中的卷积操作的滤波器大小是STGCN模型的超参数,它对模型大小具有重要影响。在本文中,我们使用参数:卷积滤波器大小 ( F S C ) ∈ 16 、 32 、 64 (FSC)∈ {16、32、64} (FSC)∈16、32、64来控制这个超参数,以获得不同大小的STGCN模型。总体而言,我们使用8+4×N个参数来描述具有N个ST块的STGCN模型的设计过程。然后,我们将这些参数的配置空间表示为 S S T G C N S_{STGCN} SSTGCN,其中每个配置方案 m ∈ S S T G C N m ∈ S_{STGCN} m∈SSTGCN对应一个STGCN模型。
图2:现有STGCN模型和我们的STGCN模型的结构。具有不同纹理模式的ST块具有不同的结构设置。
作者的STGCN模型结构与传统结构不同,区别主要在于让多个 ST 块根据自身特点自由选择,效率最大化;并使用多个ST块输出融合方法(MBOF)。
4 自动化STGCN搜索
在本节中,我们提出了Auto-STGCN来优化第3节提供的参数,并自动设计最优的STGCN模型。第4.1节给出了我们的优化目标,第4.2节详细介绍了Auto-STGCN。
4.1 考虑约束的目标函数
给定一个
m
∈
S
S
T
G
C
N
m\in S_{STGCN}
m∈SSTGCN的STGCN模型,让
M
A
E
(
m
)
MAE(m)
MAE(m)表示其在目标空间-时间NDF任务上的平均绝对误差分数,T(m)表示推断时间,
T
m
a
x
T_{max}
Tmax为最大时间约束。形式上,我们的研究目标定义如下。
我们希望发现的有效的STGCN模型其预测速度不会太慢。因此,我们将Tmax设置为目标任务中(Song等人,2020年)一种先进的STGCN模型的推断时间的两倍。请注意,强化学习无法处理这种约束。为了引导强化学习方法发现满足要求的STGCN模型,我们构建一个==对数障碍函数来量化方程(5)中的时间约束,并定义一个新的约束感知目标函数==如下。(为什么会想到使用对数障碍函数)
其中λ设置为 e ( − 19 ) e^{(-19)} e(−19),一个非常小的值,使约束变得紧密。正如我们所见,如果T(m) ≤ Tmax,则障碍函数接近被违反,而当约束被违反时,对数障碍函数的值趋近于无穷大。方程(6)是方程(5)的平滑近似,并且通过只使用一个函数合理地描述了我们的优化目标。稍后,我们将把这个考虑约束的目标函数应用于我们的Auto-STGCN中,从而搜索满足时间约束的强大STGCN模型。
总结:
目标函数MAE(m)为目标空间-时间NDF任务上的平均绝对误差分数,作者将Tmax设置为目标任务的模型推断时间的两倍,并构建对数障碍函数量化方程中的时间约束。将考虑约束的目标函数MAE(m)应用于AUuo-STGCN中,搜索满足时间约束的STGCN模型。
在寻找有效的STGCN模型时,作者描述了对于推断时间的约束以及如何引导强化学习方法解决这个问题。
问题背景与目标:
- 给定一个STGCN模型 m m m,目标是找到一个在目标空间-时间NDF任务上具有较低平均绝对误差分数 M A E ( m ) MAE(m) MAE(m) 的模型。
- 推断时间 T ( m ) T(m) T(m) 是指模型进行预测所需的时间。
- 设定最大时间约束 T m a x T_{max} Tmax,要求模型的推断时间不超过该约束。作者将 T m a x T_{max} Tmax设为一种先进STGCN模型的推断时间的两倍。
对数障碍函数:
- 为了在强化学习中处理时间约束,引入了对数障碍函数,用于量化时间约束。
- 对数障碍函数是一个数学函数,可在方程(5)中量化时间约束。
- 障碍函数在 T ( m ) ≤ T m a x T(m) \leq T_{max} T(m)≤Tmax时接近被违反,而在约束被违反时,障碍函数的值趋近于无穷大。
约束感知目标函数:
- 通过引入对数障碍函数,定义了新的约束感知目标函数,如方程(6)所示。
- 参数 λ \lambda λ 被设置为一个非常小的值 e − 19 e^{-19} e−19,用于调整约束的紧密度。
- 此约束感知目标函数用于优化,用于在保证时间约束的前提下,最小化平均绝对误差分数。
1.什么是对数障碍函数?
对数障碍函数是一种在优化问题中用来处理约束的方法。当约束条件被违反时,对数障碍函数的值会迅速增加,以阻止优化过程进一步违反约束。
2.什么是感知目标函数?
感知目标函数是指在优化问题中,除了考虑主要目标以外,还考虑一些辅助目标或约束;可以在保证时间约束的前提下,优化主要目标,从而得到适合于目标任务且满足时间限制的模型。
4.2 Auto-STGCN算法
在自主STGCN搜索(Auto-STGCN)算法中,我们采用了广为人知的Q学习(Krose 1995),这是一种基于值的强化学习算法,它使用Q函数来找到最优的动作选择策略,并采用epsilon-greedy策略(Mnih等人,2015年)来有效地自动搜索最优的STGCN模型。Auto-STGCN中的状态和动作定义如下。
我们使用N + 3个状态
(
s
−
2
,
s
−
1
,
.
.
.
,
s
N
)
s
i
∈
S
t
a
t
e
i
(s_{−2},s_{−1},...,s_N)s_i ∈ Statei
(s−2,s−1,...,sN)si∈Statei(如表2所示)来描述第3.2节中设计的8+4×N个参数的设置,从而完整明确地描述STGCN模型。具体而言,
s
−
2
=
[
−
2
,
−
1
,
−
1
,
−
1
,
−
1
]
s_{−2}=[-2,-1,-1,-1,-1]
s−2=[−2,−1,−1,−1,−1]是初始状态;
s
−
1
∈
S
t
a
t
e
−
1
=
−
1
,
L
F
,
B
S
,
I
L
R
,
O
F
s_{−1} ∈ State_{−1}={-1, LF, BS, ILR,OF}
s−1∈State−1=−1,LF,BS,ILR,OF显示STGCN模型的训练细节;
S
0
∈
S
t
a
t
e
0
=
0
,
I
S
,
O
S
,
F
S
C
,
M
B
O
F
S_0 ∈ State_0={0, IS, OS, FSC, MBOF}
S0∈State0=0,IS,OS,FSC,MBOF决定了在STGCN中应用的输入结构和输出结构,并设置了滤波器大小以及处理ST-blocks中多个输出的方法;
s
i
∈
S
t
a
t
e
i
=
i
,
S
I
P
M
,
T
I
P
M
,
F
E
S
,
P
B
I
n
d
e
x
∪
[
i
,
−
1
,
−
1
,
−
1
,
−
1
]
(
i
=
1
,
.
.
.
,
N
)
3
s_i ∈State_i ={i, SIPM,TIPM, FES, PBIndex} ∪ {[i,-1,-1,-1,-1]}(i = 1, . . . ,N)^3
si∈Statei=i,SIPM,TIPM,FES,PBIndex∪[i,−1,−1,−1,−1](i=1,...,N)3详细说明了STGCN中ST-blocks的连接细节和结构细节。对于每个状态
s
i
∈
S
t
a
t
e
i
(
i
=
−
2
,
.
.
.
,
N
−
1
)
s_i ∈ State_i(i = −2,. . . ,N − 1)
si∈Statei(i=−2,...,N−1),我们将其动作空间定义为
A
c
t
i
o
n
i
=
S
t
a
t
e
i
+
1
Action_i =State_{i+1}
Actioni=Statei+1,并使用
A
(
s
i
)
∈
A
c
t
i
o
n
i
A(s_i)∈Action_i
A(si)∈Actioni来决定其下一个连续状态。因此,STGCN模型的设计过程可以被视为一个动作选择轨迹,并且我们的状态转换过程描述如下。
我们将行动选择过程建模为一个马尔科夫决策过程(Puterman,1994年)。为了找到最优的STGCN模型,我们要求代理在所有可能的轨迹上最大化其预期奖励,并利用递归贝尔曼方程(Bellman和Kalaba,1957年)来处理这个最大化问题。给定状态 s i ∈ S t a t e i s_i ∈ State_i si∈Statei以及随后的行动 A ( s i ) ∈ A c t i o n i A(s_i) ∈ Action_i A(si)∈Actioni,我们将代理将接收的最大预期累积奖励表示为 Q ∗ ( s i , A ( s i ) ) Q∗(s_i, A(s_i)) Q∗(si,A(si)),递归贝尔曼方程可以写成如下形式。
其中
γ
\gamma
γ是折扣因子,衡量未来奖励的重要性。将上述方程表示为迭代更新,我们得到以下方程:
其中α是学习率,决定了新获取的信息如何覆盖旧的Q值,
r
i
(
i
=
−
2
,
.
.
.
,
T
−
1
r_i(i = -2,...,T - 1
ri(i=−2,...,T−1表示在采取动作A(s_i)后观察到的当前状态si的中间奖励,并且
S
T
∈
{
[
i
,
−
1
,
−
1
,
−
1
,
−
1
]
∣
i
=
1
,
.
.
.
,
N
−
1
∪
S
t
a
t
e
N
}
S_T∈ \left \{{[i,-1,-1,-1,-1] | i = 1,...,N-1}∪ State_N \right \}
ST∈{[i,−1,−1,−1,−1]∣i=1,...,N−1∪StateN}是一个终止状态。注意,奖励:
r
−
2
,
.
.
.
.
r
T
−
2
r_{-2},....r_{T-2}
r−2,....rT−2在我们的任务中无法明确测量。在迭代过程中将它们设置为0,可能会导致初始收敛速度较慢(Zhong等,2018),从而使Auto-STGCN耗时。为了加速代理学习过程,我们引入奖励塑造(Reward Shaping)方法,在我们的Auto-STGCN算法中应用以下塑形中间奖励4代替。
其中Rs1∼sT是相应经过收敛训练集培训的STGCN模型的验证性能,用于轨迹 ( s 1 , . . . , s T ) (s_1,...,s_T) (s1,...,sT)的。在Auto-STGCN中,我们使用Q值结合epsilon-greedy策略来选择要评估的STGCN模型,然后根据评估信息和公式(9)来更新Q值。我们在补充材料中提供了Auto-STGCN的伪代码和收敛证明。
表2:用于描述STGCN模型编码的四种类型状态。考虑一个由n个ST-blocks组成的STGCN模型,使用(N+3)个5维向量来描述其详细信息,包括其结构和训练设置。
空间信息处理方法(SIPM)、时间信息处理方法(TIPM)和基于GCN的特征嵌入结构(FES)
损失函数(LF)、批大小(BS)、初始学习率(ILR)和优化函数(OF)、输入结构(IS)、输出结构(OS)
5 实验
在本节中,我们评估Auto-STGCN算法。我们使用MXNet(Chen等,2015)来实施所有实验。
论文:MXNet: A Flexible and Efficient Machine Learning Library for Heterogeneous Distributed Systems
5.1 实验设置
数据集。在实验中,我们使用了四个高速公路交通数据集:PEMS03,PEMS04,PEMS07和PEMS08,这些数据集是由Caltrans性能测量系统(PeMS)(Chen等,2001)收集的。对于每个数据集,我们将所有数据集按6:2:2的比例分割成训练集、验证集和测试集。我们使用过去的12个连续时间步长来预测未来的12个连续时间步长。
Auto-STGCN的实施细节。最大的ST-block数N被设置为4。在Q值更新过程中,学习率α设置为0.001,折扣因子γ设置为0.9。在搜索阶段,我们对代理==进行了2000个episode的训练==(需要很大的算力和计算时间),即总共采样了2000个STGCN模型。对于每个生成的STGCN模型,我们在PEMS03数据集上进行了固定的5个epochs的训练,并根据其在验证集上的MAE分数和推理延迟来衡量其性能。至于应用于Auto-STGCN的epsilon-greedy策略,我们按照图3所示的epsilon进度将ε从0.9减小到0.0。
我们的Auto-STGCN在单个NVIDIA Tesla V100 GPU上完成了约4.75个GPU天的搜索阶段。在获得在PEMS03数据集上搜索到的最佳自动生成的STGCN模型之后,我们在PEMS03数据集上对其进行了50个epochs的训练,并在测试集上报告了其性能得分。我们还评估了AutoSTGCNM对其他3个数据集的迁移能力,即PEMS04、PEMS07和PEMS08。图4显示了AutoSTGCNM的详细信息。
图3:Auto-STGCN中使用的ε值。
图4:由Auto-STGCN搜索得到的AutoST-GCNM的详细信息。
总结:
实验环境涉及到使用四个高速公路交通数据集(PEMS03、PEMS04、PEMS07和PEMS08)来评估 Auto-STGCN 模型。实验环境涉及了数据集、模型训练参数、计算资源、训练时间、迁移能力评估以及图表展示,其目的是为了评估 Auto-STGCN 模型在高速公路交通数据集上的性能和效果。
数据集:
- 使用的数据集:PEMS03、PEMS04、PEMS07和PEMS08,这些数据集是由Caltrans性能测量系统(PeMS)收集的高速公路交通数据。
- 数据集分割:每个数据集按照 6:2:2 的比例划分为训练集、验证集和测试集。
- 预测任务:使用过去的 12 个连续时间步长来预测未来的 12 个连续时间步长的交通情况。
Auto-STGCN 实施细节:
- ST-block 数量:最大 ST-block 数量(N)设置为 4。
- Q-learning 参数:在 Q 值更新过程中,学习率(α)设置为 0.001,折扣因子(γ)设置为 0.9。
- 训练 episode 数:在搜索阶段,代理进行了 2000 个 episode 的训练,每个 episode 代表一次模型搜索。
- 每个生成的模型:每个生成的 STGCN 模型在 PEMS03 数据集上进行 5 个 epochs 的训练,并根据验证集上的 MAE 分数和推理延迟进行评估。
- epsilon-greedy 策略:使用 epsilon-greedy 策略,在训练过程中逐渐减小 ε 从 0.9 到 0.0。
计算资源与时间:
- 计算资源:实验在单个 NVIDIA Tesla V100 GPU 上完成。
- 搜索阶段时间:搜索阶段(代理训练 + 模型生成)耗时约为 4.75 个 GPU 天。
- 模型训练:在找到搜索阶段的最佳模型后,对其进行了 50 个 epochs 的训练,以进一步提升性能。
- 迁移能力:模型性能在其他数据集(PEMS04、PEMS07、PEMS08)上进行了迁移能力评估。
图表展示:
- 图 3 和 图 4:这些图表提供了 Auto-STGCN 模型、策略和性能等的详细信息,用于支持实验结果的解释。
专业名词解释:
episode:在强化学习中,一个 episode 是代理与环境互动的一系列步骤,从初始状态到最终状态的过程。
折扣因子(γ,gamma):是一个介于 0 到 1 之间的值,用于表示未来奖励的重要性。例如,当折扣因子为 0 时,代理只关注即时奖励,不考虑未来的奖励。当折扣因子接近 1 时,代理会更加关注长期奖励。
Epsilon-Greedy 策略:一种常见的探索策略,用于在强化学习中平衡探索未知行动和利用已知最佳行动的权衡。Epsilon-Greedy策略涉及两个参数:ε(epsilon)和已知的最佳行动(或策略)。代理根据一个随机数和 ε 的值选择行动。如果随机数小于 ε,代理会选择一个随机行动以进行探索;如果随机数大于等于 ε,代理会选择已知的最佳行动进行利用。
5.2 Auto-STGCN的有效性
在这部分中,我们检验了Auto-STGCN的有效性。我们将AutoSTGCNM与第3.1节讨论的4个最先进的STGCN模型进行了比较:STSGCN(Song等,2020),ASTGCN(Guo等,2019a),STGCN(2018)(Yu,Yin和Zhu,2018),STGCRN(Bai等,2019a),使用四个空间 - 时间NDF任务。结果如表3所示。除了PEMS08外,我们的AutoSTGCNM在三个数据集上始终优于现有的STGCN方法。在PEMS08中,AutoSTGCNM在MAPE和RMSE方面表现最好,除了MAE略大于STS-GCN的情况。将现有STGCN模型的操作作为组件,Auto-STGCN通过整合不同模型的优势来设计一个更强大的STGCN模型,这证明了我们方法的有效性。
表3:不同STGCN模型的性能比较。时间指推断时间。
总结:
作者在实验中对 Auto-STGCN 模型的有效性进行了检验,并将其与四个先进的 STGCN 模型进行了比较,使用了四个不同的空间-时间网络数据预测(STNDF)任务。通过实验对比,作者验证了 Auto-STGCN 模型在多个数据集上的性能优势,其设计的模型在预测空间-时间网络数据任务中取得了更好的结果,验证了方法的有效性和优越性。
5.3 多样性和灵活性的重要性
我们进一步调查了多样的ST-block结构和灵活的连接方法对STGCN模型性能的影响,使用了以下三个AutoSTGCNM的变体,从而检验了我们在Auto-STGCN中设计的搜索空间的合理性。
- -多样性:该模型将AutoSTGCNM模型中所有ST-block的结构更改为与AutoSTGCNM中第三个ST-block相同,即(SIPM2,TIPM2,FES3)。
- -连接灵活性:该模型将AutoSTGCNM模型中的ST-block的连接方法更改为ST-block1→ST-block2→ST-block3。
- -多源:该模型将-连接灵活性模型中所有ST-block的结构更改为(SIPM3,TIPM2,FES4),其中所有与ST-block有关的操作来自同一篇论文,即STS-GCN(Song等,2020)。
正如图5所示,AutoSTGCNM的性能要比-Diversity和-Connection Flexibility好得多。这个结果表明,应用不同的ST-block结构和ST-block之间的灵活连接方法可以有效地提高STGCN模型的性能,这与我们在第3.2节中的讨论一致,也证明了我们在Auto-STGCN中设计的搜索空间的合理性。此外,我们观察到-Multiple Source的表现最差。这个结果表明了打破现有STGCN模型的原始组合的重要性和必要性。通过将不同STGCN模型的优秀操作结合起来,可以找到更强大的STGCN模型,这证明了我们方法的合理性。
图5:在PEMS03数据集上对三个AutoSTGCNM变体的性能评估。
总结:
作者进一步对 Auto-STGCN 模型进行了调查,通过引入三种 AutoSTGCNM 的变体来研究多样的 ST-block 结构和灵活的连接方法对 STGCN 模型性能的影响。实验结果表明:应用不同结构和连接方式可以有效提高 STGCN 模型的性能。印证了前文在第3.2节中的讨论。
6 结论与未来工作
本文提出了Auto-STGCN,以帮助用户使用现有工作自动设计高性能的STGCN模型,从而有效地解决实际的空间 - 时间NDF问题。我们的方法打破了原始的组合,使得不同STGCN模型的优秀操作可以组合在一起,通过整合多个模型的优势并应用有效的STGCN优化方法,发现了更强大的STGCN模型。对实际基准数据集进行的广泛实验表明,我们的Auto-STGCN可以找到优于现有STGCN模型的模型,其启发式参数,这证明了我们提出的方法的有效性。在未来的工作中,我们将尝试提出有效的方法,以快速评估在优化过程中分析的候选STGCN模型,以进一步加速优化速度。