SIGIR 2024
1 intro
1.1 背景
- 传统推荐系统方法在实际应用中往往未能兑现基准数据集所做的承诺
- 这种差异主要源于传统的离线训练和测试方法
- 在这些场景中,模型在大型静态数据集上训练,然后在有限的测试集上评估,这一过程没有考虑到现实世界数据的动态性质
- 与之形成鲜明对比的是,现实世界的推荐系统处于不断变化的状态,新的用户偏好、物品和交互不断涌现,形成了随时间推移数据分布差异的鸿沟。
- 一方面,最初在历史数据上训练的模型可能无法有效处理这些新出现的多样化数据
- 另一方面,当这些模型用新数据更新时,可能会覆盖之前获取的知识,这一现象被称为灾难性遗忘
- 最近的研究旨在应对这一挑战,大多数工作都在探索利用持续学习方法的潜力
- 第一类研究依赖于replay buffer
- 通过定期使用过去样本选择重新训练模型
- 然而,这种基于样本的方法在缓冲区大小减小时效果会减弱,并且在需要严格数据隐私的情况下使用重播缓冲区是不切实际的
- 第二类工作,基于模型正则化的方法
- 通过限制模型参数防止与先前学习配置的显著偏离来维持知识
- 然而,当新数据与这些历史模式存在显著差异时,挑战就出现了。
- 如果模型参数未能充分适应这些新信息,则可能会偏离相关的历史数据,触发灾难性遗忘
- 最后一类工作依赖于模型隔离和扩展策略
- 这些策略隔离旧知识并为更新数据创建新的学习空间
- 然而,其广泛的模型扩展通常导致参数增加和耗时的更新
- 第一类研究依赖于replay buffer
1.2 论文思路
-
为了解决上述挑战,论文使用提示调优(prompt tuning)
-
介绍了GPT4Rec,一种用于流推荐的图提示调优方法
-
将图解开为独特的特征视图和结构视图,优化捕捉图中每个语义关系的独特特征
-
GPT4Rec设计的核心是三种针对图数据特定方面的提示。
-
节点级提示用于指示模型适应图中单个节点属性或特性的变化,确保对不断变化的节点特性的细致理解
-
结构级提示引导模型适应图中更广泛的连接性和关系模式,捕捉不同图元素之间的动态互动
-
视图级提示创新设计用于促进多个解耦视图的信息聚合
-
-
2 Preliminary
2.1 流推荐
- 大量的用户-物品交互数据 ˜𝐷 持续不断地流入工业推荐系统
- 连续的数据流分割为连续的数据段 𝐷1, ..., 𝐷𝑡, ..., 𝐷𝑇,这些数据段具有相同的时间跨度
- 在每个时间段 𝑡, 模型需要利用从 𝐷1, 𝐷2, ..., 𝐷𝑡−1 继承的知识来优化 𝐷𝑡 上的推荐性能
2.2 流图
- 流图表示为一系列图的序列 𝐺 = (𝐺1, 𝐺2, ..., 𝐺𝑡, ... 𝐺𝑇),其中 𝐺𝑡 = 𝐺𝑡−1 + Δ𝐺𝑡
- 𝐺𝑡 = (𝐴𝑡, 𝑋𝑡) 是时间 𝑡 的属性图,其中 𝐴𝑡 和 𝑋𝑡 分别是 𝐺𝑡 的邻接矩阵和节点特征
- Δ𝐺𝑡 = (Δ𝐴𝑡, Δ𝑋𝑡) 是图结构和节点属性在时间 𝑡 的变化
- 这些变化包含新增加的节点和不同节点之间新建立的连接。
2.3 流图的持续图学习
- 给定一个流图 𝐺 = (𝐺1, 𝐺2, ..., 𝐺𝑡, ... 𝐺𝑇),持续图学习(CGL)的目标是顺序地学习 Δ𝐺𝑡 (𝐷𝑡),同时有效地将历史知识转移到新的图段
- 数学上,流图的CGL目标是在每个时间段 𝑡 找到最优的 GNN 结构 𝑆𝑡 和参数 𝑊𝑡,使得:
- 在这项工作中,使用贝叶斯个性化排序(BPR)损失作为损失函数,因为它在Top-K推荐中有效且具有广泛的适用性。
3 方法
3.1 复杂图的解耦策略
- 推荐系统中的用户-物品交互图由于其动态和相互关联的性质,本质上是复杂的
- 当添加一个新节点或删除一个现有节点时,它不仅影响图的孤立部分,这些变化可能导致整个网络的级联效应
- 这些级联变化意味着图中的任何修改都可以同时影响多重关系
- 例如,系统中添加一个新物品可能会为多个用户培养出新的偏好,改变现有的用户-物品交互模式,并可能重新塑造总体偏好和推荐的格局
- ——>将图划分为多个视图,每个视图专门捕捉用户-物品交互的特定方面。【视图怎么建的?】
- 通过一系列线性变换实现了解耦:
3.2 自适应学习的提示设计
- 在将图模式解耦到不同视图后,论文设计了节点级提示和结构级提示,以捕捉动态推荐系统中图模式的全面本质
3.2.1 节点级提示
- 节点级提示主要针对图中各个节点的属性或特性(社交网络中的用户特征/推荐系统中的物品属性)
- 对于每个视图,节点级提示是一组可学习的参数P=[p1,...,pL],其中 𝐿是节点级提示的数量
- 这些提示作为有针对性的线索,告知模型如何解释和整合有关用户或物品的新信息。
- 当新数据到来时,这些提示有效地“指示”模型,突出用户-物品交互中的相关特征或变化:
- ——>这意味着对于给定的节点 𝑥𝑖,如果某些提示与该节点的上下文更相关,则这些提示将具有更高的权重αij。
- 随着新数据的到来,不同提示的相关性可能会发生变化
- ——>型为每个新数据点动态重新计算每个节点的权重αij,使其不断调整焦点【时间开销?】
3.2.2 结构级提示
- 结构级提示旨在处理图中的更广泛的连接性和关系模式
- 这些提示对于理解和适应整体图拓扑的变化至关重要,例如新的交互模式的出现或现有模式的演变
- 对于每个视图,我们为边设计了一组可学习的提示Q=[q1,...,qk],通过消息传递机制自适应地聚合结构级信息:
3.3 解耦表示的聚合
从多个解耦视图中聚合信息
3.3.1 初始策略
应用注意力机制
3.3.2 跨视图级提示进行聚合
核心是更新一小组“代码簿”提示 𝐽=[𝑗1,...,𝑗𝑛],而不是重新学习整个模型的参数