序列事件预测的目标是根据历史事件序列来估计下一个事件,典型的应用是序列推荐系统,即给定用户的历史点击记录来预测用户下一个可能会点击的商品。在实际场景中,由于数据收集的有限性,往往只能利用某个过去时间窗口内的数据来训练模型,而后模型需要在未来的部署阶段给出预测结果。然而,由于时间和环境的变化,模型从线下训练到上线的过程中会面临分布偏移的挑战,即训练时的数据和部署后的测试数据来自不同的分布,从而导致性能下降。
本文主要探索的问题是:如何训练一个可靠的序列模型,它可以有效泛化到未知分布的测试数据上? 为此,我们首先从序列数据生成的角度揭示了现有的基于极大似然估计(MLE)训练方法的模型的缺陷:由于数据中潜在的环境因素所带来的bias而无法很好的泛化。对此,我们基于因果干预和后门调整对学习目标进行改进,并进一步利用变分推断得到了一个可求解的新的优化目标。另一方面,我们为这个学习方法设计了一个灵活的模型框架,可以和现有的序列事件预测模型结合在一起,提升模型的分布外泛化能力,并在不同的实验任务上验证了方法的有效性、适用性和可扩展性。
论文链接:
https://arxiv.org/abs/2210.13005
代码链接:
https://github.com/chr26195/Caseq
一、本文的亮点
- 本文首次在事件预测和序列推荐场景中正式定义了分布外泛化的问题,并从因果视角解释了现有模型在此问题中的缺陷,以及揭示了造成该缺陷的本质原因。
- 本文将因果干预和变分推断进行了优雅结合,提出了一个新的学习框架来实现序列预测任务的分布外泛化,该框架具体良好的泛用性,可以和大部分现有的序列预测/推荐模型相结合。
- 本文也提出了新的实验设置来更好地衡量模型的分布外泛化能力,并且通过大量实验验证了时序分布偏移的确会造成模型性能的下降,也同时验证了我们的方法在该场景下的有效性。
二、时序分布偏移的定义
首先,我们介绍一下背景和问题定义。序列事件预测(Sequential event prediction)[1,2] 是一类经典的任务,其目的是给定历史事件序列(Historical event sequence,用随机变量S表示)时预测下一个事件(Next event,用随机变量Y 表示)。这个任务对应的应用场景包括序列推荐、设备维护和临床治疗等。例如,在序列推荐中,推荐模型需要根据用户的历史点击记录来预测用户下一个可能会点击的商品来进行推荐。
(例如线下训练的模型需要部署到线上环境),因此随着时间推移,一些未知的外部环境因素(本文称为 Context,用随机变量C 表示)会发生变化,进而导致了数据分布的变化。这个现象反映到现实当中的一个体现是线下训练的模型部署到线上会出现明显的性能下降。在本文中,我们称这类问题为时序分布偏移(Temporal distribution shift),并旨在从根源上分析现有方法的不足和可能的解决方案。
三、分析和理解现有方法的缺陷
四、分布外泛化的因果干预方案
关于如何理解因果干预,该操作本质上模拟了一个理想的数据生成过程。在这个理想的过程中,我们人为操控序列S,使其不受环境变量C的影响,例如操控用户在任何季节都有相同的概率购买过棉衣和T恤,平等罗列所有的情况并重新收集数据,从而避免模型额外捕捉由环境引起的虚假关联。类似上述的做法称为随机对照试验(Randomized controlled trial,RCT)[4],是一种理论上可行的因果干预方式。但是我们知道,现实中我们既无法人为控制环境,也无法要求产生非偏的理想数据,因此不可能通过这种做法来准确计算
另一个替代解决思路是利用后门调整(Backdoor adjustment)[8] 来对
行统计估计,得到以下式子:
五、 实验结果
实验设置: 传统的事件预测实验设置将预测不同序列的最后一个事件作为测试集,即,用 1 到 t-1 时刻的历史事件序列预测 t 时刻的未来事件,而剩余的 1 到 t-1 部分用作训练和验证集。但我们发现,该指标没有考虑分布偏移带来的影响,造成线下训练时高估了模型在真实分布外环境下的性能。因此,本文拓展了上述的实验设置,扩大训练和测试之间的间隔,衡量模型在未来时刻/分布外环境中的性能:即在训练集同样的情况下,衡量用 1 到 t-1+d 时刻的历史事件序列预测 t+d 时刻的未来事件,d 对应了具体定义请参见原文。另外,我们在三类序列事件预测任务上对我们的框架进行了实验,包括最主要的序列推荐任务,以及额外的用户事件预测和设备维护任务。我们使用不同的现有模型作为主干网络,并测试的性能提升。
主要结果: 当训练和测试的时间跨度(表中的 Gap Size)变大时(即,时序分布偏移更加严重时),我们发现所有的模型性能都出现了明显的下降,这进一步验证了分布偏移确实会对模型性能造成负影响,是一个值得重视但是现阶段没有很好解决的问题。但在绝对性能上,我们的方法在不同任务中都能够有效对主干网络的性能进行一定程度的提升,而在相对性能上,我们的方法随着时间跨度变大性能下降幅度更加小,验证了其应对时序分布偏移的有效性。另外,我们的方法能够和各种现有的序列事件预测相结合并依然有效,体现了它的泛用性。部分的实验结果如下图表所示:
参考文献
[1] Benjamin Letham, Cynthia Rudin, and David Madigan. Sequential event prediction. Machine learning, 93(2):357–380, 2013.
[2] Hui Fang, Danning Zhang, Yiheng Shu, and Guibing Guo. Deep learning for sequential recommendation: Algorithms, influential factors, and evaluations. TOIS, 39(1):1–42, 2020.
[3] Judea Pearl et al. Models, reasoning and inference. Cambridge University Press, 19, 2000.
[4] Judea Pearl, Madelyn Glymour, and Nicholas P Jewell. Causal inference in statistics: A primer. John Wiley & Sons, 2016.
[5] Jakub Tomczak and Max Welling. Vae with a vampprior. In AISTATS, 2018
作者:杨晨晓
文章来源:公众号【 sjtuThinklab】