讲个故事(升级版)1.0

news2024/11/24 3:23:32

一、总述

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

二、论文的工作

该论文主要进行了三步工作: 训练模拟用户的模型——GPM(Gaussian Process Model)、利用GPM来学习策略以及评价策略。
相较于在线场景,离线场景的痛点在于我们没法知道用户对于随意一个推荐动作的反馈。2.1 训练GPM就很好地解决了这个问题。
假设我们要给用户小红推荐视频,如果是在在线环境下,小红会对推荐的视频进行观看,观看率越大表明她越喜欢这个视频。但是在离线环境下,我们只有小红与部分视频的历史交互记录以及小红的信息和她观看过的视频的信息。如果为她推荐别的视频,那么在离线场景下是无法得知她的观看率的。因此,我们可以使用这些离线数据训练一个模型来模拟小红,从而可以在离线环境下得知小红对任意一个推荐视频的反馈。
然而我们还面临一个问题:假设小红喜欢看电影解说类的视频,如果我们一直推荐该类视频,可能出现下面的情况
在这里插入图片描述

图1:小红看电影解说的心情变化

一直为小红推荐这类视频单次会得到较好的反馈,但是这并不利于追求小红的长期满意度。试想一个总是推荐同一类或同几类视频的推荐系统怎么会招人喜欢呢,说不定小红还喜欢美食、教育知识……
总是推荐主流的视频而不推荐用户较少涉及的视频,即强者越强,弱者越弱。这就是马太效应。2.2学习策略就很好地缓解了这一情况。

2.1 训练GPM

在这里插入图片描述

图2:GPM的训练过程

首先,得到离线数据集Dataoff,它主要包括三个部分:XLogs(用户与视频的交互记录)、XU(用户信息)以及XI(视频信息)。得到的离线数据集并不是实际输入GPM的,我们需要筛选出需要的数据并对数据进行一定的处理,这一处理过程较为复杂,此处不多赘述。处理好后得到图2中的 :Xlog(整理后的交互记录)、XY(用户观看对应视频的标准化观看率)以及dictentro(离线数据中某视频出现的熵)。
以Xlog的一条数据为例:0 0 13 0 0 0.13746。表示0号用户观看过0号视频,该视频属于类别13且其标准化时长为0.13746。用户id、视频id以及视频所属类别等数据实际上是用一个8维向量表示的。
以XY的一条数据为例:0.24。表示0号用户观看0号视频的标准化观看率为0.24。标准化观看率是一维的向量。
以dictentro的第一条数据为例:(0,)=0.8554。表示当前时刻 t 或者前一时刻 t-1 推荐的是0号视频,在离线数据中,满足这一条件的推荐后面所紧跟的推荐视频的熵为0.8554。熵越大表示推荐地越随机,历史交互记录越不单调。这种情况下的学习更加无偏,因此要加大学习力度。
然后,将Xlog和XY传入GPM。GPM有三个子模型,每个子模型会模拟Xlog中出现的所有用户对所有视频进行偏好预测。以一个子模型为例,得到图2 中的 :epre(偏好预测矩阵)和evar(方差矩阵)。
以epre的第一条数据为例:-0.12 0.01 0.24 0.15 0.07。表示GPM预测的0号用户观看0号视频的标准化观看率为-0.12,GPM预测的0号用户观看1号视频的标准化观看率为0.01 ……
以evar的第一条数据为例:0.0001 0 0.0009 0.0001 0。表示GPM预测的0号用户观看0号视频的标准化观看率的方差为0.0001,GPM预测的0号用户观看1号视频的标准化观看率的方差为0 ……
接着,计算损失loss。

在这里插入图片描述

图3:损失函数 L

其中,θk表示集成用户模型中的第k个子模型,σ2θk(xi)表示θk对样本xi的预测方差,fθk表示θk对样本xi预测的标准化观看率。yi表示样本xi的真实的标准化观看率。

