【SIGIR22】使用反事实生成器来消除知识感知推荐中的虚假联系

Alleviating Spurious Correlations in Knowledge-aware Recommendations through Counterfactual Generator

摘要

由于现有的基于统计的机器学习框架的限制,虚假联系很可能会出现在现有的知识感知的推荐方法中。它指的是一个似乎与用户行为产生因果关系的知识事实(由推荐系统推断),但实际上不是事实。为了解决这一问题,作者提出了一个新的方法来从反事实的角度发现并且消除潜在的虚假联系。更详细地来讲,作者的方法由两个反事实生成器以及一个推荐器组成。反事实生成器被设计用来通过强化学习生成反事实交互,推荐器是通过实现两个不同的图神经网络来分别增加知识图谱和用户-项目交互中的信息。反事实生成器和推荐器以一种相互协作的方式被结合起来。通过该方法,推荐器帮助反事实生成器更好地识别潜在的虚假联系,并且生成高质量的反事实交互,同时反事实生成器帮助推荐器弱化潜在虚假联系的影响。

论文代码

简介

知识图谱将实体信息组织成元组的集合,为推荐系统提供了辅助信息,来丰富项目的表示以及捕获在项目属性上的结构化偏好。因此,知识感知的推荐器更加能够提供准确以及可解释的推荐。

为了利用知识图谱的信息,现有的知识感知推荐方法主要集中于如何设计有效的推荐系统神经结构。虽然在一定程度上这种做法很有效,但是这些方法只学习了项目知识以及用户行为之间的表层联系。因此,由于虚假联系导致的潜在效应,模型的合理性以及可靠性在一个更加泛化的设定下可能无法得到保证。在因果理论中,虚假联系指得是两个变量之间看似由于因果产生,但实际上不是的一种联系。在知识感知的推荐中,虚假联系是由并非因果但是常常和用户交互一起出现的项目特征,例如购买或者点击。本质上,现有的方法都主要设置在统计机器学习框架上。由于集中于观测到的共现模式,这些方法很容易被虚假联系误导,并且很难去识别真正的因果联系。

在这里插入图片描述

图一展示了一个在电影推荐场景下的虚假联系的例子。在该场景中,Tom观看了很多英语电影,并且因此推荐器倾向于去推断,“语言”是Tom观看这些电影的主要原因,并且持续向其推荐英语电影。然而,Tom观看这些电影是因为他喜欢“科幻”和“冒险”类别的电影,“语言”不是主要的交互原因。

由于知识图谱包含了大量的项目特征,这些知识信息中的虚假联系会潜在地影响知识感知的推荐系统的表现。事实上,虚假联系是在很多领域中的常见问题。为了消除这种虚假联系,研究者在自然语言处理和计算机视觉中提出了使用反事实数据。理论上,反事实是一个哲学概念,涉及到对已经发生的事件产生可能的替代的趋势。通常情况下,这些方法通过操控可能导致虚假联系的特征(例如,文本中的词)来生成反事实数据,然后在原始的以及反事实数据上去训练模型,来减少虚假联系的影响。

受到这些工作的启发,作者提出了通过构建反事实交互,在知识感知的推荐中减弱潜在虚假联系的方法。实际上,反事实方法最近已经被应用到推荐系统中,这些工作[39][43][45]生成项目级别的反事实数据来消除数据稀疏问题。于现有的推荐方法不同,作者提出了在用户-项目交互层次之下更加深层次地构建反事实交互(即“知识层面”)。对于一个给定的用户和以及他的交互项目,将潜在地造成虚假联系的知识事实替换成另一个相联系的知识事实。再次考虑图一。这里有一个交互记录,训练数据中,相应的事实如下:“Tom观看了这部电影,这部电影的语言是英语。”我们可以通过询问反事实问题“如果电影的语言被替换成德语,Tom还会继续观看吗?”来生成一个反事实交互。如果推荐器回答的是“Yes”,那么由“语言”造成的虚假联系将会被移除。

