IREC-GAN
1 Introduction
推荐系统已经成功地将用户与其在各种应用领域中最感兴趣的内容联系起来。然而,由于用户的兴趣和行为模式不同,只向每个用户呈现一小部分项目,记录的反馈更少。对于如此大的状态和动作空间,这提供了相对较少的关于用户-系统交互的信息,因此在基于历史交互的基础上构建有用的推荐策略带来了相当大的挑战。重要的是开发解决方案,从稀疏的用户反馈(如点击和购买)中了解用户的偏好,以进一步提高推荐系统的实用性。
用户的兴趣可以是短期的,也可以是长期的,并通过不同类型的反馈反映出来[35]。例如,点击通常被认为是短期反馈,反映了用户在交互过程中的即时兴趣,而购买则反映了用户的长期兴趣,这通常发生在多次点击之后。考虑到用户的短期和长期利益,我们将推荐系统构建为一个强化学习(RL)代理,其目的是在不牺牲推荐的短期效用的情况下最大化用户的总体长期满意度。
经典的无模型RL方法需要通过与环境交互来收集大量数据,例如。G用户群。因此,如果不与真实用户进行交互,推荐人就无法轻易地在状态和行动空间中的以前未探索的区域中探测奖励。然而,对于推荐人来说,为了奖励和模型更新而与用户互动的成本太高,因为不好的推荐(例如。G用于探索)损害用户满意度,增加用户退出的风险。在这种情况下,推荐人最好通过充分利用从其他策略(例如,从。G以前部署的系统)而不是直接与用户交互。为此,我们在这项工作中采用了一种基于模型的学习方法,在这种方法中,我们从离线数据中估计用户行为的模型,并使用它与我们的学习代理交互,以同时获得改进的策略。
基于模型的RL具有采样效率高、有助于降低离线数据中的噪声等优点。然而,由于其对真实环境的模型近似存在固有的偏差,这种优势很容易减弱。此外,在随后的政策更新中的巨大变化带来了用户满意度下降的风险,即。E模型更新中的建议不一致。为了解决这些问题,我们在推荐人的离线数据策略学习中引入了对抗性训练。通过训练鉴别器来区分模拟的交互轨迹和真实的交互轨迹,从而建立用户行为模型并改进策略学习。据我们所知,这是第一个在基于模型的RL推荐框架上探索对抗训练的工作。我们从理论和实证上证明了我们提出的解决方案在政策评估中的价值。我们工作的主要贡献如下:1:为了避免高交互成本,我们提出了一个统一的解决方案,通过基于模型的RL算法,通过对抗性训练集成,更有效地利用记录的离线数据。它支持稳健的推荐策略学习。2:通过理论分析和广泛的实证评估,验证了所提出的模型。实验结果表明,与最先进的基线相比,我们的解决方案具有更好的样本效率
2 Related Work
我们依赖基于策略梯度的RL方法;但我们同时估计用户行为模型,以提供可靠的环境估计,从而更新代理的策略。
基于模型的RL算法结合了一个环境模型来预测看不见的状态-动作对的奖励。最有效的基于模型的算法使用了相对简单的函数近似,这实际上在具有非线性动力学的高维空间中存在困难,从而导致巨大的近似偏差。
设计了利用反向倾向分数、上限反向倾向分数和各种方差控制措施的多个非政策估计器。
加入GAN对抗训练:鉴别器通过蒙特卡罗采样方法在每集结束时提供奖励信号。生成器采取顺序操作,并使用估计的累积奖励学习策略,生成器由两个组件组成,即:推荐代理和用户行为模型。通过对抗性训练和策略梯度模拟交互过程。与序列生成任务不同的是,序列生成任务仅旨在生成与给定观察结果相似的序列,我们利用对抗性训练来帮助减少用户模型中的偏差,并进一步减少训练代理时的差异。
3 Problem Statement
Problem:从离线数据中学习一个策略,这样当在线部署时,它可以最大化从与用户的交互中获得的累积奖励。我们使用基于模型的强化学习解决方案来解决这个问题,该解决方案从数据中显式地建模用户的行为模式。
推荐者作为学习代理生成策略下的操作,其中每个操作给出k个项目的推荐列表。每次通过代理和环境之间的交互(即系统的用户),n个序列中的 Ω = τ 1 , . . . , τ n Ω = {τ_1, . . . , τ_n} Ω=τ1,...,τn被记录,其中 τ i τ_i τi是包含代理行为、用户行为和奖励的第i个序列: τ i = ( a 0 i , c 0 i , r 0 i ) , ( a 1 i , c 1 i , r 1 i ) ( a t i , c t i , r t i ) τi={(a^i_ 0,c^i_ 0,r^i_ 0),(a^i_ 1,c^i_ 1,r^i_ 1)(a^i_ t,c^i_ t,r^i_ t)} τi=(a0i,c0i,r0i),(a1i,c1i,r1i)(ati,cti,rti), r t i r^i_t rti表示购买 a t i a^i_t ati的奖励。并且 c t i c^i_t cti是对应于代理的操作 a t i a^i_t ati的关联用户行为(如:单击推荐的项目)。为了简单起见,在本文的其余部分中,我们去掉上标i来表示一般序列τ。基于观察到的序列,学习策略π以最大化期望累积报酬Eτ∼π[PT t=0rt],其中t是τ的结束时间。
为了缩小讨论范围,我们研究了一种典型的用户行为,即点击,并做出以下假设:1)每次用户必须点击推荐列表中的一个项目;2) 推荐列表中未点击的项目不会影响用户未来的行为;3) 奖励仅与点击的项目相关。例如,当将用户的购买作为奖励时,只能在点击的项目中进行购买。
在马尔可夫决策过程中,环境由状态集 S S S、动作集 a a a、状态转移分布 P : S × a × S P:S×a×S P:S×a×S和奖励函数 f r : S × a → R f_r:S×a→ R fr:S×a→R、 它将状态-动作对映射到实值标量。本文将环境建模为用户行为模型 U U U,并从离线日志数据中学习。 S S S由时间 t t t之前的交互历史反映, P P P捕捉用户行为的转变。同时,基于上述假设,在每一时刻 t t t,基于当前状态下的用户点击概率,通过代理 A A A在 a t a_t at上的推荐,环境生成用户在 c t c_t ct项目的点击;奖励函数 f r f_r fr为点击的项目 c t c_t ct生成奖励。
我们的推荐策略是从离线数据和从学习的用户行为模型(即基于模型的RL解决方案。我们在基于模型的策略学习中加入了对抗性训练,以:1)改进用户模型,确保采样数据接近真实的数据分布;2) 利用鉴别器从生成的序列中缩放奖励,以进一步减少价值估计中的偏差。我们提出的解决方案包含一个由U和A构建的交互模型,以及一种对抗性策略学习方法。我们将该解决方案命名为交互式推荐器GAN,简称IRecGAN。我们提出的解决方案的概述如图1所示:
A、 U和D分别表示代理模型、用户行为模型和鉴别器。在IRECGA中,A和U相互作用以生成接近真实数据分布的推荐序列,从而共同减少U中的偏差并提高A中的推荐质量。
4 Interactive Modeling for Recommendation
我们提出了我们的交互式推荐模型,该模型由两个部分组成:1)用户行为模型U,它生成用户对推荐项目的点击,并提供相应的奖励;以及2)代理A,其根据其策略生成建议。U和A相互交互以生成用于对抗性策略学习的用户行为序列。
用户行为模型
用户点击观察序列:
{
c
0
,
c
1
,
…
…
,
c
t
−
1
}
\{c_0,c_1,……,c_{t-1}\}
{c0,c1,……,ct−1}。用户行为模型U将点击项投影到嵌入向量
e
u
e^u
eu中。点击历史的状态表示:
s
t
u
=
h
u
(
e
0
u
,
e
1
u
,
…
…
,
e
t
−
1
u
)
s^u_t = h_u(e^u_0,e^u_1,……,e^u_{t-1})
stu=hu(e0u,e1u,……,et−1u)。用RNN对用户端的状态转换P进行建模:
s
t
u
=
h
u
(
s
t
−
1
u
,
e
t
−
1
u
)
s^u_t = h_u(s^u_{t-1},e^u_{t-1})
stu=hu(st−1u,et−1u)
h
u
h^u
hu是RNN(如GRU,LSTM)中的单元。
由于我们可以在用户端和代理端使用不同的嵌入,因此我们使用上标u和a来相应地表示这种差异。
在时间t的top-k推荐执行动作 a t = { a t ( 1 ) , . . . a t ( k ) } a_t= \{a_{t(1)}, ...a_{t(k)}\} at={at(1),...at(k)},计算点击概率:
等式(1):
V c ∈ R k V^c∈ \mathbb{R}^k Vc∈Rk是一个转换向量,表示在状态 s t u s^u_t stu下每个推荐项 a t ( i ) a_{t(i)} at(i)的评估质量, E t u E^u_t Etu是推荐项的嵌入矩阵, W c W^c Wc是点击权重矩阵, b c b^c bc是相应的偏差项。假设目标奖励仅与点击的项目相关,则奖励的计算公式为:
等式(2):
其中 w r w^r wr为奖励权重矩阵, b r b_r br为相应的偏差项, f r f_r fr为奖励映射函数,可根据特定推荐系统中的奖励定义进行设置。例如,如果我们对一个点击的项目 c t c_t ct进行购买,如果购买了,则 r t r_t rt=1;否则,则 r t r_t rt=0,则可以通过具有二进制输出的 S i g m o i d Sigmoid Sigmoid函数来实现
基于等式(1)(2)采取分类奖励,可以通过最大似然估计根据离线数据Ω估计用户行为模型U :
等式(3):
其中 λ p λ_p λp是平衡点击预测和奖励预测之间损失的参数, T i T_i Ti是观测序列 τ i τ_i τi的长度。通过学习用户行为模型,可以从等式(1)和(2)中相应地对推荐列表上的用户点击和奖励进行采样。
代理
代理应根据环境提供的状态采取操作。然而,在实践中,用户的状态在推荐系统中是不可见的。代理采取行动的状态可能与用户产生点击和奖励的状态不同。我们在A中的代理端构建一个不同的状态模型来学习它的状态。与用户端类似,给定投影的点击向量 { e 0 a , e 2 a , … … , e t − 1 a } \{e^a_0,e^a_2,……,e^a_{t−1}\} {e0a,e2a,……,et−1a},我们用 s t a = h a ( s t − 1 a , e t − 1 a ) s^a_t = h_a(s^a_{t-1},e^a_{t-1}) sta=ha(st−1a,et−1a)其中 s t a s^a_t sta是代理在时间 t t t保持的状态, h a h^a ha(·,·)是所选的RNN单元。首先推荐的初始状态 s 0 a s^a_0 s0a来自分布 ρ ρ ρ。在本文的其余部分中,我们只是将其表示为 s 0 s_0 s0。我们应该注意到,尽管代理也基于用户的点击历史对状态进行建模,但它可能会创建与用户端不同的状态序列。
基于当前状态 s t a s^a_t sta,代理从整个项目集合中生成一个 s i z e − k size-k size−k推荐列表,作为它的操作 a t a_t at。在决策 π \pi π下项目i被包括进 a t a_t at的概率:
等式(4):
其中 W i a W^a_i Wia是动作权重矩阵 W a W^a Wa的第 i i i行, C C C是整个推荐候选集, b i a b^a_i bia是相应的偏差项。在[2]之后,我们根据等式(4)通过不替换的采样生成 a t a_t at。与〔3〕不同,我们不考虑k项之间的组合效应,只要假设用户将独立地评估它们。如等式(1)所示
5 Adversarial Policy Learning
对抗性政策学习:
基于生成的数据和离线数据,我们使用策略梯度方法[34]对代理进行策略学习。当对于t>0生成 τ ^ 0 : t = { ( a ^ 0 , c ^ 0 , r ^ 0 ) , … … , ( a ^ t , c ^ t , r ^ t ) } \hat{τ}_{0:t}=\{(\hat{a}_0,\hat{c}_0,\hat{r}_0),……,(\hat{a}_t,\hat{c}_t,\hat{r}_t)\} τ^0:t={(a^0,c^0,r^0),……,(a^t,c^t,r^t)}时,通过等式(4)我们得到 a ^ t = A ( τ ^ 0 : t − 1 c ) \hat{a}_t = \mathcal{A}(\hat{τ}^c_{0:t-1}) a^t=A(τ^0:t−1c),由式(2)得出 c ^ t = U c ( τ ^ 0 : t − 1 c , a ^ t ) \hat{c}_t = \mathcal{U}_c(\hat{τ}^c_{0:t-1},\hat{a}_t) c^t=Uc(τ^0:t−1c,a^t),由等式(1)得出 r ^ t = U r ( τ ^ 0 : t − 1 c , c ^ t ) \hat{r}_t = \mathcal{U}_r(\hat{τ}^c_{0:t-1},\hat{c}_t) r^t=Ur(τ^0:t−1c,c^t)。 τ c τ^c τc表示序列 τ τ τ中的点击。 ( a ^ 0 , c ^ 0 , r ^ 0 ) (\hat{a}_0,\hat{c}_0,\hat{r}_0) (a^0,c^0,r^0)由 s 0 a s^a_0 s0a和 s 0 u s^u_0 s0u相应地生成。如果 c ^ t = c e n d \hat{c}_t = c_{end} c^t=cend,则序列的生成在时间 t t t结束,其中 c e n d c_{end} cend是停止符号。生成数据和离线数据的分布分别表示为g和data。
由于我们从离线数据开始U的训练,它引入了来自观察和我们特定建模选择的固有偏差。为了减少偏差的影响,我们采用对抗性训练来控制U和A的训练。鉴别器还用于重新缩放生成的奖励 r ^ \hat{r} r^以用于策略学习。因此,agent A \mathcal{A} A的学习同时考虑序列生成和目标奖励。
影响,我们采用对抗性训练来控制U和A的训练。鉴别器还用于重新缩放生成的奖励 r ^ \hat{r} r^以用于策略学习。因此,agent A \mathcal{A} A的学习同时考虑序列生成和目标奖励。