最后,通过最小化loss来使GPM的预测更接近真实用户的反馈。
这样,就得到了一个可以模拟用户的模型了。每当输入给GPM一个视频id后,GPM的三个子模型就会模拟用户并给出预测的平均标准化观看率,还会给出GPM的三个子模型预测的方差,来刻画GPM的不确定性。方差越大表示GPM模拟的不确定性越高。
至此,离线场景中不能与用户进行在线交互的问题就被解决了。

2.2 学习策略

在这里插入图片描述

图4:学习策略的流程

假设GPM模拟用户小红,策略πθ为模拟的小红进行推荐。为了进行推荐,πθ需要知道小红的用户id以及可以推荐的视频id,还有当前的状态S(S表示推荐的视频的id以及所属类别和标准化时长以及用户观看该视频得到的奖励)。如果曾为小红推荐过视频,还需得到小红对上一推荐的反馈。然后将要推荐的视频推荐给小红,小红再给πθ一个反馈……不停地交互,在这个过程中不断地学习策略。
首先, 我们得到小红的用户id以及可以推荐的视频id的最大值,将其传给策略πθ。πθ给出第一个推荐的视频id,即图4中的 a 。GPM的三个子模型得到小红的id以及视频的id,分别给出预测的小红观看该视频的标准化观看率和预测的方差,也即图4中的fθ1 ~ fθ3和σ2θ1 ~ σ2θk
假设三个子模型预测的标准化观看率取平均后得到 r ^ \hat{r} r^ = 0.7,预测的方差取最大值后得到PU = 0.5。PU衡量了GPM的不确定性,PU越大表明GPM的不确定性越大,GPM的模拟效果越差。
该论文的主要贡献在于为最终的奖励 r ~ {\widetilde r} r 新增了一个惩罚项PE,来惩罚使历史交互记录变得更加单调的动作。实现为 2.1中的dictentro。查找dictentro中的(0,),得到PE=0.8554+1=1.8554(此处加1是因为当前只为小红推荐了一个视频而PE是dictentro中的(当前推荐的视频id,)以及(当前推荐的视频id,上一时刻推荐的视频id)的和,不足两个推荐则用1弥补)
然后, 计算最终的奖励
r ~ {\widetilde r} r = r ^ \hat{r} r^ - λ1PU + λ2PE
= 0.7-0.01
0.5+0.05
1.8554
=0.78777
接着, 更新状态。

在这里插入图片描述

图5:更新状态S

a为推荐的视频的id以及所属类别和标准化时长拼接成的向量。视频id为1维的,四个所属类别和标准化时长都是8维的,at-1是41维的向量。r为用户观看该视频得到的奖励,为1维向量。经过步骤①和②,将a和r进行水平拼接,得到S。
将上一时刻的St-1和当前时刻的St经过步骤③,即将各个元素进行取平均的操作后得到下一时刻的St+1(还未进行推荐时,S为空向量)
最后, r ~ {\widetilde r} r 和St+1传给πθ,πθ再次为小红进行推荐……
经过不断地训练,πθ就可以更好地为小红进行推荐。因为增加了惩罚项PE,πθ就”明白“了如果一直为小红推荐电影解说类视频,小红的反馈就会不好,从而减少一直推荐这类视频而去丰富推荐的视频类别,缓解了马太效应。

2.3 评价策略

该论文采取了“Feel bored then quit”机制:若当前推荐商品与前序N个商品的相似度超过一定阈值,则认为用户会觉得无聊,不会再继续推荐,而是退出。
实验规定:在前N(N=4)轮推荐中只要有一个推荐视频所属的类别与当前推荐的视频所属类别相似,则结束交互,并且最多交互30轮。
随着N的增大,用户对相似内容的容忍度越低。

在这里插入图片描述

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

