文章信息

《Generative Adversarial Networks for Spatio-Temporal Data: A Survey》是2021年1月发表在ACM Trans. Intell. Syst. Technol上的一篇文章。

摘要

生成式对抗网络(GAN)在计算机视觉领域中已经在生成真实感图像方面取得了显著的成功。近年来,基于遗传算法的技术在轨迹预测、事件生成和时间序列数据输入等时空数据处理方面具有广阔的应用前景。虽然对计算机视觉中GAN的一些综述已经提出,但没有人考虑解决与时空数据相关的实际应用和挑战。本文综述了近年来在时空数据方面的研究进展,总结了流行的时空数据GAN架构的应用,以及用GAN评估时空应用性能的常见做法。最后,指出了未来的研究方向,以帮助这一领域的研究人员。

介绍

时空特性在交通、社会科学、犯罪学等各个领域中都普遍存在,其中传感器和大数据的扩散迅速改变了时空特性。然而,大量的时空数据需要适当的处理技术来构建有效的应用程序。通常,传统的数据挖掘方法在处理事务数据或图数据时,在时空数据集上表现不佳。究其原因,主要有两个方面:(1)时空数据往往处于连续空间中,而传统数据(如事务数据、图数据)往往是离散的;(2) 时空数据通常具有空间和时间属性,传统技术难以捕捉数据相关性。此外,时空数据具有很强的自相关性,数据样本通常不像传统数据那样独立生成。

随着深度学习的普及,许多神经网络(如Convolutional neural Network (CNN)、Recurrent neural Network (RNN)、Autoencoder (AE)、Graph Convolutional Network (GCN))被提出,并在时空数据建模方面取得了显著的成功。然而,传统的基于深度学习的时空建模方法存在一定的局限性。例如,现有的方法使用确定性模型(如RNN),不能捕捉时空数据的随机行为。此外,传统的深度学习方法缺乏支持抽象数据推理的有效机制,难以识别导致模型改进的因素。为了解决上述挑战,文章探索了深度学习领域最有趣的突破之一:生成对抗网络(Generative Adversarial Networks, GAN),它可以隐式地学习时空数据上的丰富分布,并处理多模型输出。

GAN是一种生成模型,它学习对抗性地生成真实数据。它由两个组件组成:生成器G和判别器D。G捕获数据分布,并从潜变量z产生真实的数据,D估计数据来自真实数据空间的概率。GAN采用零和非合作博弈的概念,训练G和D相互对抗直到达到纳什均衡。最近,GAN在各个领域得到了广泛的关注,包括图像(如图像平移、超分辨率、联合图像生成、目标检测、改变面部属性)、视频(如视频生成、文本到视频)和自然语言处理(如:文本生成,文本到图像)。

然而,图像或视频生成方法不适用于在交通流、区域降雨和行人轨迹等实际应用中对传统ST数据(如时间序列、轨迹、时空事件、时空图)进行建模。一方面,图像生成通常考虑输入和输出图像之间的外观,不能充分处理空间变化。另一方面,视频生成考虑了图像之间的空间动态,但当下一幅图像的预测高度依赖于前一幅图像时,没有充分考虑时间的变化。尽管由于视频在空间和时间维度上的动态位置,可以将其视为一种特殊类型的时空数据,但使用GAN生成视频的讨论通常属于计算机视觉领域,其中有几篇论文已经全面回顾了使用GAN生成视频的最新进展。因此,需要探索用GAN技术成功模拟时空数据的新方法。

最近,GAN已应用于时空数据建模,其应用通常包括生成未识别的时空事件、时间序列插补、轨迹预测、图形表示,等等。尽管GAN在计算机视觉领域(如图像和视频生成)取得了成功,但将GAN应用于时空数据预测仍具有挑战性。例如,在以前的研究中,利用其他信息,例如兴趣点(POI)和天气信息,仍然没有被涉及。此外,不同于图像上的研究人员可以依赖于对生成的实例进行视觉检查,基于时空数据的GAN评估仍然是一个未解决的问题。对时空数据采用传统的GAN评价指标既不实用,也不合适。

管许多研究者已经用GAN对时空数据进行了建模,但在这一领域还没有相关的调查来探讨将GAN用于时空数据应用的潜力。在将GAN技术应用于时空应用时,缺乏全面的综述使得研究人员更难识别问题并选择合适的方法(如架构、损失函数、评估指标)。本文首次对时空数据的GAN进行了全面的概述,描述了GAN有前景的应用,并指出了在不同时空相关任务中实现成功应用所需解决的一些剩余挑战。

为了全面概述关于时空数据的GAN的所有相关研究,文章使用Google Scholar进行基于关键字的自动搜索。搜索周期从2014年到2021年,因为GAN最初出现在2014年。然而,引入时空数据挖掘新概念或方法的论文可以追溯到2014年之前。为了确保调查能涵盖所有相关的主要文献,文章将这些开创性的论文包括在内,而不考虑它们的出版日期。

