讲个故事(升级版)2.0

一、论文背调

《Alleviating Matthew Effect of Offline Reinforcement Learning in Interactive Recommendation》为中科大何向南组与快手策略算法部江鹏组的合作产出。该论文获得了SIGIR 2023的最佳论文提名奖(Best Paper Honorable Mention)。该论文的研究人员们收集创造了KuaiRec、KuaiRand这种密集的交互数据、提出了 "Feel bored then quit" 这种交互式评测环境,使得学界的推荐模型更加贴近与业界的环境并使整个流程比短平快的监督模型的训练与评测复杂很多,有效地缓解马太效应并更好地追求了用户的长期满意。

二、摘要

离线强化学习(Offline RL)是交互推荐中的一种常用技术,它离线地学习离线数据以学习策略而不必与用户进行在线交互。Offline RL存在高估用户对离线数据中很少出现的物品的偏好的问题,当前采用了保守主义去解决这一问题,即尽量不去推荐这些很少出现的物品。然而这会导致严重的马太效应,即强者越强弱者越弱,不利于追求用户的长期满意度。在该篇论文中,作者提出了基于去偏模型的离线强化学习模型(Debiased model-based Offline RL,DORL),对多样性较低的推荐进行了惩罚。首先,作者使用离线数据训练了一个模拟用户的模型,它可以对推荐给它的视频进行"反馈"以模拟用户对该视频的偏好程度。然后,使用策略对该"用户"进行视频推荐,"用户"给对该视频的"反馈",策略接受"反馈"后再次为"用户"进行推荐,进而不断地学习策略。

三、论文的工作

该论文主要进行了两步工作: 一、训练模拟用户的模型------GPM(Gaussian Process Model),二、利用训练好的GPM来学习策略。

假设我们想要通过Offline RL的方式得到一个策略来为小红(小红的用户id为0)推荐视频,那么就会面临两个问题:一、我们没法知道小红对于随意一个推荐视频的反馈,二、当前的Offline RL得到的策略在为小红推荐视频时,很少推荐小红过去不看或很少看的类别的视频,而总是推荐小红过去经常看的一类或几类视频,即推荐的马太效应很强。这并不利于追求小红的长期满意度。

假设小红喜欢看电影解说类的视频,若是一直为小红推荐电影解说类的视频而不推荐或很少推荐其他类别的视频,小红的心情可能会发生如图1的变化。进而影响到小红的长期满意度。

图1:一直为小红推荐电影解说类视频时小红的心情变化

问题一可通过3.1 训练GPM解决,问题二可通过3.2 学习策略解决。

3.1 训练GPM


图2:GPM的训练过程

由图2,GPM的训练过程主要涉及9个变量:

Data~off~:表示离线数据集,由X~Logs~、X~U~和X~I~组成。

X~Logs~:表示用户与视频的交互记录,包含用户id、视频id、用户观看该视频的时长、视频时长、观看视频的日期、观看视频的时间戳、观看率、视频的标准化时长以及标准化观看率。

X~U~:表示用户信息,包含用户id、活跃程度、是否为直播主播、是否为视频作者、关注用户数量范围、粉丝用户数量范围、好友用户数量范围、注册天数范围以及18个描述用户特征(具体含义未知)的字段。

X~I~:表示视频信息,包含视频id以及视频所属类别。

由于X~Logs~、X~U~和X~I~并不是实际输入GPM的,所以此处不多赘述。对X~Logs~、X~U~和X~I~进行一定的处理后得到真正使用的X~log~、X~Y~和dict~entro~。

X~log~:表示整理后的交互记录,包含用户id、视频id、视频所属类别以及视频的标准化时长。X~log~的一条数据[0 0 13 0 0 0.13746],表示0号用户观看过0号视频,该视频属于类别13且其标准化时长为0.13746。用户id、视频id以及视频所属类别等数据实际上是用一个8维向量表示的。

X~Y~:表示用户观看对应视频的标准化观看率。X~Y~的一条数据[0.24],表示0号用户观看0号视频的标准化观看率为0.24。标准化观看率是一维的向量。

dict~entro~:表示离线数据中某视频出现的熵。dict~entro~的一条数据(0,)=0.8554,表示当前时刻 t 或者前一时刻 t-1 推荐的是0号视频,在离线数据中,满足这一条件的推荐后面所紧跟的推荐视频的熵为0.8554。熵越大表示推荐地越随机,历史交互记录越不单调。

