Advertisement

[2017-JD] Deep Reinforcement Learning for List-wise Recommendations

阅读量:

[2017-JD] Deep Reinforcement Learning for List-wise Recommendations

  • 论文地址

  • 主要思想:

  • 问题

  • 问题

  • Actor

  • Critic Framework

  • 整体算法

    • 架构图
    • 整体训练过程
  • Online User-Agent Interaction Environment Simulator

  • 问题

论文地址

https://arxiv.org/pdf/1801.00209.pdf

主要思想:

1、一次推荐多个item

2、状态s 为之前用户动作果的N个item的顺序集合。
状态定义
更新方法: 每次推荐之后, 将用户动作过的item放入其中。没有动作果的item相当于丢弃掉了。

3、动作a 为某次推荐的K个item。
Action Space
比如在 t 时刻的动作a=\{a_t^1, a_t^2, ... a_t^K\}

问题

1、k变化的时候,网络结构需要调成,整个网络需要重训。
2、直接输出k*dim_(w) 的向量,这些向量的表达能力可能需要打个问号。准确性的评估方法?
3、使用w_1, w_2, w_3,...与所有候选集中的embeding来进行点乘, 性能上是个问题。

4、r(s_t, a_t)为某次动作a之后用户的行函数。
Reward

问题

1.没有找到r的计算方式, 是把a中个每个item的reward直接加起来,还是按权重加起来呢?

Actor

1、f函数计算K个权重向量。
2、使用这些权重向量与候选集中的所有item的embedding进行点乘,计算出item的score。
3、由于要返回K个item, 先计算第一个item的\mathop{\arg \max}_{i\in \mathcal{A}^i} ^k w_t^1e_i^\mathsf{T}, 再计算第二个, 第三个。。。
f函数
score_i
actor

Critic Framework

critic和普通的critic没有什么差别:
Q
a_{t+1}搜索空间太大, 直接使用actor返回的a作为a_{t+1}, 当做t+1时刻的Q的a输入。公式修改为:
Qapproximate func
损失函数定义为:
损失函数

整体算法

架构图

在这里插入图片描述

整体训练过程

更新参数时, 使用DDPG算法。
训练过程

Online User-Agent Interaction Environment Simulator

文中提出一种模拟线上用户反馈的r计算模拟方式。主要思想是使用线上数据的r
模拟时,返回s^` ,a^`r^`时,返回与线上相似的s,a对应的r, 作为模拟的r^`返回。

1、计算当前 p_t =<s_t, a_t>与历史上s_i, a_i之前的相似程度:
cos相似度
2、计算当前 P_t的reward r_t = r_i的概率:
计算
3、由于历史 i很多, 简易方法是将r相同的历史p_i的reward统一考虑, 聚合在一起U_x, 预估当前的r.
P
4、之后将一次刷新中的单个item的 r^{k}加权求和。\Gamma\in(0, 1]
在这里插入图片描述

问题

1.论文中这一部分a_i的意义不明, 像是具体某一个item, 但之前论文中的a_i为一次推荐的K个item的集合。a_t^i才代表一次action中的第i个item。

全部评论 (0)

还没有任何评论哟~