该论文使用的了4个评价指标,分别是累积奖励Rtra(将所有用户从开始至退出得到的所有奖励进行累加得到的)、交互轨迹的长度Length(将所有用户从开始至退出进行交互的轮数累加并取平均得到的)、单轮奖励Reach(Rtra/Length得到的)以及MCD。
MCD (Majority Category Domination),表示标记为主导类别的物品在推荐结果中所占的比例。假设某一用户共交互了10轮。推荐的10个视频中所属类别为主导类别的有3个,则其MCD为3/10=0.3 。将所有用户的MCD累加并取平均,得到MCD。
Rtra、Length和Reach越大,表示推荐效果越好。MCD越大表示推荐结果中的马太效应越强,推荐效果越差。
由图6,①的交互序列中的Rtra=0.6、Length=1、Reach=0.6/1=0.6、MCD=1/1=1,②的交互序列中的Rtra=0.4+0.2=0.6、Length=2、Reach=0.6/2=0.3、MCD=1/2=0.5.

在这里插入图片描述

图7:DORL的效果

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2212634.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于SpringBoot的流浪动物救助系统

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏:…

新160个crackme -081-fireworx.9

运行分析 输入key,点击OK无反应 PE分析 Delphi程序,32位,无壳 静态分析&动态调试 ida搜索关键字符串,双击进入函数 通过静态分析,发现程序逻辑:1、获得固定值"678234",转换为int2…

网络学习第二篇

认识网关和路由器 这里大家先了解一下什么三层设备。 三层设备 三层设备是指在网络架构中能够工作在第三层(网络层)的设备,通常包括三层交换机和路由器。这些设备可以根据IP地址进行数据包的转发和路由选择,从而在不同的网络之间…

【Solr】Solr搜索引擎下载、安装、使用及跟Elasticsearch的对比(保姆篇)

文章目录 Solr简单介绍Solr 版本与 JDK版本 兼容情况安装与配置(Windows)安装与配置(Linux)应用案例(电商产品搜索系统)为什么要用Solr,不用数据库的模糊查询Solr对比Elasticsearch 更多相关内容可查看 Solr官方文档&a…

JAVA智能代驾跑腿系统一站式服务系统源码小程序

​探索“智能代驾跑腿系统”的便捷魅力 🚗 一、智能代驾:安全出行的首选 在这个快节奏的城市生活中,偶尔的聚会小酌或深夜加班后,如何安全回家成了不少人心中的小困扰。幸运的是,“智能代驾跑腿系统”应运而生&#x…

RJ45网线T568B接法

