论文研读 | 通过自然语言生成翻译人员流动预测

本篇论文来自2022年的WSDM会议,主要聚焦了利用语言模型来进行流量预测问题,通过将流量预测问题转换为类似prompt的操作,提升流量预测问题建模的可拓展性和通用性。虽然目前在LLM的快速发展下,各个领域类似的工作已经较多地涌现出来,但该论文应该是较早探索这种范式的工作之一,部分方法依然值得参考借鉴。

Translating Human Mobility Forecasting through Natural Language Generation

1.Introduction

人的移动预测,如下一个位置预测任务和客流预测任务是许多领域的重要组成部分,包括人的移动理解和智慧城市应用。在文献中,人类移动预测总是通过时间序列预测框架来解决。在这个预测框架中,模型将数值移动数据(例如,每个兴趣点的访问次数)作为输入,并产生未来某个时间段的预测值。

在过去的几年里,移动预测模型的深度学习技术取得了重大进展。为了更好地捕捉人类的移动模式并预测未来的移动,这些模型考虑了历史移动记录之外的不同类型的上下文信息。例如,与兴趣点(poi)相关的语义类别被纳入人类移动预测模型,外部信息,如当地天气条件、星期几和时间,被纳入交通流量预测模型。

图1

图1

图1的上半部分对这个预测工作流进行了简化和总结。多个数据源提供不同的信息(如POI id、语义信息和历史移动性),首先通过多个编码器或嵌入层来提取特征向量。在编码过程之后,提取/嵌入的上下文特征被连接起来,作为预测器/解码器的输入,从而得到预测结果(例如,图中示例中的10)。这个框架有两个主要的限制:(a)当有多个上下文时,连接操作可能不是合并不同数据源的最佳方式。当多个特征被添加到一起时,可能很难学习或捕获多个上下文的潜在相关性。(b)考虑到不同上下文的内在特性,预测模型需要多个不同的特征编码器或嵌入层来学习这些上下文的影响。这可能会显著增加预测模型的复杂性,使模型更难训练。

受自然语言处理模型发展的启发,神经网络翻译结构可能是解决上述限制的合适解决方案。假设所有类型的上下文信息和数据源都可以在一个自然语言句子中描述,那么预测模型只需要将句子作为输入,而无需使用不同的编码器或考虑如何组合不同的上下文。论文试图回答这个研究问题:能否以自然语言翻译的方式预测人类的移动性,同时保持较高的移动性预测性能?

与现有的人类移动预测方法不同,论文为移动性的“翻译”创建了一个非常规的流程,本质上是从历史移动到未来移动的转化。如图1的下半部分所示,论文提出通过语言生成管道进行预测的方法是序列到序列结构。通过移动描述,将移动数据和其他上下文信息转化为自然语言句子。然后,在移动翻译步骤中,将这些描述性句子作为输入,并生成一个表示预测结果的自然语言句子作为输出。

具体而言,论文提出了一种新的双分支架构SHIFT (translation Human Mobility Forecasting),用于上述通过语言生成流水线进行人类移动预测的核心移动“翻译”部分。该架构由一个主要的自然语言分支(NL)和一个辅助的移动分支(Mob)组成。NL分支被实现为一个序列到序列的结构来"翻译"移动描述,而Mob分支专注于学习移动模式。辅助分支的目的是进一步提高主分支生成移动预测的能力。论文主要创新点如下:

1)论文通过语言生成管道探索和开发了一种新的移动预测方法。这是第一项从自然语言翻译和生成的角度解决人类移动预测任务(时间序列数据预测)的工作。

2)论文提出一个双分支网络SHIFT,它有一个用于语言生成的主分支和一个用于显式学习移动模式的辅助分支。为了连接这两个分支,还引入了一种基于动量平均的方法。

3)在三个真实数据集上进行了广泛的实验。结果表明了所提出SHIFT的优越性能及其每个组成部分的有效性。