然而,为了构建正确的反事实交互来帮助消除虚假联系是很困难的。一个主要的原因在于,正确地识别导致虚假联系的知识事实。为了克服该挑战,作者构建了一个推荐器和反事实生成器之间的相互协作。对于反事实生成器,基于信息瓶颈原则[30],作者从推荐器的反馈中设计了一个基于信息的奖励来帮助识别潜在虚假联系。之后,另一个基于预测的奖励被设计来提供更加直接的、信息型的信号。在两种信号的引导下,反事实生成器更加能够生成高质量的反事实交互。对于推荐器,通过最小化事实交互以及生成的反事实交互之间的平均处理效应(ATE)来减弱潜在虚假联系。在这样一个自适应的互动过程中,导致虚假相关性的知识事实逐渐被识别和去除。

最后,作者提出了一个由反事实生成器强化的知识感知推荐方法(Counterfactual Generator enhanced Knowledge-aware Recommendation, CGKR)。提出的方法由两个反事实生成器以及一个推荐器组成。两个反事实生成器被设计用来通过强化学习生成含有虚假的积极和消极项目的反事实交互,而推荐器含有两个图神经网络,来分别汇集知识图谱中的信息以及用户-项目交互。反事实生成器以及推荐器以一个相互协同的方式结合到一起。通过这种方法,推荐器帮助反事实生成器更好地挖掘潜在的虚假联系,同时反事实生成器帮助推荐器弱化潜在虚假联系的影响。

这是第一次从反事实的视角消除图感知推荐中的虚假联系。

准备工作

知识图谱

知识图谱(Knowledge graph, KG)将知识信息组织成一组元组,表示为 G k g = { < h , r , t > ∣ h , t ∈ ε , r ∈ R } \mathcal{G}_{kg}=\{<h,r,t>|h,t\in \varepsilon,r \in \mathcal{R}\} Gkg={<h,r,t>h,tε,rR},这里的 ε \varepsilon ε R \mathcal{R} R分别代表实体集合以及联系集合。一个元组 < h , r , t > <h,r,t> <h,r,t>描述了在头节点 h h h和尾节点 t t t之间存在联系 r r r。延续自[14][49],作者建立了一个在用户-项目交互以及知识图谱之间的项目-实体集合。在推荐系统中可以被链接到项目的实体被叫做项目实体 ε I \varepsilon_I εI,其他实体被叫做属性实体 ε A \varepsilon_A εA。例如,一个元组<AVATAR,DIRECTED_BY,JAMES_CAMERON>表示一个事实,即电影《阿凡达》是由詹姆斯卡梅隆导演的。《阿凡达》是一个项目实体,詹姆斯卡梅隆是一个属性实体,导演表示他们之间的关系。

事实以及反事实交互数据

在推荐系统中,用户-项目的历史交互是可获得的(例如评分或者点击)。使用 U \mathcal{U} U代表用户集合, I \mathcal{I} I代表项目集合。这里,认为用户-项目历史交互为事实交互数据,表示为 O f = { ( u , i ) ∣ u ∈ U , i ∈ I } \mathcal{O}_f=\{(u,i)|u\in \mathcal{U},i\in \mathcal{I}\} Of={(u,i)uU,iI}。可以更加深入地将其分成正事实交互数据以及负事实交互数据,表示为 O f + = { ( u , i + ) } \mathcal{O}^+_f=\{(u,i^+)\} Of+={(u,i+)}以及 O f − = { ( u , i − ) } \mathcal{O}_f^-=\{(u,i^-)\} Of={(u,i)}

按照之前的工作[23],作者使用了负采样策略来生成负交互项目。此外,将反事实交互数据表示为 O c f = { ( u , i c f ) ∣ u ∈ U , i ∈ I c f } \mathcal{O}_{cf}=\{(u,i_{cf})|u\in \mathcal{U},i\in \mathcal{I}_{cf}\} Ocf={(u,icf)uU,iIcf},这里的 I c f \mathcal{I}_{cf} Icf表示反事实项目的集合。作者修改项目 i i i的属性信息来生成相应的反事实项目 i c f i_{cf} icf,然后用户 u u u和反事实项目 i c f i_{cf} icf将会形成一个反事实交互。相似的,反事实交互数据可以被分成正交互 O c f + \mathcal{O}^+_{cf} Ocf+以及负交互 O c f − \mathcal{O}_{cf}^- Ocf