基础知识

时空数据

时间和空间的存在引入了各种各样的时空数据类型,导致了制定时空数据挖掘问题和技术的不同方式。在这一部分中,文章将首先介绍时空数据的一般属性,然后描述时空数据在不同应用中使用生成式对抗网络的常见类型。

(1)一般性能。时空数据的一些一般属性(即空间引用、时间引用、自相关和异质性)。如下所述。

空间参照。空间参照描述了对象是与固定位置关联还是与动态位置关联。传统上,当从静止传感器(例如,气象站)收集数据时,认为数据的空间维数是固定的。最近,随着移动计算和基于位置的服务的发展,移动对象的动态位置已经被记录下来,其中收集的数据来自连接到不同对象的传感器,例如道路车辆的GPS轨迹。

时间参照。时间参考描述了对象的演化程度。最简单的上下文包括不演化的对象,其中只有对象的静态快照可用。在稍微复杂一点的情况下,对象可以改变状态,但是只有最近的更新快照保留下来,而状态的完整历史是未知的。极端环境由移动对象组成,其中保留了移动的完整历史,因此生成了所有状态都已遍历的时间序列。

自相关。时空数据的观测不是独立的,通常在近距离测量之间存在空间和时间相关性。例如,在交通区域,每个停车场中具有唯一空间位置的传感器可以记录车辆到达或离开时的时间信息。时空数据的这种自相关导致了时间测量的平滑性(例如,温度随时间的变化)和空间测量之间的一致性(例如,相邻位置的温度值相似)。因此,不考虑时间相关性的计算机视觉领域的传统GAN技术(例如,图像生成)可能不适合时空数据。

异质性。时空数据集可以在不同层次上显示空间或时间信息的异质性。例如,一个城市的交通流在不同的星期之间可能表现出相似的模式。在一周内,周一的交通数据可能与周五的数据不同。由于公共事件或极端天气,也可能出现周间变化,影响城市的交通模式。为了处理时空信息的异质性,有必要学习不同时空区域的不同模型。

(2)数据类型。在现实世界的应用中,存在各种时空数据类型,在空间和时间上下文的表示上有所不同。因此,在应用程序中建立可用的时空数据类型以有效使用GAN方法至关重要。在这里,文章描述了最近用GAN研究的四种常见的时空数据类型:(1)时间序列;(2) 时空事件;(3) 时空图;(4) 轨迹数据。在上述四种时空数据中,时空事件和轨迹捕捉离散对象和事件的观察结果。同时,时间序列和时空图记录了连续或离散时空场的信息。尽管现实世界中还有其他类型的时空数据可用,但在某些情况下,它们可以转换为另一种,或者可以用与上述四种类型类似的方法(例如,顺序数据与时间序列)进行处理。接下来,文章将简要讨论这些数据类型的属性,以及在使用GAN时可能遇到的困难。

时间序列。时间序列可以表示为按时间顺序列出的数据点序列(即离散时间数据序列)。时间序列的例子包括一天内的室内温度值,物联网设备中加速计读数的变化,一个月内股价的波动,时间序列分析包括分析时间序列以提取有用的统计信息和数据特征的技术。用于处理时间序列的常见问题包括但不限于:我们能否根据历史值预测时间序列的未来值?我们能用相似的时间和空间模式将时间序列分组吗?我们能在多变量时间序列中自动估算缺失值吗?我们能根据时间序列的特征属性将其分割成不同的部分吗?

时空事件。时空事件表示包含时间、空间信息以及附加观测值的元组。时空事件(见图1(a))经常用于现实世界中的应用,如出租车需求、交通流、城市、森林火灾等。在某些情况下,时空事件甚至可能具有持续时间,如停车或太阳物理。通常,一组有序的时空事件也可以被视为运动对象访问空间位置的轨迹。用于分析时空事件的一些常见问题包括:我们能否根据之前的观测结果预测未来的时空事件?如何基于时间和空间对时空事件进行聚类?我们能否识别不遵循其他事件共同模式的异常时空事件?

生成对抗网络交叉熵公式 生成对抗网络综述_编程语言

轨迹数据。轨迹代表移动物体在特定时间的位置记录,它通常被定义为从时间域映射到空间域的函数。在轨迹数据挖掘领域已经进行了几项研究,并且有四个主要类别:人的移动性,交通工具的移动性,自然现象的移动性和动物的移动性。图1(b)显示了物体A和物体B的两个轨迹的例子处理轨迹数据的常见问题包括:能否根据历史轨迹痕迹预测未来轨迹?我们能把一个轨迹集合分成小的代表组吗?我们能从轨迹中发现异常行为吗?