e~pre~:表示偏好预测矩阵。e~pre~的第0行数据[-0.12 0.01 0.24 0.15 0.07],表示GPM预测的0号用户观看0号视频的标准化观看率为-0.12,GPM预测的0号用户观看1号视频的标准化观看率为0.01 ,GPM预测的0号用户观看2号视频的标准化观看率为0.24 ......。

e~var~:表示方差矩阵。e~var~的第0行数据[0.0001 0 0.0009 0.0001 0],表示GPM预测的0号用户观看0号视频的标准化观看率的方差为0.0001,GPM预测的0号用户观看1号视频的标准化观看率的方差为0,GPM预测的0号用户观看2号视频的标准化观看率的方差为0.0009 .......。

由图2,GPM的训练过程主要分为三步:

①输入:将X~log~和X~Y~传入GPM。

②GPM预测:GPM的三个子模型模拟X~log~中出现的所有用户并对所有视频进行偏好预测,从而得到了e~pre~和e~var~。

③计算loss并最小化loss:

计算损失loss。

图3:损失函数 L

图3中,θ~k~表示集成用户模型中的第k个子模型,σ^2^~θ~k~~(x~i~)表示θ~k~对样本x~i~的预测方差,f~θ~k~~(x~i~)表示θ~k~对样本x~i~预测的标准化观看率。y~i~表示样本x~i~的真实的标准化观看率。

loss是通过梯度下降来进行最小化的。通过计算 L 的偏导得到梯度,每次更新σ^2^~θ~k~~(x~i~)和f~θ~k~~(x~i~)为上一次的值-α*梯度,其中α为学习率。不断更新梯度来使得loss最小化。

这样,就得到了一个模拟用户的模型了。每当输入给GPM一个视频id后,GPM的三个子模型就会模拟用户并给出预测的标准化观看率,还会给出GPM的三个子模型预测的方差,来刻画GPM的不确定性。方差越大表示GPM模拟的不确定性越高。

至此,在离线场景中也可以得到用户对应随意一个推荐视频的反馈了,问题一得以解决。

3.2 学习策略


图4:学习策略的流程

图4包括4个部分,分别是:

① 策略π~θ:表示推荐策略

② Entropy Penalizer:表示熵惩罚器,得到推荐的视频id后即可得到惩罚项P~E~ 。

③ Ensemble User Model:表示用户模型,即GPM

④ State Tracker:表示状态追踪器,每当π~θ~为用户进行一次推荐后,状态S就会发生变化。

假设GPM模拟用户小红,策略π~θ~为小红进行推荐,在交互过程中不断学习策略。这一过程分为六步:

(1) π~θ~为小红进行第一次推荐,推荐的视频id假设为0,即图4中的 a=0 。将0分别传给②③④

(2)GPM的三个子模型分别给出预测的小红观看0号视频的标准化观看率和预测的方差,即图4中的f~θ~1~~ ~ f~θ~3和σ^2^~θ~1 ~ σ^2^~θ~k~~。

(3) 查找dict~entro~中的(0,),得到P~E~=0.8554+1=1.8554(此处加1是因为当前只为小红推荐了一个视频而P~E~是dict~entro~中的(当前推荐的视频id, )以及(当前推荐的视频id,上一时刻推荐的视频id)的和,不足两个推荐则用1弥补)

(4) 计算最终的奖励:

r ~ {\widetilde r} r = r ^ \hat{r} r^ - λ~1~P~U~ + λ~2~P~E~
  其中,P~U~为预测的方差取最大值后得到,衡量了GPM的不确定性,P~U~越大表明GPM的不确定性越大,GPM的模拟效果越差。 r ^ \hat{r} r^为标准化观看率取平均后得到。
   r ~ {\widetilde r} r = 0.7-0.01
0.5+0.05
1.8554=0.78777

(5)更新状态S(共分为3步):

图5:更新状态S

①:将a~t-1~和r~t-1~进行水平拼接,得到S~t-1~。

②:将a~t~和r~t~进行水平拼接,得到S~t~。

③:将S~t-1~和S~t~的各个元素对应取平均后得到下一时刻的S~t+1~(还未进行推荐时,S为空向量)

其中,a为推荐的视频的id以及四个所属类别和标准化时长拼接成的向量。视频id为1维的,四个所属类别和标准化时长都是8维的,a是41维的向量。r为用户观看该视频得到的奖励,为1维向量。t 表示当前时刻,t-1 表示上一时刻。例如:

