论文:https://arxiv.org/abs/2408.00490
代码:https://github.com/user683/CausalDiffRec.
关键词:图神经网络,分布外数据,不变学习,扩散模型
分布外数据(Out-of-Distribution, OOD)
分布外数据(Out-of-Distribution, OOD) 指的是在模型训练时未见过的、与训练数据分布存在显著差异的数据。(例如,训练数据可能来自某个时间段的用户行为,但在另一个时间段(如重大节日、社会事件发生后),用户行为模式可能发生变化,从而导致测试数据与训练数据的分布不同。)
传统推荐模型通常假设训练数据和测试数据来自相同的独立同分布(IID)空间。但在 OOD 场景下,由于测试数据分布与训练数据不同,模型在这种情况下的表现通常较差。模型的泛化能力因此受到挑战。
像传统推荐例如多行为推荐,数据的分布通常是相对稳定的,尽管用户行为会随时间有所变化,但模型可以通过学习这些行为之间的模式来提高推荐性能。那么对于 OOD 数据,模型需要通过因果推断或其他泛化能力增强技术,来应对分布的变化。
1 动机
当前的推荐系统,通常假设训练数据和测试数据来自相同的独立同分布(IID)空间。然而,这种假设在现实世界中往往不成立,尤其是在面对突发事件或环境变化时,例如 COVID-19 大流行期间用户行为的变化。这种分布外数据(Out-of-Distribution, OOD)问题会导致模型在测试集上的泛化能力显著下降。具体来说,环境因素的变化会导致某些物品(如口罩、消毒剂等)的流行度在训练集和测试集之间发生剧烈变化,这使得传统的推荐系统无法准确捕捉用户的真实兴趣,进而影响推荐的准确性,如下图所示。
模型在处理训练集和测试集时,流行度发生变化的情况下,其泛化能力的不同,例如疫情期间口罩和消毒剂的需求激增,而其他类别如运动器材和电子产品的需求可能相对稳定或变化不大。训练集和测试集划分基于历史交互数据,但由于划分方法而覆盖了不同的时间段。因此随着时间推移,用户的行为和偏好发生显著变化。
同时作者在在Yelp2018数据集上构建了IID和OOD集,并比较了LightGCN模型在这些数据集上的性能。发现在三个指标中,OOD数据的平均性能显著下降(即29.03%)
2 贡献
-
提出了因果扩散图表示学习框架(CausalDiffRec):
- 本文提出的 CausalDiffRec 框架通过引入因果推断和扩散模型,旨在应对推荐系统在分布变化情况下的泛化问题。该框架结合了结构因果模型(SCM)和扩散模型,通过因果分析消除环境混杂因素的影响,从而确保模型能够学习到环境不变的图表示。CausalDiffRec主要由三个模块组成:环境生成、环境推理和扩散模块。
-
引入环境生成模块:
- 通过环境生成模块模拟不同环境下的用户数据分布。生成具有显著差异的多个图,模拟不同环境下的数据分布。使得模型能够在多样化的环境中进行训练,从而增强其对分布变化的适应能力。
-
提出了环境推断模块:
- 利用因果推断和变分推断方法来估计环境分布。通过对环境分布的准确推断,能够识别并区分出由环境因素引起的相关性与用户真实偏好之间的差异,从而避免模型对环境变化的过度依赖。
-
设计了扩散模型用于学习环境不变的表示:
- 扩散模型用于学习用户与物品交互的环境不变表示,在面对测试数据时能够有效抵抗由于环境变化带来的分布偏移,从而保持较高的推荐准确性和泛化能力。
-
理论分析与后门调整:
- 论文中提供了对 CausalDiffRec 的理论分析,证明了通过优化该框架的目标函数,模型能够去除环境因素引起的虚假相关性。这一过程使用了背门调整技术,确保模型在不同环境下学习到的因果关系是稳定且一致的。
3 因果图
-
G:述物品节点之间的连接关系,这些连接关系反映了物品之间的相互影响和联系。
-
E:表示环境变量或外部因素,如时间、季节、市场趋势等。这些外部因素可能对用户行为和物品的流行度产生直接或间接的影响。
-
Y:表示用户与物品之间的交互行为,真实标签
-
I:用户项目的属性
-
E→G:环境因素 E影响图结构 G。环境因素可能改变物品之间的相互关系,例如在某个时间段内,特定类型的物品之间的关联可能会加强或减弱,导致图结构的变化。
-
E→Y:环境因素 E也可能直接影响用户与物品之间的交互行为 Y。例如,在疫情期间,用户对特定物品(如口罩)的需求激增,导致这些物品的交互频率增加。
环境混杂因素E是导致 GNN 模型在分布外数据上泛化能力下降的主要原因。这些混杂因素使模型在训练过程中捕捉到了一些不稳定的相关性,而这些相关性在环境变化时会失效。因此使用干预操作来改善模型:
4 模型
首先构建SCM并确定环境混杂因素是基于gnn的模型无法对OOD (out- distribution)数据进行泛化的关键原因。随后,我们引入变分推理来推断环境的真实分布。我们使用基于不变学习的扩散模型来学习表征
4.1 环境推断
通过变分推断来估计环境因素的影响,并生成环境伪标签作为潜变量,从而近似真实环境分布来优化模型的目标函数:
Qϕ(E∣G,I):表示环境推断模型,用于从环境 E的真实分布中抽取样本;Pθ(Y∣G,E,I):是图表示学习模块,它以用户-物品交互图和节点属性(用户和物品的特征)为输入,学习不变的表示;DKL:表示变分分布 Qϕ(E∣G,I)与先验分布 Pθ(E)P之间的 KL 散度。通过优化证据下界,模型能够更好地处理分布外数据。
通过推断出环境变量 E后,模型从该估计分布 Qϕ(E∣G,I) 中采样得到 zcausal,zcausal 在生成之后,作为一个重要的因果变量被用来在扩散模型中指导图表示的学习,确保学习到的图表示具有环境不变性和因果稳定性。
4.2 不变模式识别机制
提出了一个不变模式识别机制,帮助模型识别并学习用户-物品交互图中独立于环境变化的不变相关性。通过这一机制,模型能够在不同的数据分布环境下学习到通用的模式,从而增强其对 OOD 数据的泛化能力。
-
假设(Assumption):
- 假设 1:给定用户-物品交互图(即数据分布 D),这些交互数据是从 K个不同的环境 E 中收集的。
- 假设 2:用户行为模式独立于环境,并且这些模式可以用于泛化分布外的用户偏好预测。
-
目标:
- 存在一个最优的不变图表示学习函数 F∗(⋅),该函数满足以下条件:
- 不变性属性:对所有 e∈D(E)有 Pθ(Y∣F∗(G),E=e,I)=P(Y∣F∗(G),I)。这意味着模型可以学习到一种用户-物品表示,这种表示在不同的环境中保持不变。
- 充分性条件:Y=F∗(G)+ϵ,其中 ϵ与环境 E统计独立,并且 是随机噪声。这意味着通过学习到的不变表示,模型能够进行准确的预测。
- 存在一个最优的不变图表示学习函数 F∗(⋅),该函数满足以下条件:
4.3 不变表示学习
4.3.1环境生成器
环境生成器的目标是生成一组具有多样化特征的交互图 {{G_i\}_{i=1}^K,这些图代表了在不同环境下的用户-物品交互数据分布。使用了强化学习的策略,将图生成视为一个决策过程,通过边的编辑操作来生成图的不同视图。该生成器的优化目标是确保生成的图具有显著的差异性,使得这些图能够有效地代表不同环境下的数据分布。优化目标:
通过添加和删除边来修改图的结构。给定布尔矩阵Bk,图的邻接矩阵a,以及它的补矩阵a ',原始视图的第k个生成视图:由于Bk是一个离散矩阵,不能直接优化。为了解决这个问题,使用强化学习将图生成视为决策过程,将边缘编辑视为动作。具体来说,对于视图k,考虑一个参数矩阵:
对于第n个节点,其与第m个节点之间的边存在的概率为:
然后,从多项分布中抽样s个动作
,强化学习的奖励函数R(Gk)可以定义为逆损失。使用增强算法对生成器进行梯度优化:
强化学习
在强化学习中,环境生成器的决策过程可以被视为一个马尔可夫决策过程:
- 状态(State):当前的交互图 Gt代表了状态 st。每个状态对应于当前生成的图结构。
- 动作(Action):动作 at 表示在图结构上进行的操作,如添加一条边、删除一条边或修改节点特征。这些动作由策略网络决定。
- 策略(Policy):策略 π(at∣st)是一个条件分布,定义了在状态 st选择动作 at的概率。策略网络通过学习使得每一步的决策能够最大化最终的奖励。
- 奖励(Reward):奖励 rt用来衡量当前状态和动作的好坏。环境生成器的目标是生成具有多样化特征的图,从而使得模型在不同环境下能够学到稳健的表示。
- 决策过程:图生成的过程可以看作是一个序列决策过程。在每一步中,策略网络选择一个动作 at,即对当前图 Gt进行修改,例如添加或删除边。新的图 Gt+1由当前图 Gt 和所选动作 at生成。
- 奖励机制:奖励函数 R(Gk)用于评估生成的图的质量。论文中使用了逆损失函数作为奖励函数,奖励函数被定义为生成图的损失的负值。目标是最大化生成图的差异性和多样性,使得生成的 K个图能够有效地代表不同环境下的数据分布。
4.3.2 因果扩散
VGAE(编码部分):
给定生成的交互图Gk = (Ak, I),其中A是邻接矩阵,I是用户或项目的特征矩阵,使用变分图自编码器(VGAE)的编码器将Gk压缩为一个低维向量,编码过程:
其中,μk=GCNμ(Ak,I)是均值矩阵,σk=GCNσ(Ak,I)是标准差矩阵。通过重参数化技巧,计算潜在变量:
潜在嵌入x0k将被用作环境推理模块的输入,以生成环境伪标签。xk0将在潜在空间中进行正向和反向过程,以学习DDPM中的用户/项目嵌入。
扩散部分:
在前向扩散过程中,潜在变量 xk0逐步加入噪声,生成 xk1,xk2,…,xkT。这一过程模拟了用户-物品交互在不同环境下的演变:
反向扩散的目标是通过从 xkT恢复到 xk0 的过程,学习到环境不变的图表示,zcausal 与编码后的图表示 xkT共同作为输入:
反向扩散过程的优化目标是最小化重建误差,旨在确保潜在表示能够捕捉到图结构的主要特征,通过重构交互图(解码部分),VGAE确保生成的潜在表示 z能够准确地捕捉到图的结构信息:
从DDPM得到重构的输出向量后,将其作为变分图解码器的输入,然后重构输入图。
VGAE通过变分下界进行优化:
整个 Causal Diffusion 模块的流程如下:
- 编码:使用 VGAE 编码器将交互图 Gk编码为低维潜在表示 xk0。
- 前向扩散:在潜在空间中,通过加入噪声生成一系列潜在表示 xk1,xk2,…,xkT
- 反向扩散:通过反向扩散过程,从 xkT恢复到 xk0,学习不变的用户-物品表示。
- 环境推断:生成环境伪标签Zcausal,并结合到反向扩散中以增强环境不变性。
- 解码与重构:使用重构后的潜在表示 xk0′重建输入图结构,并用于推荐模型的初始化。
VGAE负责将图结构数据(如用户-物品交互图及其节点特征)编码为低维的潜在表示。这些潜在表示是后续分析和处理的基础。环境推断模块利用VGAE生成的潜在表示,推断出与环境相关的因果变量 zcausal,用于捕捉数据中的环境因素。扩散模型通过模拟噪声逐步添加和去除的过程,学习到图的稳定表示,并结合因果变量 zcausal来确保表示的环境不变性。
4.3 预测部分
用户和物品的最终嵌入是通过训练好的扩散模型生成的:
损失函数为BPR:
联合学习策略:
Lgenerator 是环境生成模块的损失,用于生成多样化的用户-物品交互图;LVGAE 是变分图自动编码器(VGAE)的损失,用于学习低维图表示;LInvsample 是扩散模型中用于无噪声采样的损失;LenvInf 是环境推断模块的损失,用于推断环境变量;λ1、λ2 λ3是超参数。
4.4算法
- 用户-物品交互图 G(V,E)G(V, E)G(V,E) 和节点特征矩阵X。
- 使用初始环境生成器 gω(⋅)、环境 Pθ1(⋅)和图表示学习器 fθ2(⋅)分别初始化参数 ω、θ 和 θ2\θ2。
主要过程:
输入:
- 用户-物品交互图 G(V,E)和节点特征矩阵 X。
- 使用初始环境生成器 gω(⋅)、环境 Pθ1(⋅) 和图表示学习器 fθ2分别初始化参数 ωθ1 和 θ2
- 迭代更新:
- 循环直到收敛:
- 对于所有用户 u∈Uu \in Uu∈U:
- 对于所有 k∈{1,2,…,K}:
- 根据公式(10)生成修改后的图 Gk。
- 根据公式(9)推断因果环境标签 zcausal。
- 根据公式(15)获得扩散模型的表示 xkT。
- 根据公式(10)生成修改后的图 Gk。
- 对于所有 k∈{1,2,…,K}:
- 扩散前向过程:
- 通过输入 zcausal和 xkt 到 fθ2从而采样 xkt−1。
- 扩散反向过程:
- 根据公式(18)计算 fθ2(xkt−1)。
- 根据公式(18)计算 fθ2(xkt−1)。
- 计算梯度:
-
根据公式(27)计算相应的损失梯度。
-
- 对于所有用户 u∈Uu \in Uu∈U:
- 循环直到收敛:
输出:
- 返回训练好的环境生成器 gω(⋅)、环境 Pθ1(⋅)和图表示学习器 fθ2(⋅)。
5 总结
提出了一种通过因果扩散进行图表示学习的方法,旨在解决推荐系统中的分布漂移(Out-of-Distribution, OOD)问题。与传统的图神经网络(GNN)方法不同,该方法通过构建结构因果模型(SCM),并结合因果推断技术,消除环境混淆因素对模型泛化能力的负面影响,从而提升推荐系统在不同分布数据下的性能。CausalDiffRec框架不仅关注数据生成过程中环境因素的影响,还通过推断和调整图表示学习中的环境变量,实现了环境不变的推荐性能。
论文流程:
-
环境生成器:通过环境生成器 gω(⋅)生成多个用户-物品交互图。通过对原始交互图进行图结构的修改(如添加或删除边)来模拟不同环境中的数据分布
-
环境推断:使用变分推断方法来估计环境的真实分布,从而生成伪环境标签 zcausal作为隐变量,帮助模型捕捉数据中的因果关系,从而更好地应对分布漂移。(因果学习部分)
-
VGAE 编码:使用变分图自动编码器(VGAE)对生成的图 Gk进行编码,将其压缩成低维的潜在向量 xk0作为扩散模型的输入。
-
扩散模型:包括前向和逆向过程。前向过程是通过逐步向编码后的向量 xk0添加噪声,模拟数据的演化过程;反向过程则通过去噪重构原始数据xkT,并通过推断过程学习到用户和物品的最终嵌入 eu和 ei。
-
推荐模块:结合从扩散模型中得到的用户和物品嵌入,使用这些嵌入进行用户偏好预测。利用贝叶斯个性化排序(BPR)损失函数,优化模型参数,提升推荐性能。
-
联合优化: 通过联合优化多个损失函数(包括推荐损失、生成器损失、VGAE损失等),提升模型的泛化能力和稳定性。
这篇论文是用了很多技术,例如环境生成器中使用到了强化学习生成多个图,然后使用VGAE编码潜在变量,并针对潜在变量进行变分推理得到了Zcausal。结合了扩散模型,在扩散模型的反向传播中,不仅使用到了前向传播的输出,也使用到了zcausal来指导扩散模型的输出,也是在这里体现了因果推断,扩散模型的输出也被用于最终模型的预测。强化学习+VGAE+Diffusion
GCN和VGAE的区别(为啥不用GCN):
. GCN
- GCN的功能:GCN通过聚合邻居节点的信息来对图结构数据进行编码。GCN可以生成节点的嵌入表示,捕捉到节点的局部结构信息,并将其映射到潜在空间中。
- GCN的局限性:缺乏对数据中的不确定性进行建模的能力。
. VGAE
- VGAE的功能:VGAE是将变分自编码器(VAE)应用到图结构数据上的一种模型。它不仅可以像GCN一样对图结构数据进行编码,还能够建模数据中的不确定性,通过生成潜在变量来捕捉复杂的图结构信息。
- VGAE的优势:VGAE使用了变分推断技术,能够对图数据的潜在表示进行概率建模。可以生成潜在分布,这对于建模数据中的不确定性(例如环境变化)非常重要。可以更好地用于变分推断,从而推断出环境变量 zcausal并应用于扩散模型中。
VAE与VGAE:
-
VAE:
- 编码器:VAE的编码器通常是一个多层感知器或卷积神经网络,用于将输入数据映射到潜在空间的均值和方差,然后通过重参数化技巧生成潜在变量。
- 解码器:解码器接受潜在变量作为输入,并通过反向映射生成原始数据的重构。这个过程确保模型可以从潜在空间生成新的数据样本。
-
VGAE:
- 编码器:VGAE的编码器是基于图卷积网络(GCN)的,它利用图的邻接矩阵和节点特征,通过GCN层对每个节点进行聚合,生成节点的潜在表示(即均值和方差),被用于生成潜在变量。
- 解码器:通过内积操作或其他基于图结构的方法来重构图的邻接矩阵,尝试从潜在空间中重构图结构数据,而不仅仅是生成单个数据点。