3 方法

在这里插入图片描述

图二展示了CGKR的预览。两个反事实生成器通过探索潜在虚假联系,在推荐系统的指引下,生成反事实交互,交互中的正项目和负项目是虚假的。另外,推荐器使用两个反事实生成器生成的反事实交互来减弱潜在虚假联系的影响。这两个过程以相互协作的方式交替执行,以缓解虚假相关性问题。

3.1 反事实生成器

反事实生成器的目的是通过探索推荐系统中的潜在虚假联系生成反事实交互。图三展示了反事实交互的产生流程。对于一个事实交互 ( u , i ) (u,i) (u,i),核心理念是改动项目 i i i的属性信息来生成反事实项目 i c f i_{cf} icf,然后形成一个反事实交互 ( u , i c f ) (u,i_{cf}) (u,icf)。为了构建基于知识图谱的改动,首先选择一个可能导致虚假联系的KG元组,然后使用并没有直接从数据中观察到的KG元组来替换它。

在这里插入图片描述

然而,给定一个事实交互,要想产生合适的修改是很困难的,因为修改操作的可行空间十分庞大,而且没有直接有效的探索引导。为了解决这一问题,作者提出了将反事实交互的产生过程形式化为一个马尔可夫决策过程(Markov Decision Process,MDP),利用推荐系统的信号作为奖励来引导反事实交互的生成过程。

3.1.1 作为MDP的反事实产生过程

在强化学习中,通常的MDP环境可以被定义为一个元组 ( S , A , δ , R ) (\mathcal{S},\mathcal{A},\mathcal{\delta},R) (S,A,δ,R),这里的 S \mathcal{S} S定义为状态空间, A \mathcal{A} A定义为动作空间, δ : S × A → S \delta:\mathcal{S}\times\mathcal{A}\to \mathcal{S} δ:S×AS指的是转移函数, R : S × A → R R:\mathcal{S}\times \mathcal{A}\to \mathbb{R} R:S×AR是环境的奖励函数。

在反事实交互的生成中,在步骤 t t t,状态 s t ∈ S s_t\in \mathcal{S} stS被定义为一个元组 ( u , i c f t ) (u,i_{cf}^t) (u,icft) u u u为当下的用户, i c f t i_{cf}^t icft是第t步的反事实项目。通过在反事实项目 i c f t − 1 i_{cf}^{t-1} icft1上施加修改操作,获得了第t步的反事实项目。初始状态 s 0 = ( u , i ) s_0=(u,i) s0=(u,i),表示真实观测到的交互。完整的动作空间 A t \mathcal{A}_t At由在项目 i c f t i_{cf}^t icft上所有可能的修改操作组成。

3.1.2 生成器的修改操作

在状态 s t = ( u , i c f t ) s_t=(u,i_{cf}^t) st=(u,icft)时,需要高效地地搜索能够修改反事实项目 i c f t i_{cf}^t icft信息的动作。将修改分解成两步:

  1. 从项目 i i i的属性信息中选择一个属性实体 e a e_a ea(目标实体),
  2. e a e_a ea替换为另一个属性实体 e ~ a \tilde{e}_a e~a(修改实体)。

这两步用来识别可能导致虚假联系的属性实体,并进一步更新对于削弱虚假联系有作用的反事实项目。上述过程公式化如下:

在这里插入图片描述

