郑宇、梁玉轩
深度学习模型是时空图(STG)预测的现代工具。尽管它们很有效,但它们需要大规模的数据集
来获得更好的性能,并且容易受到噪声扰动
。为了减轻这些限制,一个直观的想法是使用流行的’数据增强’和’对比学习’技术。然而,现有的图对比学习方法
由于三个原因不能直接应用于STG预测。
图结构
、时域
和频域
方面干扰数据。我们还通过一种基于规则的策略来扩展经典的对比损失,从而过滤掉语义上最相似的负值
。我们的框架通过三个真实世界的数据集和四个最先进的模型进行了评估。持续的改进表明,STGCL可以用作现有深度模型的现成插件。部署大量的传感器来感知城市环境是建设智能城市的基础。由分布式传感器产生的分时变数据通常可以表示为时空图
(STG)。利用生成的数据,一个重要的任务是根据历史观察来预测未来的趋势。这一问题的最新技术可以分为卷积神经网络(CNN)或基于循环神经网络(RNN)的方法,这取决于他们建模时间相关性的技术。为了捕捉空间相关性,这些方法主要使用流行的图神经网络(GNN)。
最近,一系列基于图的对比学习的方法被提出,并在无监督设置下的几个任务上取得了出色的表现。这些方法的共同思想是最大限度地提高具有相似语义(正例样本)的图元素表示之间的一致性,同时最小化具有不相关语义信息(负例样本)的图元素表示之间的一致性。对于应用数据增强的工作,通过应用图数据增强生成同一图的两个视图(称为锚),得到正例样本,在一批中锚和其他图的视图之间形成负例样本。这样就可以得到可推广化和鲁棒的表示。
在这项工作中,我们的目标是增强STG预测与一个辅助的对比学习任务
。其原因有两个方面。首先,这一领域的公开数据集通常只有几个月的数据,这限制了可以构建的训练样本的数量。其次,传感器读数从来不完全准确,有时由于一些意想不到的因素,如信号中断(Yi等。2016)。通过使用数据增强和补充对比损失训练模型,我们能够提供额外的监督信号,并学习对干扰不变的高质量表示。然而,现有的图对比学习方法(如GraphCL)。由于以下挑战,不能直接应用于STG预测。
图表示学习
中典型的两阶段训练过程,首先用对比目标训练时空编码器,然后用未经训练的解码器对编码器进行线性评估或微调,以预测未来。然而,本文研究发现,这种图表示学习方法都比纯监督学习的方法表现得更差。结果表明,从对比目标学习到的预先训练的表征对预测任务没有什么好处,这与使用节点/图分类作为下游任务的情况不同。数据增强
带来的效果。数据增强在对比学习方法中起着重要的作用,它们帮助模型学习不同类型和不同扰动水平下的稳定表示。然而,到目前为止,对STG的数据增强的探索较少。例如,STG数据的内在属性(特别是时间依赖性)在当前的图增强方法中没有被使用。样本之间存在内在
的关系,如时间维度的临近性和周期性。图4显示了一个例子:周一早上6点到7点的样本(模式)与周二的同一时间段非常相似,这表明了周期性。在这种情况下,不适合将这两个语义上相似的样本设置为负例样本,即不需要分开它们的表示。因此,我们需要一种能够有效地识别负例样本的方法。为了解决上述挑战,本文提出了一种名为时空图对比学习(STGCL
)的新框架。基于STG的独特特性,对现有的图对比学习进行了三大改进。
损失叠加
来提高模型的性能,而不是依赖于两个单独的阶段。数据增强
方法。图对比表示学习
的目标是学习一个GNN编码器
,它可以从输入中提取有用的图的表示
。一个典型的图对比学习框架的工作如下:对于输入图,采用随机数据增强方法
生成两个相关视图,然后将这些视图通过一个GNN编码器网络和一个读出函数进行传播,得到两个高级图表示。一个名为“投影头
”的非线性变换进一步将图表示映射到另一个潜在空间,在那里计算对比损失
。
在训练过程中,通过上述过程对一批M个图进行采样和处理,共得到2M个表示。设zni、znj表示一批图中第n个图中的两个相关视图,sim(zni、znj)表示它们之间的余弦相似性。在GraphCL中应用的对比损失是InfoNCE损失的一种变体,定义为:
L n = − l o g e x p ( s i m ( Z n i , Z n j ) / τ ) ∑ n ′ = 1 , n ′ ≠ n M ( e x p ( s i m ( Z n i , Z n ′ j ) / τ ) ) τ 为 温 度 参 数 \mathcal{L}_n=-log\frac{exp(sim(Z_{ni},Z_{nj})/\tau)}{\sum^M_{n'=1,n'\ne{n}}(exp(sim(Z_{ni},Z_{n'j})/\tau))} \quad \tau为温度参数 Ln=−log∑n′=1,n′=nM(exp(sim(Zni,Zn′j)/τ))exp(sim(Zni,Znj)/τ)τ为温度参数
为了将预先训练好的模型用于下游任务,如图分类,在GNN编码器上使用交叉熵损失
来训练线性分类器,这些编码器可能被冻结(线性评估)或未冻结(微调)。在推理时丢弃投影头。
时空图预测问题的输入有两个,包括图结构和图信号。应用对比学习来获得样本数据的特征,首先要用数据增强的方式创建正负样本。原数据经过ST-encoder之后传入ST-decoder进行预测任务;另外,生成的正样本通过ST-encoder得到初始特征表示,通过映射头将样本特征映射到对比于中,产生对比损失用于模型的训练。
在本文中,我们提出了一种新的框架STGCL,通过对比学习来增强STG预测,并充分利用STG数据的独特特征。我们的目标是鼓励从编码器中获得的时空摘要对扰动不变,并进行区分,以区分不同样本的时空模式。这将有助于提高性能和增强模型的鲁棒性。STGCL的pipeline如下所示:
本文进行数据增强的数据为时空图,表示为 G = [ X ( t − S ) , t , G s t a t i c ] \mathcal{G}=[X_{(t-S),t},G_{static}] G=[X(t−S),t,Gstatic],生成的正样本用 G ′ \mathcal{G}' G′表示。
然后,我们使用一个时空编码器将原始输入
和增强输入
映射到高维特征
H,H0∈RN×D,其中D表示隐藏维度的大小。由于数据中的特征知识已经编码为高维特征表示,因此消除了时间维度。随后,这些表示法将被流入以下两个分支之中:
时空解码器
提供表示H来预测未来的步骤。利用解码器ˆYt:(t+T)的预测,用真实值计算预测损失。辅助对比任务
。具体来说,我们利用一个’求和函数’作为读出函数来获得输入数据的时空摘要s,s0∈RD。我们进一步通过一个投影头将摘要’映射到潜在空间’z,z0∈RD。所应用的投影头有两层线性层,其中第一层之后是批归一化和ReLU。最后,利用对比损失来最大限度地提高z和z0(正例样本)之间的相似性,并使z和其他样本的增广视图(负例样本)之间的相似性最小化。在这里,我们建议通过负滤波操作来避免在语义上最相似的样本之间形成负例样本。G-->ST-encoder---->H-->ST-decoder-->predict-->loss
| |
| |
G'|-->ST-encoder-->H'-->{sum()}-->S,S'-->{Linear()-->BatchNorm()-->ReLU()-->Linear()}-->Z,Z'
-->contrastive loss=max{sim{Z,Z'},min{sim{Z,K}}
S长度的时空序列,加上静态图结构,怎么进行数据增强?
数据增强是对比性学习框架的一个重要组成部分。它有助于构建语义上相似的对
,并对学习到的表示
的质量有很大的影响(Chen等。2020)。在图领域已经提出了几种关于图的增强方法,如边缘扰动和子图采样。然而,它们最初是为传统图设计的,而STG却并非如此。例如,他们不考虑时间相关性。
在本研究中,我们提出了四种类型的数据增强方法,它们在图结构、时域和频域方面干扰
数据,从而使学习到的表示对图结构或信号的变化不那么敏感
。请注意,我们在本节中表示X(t−S):t∈RS×N,因为只有目标属性(例如流量速度)被修改,而其余的输入属性未被修改。论文给出了每种方法的细节。
随机删除adj的边
边缘扰动建议在一个无权图中添加或删除一定的边的比例。然而,对于STG预测中使用的加权邻接矩阵是很尴尬的,因为很难给添加的边分配合适的权重。因此,我们通过删除的邻接矩阵条目来做了一个小的修改来干扰图的结构。增广矩阵A0的每个条目由:
其中M∼U(0,1)是一个随机矩阵,rem是可调谐的。为了提高效率,我们在一批样本中共享增强矩阵。该方法同时适用于预定义邻接矩阵和自适应邻接矩阵(Wu等。2019)。
随机删除节点信息
如前所述,在STG数据中经常会缺少一些值。为了加强模型对该因素的鲁棒性,我们通过屏蔽原始输入特征矩阵的条目来模拟这个过程。增强特征矩阵P(t−S):t的每个条目由以下生成:
STG数据来自自然,并随时间不断演化。然而,传感器只能以离散的方式记录它们,例如,每次读数5分钟。在此基础上,我们沿着时间轴移动数据,以利用两个连续时间步长之间的中间状态(见图3)。我们通过在连续的样本之间进行线性插值
来实现这一想法。
其中α在分布U(rts、1)内生成,每个时代和rts都是可调的。该方法具有样本特异性,这意味着不同的样品具有其独特的α。同时,我们的操作可以与混合增强联系起来(Zhang等。2017)。主要的区别是,我们在两个连续的时间步长之间进行加权平均,以确保插值精度。
为了消除STG中的数据噪声,该方法通过缩放频域中的高频条目来平滑输入(见图3)。具体来说,我们首先将历史与未来值(在训练期间都可用)连接起来,将时间序列序列的长度扩大到L=S+T,并获得X(t−S):(t+T)∈RL×N。然后应用离散余弦变换(DCT)将每个节点的序列从时域转换为频域
。我们保持低频Eis项不变,并通过以下步骤调整高频L−Eis项:1)我们生成一个随机矩阵M∈R(L−Eis)×N,它满足M∼U(ris,1),并且ris是可调的。2)我们利用归一化邻接矩阵˜A使M=M˜A2生成的矩阵平滑。直觉是,相邻的传感器应该具有相似的尺度范围,乘以˜A的两步应该足以平滑数据。当邻接矩阵不可用时,可以省略此步骤。3)我们按元素顺序乘以随机数与原始的L−Eis条目。最后,我们使用逆DCT(IDCT)将数据转换回时域。
我们的框架的一个主要优点是它的通用性,也就是说,它可以整合到大多数现有的STG预测模型中。其中,有两种主流方法:基于CNN的方法和基于RNN的方法。这里,我们简要介绍它们的体系结构。对于’编码器’,基于CNN的方法通常顺序或同步地应用时间卷积
和图卷积
来捕获时空依赖性。时间卷积的广泛应用形式是扩张因果卷积
,它通过增加层深度使感受野呈指数增长。而在基于RNN的方法中,图卷积与递归神经网络相结合
。例如,用扩散卷积代替门限循环单元中的矩阵乘法。对于’解码器’的形式,基于CNN的模型通常应用多个线性层MLP
将高维表示映射到低维输出。在基于RNN的模型中,采用前馈网络
或递归神经网络
来生成最终预测。
问题:对于对比学习而言,数据增强得到的样本应该是去除噪音的正例,负例则是随机选取。虽然是随机的,但还是要有所限制,因为我们的目标是尽可能使的负例相似度尽可能低,因此如果我们选择语义上很相似的另一个样本作为负例的话,可能有语义层面的干扰。具体要看实验部分如何设置的。
STG预测中建立的样本之间存在时间相关性
,如closeness, periodicity。例如,图4说明了PEMS-BAY数据集上不同时间步长的平均流量速度。我们可以观察到,周一早上6点到7点的模式与当天早上7点到8点相似(closeness),也与周二(daily periodic)和下周一(weekly periodic)的同一时间相似。因此,时间相近的样本(无论白天如何)在潜在空间中可能有相似的时空表征。如果我们通过使用这些语义上相似的样本(即hard negative samples)来形成负例样本,并分开它们的表示,它可能会破坏语义结构,降低性能
。
因此,我们提出了一种’基于规则的策略’,它利用输入中的"time of day"属性来过滤掉每个样本上最难的负值。在本文中,由于回归任务中缺乏语义标签,我们使用阈值射频来定义了最难的负值。具体来说,将锚的开始"time of day"表示为ti,我们可以在一批中获得一组可接受的负值{z00i},其中每个样本的开始"time of day"t满足|t−ti|>rf,rf是一个可控的阈值。经验表明,射频的选择对学习表征的质量具有重要意义。例如,使用一个非常大的射频将显著减少负样本的数量,这可能会损害对比任务。有关详细信息,请参见第5.4节。
对比损失和预测损失之和用于模型的训练损失。
s i m ( Z i , Z i ′ ) = Z i T Z i ′ ∣ ∣ Z i T ∣ ∣ × ∣ ∣ Z i ′ ∣ ∣ L c l = 1 M ∑ i = 1 M − l o g e x p ( s i m ( Z i , Z i ′ ) / τ ) ∑ z j ∈ z i ′ ′ e x p ( s i m ( Z i , Z j ) / τ ) τ 为 温 度 参 数 L p r e d = 1 M ∑ i = 1 N ∣ Y ^ i t : ( t + T ) − Y i t : ( t + T ) ∣ L = L c l + λ L p r e d sim(Z_i,Z'_i)=\frac{Z^T_iZ'_i}{||Z^T_i||\times||Z'_i||} \\ \mathcal{L}_{cl}=\frac{1}{M}\sum_{i=1}^{M}-log\frac{exp(sim(Z_{i},Z'_{i})/\tau)}{\sum_{z_j\in{z''_i}}exp(sim(Z_{i},Z_{j})/\tau)} \quad \tau为温度参数 \\ \mathcal{L}_{pred}=\frac{1}{M}\sum^N_{i=1}|\hat{Y}_i^{t:(t+T)}-{Y}_i^{t:(t+T)}| \\ \mathcal{L}=\mathcal{L}_{cl}+\lambda\mathcal{L}_{pred} sim(Zi,Zi′)=∣∣ZiT∣∣×∣∣Zi′∣∣ZiTZi′Lcl=M1i=1∑M−log∑zj∈zi′′exp(sim(Zi,Zj)/τ)exp(sim(Zi,Zi′)/τ)τ为温度参数Lpred=M1i=1∑N∣Y^it:(t+T)−Yit:(t+T)∣L=Lcl+λLpred