【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

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

  • 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:401453

评论

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

关于招聘这件事,技术面试官需要了解的几个点

芃篙君

招聘

深入理解 Java 多线程、Lambda 表达式及线程安全最佳实践

小万哥

Java 程序人生 编程语言 软件工程 后端开发

印度股票交易软件GangGuHk

GangguHK

朋友,代码库的“健身方案”要不要了解一下?

极狐GitLab

鸿蒙生态全场景新增长,鲸鸿动能为伙伴带来新机遇

最新动态

企业需要企业IM(即时通讯)具备系统集成功能吗?

WorkPlus

为什么说 $CHAPZ 是被严重低估的 AI 概念资产?

股市老人

Kafka 痛点专题|AutoMQ 如何解决 Kafka 冷读副作用

AutoMQ

云计算 大数据 kafka 云原生 AutoMQ

StarRocks 易用性全面提升:数据导入可以如此简单

StarRocks

《保卫萝卜4》仅用一个月完成鸿蒙原生应用开发

最新动态

CentOS7用二进制安装MySQL5.7

百度搜索:蓝易云

MySQL Linux centos 运维 云服务器

Topaz Gigapixel AI 7.0.4完美激活版 及Topaz Gigapixel AI 7全新功能介绍

Rose

AI Transcription for Mac(AI语音转录软件) 支持M1/M2

Rose

安全的企业办公即时通讯软件怎么选择?

WorkPlus

PD19虚拟机破解版安装教程及pd19永久密钥

Rose

从API到Agent:万字长文洞悉LangChain工程化设计

TuGraphAnalytics

graph agent #LangChain

腾讯天穹 StarRocks 一站式湖仓融合平台架构揭秘

StarRocks

数据库 大数据 湖仓一体 湖仓融合

电源常用通讯电路

二哈侠

芯片 通讯 电源

WebStorm 2023.3.5 for Mac中文版 (WebStorm 2023永久激活秘钥最新)

Rose

助力高效工作!Finder增强工具 TotalFinder for Mac中文版 含注册码

Rose

1688API接口推荐:1688按图搜索拍立淘数据接口

tbapi

1688 1688API接口 1688商品数据接口 阿里巴巴商品列表数据

解决Linux报错:Swap file “xxxxxx.swp“ already exists

百度搜索:蓝易云

vim Linux 运维 云服务器 swap

iNet Network Scanner:全面而深入的网络分析工具

Rose

Blu-ray Player Pro mac v3.3.22中文版 蓝光播放器 兼容m

Rose

我对一些技术架构设计的经验记录

软件工程师-罗小东

macbook防睡眠工具:Caffeinated for mac一键激活版

Rose

Caffeinated下载 Caffeinated破解版 防睡眠工具

GraphPad Prism 10激活授权秘钥:高效且易于使用的科学研究绘图分析软件

Rose

PHP中header()的七种用法

百度搜索:蓝易云

php Linux 运维 HTTP header

Vue.js 应用实现监控可观测性最佳实践

观测云

Vue

Topaz Photo AI 人工智能降噪 v2.4.1完美激活版 mac/win

Rose

企业即时通讯工具,企业内部即时通讯系统推荐

WorkPlus

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