2.Method

2.1 Problem Formulation

设一个城市中存在POI点集。对于每个POI表示语义类别信息,例如餐馆或公园。POI 的一天访问量表示为。人类移动预测问题定义如下:给定访问次数的历史记录,目标是预测下一天的访问次数 。访问次数的真实值表示为, obs表示给定历史访问记录的观察长度。为了简化,论文的其余部分忽略了上标𝑢(表示POI id)。

2.2 THE PROPOSED METHOD

2.2.1 Mobility Description

在提出的通过语言生成预测管道中,要解决的一个重要步骤是如何用自然语言描述移动数据。这种从移动行为到语言的转换为“移动翻译器”提供了源句子和目标句子。为此,提出一种简单有效的基于模板的移动行为描述方法。

表1展示了所提出的移动描述方法的机制。一般分为两部分:输入描述生成和输出描述生成。对于输入描述,它生成prompts作为编码器的输入自然语言句子(图1下半部分的蓝色框)。如表所示,prompts由四个元素组成:1)POI语义:给出POI id并描述POI的语义类别信息;2)观测时间:表示观测时间段的时间戳;3)移动性数据:将移动性数据转换为自然语言,是提示的重要组成部分;4)预测目标:提供预测目标时间戳的线索。通过将所有四个元素链接在一起(表1中的前四行),就生成了整个prompts。

表1

表1

类似地,输出描述部分(用作训练和评估的基础事实)处理作为解码器预期输出的目标句子(图1下半部分的绿色框)。它只有一个句子,并专注于预测目标。表1的最后一行给出了输出描述的一个例子。

根据可用的数据,还可以很容易地在提示中添加其他用于描述移动预测额外信息的句子,如假日信息(例如,周二是节礼日)和天气条件(例如,周四有阵雨)。对于传统的时间序列预测框架来说,为了兼顾各种类型的额外信息,需要显式地设计并引入额外的模块或层。而所提出的基于语言生成的移动性预测方法只需要更新提示,而不需要添加额外的层或调整模型架构。这反映了所提出的通过语言生成管道进行预测的灵活性。

2.2.2 Two-Branch Structure

图2

图2

所提出方法的整体框架如图2(c)所示(图2(a)和图2(b)是SHIFT的两个变体,更多细节在后文给出)。它由两个分支组成:(1)自然语言分支(NL):一个具有序列到序列结构的分支,它是SHIFT的主要分支,对输入提示进行翻译,生成输出句子;(2)辅助移动分支(Mob):一种在预测移动模式时加强SHIFT能力的辅助分支。下面几节给出了SHIFT的细节。

2.2.2.1 NL Branch

通过移动性描述,将移动性数据X和其他上下文信息(如语义类别𝑐)转换为自然语言prompt S。此外,还将预测目标描述为目标句子𝑌。遵循标准的自然语言处理程序,然后将tokenization应用于生成的prompt句子。

token化之后,提示S被解释为token的列表,其中𝐽是列表的长度。每个token(列表中的元素)属于一个词汇表,其中保存了整个数据集的token映射。类似地,目标句子𝑌(即表1中最后一行给出的句子)被编码为,𝐾是目标句子token的长度。

整个NL分支遵循序列到序列/编码器-解码器结构,编码过程可以表述为:

其中具有权重 是一个嵌入层,用于将每个输入token嵌入到𝑑维度向量 。具有可训练权重的编码器接受嵌入向量来为后面的解码器部分生成隐藏状态。在SHIFT中,使用Transformer作为编码器。

NL分支中的解码部分以自回归的方式生成预测token 。从数学上讲,解码第𝑘个token 的概率可以参数化为:

其中 是NL分支中的解码器。在解码全部𝐾个token并对解码的token应用detokenization之后,然后得到生成的句子。

2.2.2.2 Mob Branch