为了建模概率 P ( e a ∣ s t ) \mathbb{P}(e_a|s_t) P(east),需要学习状态 s t s_t st的表示 v s t v_{s_t} vst。状态 s t s_t st由用户以及反事实项目组成。作者首先将用户 u u u和反事实项目 i c f t i_{cf}^t icft分别表示为 v u ∈ R d v_u\in\mathbb{R}^d vuRd v i c f ∈ R d v_{i_{cf}}\in \mathbb{R}^d vicfRd。3.2节将会介绍如何学习两种表示。

将两种表示结合起来获得状态表示 v s t v_{s_t} vst

v s t = W 1 ( v u ⊕ v i c f ) + b 1 , (2) v_{s_t}=\mathbf{W}_1(v_u\oplus v_{i_{cf}})+\mathbf{b}_1,\tag{2} vst=W1(vuvicf)+b1,(2)

这里的 W 1 ∈ R d × 2 d \mathbf{W}_1\in \mathbb{R}^{d\times 2d} W1Rd×2d b 1 ∈ R d \mathbf{b}_1\in \mathbb{R}^d b1Rd都是可学习的参数, ⊕ \oplus 是表示为连接操作。使用内积来计算属性实体 e a e_a ea和状态 s t s_t st之间的分数:

p ( e a , s t ) = ( W 2 v e a + b 2 ) T v s t , (3) p(e_a,s_t)=(\textbf{W}_2 v_{e_a}+\textbf{b}_2)^T v_{s_t},\tag{3} p(ea,st)=(W2vea+b2)Tvst,(3)

这里的 W 2 ∈ R d × d \textbf{W}_2\in \mathbb{R}^{d\times d} W2Rd×d b 2 ∈ R d \textbf{b}_2\in \mathbb{R}^d b2Rd都是可学习的参数。因此,施加一个softmax函数来归一化不同候选属性实体之间的分数。

在这里插入图片描述

这里的 ε i \varepsilon_i εi是项目实体 i i i的邻居实体。

为了建模 P ( e ~ a ∣ s t , e a ) \mathbb{P}(\tilde{e}_a|s_t,e_a) P(e~ast,ea),给定第一步选择的状态 s t s_t st以及属性实体 e a e_a ea,使用如下得分函数来选择一个修改实体 e ~ a \tilde{e}_a e~a

在这里插入图片描述

这里的 W 3 ∈ R d × d \textbf{W}_3\in \mathbb{R}^{d\times d} W3Rd×d b 3 ∈ R d \textbf{b}_3\in \mathbb{R}^d b3Rd都是可学习参数。使用softmax计算最终的选择概率:

在这里插入图片描述

这里的 ε M \varepsilon_M εM表示所有可能的修改实体的集合,这些实体都与目标实体 e a e_a ea拥有相同的联系类型,目标实体简写为项目 i i i。例如,给定元组<AVATAR, DIRECTED_BY, JAMES_CAMERON>,如果考虑到将AVATAR视为项目 i i i,将JAMES_CAMERON视为 e a e_a ea,那么我们将仅考虑其他的导演实体来替换JAMES_CAMERON。然而, ε M \varepsilon_M εM的大小常常是极大的,这将带来计算效率的问题。受到采样策略[37][46]的启发,作者设计了一个剪枝策略来保留高质量的探索。首先从 ε M \varepsilon_M εM中随机采样一个子集,之后设计一个评分函数来选择潜在项目作为新的 ε M \varepsilon_M εM,启发式地过滤掉无用的以及不相干的实体。衡量子集中用户嵌入 v u v_u vu和候选项目 v e ~ a v_{\tilde{e}_a} ve~a之间的相似度,然后正/负反事实生成器分别选择top-n的拥有最大/最小相似度分数的实体。这样,可以为目标用户生成更多的相关反事实交互。

这样可以产生策略 π \pi π的修改操作的概率。

3.1.3 基于推荐的生成器奖励

为了有效地探索庞大的修改空间,并且生成高质量的反事实交互,作者对反事实生成器提出了两个要求。首先,生成器应该尽可能精确地发掘可能造成虚假联系的知识实体,而不是推荐结果的真实因果原因。然后,生成的反事实交互应该能给提供尽可能足够的信息来帮助消除虚假联系。考虑到这两方面,作者设计了两种基于推荐器反馈信号的奖励,来指导反事实交互的产生。

