Ekar : Explainable Knowledge Graph-based Recommendation via Deep Reinforcement Learning解析

Ekar是一个推荐系统模型,它利用深度强化学习来提升知识图谱的可解释性。模型通过马尔科夫决策过程从目标用户开始,选择路径来解释推荐项目的原因。策略网络基于LSTM编码状态,并用MLP预测交互概率。奖励增强策略通过sigmoid激活函数调整奖励信号,优化网络使用REINFORCE算法。该方法旨在生成能解释推荐项目的路径,提高推荐的透明度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Ekar : Explainable Knowledge Graph-based Recommendation via Deep Reinforcement Learning解析


提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档


一、前言

1. 本文的研究点:

  • 解决知识图谱的可解释性较低的问题;
  • 希望生成如图所示的一条路径,这条路径能够解释为什么推荐这个项目;
    在这里插入图片描述
    在图片中,这条路径是用户–看过–>泰坦尼克号–主演–>小李子–主演–>罗密欧和朱丽叶。

2. 方法的关键点

  1. 推荐Agent从目标用户开始,通过依次选择用户-项目-实体图上的行走,将其路径扩展到相关项目。在训练过程中,如果起始用户和终端实体恰巧是推荐数据中存在的一次用户与项目之间的交互,我们就给这条路径分配一个正的奖励。
  2. 考虑到由于巨大的探索空间,奖励在开始时可能是非常稀疏的,我们通过reward shaping[17]进一步增强奖励信号,其中软奖励函数首先使用最先进的知识图嵌入方法学习。
  3. 我们使用REINFORCE[29]算法来最大化 我们的推荐代理的预期奖励。

二、方法介绍

这里的介绍是按照马尔科夫决策过程进行的。

1. 马尔科夫决策过程

States s t = ( r 0 , e 0 , r 1 , e 1 , . . . r t , e t ) ∈ S t s_t = (r_0, e_0, r_1, e_1, ... r_t, e_t) \in \mathcal{S}_t st=(r0,e0,r1,e1,...rt,et)St, r t ∈ R ′ r_t \in \mathcal{R}^{\prime} rtR e t ∈ V ′ e_t\in \mathcal{V}^{\prime} etV 。初始化的状态 s 0 = ( r 0 , e 0 ) s_0 = (r_0, e_0) s0=(r0,e0)代表着开始的目标用户, r 0 r_0 r0是人工引进的边。 R ′ \mathcal{R}^{\prime} R 是边的集合,其中包括知识图谱中的边和用户项目交互关系, V ′ \mathcal{V}^{\prime} V包括知识图谱中的实体和用户、项目节点。
Actions :当实体处于状态 s t s_t st,动作是当前所处实体的出节点集合,具体而言,对于状态 s t s_t st而言,实体空间是 A t = { a = ( r ′ , e ′ ) ∣ ( e t , r ′ , e ′ ) ∈ G ′ } \mathcal{A}_t=\{a=(r^{\prime}, e^{\prime}) | (e_t, r^{\prime}, e^{\prime}) \in \mathcal{G}^{\prime} \} At={a=(r,e)(et,r,e)G}
Transition : 如果下一步的行动被设定为 a t = ( r t + 1 , e t + 1 ) a_t=(r_{t+1},e_{t+1}) at=(rt+1,et+1)则下一步的状态 s t + 1 = { r 0 , e 0 , . . . r t , e t , r t + 1 , e t + 1 } s_{t+1}=\{ r_0, e_0, ... r_t, e_t, r_{t+1}, e_{t+1} \} st+1={r0,e0,...rt,et,rt+1,et+1}
Rewards : 给定终点状态 e T e_T eT R T = 1 R_T=1 RT=1如果项目是用户交互过的项目,为0如果不是用户交互过的项目,为-1如果不是项目类别。
在这里插入图片描述

2.策略网络

基于LSTM对当前的状态进行编码:
s 0 = L S T M ( 0 , [ r 0 ; e 0 ] ) \mathbf{s}_0=LSTM(\mathbf{0}, [\mathbf{r}_0; \mathbf{e}_0]) s0=LSTM(0,[r0;e0])
s t = L S T M ( s t − 1 , [ r t ; e t ] ) \mathbf{s}_t=LSTM(\mathbf{s}_{t-1}, [\mathbf{r}_t;\mathbf{e}_t]) st=LSTM(st1,[rt;et])
基于MLP预测每个项目的交互概率:
y t = W 2 R e L U ( W 1 s t + b 1 ) + b 2 \mathbf{y}_t = \mathbf{W}_2ReLU(\mathbf{W}_1\mathbf{s}_t+\mathbf{b}_1)+\mathbf{b}_2 yt=W2ReLU(W1st+b1)+b2
采取行为 a ′ a^{\prime} a的概率是:
π ( a ′ ∣ s t ) = s o f t m a x ( a ′ y t ) \pi(a^{\prime}|s_t)=softmax(\mathbf{a}^{\prime}\mathbf{y}_t) π(ast)=softmax(ayt)

3. 奖励增强

R T = { 1 ,  if  e T ∈ I  and  < e 0 , r ˉ , e T > ∈ G ′ , σ ( ψ ( e 0 , r ˉ , e T ) ) ,  if  e T ∈ I  and  < e 0 , r ˉ , e T > ∉ G ′ , − 1 ,  otherwise,  R_T= \begin{cases}1, & \text { if } e_T \in \mathcal{I} \text { and }<e_0, \bar{r}, e_T>\in \mathcal{G}^{\prime}, \\ \sigma\left(\psi\left(e_0, \bar{r}, e_T\right)\right), & \text { if } e_T \in \mathcal{I} \text { and }<e_0, \bar{r}, e_T>\notin \mathcal{G}^{\prime}, \\ -1, & \text { otherwise, }\end{cases} RT= 1,σ(ψ(e0,rˉ,eT)),1, if eTI and <e0,rˉ,eT>∈G, if eTI and <e0,rˉ,eT>/G, otherwise, 
其中, σ \sigma σ是sigmoid激活函数, ψ ( e 0 , r ˉ , e T ) = − ∣ ∣ e 0 + r ˉ − e T ∣ ∣ \psi ({e_0},\bar r,{e_T}) = - ||{e_0} + \bar r - {e_T}|| ψ(e0,rˉ,eT)=∣∣e0+rˉeT∣∣

4. 网络优化

基于Reinforce方法进行优化:
J ( θ ) = E e 0 ∈ U [ E a 1 , a 2 , … , a T ∼ π θ ( a t ∣ s t ) [ R T ] ] ; J(\theta)=\mathbb{E}_{e_0 \in \mathcal{U}}\left[\mathbb{E}_{a_1, a_2, \ldots, a_T \sim \pi_\theta\left(a_t \mid s_t\right)}\left[R_T\right]\right]; J(θ)=Ee0U[Ea1,a2,,aTπθ(atst)[RT]];
∇ θ J ( θ ) ≈ ∇ θ ∑ t R T log ⁡ π θ ( a t ∣ s t ) \nabla_\theta J(\theta) \approx \nabla_\theta \sum_t R_T \log \pi_\theta\left(a_t \mid s_t\right) θJ(θ)θtRTlogπθ(atst)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值