写点什么

强化学习在推荐算法的应用论文整理(一)

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

    阅读完需:约 6 分钟

强化学习在推荐算法的应用论文整理(一)

一. 京东在强化学习的几篇文章


Deep Reinforcement Learning for List-wise Recommendations


本文将推荐的过程定义为一个序列决策的问题,通过 Actor-Critic 算法来进行 List-wise 的推荐。


模型结构:Actor-Critic



主要贡献:


  • 构建了一个线上环境仿真器,用于输出从未出现过的状态动作对的奖励,然后可线下对 Actor-Critic 网络参数进行训练。

  • 构建了基于强化学习的 List-wise 推荐系统。


  1. Recommendations with Negative Feedback via Pairwise Deep Reinforcement Learning


主要创新点:考虑负反馈以及商品的偏序关系,并将这种偏序关系建模到 DQN 的 loss 函数中。


若一个商品能够找到其偏序关系(两个商品必须是同一类别,用户反馈不同,推荐时间要相近)的物品,此时模型即希望预估的 Q 值和实际的 Q 值相近,同时又希望有偏序关系的两个商品的 Q 值差距越大越好。


框架:



  1. Reinforcement Learning to Optimize Long-term User Engagement in Recommender Systems


新颖处:状态中加入了用户的反馈、停留时长。


MDP 建模:


  • 状态:初始的状态 s1={u},即只有用户的信息。当进行了第一次推荐后,状态变为 s2={u,(i1,f1,d1)}。当推荐过 t-1 个物品后,状态 st = {u,(i1,f1,d1),(i2,f2,d2),…,(it-1,ft-1,dt-1)}。即 st = st-1 + {(it-1,ft-1,dt-1)}。这里 it-1 代表第 t-1 时刻推荐的物品,ft-1 表示用户对物品 it-1 作出的反馈,dt-1 表示用户对推荐的物品 it-1 的停留时间。

  • 动作:可推荐的物品的集合,时刻 t 的动作就是该轮推荐的物品 it。

  • 状态转移概率:p(st+1| st,it)

  • 奖赏:点击次数、滑动深度和用户下次访问 APP 的时间奖励这三者的加权平均。

  • 模型分为 Q 网络和 S 网络,其中 Q 网络来拟合状态动作对的价值函数,S 网络是一个仿真环境,用于输出奖赏值。



可以看到最终的 state 表示是(4 个 LSTM 模块提取的输出 + 用户的 embedding) +item 的 embedding 表示,模型的更新和传统的 DQN 没什么区别。这里为什么要用 4 个 LSTM 呢?因为只用一个 LSTM 的话,正向行为(点击或购买)的信息容易被大都数负向行为所冲刷掉。并且用户不同的行为都有自己的特征。比如点击行为通常表现出用户的当前兴趣偏好;购买行为表现出用户的兴趣转移过程等等。



输出共有四部分,分别是预测用户的反馈形式、预测用户的停留时间、预测用户再次进入 App 的时间间隔、预测用户是否会关闭 APP。通过训练,得到的模型就可以去预估奖赏值,从而构造完整的 transition 样本用于 Q 网络的训练。


  1. Toward Simulating Environments in Reinforcement Learning Based Recommendations


基于 gan,提出了一种 RL 的仿真环境,用于产生训练数据。有 gan 就会有 generate 和 discriminator,其中 generate 的结构为:



为 encoder-decoder 结构,其中 encoder 的输入为用户的浏览序列 e+f(商品+用户对商品的反馈),然后经过 embedding 层,然后再 concat 起来,最后通过 GRU 层得到最终的 hidden state,表示用户当前的偏好。Deocder 的目标是预测下一个要推荐给用户的商品,输入是用户当前的偏好,经过多层的 MLP 得到一个向量。为了得到一个具体推荐的商品,可以拿所有待推荐的商品 embedding 分别和 decoder 输出的向量计算相似度,选择相似度最高的一个商品推荐给用户。


Discriminator 结构:



上图左下角的输入和 generator 一样,但是参数不同。右下角把真实的推荐商品和 generator 生成的推荐商品作为输入,经过两层 MLP 得到输出 [公式],然后将两部分输出 concat 起来经过 MLP 和 softmax 层得到最终的输出,长度为 2*K,其中 K 代表用户反馈类型的种类。输出结果为:



输出前 k 维表示如果这个输入的是真实的商品(这里的真实商品即用户在当前状态下,下一个实际浏览的商品)的话,用户的每种反馈的概率,后 K 维表示,如果这个输入是 Generator 产生的话,用户的每种反馈的概率。