基于信息的奖励

第一种奖励是由信息瓶颈原则[30]启发,称为“基于信息的奖励”。信息瓶颈的本质[5]是对输入(x)、输出(y)以及输入的表示(z)之间的关系进行建模。旨在对精确性(I(z;y))以及压缩性(I(z;x))之间进行最优化的权衡。公式化如下:

在这里插入图片描述

这里的 I ( ⋅ ) I(\cdot) I()表示两种随机变量的互信息, I ( z ; y ) I(z;y) I(z;y)是一个表示精确性的项, I ( z ; x ) I(z;x) I(z;x)是压缩项, β \beta β是一个拉格朗日乘子。这样的损失函数试图通过尽可能地减少表示 z z z中的无用信息来产生精确的预测[5]

在作者的设定中,设输入特征 x = ( u , i ) x=(u,i) x=(u,i),导出的表示 z = ( v u , v i ) z=(v_u,v_i) z=(vu,vi) y ∈ { 0 , 1 } y\in \{0,1\} y{0,1}表示用户是否与项目 i i i进行了交互。当智能体根据等式(4)来选择“目标知识实体”时,可以通过移除这些“目标实体”来获得对应的项目表示 v i v_i vi(见3.2.1)。然后,可以利用信息瓶颈,通过鼓励可以获得更好的项目表示的动作来指导修改过程。为了达成这一点,第一项 I ( z ; y ) I(z;y) I(z;y)应该被最大化,因为表示 v i v_i vi拥有充足的信息来预测 ( u , i ) (u,i) (u,i)交互的结果,第二项 I ( z ; x ) I(z;x) I(z;x)应该最小化,应为表示 v i v_i vi应该足够精炼,来减少多余的以及不重要的知识图谱实体(这些实体可能造成虚假联系),并且保留真实的因果实体,这对导出信息的以及压缩的表示 v i v_i vi是很有用的。最终,将基于信息的奖励更改为如下:

R I B ∼ I ( z ; y ) − β I ( z ; x ) . (8) R_{IB}\sim I(z;y)-\beta I(z;x).\tag{8} RIBI(z;y)βI(z;x).(8)

因为直接计算 I ( z ; y ) I(z;y) I(z;y) I ( z ; x ) I(z;x) I(z;x)是很困难的,作者使用精确性项 I ( z ; y ) I(z;y) I(z;y)的下界以及压缩项 I ( z ; x ) I(z;x) I(z;x)的上界作为基于信息的奖励 R I B R_{IB} RIB。对于第一项,使用 I ( z ; y ) = H p ( y ) − H p ( y ∣ z ) I(z;y)=H_p(y)-H_p(y|z) I(z;y)=Hp(y)Hp(yz),这里的 H ( ⋅ ) H(\cdot) H()表示 p ( ⋅ ) p(\cdot) p()的熵。因为 H p ( y ) H_p(y) Hp(y)是一个常数,所以可以先忽略。更加深入地推导下界:

在这里插入图片描述

q ( y ∣ z ) q(y|z) q(yz)是对 p ( y ∣ z ) p(y|z) p(yz)的一个估计,本质为一个使用参数 θ \theta θ的分类器,参数为权重矩阵或者嵌入参数。因此可以使用交叉熵[🪶交叉熵]作为第一项的代理。

对于第二项 I ( z ; x ) I(z;x) I(z;x),根据互信息以及Gibb’s不等式[百度百科]的定义,使用如下不等式:

在这里插入图片描述