NL分支是用于语言生成的通用序列到序列架构,与移动性数据相关的token(例如,表示访问次数的token)和提示中的其他token将被平等对待。因此,引入该辅助分支的动机是为了支持NL主分支更好地学习移动模式。

对于这个Mob分支(图2中每个子图中的下方分支)的架构,它遵循典型的时间序列预测框架的设计。该分支的输入是移动性数据,可以从NL分支的输入移动性描述(prompt)中提取,也可以直接从数据集(移动性到语言转换之前的原始数据)中提取。

与NL分支类似,每个时间戳的输入首先通过嵌入层嵌入到中:

嵌入后,使用基于transformer的编码器来提取隐藏状态:

其中是Mob分支中Transformer编码器的权重矩阵。Mob分支预测在时间步长然后通过:

其中是基于多层感知器(MLP)的预测器。

2.2.2.3 Connecting Two Branches

对于SHIFT,预测性能取决于主要的NL分支。在模型推理阶段,由于输出为句子格式,Mob分支将被忽略。因此,为NL分支学习一个更好的更加重要。为此,引入动量模式(如图2(c)所示)来连接两个编码器。更详细地说,在训练过程中,只有通过反向传播更新,通过以下方式更新:

其中是动量因子。在此模式下,Mob分支编码器可以看作是NL分支编码器的基于动量的移动平均。由于 基于,在训练过程中,辅助Mob分支可以支持主分支在编码移动数据方面学习更强大的进行预测。

除了上述动量模式,论文还探索和比较了连接NL分支和Mob分支的其他两种方式:(i)基本模式(图2(a)):这种模式是vanilla模式。除了合并损失外,两个分支之间没有交互作用。(ii)孪生模式(图2(b)):两个分支中的两个编码器的权重在训练期间共享。

值得注意的是,最终预测目标可以从NL分支从生成的句子获得)和Mob分支()中提取。由于论文的主要创新点是通过语言生成进行预测,SHIFT的整体输出是从NL分支生成的句子,并将输出句子中的embedding用于评估。

2.2.2.4 Loss Function

由于NL分支用于生成句子,使用传统的多类交叉熵损失函数(类的数量等于词汇表中token的总数),如下所示:

其中𝐵为batch size,上标𝑏表示一个批次中的第𝑏个训练样本。对于Mob分支,它是一个基本的时间序列预测分支,因此,我们选择典型的均方误差(MSE)作为损失函数:

因此,SHIFT的最终损失函数是和的组合:

其中是平衡两种损失的损失因子。

3 EXPERIMENTS

3.1 Dataset

论文对SafeGraph的提供的真实世界的人类移动数据进行了实验,其中包括美国POI的游客和人口统计聚集。它包含从移动设备面板访问兴趣点的汇总原始计数,并提供每个POI的语义类别信息。论文选择了来自三个具有不同统计特征的主要城市的数据,用于构建三个数据集:纽约市(NYC)、达拉斯和迈阿密。滤掉在整个数据收集期间没有完整访问记录的POI。然后应用迁移语言模板来生成自然语言句子以形成数据集。每个数据集被随机分为训练集(70%)、验证集(10%)和测试集(20%)。表2显示了数据集的统计(过滤后)。由表可以看出,所选的3个数据集在poi总数、最大访问次数、语义类别数量上都具有不同的水平。

表2

表2

3.2 Implementation Details

Transformer的隐藏维度𝑑对于主NL分支和辅助Mob分支都被选择为256。为了避免过拟合,dropout率设置为0.2。超参数是根据验证集的性能设置的。训练epoch的总数是36,batch大小为128(达拉斯和迈阿密)或64(纽约市)。选取损失因子和动量因子分别为0.01和0.001。在带有PyTorch的NVIDIA GeForce RTX-2080 Ti GPU的平台上,使用Adam优化器(带有ReduceLROnPlateau衰减的0.0001初始学习率)进行优化。

3.3 Prediction Performance

3.3.1 Baseline