那么怎么训练 Discriminator 和 Generator 呢?对于 Discriminator 来说共有两个目标,判断输入是真实的商品还是 Generator 产生的,同时,要保证用户真实的反馈和 Discriminator 得到的用户反馈类型分布的差距要大。对于 Generator 来说,同样有两部分的损失,一是希望能尽可能骗过 Discriminator,使得 Discriminator 将 Generator 产生的推荐商品判别为假的概率越低越好,二是希望产生的推荐商品向量,与真实序列中下一个商品的向量距离越近越好。


总结来说,使用 GAN 还是为了解决 RL 应用在电商领域中的一些限制:比如商品和用户数量巨大,导致整个的状态空间和动作空间十分巨大,每个用户的训练样本较稀疏,这样直接训练会导致模型不鲁棒,上线实验也会造成用户体验的损害。使用 GAN 来产生一些离线训练样本会一定程度上解决该问题。


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


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


2019-11-29 11:401662

评论

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

系统内存管理:虚拟内存、内存分段与分页、页表缓存TLB以及Linux内存管理

百度搜索:蓝易云

攻坚! 930之前中央企业要完成薪酬管理系统建设

用友BIP

触摸板和鼠标增强软件BetterTouchTool for Mac

Mac相关知识分享

ISO 镜像文件制作工具AnyToISO Pro for Mac

Mac相关知识分享

AB Micro850笔记 ccw 交叉引用浏览器

万里无云万里天

自动化 PLC 工厂运维

VMware ESXi 7.0U3q macOS Unlocker & OEM BIOS 2.7 Dell HPE 联想定制版 9 月更新发布

sysin

esxi dell hpe

Java 性能分析 5 大工具

FunTester

MacOS 的跨平台键鼠共享工具synergy for mac

Mac相关知识分享

功能强大的 Android 管理工具Coolmuster Android Assistant for Mac

Mac相关知识分享

重磅发布!国内首部《智能化软件开发落地实践指南》免费下载

华为云开发者联盟

代码开发 大模型 人工智能’ CodeArts

AB Micro850笔记 LD 计数器 ctd ctu

万里无云万里天

自动化 PLC 工厂运维

kafka启动命令

百度搜索:蓝易云

VMware Aria Automation Orchestrator 8.18 发布,新增功能概览

sysin

vmware aria

云栖实录 | MaxCompute 迈向下一代的智能云数仓

阿里云大数据AI技术

大数据 数据仓库 云数据 MaxCompute Data+AI

还不知道这个原则的程序员,要小心了

禅道项目管理

程序员 软件测试 代码规范 测试人员 规范优先原则

AB Micro850笔记 ccw 未使用的变量浏览器

万里无云万里天

自动化 PLC 工厂运维

php中mcrypt_encrypt升级到openssl_encrypt

百度搜索:蓝易云

GitHub上 Star 数量最多的 Airtable 开源替代者

NocoBase

GitHub 开源 低代码 Airtable 无代码

AB Micro850笔记 LD 计时器 ton tof

万里无云万里天

自动化 PLC 工厂运维

阿里巴巴API:赋能电商创新,革新1688商品详情获取方式

代码忍者

API 测试 pinduoduo API

金川集团:建设世界一流财务管理体系,向万亿营收冲刺

用友BIP

AB Micro850笔记 ccw 文档生成器

万里无云万里天

自动化 PLC 工厂运维

AB Micro850笔记 LD 结构化数据

万里无云万里天

自动化 PLC 工厂运维

鸿蒙 Next 实战: 环境搭建

北桥苏

鸿蒙 鸿蒙Next HarmonyOS NEXT

Java(day16):do-while循环语句

百度搜索:蓝易云

SpringBoot3实战:实现接口签名验证

江南一点雨

VMware ESXi 8.0U3 集成 AQC 网卡定制版更新 OEM BIOS 2.7 支持 Windows Server 2025

sysin

esxi aqc

厌倦了黑底白字?用 Go 给终端点颜色瞧瞧!

江湖十年

终端 命令行 Go web #go

AB Micro850笔记 LD 用户自定义功能块

万里无云万里天

自动化 PLC 工厂运维

Illustrator 2024 for Mac(AI2024)

Mac相关知识分享

Java开发分析工具:JProfiler 14 for Mac 激活版

你的猪会飞吗

JProfiler 14激活版 JProfiler 14 mac JProfiler 14破解版

强化学习在推荐算法的应用论文整理(一)_语言 & 开发_Alex-zhai_InfoQ精选文章