这里的 q ( z ) q(z) q(z)是一个变分分布。继承自[15][38]等工作,作者假设后验概率 p ( z ∣ x ) = N ( μ ( x ) , diag ( σ 2 ( x ) ) ) p(z|x)=\mathcal{N}(\mu (x), \text{diag}(\sigma^2(x))) p(zx)=N(μ(x),diag(σ2(x)))是一个高斯分布,而先验概率 q ( z ) = N ( 0 , I ) q(z)=\mathcal{N}(0,I) q(z)=N(0,I)是标准高斯变分分布。如果将 σ ( x ) \sigma(x) σ(x)固定为全零的矩阵, z z z被简化为一个确定的嵌入(高斯分布的方差如果是变成0,那么就成为了一个确定的值)。那么,重写上界的公式:

在这里插入图片描述

这意味着对于一个确定的嵌入 z z z,可以通过计算嵌入向量 z z z l 2 l_2 l2正则项对上界进行建模,所以计算基于信息的奖励如下:

在这里插入图片描述

基于预测的奖励

第二类奖励是基于对真实交互和反事实交互之间预测的差异,称为“基于预测的奖励”。该奖励帮助反事实生成器更好地产生信息丰富的反事实交互。给定一个事实交互以及一个反事实交互,推荐器通过给两个交互分配推荐分数来衡量他们。如果两个交互之间的分数存在较大差异,则表示产生的反事实交互信息更加丰富,可以更加有效地消除由于被替换的知识事实造成的虚假联系。基于这一想法,作者为正反事实生成器以及负反事实生成器设计了一个基于预测的奖励函数。

对于正反事实交互数据,正反事实生成器修改用户 u u u的项目 i + i^+ i+的属性信息。与正项目 i + i^+ i+相比,推荐器对反事实项目 i c f + i_{cf}^+ icf+的评分越低,反事实项目就越能带来更多信息。为了对这种奖励进行建模,作者将推荐器作为区分器,通过计算对比分数作为奖励来区分 i + i^+ i+以及生成的反事实项目 i c f + i_{cf}^+ icf+

在这里插入图片描述

相似地,负反事实生成器的奖励函数如下:

在这里插入图片描述

将基于信息的奖励和基于预测的奖励结合,作为最终的奖励:

R = R I B + R P D . (15) R=R_{IB}+R_{PD}.\tag{15} R=RIB+RPD.(15)

当反事实生成器做出修改操作后,将会接受相应的奖励。通过最大化该奖励,反事实生成器鼓励产生高质量反事实交互:第一项帮助更好地识别造成虚假联系的知识实体,第二项帮助生成更加信息丰富的反事实交互。

3.2 推荐器

知识感知的推荐器联合考虑知识图谱以及用户-项目交互来学习用户以及项目的表示,然后使用这些表示进行推荐预测。作者使用图神经网络[9][41]实现了推荐器,传播以及聚集图中的信息。根据知识信息的特性以及用户-项目交互,作者设计了两个不同的聚集方法。

3.2.1 聚集知识信息

作者首先使用了富KG信息来学习项目表示。在作者的方法中,需要施加连续的修改来更新MDP过程中的反事实项目。为了有效地获得每次修改操作之后的节点表示,在GraphSage[9]的启发下,作者采用一个归纳式的GNN架构来学习项目表示,而不是更行整个KG。

在给定项目 i i i邻居的 ( l − 1 ) (l-1) (l1)层表示,GNN层更新项目 i i i的表示 h i ( l ) h_i^{(l)} hi(l)。作者移除非线性层以及激活曾,并且定义接下来的传播方法来计算项目 i i i的正向传播更新:

在这里插入图片描述

这里的 N ~ i \widetilde{\mathcal{N}}_i N i表示 G k g \mathcal{G}_{kg} Gkg中项目 i i i的采样邻居集合。 ∣ N ~ i ∣ |\widetilde{\mathcal{N}}_i| N i是一个正则化项。迭代地将 L L L层叠加,深度组合每一层中获得的嵌入来形成最终的项目 i i i的表示: v i = 1 L ∑ l = 1 L h i ( l ) v_i=\frac{1}{L}\sum\limits_{l=1}^L h_i^{(l)} vi=L1l=1Lhi(l)

基于归纳式GNN(inductive GNN),一旦KG的结构进行修改,根据等式(16),反事实项目表示 v i c f v_{i_{cf}} vicf可以通过局部近邻来被高效地更新。