时间序列预测方法:(1)基本线性回归(LR);(2) Gru:门控循环单元,基本循环神经网络之一;(3) GruA:融合注意力机制的Gru;(4) Transformer: vanilla Transformer结构。这可以被认为是一个仅使用我们SHIFT的Mob分支的模型。(5) Reformer: Transformer的高效变体;(6)Informer:专门为时间序列预测设计的最先进的Transformer变体。

自然语言序列到序列结构(S2S):(1)以GruA网络为骨干;(2)使用Transformer网络作为骨干:这可以被认为是只使用SHIFT的NL分支的模型。(3) BART:一种最新的基于transformer的架构,具有双向编码器和自回归解码器。它是为自然语言序列到序列任务设计的。出于公平比较,该网络的预训练权重在实验中没有使用。

3.3.2 Performance

表3

表3

表3显示了不同方法的结果。表的最后两列给出了所有三个数据集的平均性能。总的来说,SHIFT在RMSE上始终优于所有基线技术(与第二好相比,性能提高了12.4%),并在平均MAE上实现了第二好(仅比表现最好的BART差约0.2%)。与其他方法相比,SHIFT带来了显著的RMSE改进,特别是在达拉斯和迈阿密数据集上,这些数据集更难以预测(由于更多的poi和访问数量值的范围更大)。对于MAE指标,SHIFT在Dallas上表现最好,其他表现最好的是Informer和S2S(BART)。尽管S2S(BART)在平均MAE上略优于我们的SHIFT,但S2S(BART)的计算成本明显大于SHIFT(参见补充材料中的表6)。这些结果证明了所提出的SHIFT的有效性。

此外,如果与使用相同网络架构的方法进行比较,S2S(GruA)在RMSE上比GruA提高了11.9%,S2S(Transformer)在RMSE上比Transformer提高了约5.4%。可见,通过语言生成流水线(S2S)应用所提出的预测能够提高人类移动性预测性能,并且S2S对于不同的预测神经网络架构都具有鲁棒性。

3.4 Ablation Study

在三个考虑消融的数据集上进行了实验。为了评估每个分支和不同的移位连接方式,比较了以下变体: 1)没有NL分支:SHIFT的NL分支被禁用。这个变体与表3中的Transformer相同。 2)没有Mob分支:Mob分支被移除。该版本与表3中的S2S(Transformer)相同。 3)SHIFT (basic):使用basic模式连接两个分支。 4)SHIFT (siamese):使用siamese模式连接两个分支。

表4

表4

表4给出了这些变体和SHIFT在三个数据集上的的结果。从表中可以观察到:(1)SHIFT大大优于仅启用一个分支的前两种变体。它证明了合并这两个分支的必要性。(2)动量模式表现出比基本模式和siamese模式更好的性能。具体来说,使用siamese模式的性能最差。它甚至比SHIFT (w/o Mob branch)还要差,这表明在siamese模式设置下,辅助Mob分支对预测性能有负面影响。基于以上结果得出结论,动量模式更适合于所提出的两分支移位。

4 CONCLUSION

论文以自然语言翻译的方式解决人类流动性预测问题。基于提出的移动性描述模板,将移动性数据转换为自然语言句子。通过序列到序列的移动性转换,生成一个表示预测移动性的句子作为输出。此外,论文设计了一个两分支SHIFT架构来执行移动性“翻译”。通过大量的实验,结果表明SHIFT对于人类移动预测任务是有效的。消融研究也证明了每个分支的有效性和移动中的动量模式。

总体来说,采用语言的形式建模时序预测问题这个解决方式十分新颖,且随着现在大型语言模型的应用,该形式对于将预测能力集成到大模型中拥有极强的适用性。此外,实验验证也证明了采用自然语言建模预测问题的可行性,对于时空领域的其他回归预测问题,也可尝试采用这个形式进行探索。

更多内容,敬请关注同名微信公众号:时空大数据兴趣小组。

  • 20
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值