a~t-1~=[0.000232 0.748800 ......0.363600],r~t-1~=[0.787770],那么S~t-1~=[0.000232 0.74880 ......0.363600 0.787770]

a~t~=[0.000730 0.013120......0.598400],r~t~=[0.03210],那么S~t~=[0.000730 0.013120......0.598400 0.032110]

S~t+1~=1/2(S~t-1~+S~t~)=[0.000476 0.440000 ......0.481000 0.409940 ]

(6)将 r ~ {\widetilde r} r 和S~t+1~传给π~θ~,π~θ~再次为小红进行推荐

不断重复步骤(1) ~ (6),从而不断地训练π~θ~。

该论文的贡献即为学习策略时新增的惩罚项 P~E~。 增加P~E~后,如果π~θ~只为小红推荐电影解说类视频那么P~E~就会比较小。这会导致 r ~ {\widetilde r} r 较小 ,也就是说小红的反馈就会不好。π~θ~在这一过程中就会明白:如果总是推荐小红曾经经常观看的类别的视频而不去推荐其他的类别的视频,就不利于得到小红更好的反馈。因此 ,π~θ~会增加推荐的视频类别以获取小红更好的反馈。这一举措缓解了offline RL中的马太效应,并且有利于追求用户的长期满意度。

同类论文中, r ~ {\widetilde r} r = r ^ \hat{r} r^ - λ~1~*P~U~。相较于该论文的 r ~ {\widetilde r} r ,同类论文中少了惩罚项P~E~。这就会使得推荐时的马太效应较高,而不利于追求用户的长期满意度。

四、 评价论文工作的效果

该论文使用的了4个评价指标,分别是累积奖励R~tra~(将所有用户从开始至退出得到的所有奖励进行累加得到的)、交互轨迹的长度Length(将所有用户从开始至退出进行交互的轮数累加并取平均得到的)、单轮奖励R~each~(R~tra~/Length得到的)以及MCD。R~tra~、Length和R~each~越大,表示推荐效果越好。MCD越大表示推荐结果中的马太效应越强,推荐效果越差。

其中,MCD (Majority Category Domination)表示标记为主导类别的物品在推荐结果中所占的比例。

MCD=(推荐的视频所属类别属于主导类别的数量)/(总推荐的视频数量)

假设某一用户共交互了10轮。推荐的10个视频中所属类别为主导类别的有3个,则其MCD为 3/10=0.3 。

该论文采取了"Feel bored then quit"机制:在前N(N=4)轮推荐中只要有一个推荐视频所属的类别与当前推荐的视频所属类别相似,则结束交互,并且最多交互30轮。随着N的增大,用户对相似内容的容忍度越低。

图6:与用户u~0~交互的视频序列

由图6,①的交互序列中的R~tra~=0.6、Length=1、R~each~=0.6/1=0.6、MCD=1/1=1,②的交互序列中的R~tra~=0.4+0.2=0.6、Length=2、R~each~=0.6/2=0.3、MCD=1/2=0.5.

图7:DORL的效果

由图7,DORL在两套数据集中四个评价指标的效果均较好,尤其是在R~tra~和Length上的表现相当优越。表明了DORL在追求用户长期满意度上的效果突出,并且DORL的MCD指标较小,一定程度上缓解了马太效应。

相关推荐
Rinai_R1 小时前
计算机组成原理的学习笔记(7)-- 存储器·其二 容量扩展/多模块存储系统/外存/Cache/虚拟存储器
笔记·物联网·学习
吃着火锅x唱着歌1 小时前
PHP7内核剖析 学习笔记 第四章 内存管理(1)
android·笔记·学习
ragnwang1 小时前
C++ Eigen常见的高级用法 [学习笔记]
c++·笔记·学习
胡西风_foxww2 小时前
【es6复习笔记】rest参数(7)
前端·笔记·es6·参数·rest
胡西风_foxww5 小时前
【es6复习笔记】函数参数的默认值(6)
javascript·笔记·es6·参数·函数·默认值
胡西风_foxww5 小时前
【es6复习笔记】生成器(11)
javascript·笔记·es6·实例·生成器·函数·gen
waterme1onY5 小时前
Spring AOP 中记录日志
java·开发语言·笔记·后端
2401_879103685 小时前
24.12.25 AOP
java·开发语言·笔记
索然无味io6 小时前
跨站请求伪造之基本介绍
前端·笔记·学习·web安全·网络安全·php
kikikidult6 小时前
Ubuntu20.04安装openMVS<成功>.colmap<成功>和openMVG<失败(已成功)>
笔记·学习