3.2.2 聚集交互信息

将用户-项目交互的信息聚集来学习用户表示。用户-项目正交互被形式化为双向图 G u i = { ( u , i ) ∣ u ∈ U , i ∈ I } \mathcal{G}_{ui}=\{(u,i)|u\in \mathcal{U},i\in \mathcal{I}\} Gui={(u,i)uU,iI}。一条边 ( u , i ) ∈ G u i (u,i)\in \mathcal{G}_{ui} (u,i)Gui表示用户 u u u和项目 i i i之间存在观测的正交互记录。因为没有必要经常更新用户表示,作者采用了一种直推式GNN(transductive GNN)架构(与LightGCN[11]相同)来聚集交互信息。与聚集知识信息的归纳式GNN不同,直推式GNN基于整个图更新节点表示,这会导致更少的信息损失。传播过程被表示为如下:

在这里插入图片描述

这里的 N u \mathcal{N}_u Nu N i \mathcal{N}_i Ni表示用户 u u u的所有的近邻以及图 G u i \mathcal{G}_{ui} Gui中的项目 i i i。仍然将 L L L层进行叠加,并且将每层的用户 u u u的表示结合起来形成最终表示 v u = 1 L = ∑ l = 1 L z u ( l ) v_u=\frac{1}{L}=\sum\limits_{l=1}^Lz_u^{(l)} vu=L1=l=1Lzu(l)

学得用户以及项目表示,推荐器进行如下的预测:

y ^ u , i = v u T v i (18) \hat{y}_{u,i}=v_u^Tv_i\tag{18} y^u,i=vuTvi(18)

3.3 模型最优化

总结全部流程,讨论如何学习推荐器以及反事实生成器的参数,将参数表示为 Θ R \Theta_R ΘR Θ G \Theta_G ΘG

3.3.1 总体流程

反事实生成器以及推荐器被组合到一起。首先两个反事实生成器在策略 π \pi π的引导下产生反事实交互 O c f \mathcal{O}_{cf} Ocf。然后,推荐器利用生成的反事实交互 O c f \mathcal{O}_{cf} Ocf以及真实交互 O f \mathcal{O}_f Of来最优化参数 Θ R \Theta_R ΘR,消除潜在虚假联系,并且进一步改进推荐效果。在 Θ R \Theta_R ΘR被最优化之前,推荐器会计算产生的反事实交互 O c f \mathcal{O}_{cf} Ocf的奖励R,来指导下一轮反事实生成器的学习。相应的,两个反事实生成器接收了奖励 R R R来优化策略 π \pi π来生成更高质量的反事实交互。两个部分工作在一起来更好地识别以及减弱潜在虚假联系。

3.3.2 推荐器最优化

与现有的知识感知的推荐方法不同,作者模型的训练损失包括两种类型数据的损失:事实交互数据以及生成的反事实交互数据。

对于事实交互数据,遵循大部分的先前工作[35][44],作者使用了贝叶斯个性化排序(BPR)损失:

在这里插入图片描述

这里的 D \mathcal{D} D代表着真实的训练集, i + i^+ i+ i − i^- i用户 u u u的观测正项目以及采样的负项目。

对于生成的反事实交互,期待可以从推荐器中获得一个与原始真实交互相似的预测分数,通过修改操作来削弱虚假联系。为了保证最优化目标函数和 L f \mathcal{L}_f Lf在同一个度量空间中,最优化下面的损失函数,而不是直接最小化 ∣ y ^ ( u , i + ) − y ^ ( u , i c f + ) ∣ |\hat{y}(u,i^+)-\hat{y}(u,i^+_{cf})| y^(u,i+)y^(u,icf+)以及 ∣ y ^ ( u , i − ) − y ^ ( u , i c f − ) ∣ |\hat{y}(u,i^-)-\hat{y}(u,i^-_{cf})| y^(u,i)y^(u,icf)

在这里插入图片描述