目录 1.说明 2.应用 3.方法 4.网络制作注意 1.说明 常规的网线T568B和T568A,为了保持最佳的兼容性,普遍采用T568B标准来制作。 2.应用 T568B:主要应用于平行线(即直连线)和交叉线(用于两台设备之间的直接连接,如两台计算机互连或计算机…

应用商店上新:MainConcept Transcoder和Live Streaming Software App

在Akamai云计算平台上运行工作负载的你也许还不知道,为了帮助用户更容易地找到并快速部署各类解决方案,Akamai提供了一个丰富的应用商店(Marketplace),其中包含各类经过验证,可以在Akamai云计算平台上轻松部…

自由学习记录(7)

文件的判断是否存在,带上文件自己的名字 XmlSerializer (Person)serializer.Deserialize(reader); 如果出错之后,没有try来接,就会直接程序报错暂停, 有了的话无论如何都会继续正常进final using则是正常 为什么要用 using&a…

DICOM是什么?如何成为医学成像和通讯的国际标准的?

DICOM DICOM是医学数字成像和通信标准(Digital Imaging and Communications in Medicine),它是一种用于描述医学图像及其元数据如何存储和在设备间传输的标准。 DICOM标准支持多种医学成像模态的数据存储,包括CT、PET、MRI、X射线…

Golang | Leetcode Golang题解之第478题在圆内随机生成点

题目: 题解: type Solution struct {radius, xCenter, yCenter float64 }func Constructor(radius, xCenter, yCenter float64) Solution {return Solution{radius, xCenter, yCenter} }func (s *Solution) RandPoint() []float64 {r : math.Sqrt(rand.…

【视觉分割新SOTA|论文解读4】一种最先进的图像分割模型SAM——Zero-Shot Transfer ExperimentsDiscussion

【视觉分割新SOTA|论文解读4】一种最先进的图像分割模型——Segment Anything Model (SAM)——Zero-Shot Transfer Experiments&Discussi 【视觉分割新SOTA|论文解读4】一种最先进的图像分割模型——Segment Anything Model (SAM)——Zero-Shot Transfer Experiments&…

iOS 18.0.1 修復 iPhone 16 觸控失靈、訊息過早錄音等問題

上月末不少 iPhone 16、16 Pro 用戶表示自己的螢幕出現了觸摸後突然大面積無法響應的情況,當時我們猜測 Apple 會推出相應的修復更新,如今為解決這個問題而來的 iOS 18.0.1 終於正式上線了。不過在更新日誌中,官方並未說明導致斷觸的具體原因…

【企业办公系统】签到及考勤数据管理

员工在系统点击签到时,系统会从是否工作日、是否请假、签到时间和地点是否正确上进行判断,确定是否计入考勤。其中,考勤状态分为正常、地区异常、早退异常、迟到异常、旷工异常。此外,除了通过逻辑判断以外,系统还需要…

Xilinx UltraScale系列FPGA纯verilog图像缩放,工程项目解决方案,提供2套工程源码和技术支持

目录 1、前言工程概述免责声明FPGA高端图像处理培训 2、相关方案推荐我这里已有的FPGA图像缩放方案本方案在Xilinx Artix7 系列FPGA上的应用本方案在Xilinx Kintex7 系列FPGA上的应用本方案在Xilinx Zynq7000 系列FPGA上的应用本方案在国产FPGA紫光同创系列上的应用本方案在国产…

Python OpenCV精讲系列 - 目标检测与识别深入理解(二十)

💖💖⚡️⚡️专栏:Python OpenCV精讲⚡️⚡️💖💖 本专栏聚焦于Python结合OpenCV库进行计算机视觉开发的专业教程。通过系统化的课程设计,从基础概念入手,逐步深入到图像处理、特征检测、物体识…

java ---- 关于接口的常见面试题

🚀 个人简介:某大型国企资深软件开发工程师,信息系统项目管理师、CSDN优质创作者、阿里云专家博主,华为云云享专家,分享前端后端相关技术与工作常见问题~ 💟 作 者:码喽的自我修养&#x1f9…

前端学习-css的元素显示模式(十五)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 什么是元素显示模式 块元素 常见的块元素 块元素的特点 注意 行内元素 行内元素的特点 注意 行内块元素 行内块元素的特点 元素显示模式的转换 语法格…

决策智能与强化学习:重放比率(replay ratio)

知乎:DILab决策实验室(已授权)链接:https://zhuanlan.zhihu.com/p/898641863 0. 概览 近年来,深度强化学习(Deep Reinforcement Learning, DRL)在诸多领域取得了显著的成果。然而,随…

01电力电子技术介绍

电力电子技术介绍 介绍 讲到电力电子技术就要先说说一位老先生,他就是威廉纽厄尔(William Newell)。1972年,他在美国杜克大学首次提出了电力电子的概念。电力电子的概念可以表示为一个倒三角的关系。 首先,我们看到电…

C# WinForm实现画笔签名及解决MemoryBmp格式问题

目录 需求 实现效果 开发运行环境 设计实现 界面布局 初始化 画笔绘图 清空画布 导出位图数据 小结 需求 我的文章 《C# 结合JavaScript实现手写板签名并上传到服务器》主要介绍了 web 版的需求实现,本文应项目需求介绍如何通过 C# WinForm 通过画布画笔…