目录
4. 关于强化学习(Reinforcement Learning,RL)的基础知识
2.1 run_worldModel_ensemble.py
④ **df_user**
⑨ **dataset_train**(由dataset返回得到)
③③ **df_user_val**(由df_user返回得到)
④④ **df_item_val**(由df_item返回得到)
一、论文解析(源于机器翻译)
序号与论文的序号关系一致
请注意:该处为机器翻译的,准确性和正确性很低,仅为本文作者参考使用
4. 关于强化学习(Reinforcement Learning,RL)的基础知识
4.1强化学习基础
1. Reinforcement learning (RL) is the science of decision making.
强化学习是关于决策制定的科学。
- 强化学习是一种机器学习方法,旨在通过智能体(agent)与环境的交互学习来做出最优决策。
2. We usually formulate the problem as a Markov decision process (MDP): 𝑀 = (S, A,𝑇 , 𝑟,𝛾), where S and A represent the state space and action space, 𝑇 (𝑠, 𝑎, 𝑠′) = 𝑃(𝑠𝑡+1 = 𝑠′|𝑠𝑡 = 𝑠, 𝑎𝑡 = 𝑎) is the transition probability from (𝑠, 𝑎) to 𝑠′, 𝑟(𝑠, 𝑎) is the reward of taking action 𝑎 at state 𝑠, and 𝛾 is the discount factor.
我们通常将问题表述为马尔可夫决策过程(Markov Decision Process,MDP):𝑀 = (S, A,𝑇 , 𝑟,𝛾),其中 S 和 A 表示状态空间和动作空间,𝑇 (𝑠, 𝑎, 𝑠′) = 𝑃(𝑠𝑡+1 = 𝑠′|𝑠𝑡 = 𝑠, 𝑎𝑡 = 𝑎) 是从状态 (𝑠, 𝑎) 转移到 𝑠′ 的转移概率,𝑟(𝑠, 𝑎) 是在状态 𝑠 采取动作 𝑎 的奖励,𝛾 是折扣因子。
- MDP 是一种数学框架,用于描述强化学习中的决策问题。它包含了状态空间、动作空间、状态转移概率、奖励函数以及折扣因子。
3. Accordingly, the offline MDP can be denoted as 𝑀b = (S, A, b𝑇 , ˆ𝑟,𝛾), where 𝑇b and 𝑟ˆ are the transition probability and reward function predicted by an offline model.
因此,离线 MDP 可以表示为 𝑀b = (S, A, b𝑇 , ˆ𝑟,𝛾),其中 𝑇b 和 𝑟ˆ 是由离线模型预测的转移概率和奖励函数。
- 这里提到了离线 MDP,指的是在离线数据集上进行强化学习训练的情况。离线模型通过预测转移概率和奖励函数来构建离线 MDP。
4. In offline RL, the policy is trained on an offline dataset D which was collected by a behavior policy 𝜋𝛽 running in online environment 𝑀.
在离线强化学习中,策略是在离线数据集 D 上进行训练的,该数据集由在线环境 𝑀 中运行的行为策略 𝜋𝛽 收集而来。
- 离线强化学习是指在事先收集好的数据集上进行强化学习的方法,而不是在与环境的实时交互中进行学习。
5. By modifying the offline MDP 𝑀b to be conservative for overcoming the value overestimation issue, we will derive a modified MDP 𝑀e = (S, A, b𝑇 ,e𝑟,𝛾), where the modified reward e𝑟 is modified from the predicted reward 𝑟ˆ.
通过修改离线 MDP 𝑀b 来保守地解决值函数过高估计的问题,我们可以得到一个修正后的 MDP 𝑀e = (S, A, b𝑇 ,e𝑟,𝛾),其中修正后的奖励 e𝑟 是根据预测奖励 𝑟ˆ 进行修正的。
- 这里提到了修正后的 MDP,目的是解决在离线强化学习中值函数过高估计的问题。修正后的奖励会对预测奖励进行修正,以更准确地估计累积奖励。
6. Since RL considers long-term utility, we can define the value function as 𝑉𝜋𝑀(𝑠) = E𝜋,𝑇 [Σ𝑡=0 ∞ 𝛾^𝑡 𝑟(𝑠𝑡, 𝑎𝑡)|𝑠0 = 𝑠], denoting the cumulative reward gain by policy 𝜋 after state 𝑠 in MDP 𝑀.
由于强化学习考虑了长期效用,我们可以将值函数定义为 𝑉𝜋𝑀(𝑠) = E𝜋,𝑇 [Σ𝑡=0 ∞ 𝛾^𝑡 𝑟(𝑠𝑡, 𝑎𝑡)|𝑠0 = 𝑠],表示在 MDP 𝑀 中状态 𝑠 后策略 𝜋 获得的累积奖励。
- 值函数用于评估在给定策略下,从某个状态开始的累积奖励。通过将每个时间步的奖励乘以折扣因子的幂次,可以考虑未来奖励的衰减。
7. Let 𝑃𝜋𝑇,𝑡 be the probability of the agent's being in state 𝑠 at time 𝑡, if the agent uses policy 𝜋 and transits with 𝑇. Defining 𝜌𝑇𝜋(𝑠, 𝑎) = (1 − 𝛾)𝜋(𝑎|𝑠) Σ𝑡=0 ∞ 𝛾^𝑡𝑃𝜋𝑇,𝑡 (𝑠) as the discounted distribution of state-action pair (𝑠, 𝑎) for policy 𝜋 over 𝑇, we can derive another form of the policy's accumulated reward as 𝜂𝑀(𝜋) = E(𝑠,𝑎)∼𝜌𝑇𝜋 [𝑟(𝑠, 𝑎)].
让 𝑃𝜋𝑇,𝑡 表示在代理使用策略 𝜋 并且使用 𝑇 进行转移时,代理在时间 𝑡 处于状态 𝑠 的概率。定义 𝜌𝑇𝜋(𝑠, 𝑎) = (1 − 𝛾)𝜋(𝑎|𝑠) Σ𝑡=0 ∞ 𝛾^𝑡𝑃𝜋𝑇,𝑡 (𝑠) 作为策略 𝜋 在 𝑇 上的状态-动作对 (𝑠, 𝑎) 的折扣分布,我们可以推导出策略累积奖励的另一种形式,即 𝜂𝑀(𝜋) = E(𝑠,𝑎)∼𝜌𝑇𝜋 [𝑟(𝑠, 𝑎)]。
- 这里介绍了另一种表达策略累积奖励的方式。通过计算策略 𝜋 在 MDP 𝑀 中的状态-动作对 (𝑠, 𝑎) 的折扣分布 𝜌𝑇𝜋(𝑠, 𝑎),可以计算策略累积奖励 𝜂𝑀= E(𝑠,𝑎)∼𝜌𝑇𝜋 [𝑟(𝑠, 𝑎)]。
4.2基于模型的离线RL框架
在本文中,我们采用了最先进的基于模型的离线策略优化框架MOPO3 [55]。基本思想是学习一个动力学模型 𝑇b,它捕捉环境中的状态转移 (𝑠, 𝑎) → 𝑠',并估计给定状态 𝑠 和动作 𝑎 的奖励 𝑟ˆ(𝑠, 𝑎)。为了解决价值函数 𝑉𝜋b𝑀(𝑠) 通常过于乐观估计的分布偏移问题,MOPO引入了一个惩罚函数𝑝(𝑠, 𝑎),作用于估计的奖励 𝑟ˆ(𝑠, 𝑎),形式为:
𝑟˜(𝑠, 𝑎) = 𝑟ˆ(𝑠, 𝑎) − 𝜆𝑝(𝑠, 𝑎)。 (1)
在修改后的奖励函数𝑟˜(𝑠, 𝑎)上,离线MDP 𝑀b 将被修改为保守的MDP:𝑀e = (S, A, b𝑇, ˜𝑟,𝛾)。MOPO在这个MDP 𝑀e 中学习其策略。通过定义𝜖𝑝 (𝜋) = E(𝑠,𝑎)∼𝜌𝜋b𝑇[𝑝(𝑠, 𝑎)],MOPO有以下理论保证:
定理 4.1. 如果惩罚函数 𝑝(𝑠, 𝑎) 满足:
𝜆E(𝑠,𝑎)∼𝜌𝜋b𝑇[𝑝(𝑠, 𝑎)] ≥ |𝜂 b𝑀(𝜋) − 𝜂𝑀(𝜋)|, (2)
那么在 𝑀e 中训练得到的最佳离线策略 ˆ𝜋 满足:
𝜂𝑀(ˆ𝜋) ≥ sup𝜋{𝜂𝑀(𝜋) − 2𝜆𝜖𝑝(𝜋)}。 (3)
证明可以在[55]中找到。方程(2)要求惩罚函数是离线和在线策略不匹配的度量,因此𝜖𝑝(𝜋)可以解释为策略 𝜋 受离线外推误差影响的程度。方程(3)被认为是基于模型的离线强化学习中奖励惩罚的理论保证。例如,𝜋∗ 表示在线MDP 𝑀 中的最优策略,我们有 𝜂𝑀(ˆ𝜋) ≥ 𝜂𝑀(𝜋∗) − 2𝜆𝜖𝑝(𝜋∗)。
备注:通过在保守的MDP 𝑀e 中离线学习 ˆ𝜋,使用方程(1),我们可以得到的结果不会与在真实MDP 𝑀 中在线学习最优策略 𝜋∗ 的结果相差太大。该偏差不会超过 2𝜆𝜖𝑝(𝜋∗)。然而,尚未对如何正确选择惩罚项 𝑝(𝑠, 𝑎) 进行充分的分析。接下来,我们将介绍如何将这个框架适应推荐系统,并根据推荐场景的特点重新定义 𝑝(𝑠, 𝑎)。
5. 方法
我们在推荐系统中实现了基于模型的离线强化学习框架,并对惩罚项进行了重新设计,以减轻伴随的马太效应。然后,我们介绍了提出的DORL模型。
5.1解决方案:推荐中基于模型的强化学习
在推荐系统中,我们无法直接从环境中获取状态,而是通过捕捉交互上下文和用户的情绪来建模状态。通常,状态 𝑠 ∈ S 被定义为从用户先前交互的物品和相应反馈中提取的向量。当系统推荐一个项目作为行动 𝑎 ∈ A 时,用户会给出反馈作为一个刻度奖励信号 𝑟 B 𝑅(𝑠, 𝑎)。例如,𝑟 ∈ {0, 1} 表示用户是否点击了该物品,或者𝑟 ∈ R+ 反映了用户观看视频的时间。状态转移函数(即状态编码器)𝑇可以写成 𝑠′ B 𝑓𝜔(𝑠, 𝑎, 𝑟),其中 𝑓𝜔(𝑠, 𝑎, 𝑟) 自回归地输出下一个状态 𝑠′,可以实现为任何顺序模型。
在离线学习中,我们无法获得不在离线数据集中的物品的用户反应。为了解决这个问题,我们使用一个用户模型(或奖励模型)𝑅b(𝑠, 𝑎) 来学习用户的静态兴趣。这个模型可以实现为任何先进的推荐器,如 DeepFM [19]。用户模型将生成一个估计的奖励 𝑟ˆ = 𝑅b(𝑠, 𝑎),表示用户对物品的内在兴趣。转移函数 𝑇b 将被写成 𝑠′ B 𝑓𝜔(𝑠, 𝑎,𝑟ˆ)。离线 MDP 被定义为 𝑀b = (S, A, b𝑇 , ˆ𝑟,𝛾)。由于估计奖励 𝑟ˆ 可能偏离实际值 𝑟,我们遵循 MOPO 的方法使用方程式 (1) 来得到修改后的奖励 𝑟˜(𝑠, 𝑎) = 𝑟ˆ(𝑠, 𝑎) − 𝜆𝑝(𝑠, 𝑎)。然后,我们可以使用修改后的奖励 𝑟˜ 来训练推荐策略,将用户模型视为模拟用户。
现在,问题变成了设计惩罚项 𝑝(𝑠, 𝑎)。首先,我们扩展了[37, 55]中的不匹配函数。我们使用 𝑅 和 𝑅b 来简写 𝑅(𝑠, 𝑎) 和 𝑅b(𝑠, 𝑎)。引理 5.1 定义了一个策略 𝜋 在真实 MDP 𝑀 和估计 MDP 𝑀b 上的不匹配函数 𝐺𝜋b𝑀(𝑠, 𝑎):
𝐺𝜋b𝑀(𝑠, 𝑎) = E𝑠ˆ′∼b𝑇,𝑟ˆ∼𝑅b[𝛾𝑉𝜋𝑀(𝑠ˆ′) + 𝑟ˆ] - E𝑠′∼𝑇,𝑟∼𝑅[𝛾𝑉𝜋𝑀(𝑠′) + 𝑟]. (4)
这个函数衡量了策略 𝜋 在真实 MDP 和估计 MDP 上的不匹配程度。
公式(5)可以表示为:
E(𝑠,𝑎)∼𝜌𝜋𝑇b[𝐺𝜋b𝑀(𝑠, 𝑎)] = 𝜂b𝑀(𝜋) − 𝜂𝑀(𝜋) (5)
在这个公式中,我们有以下符号的含义:
- E(𝑠,𝑎)表示在状态-动作对(𝑠,𝑎)上的期望值。
- 𝜌表示状态-动作对的分布。
- 𝜋表示推荐系统的策略。
- 𝑇b表示基于𝑏的状态转移概率。
- 𝐺𝜋b𝑀(𝑠, 𝑎)是不匹配函数,衡量了在𝑠状态下采取动作𝑎时的不匹配程度。
- 𝜂b𝑀(𝜋)是在保守策略𝜋下的最大回报。
- 𝜂𝑀(𝜋)是在最优策略下的最大回报。公式的含义是,在保守型马尔可夫决策过程中,基于策略𝜋的状态-动作对的期望回报等于在𝜋下的最大回报与保守策略𝜋下的最大回报之差。这个公式表明了策略𝜋的性能与最优策略之间的差距,以及保守策略的影响。
首先,等式(5)表明了在保守型马尔可夫决策过程中,期望回报的估计值与真实回报的差异。这个等式的左边表示在保守策略下,从状态𝑠经过动作𝑎的转移的预期回报,右边表示在最优策略下的最大回报与当前策略的回报之差。
不匹配函数𝐺𝜋b𝑀(𝑠, 𝑎)扩展了之前文献[55]中的定义,将状态转移函数分成了状态𝑠和奖励𝑟两部分。这是因为在推荐系统的背景下,状态的随机性仅来自与奖励信号𝑟相关的随机性。因此,在整合状态转移时,明确表达奖励𝑟的影响是必要的。引理5.1的证明可以从文献[37]中的"telescoping lemma"的证明过程进行改编。
根据保守性的理念,我们根据不匹配函数𝐺𝜋b𝑀(𝑠, 𝑎)添加了一个惩罚项𝑝(𝑠, 𝑎),假设满足以下条件:
𝜆𝑝(𝑠, 𝑎) ≥ |𝐺𝜋b𝑀(𝑠, 𝑎)|, (6)
结合等式(5)和等式(6),满足等式(2)的条件,为保守型马尔可夫决策过程中学习的推荐策略𝜋提供了理论保证。
值得注意的是,引理5.1为设计满足定理4.1中的理论保证的惩罚项𝑝(𝑠, 𝑎)提供了一种视角。根据等式(6),定义𝑝(𝑠, 𝑎)的问题转化为分析𝐺𝜋b𝑀(𝑠, 𝑎),这将在第5.3节中描述。
原始的MOPO模型将动力学模型的不确定性𝑃𝑈作为惩罚项,即𝑝(𝑠, 𝑎) = 𝑃𝑈。然而,惩罚不确定性会导致模型更关注经常推荐的项目,而忽视很少被推荐的项目。这将加速马太效应的发生。
5.2马太效应
为了量化推荐结果中的马太效应,我们使用了一个指标:主导类别占比(Majority Category Domination,MCD),其定义为在训练数据中被标记为主导类别的推荐项目所占的百分比。
我们通过调整公式(1)中的系数𝜆来展示MOPO的保守性效果。在KuaiRec数据集上的结果如图3所示。随着𝜆的增加,模型获得了更高的单轮奖励(蓝线),这意味着策略更准确地捕捉了用户的兴趣。另一方面,主导类别占比也增加了(红色柱状图),这意味着推荐的项目倾向于是训练数据中最流行的类别(覆盖了80%的项目)。也就是说,策略越保守,马太效应就越明显。
当结果局限于这些类别时,用户的满意度会受到影响,交互过程会提前终止,从而导致交互序列中的累积奖励较低。更多细节将在第6节中描述。
5.3 解决方案:重新设计惩罚项
为了解决这个问题,我们考虑以更复杂的方式设计公式(1)中的惩罚项𝑝(𝑠, 𝑎)。我们将公式(4)中的不匹配函数进行拆解,得到如下形式:
|𝐺𝜋b𝑀(𝑠, 𝑎)| ≤𝛾 |E𝑟ˆ∼𝑅b[𝑉𝜋𝑀(𝑓𝜔(𝑠, 𝑎,𝑟ˆ))] − E𝑟∼𝑅[𝑉𝜋𝑀(𝑓𝜔(𝑠, 𝑎, 𝑟))]|