写点什么

京东:利用 DRL 算法进行带负反馈的商品推荐

  • 2019-11-29
  • 本文字数:1607 字

    阅读完需:约 5 分钟

京东:利用DRL算法进行带负反馈的商品推荐

背景与介绍

大都数传统的推荐系统(协同过滤、基于内容的推荐、learning-to-rank)只是将推荐过程当做一个静态的过程,并且在一段时间内是根据固定的模型来进行推荐。当用户的兴趣发生动态变化时,这些传统方法推荐的内容就不能捕捉到用户兴趣的实时变化。因此本文提出了一种 DRL 算法,可通过推荐系统和用户不断交互来持续提升推荐质量。


在电商领域,用户有正反馈和负反馈(比如用户点击了商品为正反馈,用户对商品没有任何操作称为负反馈),并且负反馈的数量远远大于正反馈。因此正反馈给模型带来的影响经常被负反馈给“冲刷”掉。本文提出的 deep recommender system(DEERS)的算法框架可将正、负反馈同时融入到模型中。


文中将了将 RL 引入到推荐系统中的两个优势:1. 通过用户与推荐系统的不断交互,可持续更新 try-and-error 策略,直到模型收敛到最优;2. 在当前状态动作对下,通过带延迟奖赏构造的 value 值可不断训练推荐模型。对于一个用户来讲,其最优的策略就是最大化该用户的期望累计奖赏。因此推荐系统通过很小的即时奖赏就可筛选出商品。

问题建模

环境:用户 agent:推荐系统


MDP 中各元素的定义为:


状态空间 S:用户之前的浏览历史,包括点击/购买过的和略过的,二者分开进行处理。同时,物品是按照先后顺序进行排序的。


动作空间 A:一次只给用户推荐一个物品,那么推荐的物品即动作。


即时奖励 R:在给用户推荐一个物品后,用户可以选择忽略、点击甚至购买该物品,根据用户的行为将给出不同的奖励。


状态转移概率 P:状态的转移主要根据推荐的物品和用户的反馈来决定的。


折扣因子 r:对未来收益进行一定的折扣


模型框架

基本的 DQN 模型,只考虑正向的反馈


状态 s: [公式],用户之前点击或购买过的 N 个物品同时按照时间先后进行排序


s 转移到 s’:假设当前的推荐物品 a,用户若点击或购买,则 [公式] ,若用户略过,则 s’=s 。


需要注意的是,仅仅使用离散的 indexes 去表示 items 是表达力不够的,比如相似的商品仅从 index 上也是无法推断的。一个常见的做法是,在表示 item 的时候加入额外的信息,比如 brand,price 和月销量等等。本文则是采用了另外一种方法,将用户的浏览历史当做一个 session 下的序列,然后通过 word embedding 技术去训练得到每个 item 的 embedding 表示(有点像 Airbnb 的做法)。



训练得到 item 的 embedding 之后,将状态和动作的 embedding 表示 concat 起来作为模型的输入,输出为该状态动作对的 Q 值。更新方法和传统的 DQN 是一样的。这里就不详细介绍了


  1. DEERS 模型,同时考虑正向和负向反馈


对于基本的 DQN 模型来说,一个明显的缺点是,当推荐的物品被用户忽略时,状态是不会发生变化的。因此 DEERS 模型在状态中也考虑被用户忽略过的商品。


当前状态 s: 当前状态 s 包含两部分 s=(s+,s-),其中 s+={i1,i2,…,iN},表示用户之前点击或购买过的 N 个物品,s-={j1,j2,…,jN},表示用户之前略过的 N 个物品。同时物品按照时间先后进行排序。


s 转移到 s’:假设当前的推荐物品 a,用户若点击或购买,则 s’+={i2,i3,…,iN,a},若用户略过,则 s’-={j2,j3,…,jN,a} 。那么,s’ = (s’+,s’-)。



如上图,DEERS 模型使用 GRU 来抽取 s+,s-两个序列的表征。


另外,DEERS 模型还考虑了商品之间的偏序关系。对于一个商品 a,偏序对中的另一个商品称为 [公式] ,但只有满足三个条件,才可以称为[公式]。首先,[公式]必须与 a 是同一类别的商品;其次,用户对于[公式]和 a 的反馈是不同的;最后,[公式]与 a 的推荐时间要相近。


若商品 a 能够找到有偏序关系的物品[公式] ,此时不仅需要预估的 Q 值和实际的 Q 值相近,同时也需要有偏序关系的两个物品的 Q 值差距越大越好,因此模型的损失函数变为:



其中,目标 Q 值 y 的计算为:



整个算法的流程为:



参考文献:


https://arxiv.org/pdf/1802.06501.pdf


https://www.jianshu.com/p/fae3736e0428


本文转载自 Alex-zhai 知乎账号。


原文链接:https://zhuanlan.zhihu.com/p/77224966


2019-11-29 11:402410

评论

发布
暂无评论
发现更多内容

【隐语SecretFlow】从论文到社区贡献,一位算法工程师的开源故事

隐语SecretFlow

模型算法建立验证服务系统:用全链路智能保障 AI“建得对、验得严、用得稳”

上海拔俗

AI 模型训练研发:用智能工程化让大模型“训得快、调得准、落得稳”

上海拔俗

谷歌最强大模型 Gemini 3 炸场

GPU算力

大模型 大语言模型 AI 编程 gpt-5 谷歌Gemini3

PAI Physical AI Notebook详解3:基于仿真的导航模型训练

阿里云大数据AI技术

人工智能 阿里云 模型训练 PAI Physical AI

大厂严选 | 数据堂2025年度版权数据集热销榜单重磅发布!

数据堂

人工智能 人脸识别 数据集 语音识别 大模型

2025国内主流低代码平台排行,11月最新盘点,头部厂商全解析

优秀

低代码

SLS 脱敏函数实践:构建 LLM 应用数据输出的安全防线

阿里巴巴云原生

阿里云 云原生 sls

不烧钱的海外营销:5个被低估的推广策略与实战案例

Wolink

跨境电商 出海 海外社媒营销 海外营销推广 海外红人营销

基于Sermant实现小游戏出海场景的微服务治理

华为云开源

开源 微服务架构 微服务治理 华为云开源

技术型外贸企业如何靠“内容”进行外贸推广,吸引海外大客户?

Wolink

跨境贸易 跨境电商 出海 外贸服务 海外营销推广

宝剑锋从磨砺出——零售数据库内核,为大促铸剑!

京东科技开发者

veDB-Search 实战:多路召回,文搜万物

火山引擎开发者社区

深陷 Sqoop+Canal 困境?中控技术用 SeaTunnel 打造高效数据采集破局方案

白鲸开源

大数据 sqoop 开源 Apache SeaTunnel 中控技术

Dapp区块链商城开发时间费用以及功能、和传统商城有什么区别

西安链酷科技

ManageEngine卓豪-cmdb智能运维管理平台

ServiceDesk_Plus

CMDB ManageEngine卓豪

阿里云 Serverless 计算 10 月产品动态

阿里巴巴云原生

阿里云 Serverless 云原生

AI 大语言模型及服务平台:用智能基座让千行百业“接得住、用得好、长得快”

上海拔俗

【效率翻倍】如何设置海外营销自动化工作流?附核心场景SOP

Wolink

跨境贸易 出海 海外社媒营销 海外营销推广 海外红人营销

AI 行为分析系统:用智能感知让行为“看得清、辨得准、管得住”

上海拔俗

淘宝拍立淘API助力电商比价与同款搜索

Datafox(数据狐)

淘宝API 淘宝图片搜索接口 淘宝拍立淘接口 淘宝图搜API 淘宝图片识别接口

一文讲透企业海外营销全景图

Wolink

跨境电商 出海 海外社媒营销 海外营销推广 海外红人营销

闪耀NeurIPS 2025!快手13篇论文入选,Spotlight 成果跻身前三!

快手技术

NeurIPS 顶会论文

2026年海外推广趋势分析,出海企业不迷茫!

Wolink

跨境电商 出海 海外社媒营销 海外营销推广 海外红人营销

Joycode 无法跨项目读取源码怎么办?MCP Easy Code Reader 帮你解决!

京东科技开发者

多智能体设计模式和智能体框架,你会了么?

京东科技开发者

如何通过Python SDK获取Collection中已存在的Doc

DashVector

人工智能 数据库 AI 大模型 向量

教学资源库专业知识图谱:用智能关联让知识“连得上、找得准、学得透”

上海拔俗

图解 Apache DolphinScheduler 如何配置飞书告警

白鲸开源

大数据 开源 Apache DolphinScheduler 飞书 任务调度

船舶安全AI管理平台:用智能感知筑牢海上“生命防线”

上海拔俗

京东:利用DRL算法进行带负反馈的商品推荐_语言 & 开发_Alex-zhai_InfoQ精选文章