时空图。时空图结构提供了不同节点在不同时间的关系表示。时空图已经应用于各种领域,例如商业(例如,国家之间的贸易)、运输(例如,路线规划算法、交通预测)和社会科学(例如,研究不同社会现象的地理空间关系)。图2是时空图的一个例子。处理时空图的一些常见问题包括:我们能否基于历史图表示来预测图的状态?我们能否根据之前的图网络预测链接?

生成对抗网络交叉熵公式 生成对抗网络综述_编程语言_02

基于非GAN网络的时空深度学习

在这里,文章介绍使用非GAN网络(即卷积神经网络、递归神经网络、自动编码器、图形卷积网络)对时空数据进行传统深度学习的方法,这些方法通常集成到时空数据建模的GAN架构中。

CNN。卷积神经网络(CNN) 是一种深度前馈神经网络,通常用于分析视觉图像。典型的CNN模型由一个输入层、一个输出层和一些隐藏层组成。与传统的多层感知器(MLP)相比,CNN可以开发二维图像的内部表示,允许CNN更广泛地用于具有空间相关性的其他类型的数据。虽然细胞神经网络不是专门为非图像数据开发的,但它已广泛用于轨迹和ST栅格数据的ST数据挖掘问题。

RNN,LSTM和GRU。递归神经网络(RNN)是一种神经网络,其中以前的输出作为当前步骤的输入。RNN的优势在于隐藏状态(内存),它可以捕获到目前为止在序列中计算出的信息。图3(a)显示了RNN的基本架构。

生成对抗网络交叉熵公式 生成对抗网络综述_编程语言_03

虽然RNN在许多应用领域中有效地工作,但是可能存在一个称为消失梯度的问题。为了解决这个问题,RNN的两个变种被开发出来:长短期记忆(LSTM)和门控循环单位(GRU)网络。LSTM能够通过一种特殊的记忆单元来学习长期依赖关系。一个LSTM细胞有三个门(忘记门,输入门和输出门)来调节信息流。与标准的LSTM模型相比,GRU具有更少的参数,它将输入门和遗忘门合并成一个“更新门”,并将单元状态和隐藏状态合并。RNN、LSTM和GRU被广泛用于学习时间序列和ST数据的时间相关性。

自动编码器(AE)。AE是一个神经网络,通过以无监督的方式学习数据编码,对其进行训练以将其输入复制到其输出。网络由两部分组成:编码器和解码器,如图3(b)所示。编码器功能将输入压缩成潜在空间表示,解码器通过该表示重构输入。作为一种常用的无监督表示学习方法,AE在轨迹,时间序列和其他时空数据中的分类和预测任务中很受欢迎。

图卷积网络(GCN)。凭借从局部图结构和节点特征中提取表示的能力,GCN 在解决时空图数据集上的学习任务方面已经变得流行。其他深度学习模型在处理时空预测任务方面存在问题,例如基于RNN的网络在训练中通常具有繁重的计算,而正常的卷积运算局限于网格结构。STGCN以不同的方式将流量数据转换为图形结构格式,并使用时空卷积块来捕获空间和时间相关性。此外,通过切比雪夫多项式近似或一阶近似可以减少计算量。最近,注意力机制已被用于GCN模型,以学习训练中时空因素的影响,如图形多注意力网络(GMAN)和基于注意力的时空图形卷积网络(ASTGCN)。

生成对抗网络

GAN的基本思想

GAN最初的概念是创建两个神经网络,让它们相互竞争。如图4所示,GAN的基本架构包括两个组件:一个生成器和一个判别器。一方面,生成器的任务是合成假图像来欺骗判别器。另一方面,判别器,就其名称而言,学会区分其输入是否是假图像。

生成对抗网络交叉熵公式 生成对抗网络综述_python_04

生成对抗网的基本思想更一般,即创建一个伪分布使其尽可能接近真实数据分布。通过这种方式,可以得到一个很好的近似值,然后可以从这个近似分布中取样。这种方法的优点在于,由于生成器正在学习直接逼近真实分布,因此不需要引入马尔可夫链。此外,其简单的结构使其更容易与其他技术结合。

在训练过程中,生成器和判别器同时进行训练,并根据对方的结果进行训练,形成一个具有总体目标函数的极大极小博弈:

生成对抗网络交叉熵公式 生成对抗网络综述_python_05

尽管有上述所有优势,但原始的生成性对抗网络在某些地方仍然不足。实际结果表明,训练过程特别复杂,为了优化生成器,生成器可能会出现消失梯度。为了解决所有可能出现的问题,提出了许多GAN的变体。

GAN变体的结构

虽然普通GAN显示了其数据生成的潜力,并且这种结构中的判别器被证明在分类任务上是有效的。但是它仍然受到模糊和可能的模式下降/崩溃的困扰。此外,在生成过程中没有控制,因为其无监督的方式。为此,一些研究将其他机器学习技术引入到原始GAN结构中,这些变体的架构如图4所示。

Attention