为了最优化推荐器,作者冻结了反事实生成器的参数 Θ G \Theta_G ΘG,最小化等式(19)、等式(20)、等式(21)中的损失,更新 Θ R \Theta_R ΘR为:

在这里插入图片描述

这里的 μ 1 \mu_1 μ1 μ 2 \mu_2 μ2是平衡系数。

3.3.3 反事实生成器的最优化

冻结 Θ R \Theta_R ΘR,更新 Θ G \Theta_G ΘG。基于MDP公式,目标是学习一个随机策略 π \pi π,最大化观测的用户-项目交互期望累积奖励:

在这里插入图片描述

γ \gamma γ是衰减因子, R i c f R_{i_{cf}} Ricf是第t步的组合奖励 R R R。梯度下降不能直接应用到优化反事实生成器中,所以可以采用策略梯度方法[28]。梯度计算给定如下:

在这里插入图片描述

每一次迭代,交替优化推荐器以及反事实生成器的目标函数。

3.4 讨论

在这里插入图片描述

因果视角

作者将知识感知的推荐形式化为图四展示的因果图。如图四(a)所示,大部分现有的知识感知的推荐方法从用户(U)、项目(I)以及知识(K)中预测推荐结果(R),表示为 P ( R ∣ U , I , K ) P(R|U,I,K) P(RU,I,K)。然而,在KG中,并不是所有的知识都是推荐结果的原因。因此,作者将 K K K分成两个部分 K 1 K_1 K1 K 2 K_2 K2 K 1 K_1 K1是推荐结果 R R R的真正原因,而 K 2 K_2 K2不是。现有的方法如图四(b)进行建模,表示为 P ( R ∣ U , I , K 1 , K 2 ) P(R|U,I,K_1,K_2) P(RU,I,K1,K2),这使得 K 2 K_2 K2 R R R之间存在了虚假的联系。本方法首次尝试来识别 K 2 K_2 K2,使用控制 K 2 K_2 K2的do算子来产生反事实交互,如图四(c)所示,切断 I I I K 2 K_2 K2之间的联系,然后强制推荐器最小化 P ( R ∣ U , I , K 1 , d o ( K 2 = k 2 ) ) P(R|U,I,K_1,do(K_2=k_2)) P(RU,I,K1,do(K2=k2)) P ( R ∣ U , I , K 1 , d o ( K 2 = k 2 ′ ) ) P(R|U,I,K_1,do(K_2=k_2')) P(RU,I,K1,do(K2=k2))之间的差异。这样,虚假联系 K 2 → R K_2\to R K2R就可以在训练过程中被逐渐地消除。

复杂度分析

该推荐器采用了与前人的工作相似的结构[32][35]。这里作者主要分析了反事实生成器的时间复杂度。给定一批次的训练数据,每个修改操作中,首先获得反事实项目表示,时间复杂度为 O ( B ⋅ L ⋅ ∣ N ~ i ∣ ) \mathcal{O}(B\cdot L\cdot |\widetilde{\mathcal{N}}_i|) O(BLN i) B B B是批次大小, L L L是GNN层数, ∣ N ~ i ∣ |\widetilde{\mathcal{N}}_i| N i是项目实体 i i i采样的近邻数量。因为采用了归纳式的结构来聚集知识信息,可以很有效地进行该流程。进行修改的时间复杂度估计为 O ( ( ∣ ε i ∣ + ∣ ε M ∣ ) ⋅ B ⋅ d 2 ) \mathcal{O}((|\varepsilon_i|+|\varepsilon_M|)\cdot B\cdot d^2) O((εi+εM)Bd2),这里的 ∣ ε i ∣ |\varepsilon_i| εi是项目实体 i i i的近邻实体的数量, ∣ ε M ∣ |\varepsilon_M| εM是所有可能的修改实体的数量, d d d是嵌入大小。 ∣ ε M ∣ |\varepsilon_M| εM是一个巨大的数字,采用剪枝策略来将其削减到一个更小的值来加速该操作。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值