AAAI2021-Hierarchical Reinforcement Learning for Integrated Recommendation

Posted 吾仄lo咚锵

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AAAI2021-Hierarchical Reinforcement Learning for Integrated Recommendation相关的知识,希望对你有一定的参考价值。

文章目录

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站

介绍


Xie R, Zhang S, Wang R, et al. Hierarchical reinforcement learning for integrated recommendation[C]//Proceedings of the AAAI Conference on Artificial Intelligence. 2021, 35(5): 4521-4528.


如图1是一个真实世界中综合的推荐系统,它首先从不同的频道中集成了不同的项目(比如视频、新闻、文章),然后对这些项目进行排序并完成综合推荐。

综合推荐中面临着许多挑战

  1. 不同的项目有不同的特征,对应着不同的排序策略。
  2. 如何学习用户在频道和项目两个层面上的偏好。
  3. 如何保证在线模型的稳定性?也就是随着数据的更新,模型应保持个频道占比的相对稳定。

而本文所提出的方法解决了上述挑战,并具有如下优势

  1. 有效的找到最优解。
  2. 多种奖励来确保推荐的准确性、多样性和新颖性。
  3. 对频道和项目进行了解耦合。

本文贡献如下:

  1. 提出了一个新的HRL-Rec(基于分层强化学习的推荐)模型。
  2. 提出了一个新的HRL(分层强化学习)框架。
  3. 通过实验验证了该模型的有效性和稳定性。

相关工作


  • 推荐系统
    一些经典方法:Logistic regression(LR)、Factorization machine(FM)
    LR+DNN:Wide&Deep
    FM+DNN:DeepFM、NFM、AFM
    更好提取特征:AutoInt、AFN、AutoFIS
    更好建模用户行为:BERT4Rec、DFN

  • 强化学习
    基于策略的:Policy gradient(PG)
    基于价值的:Deep Q-network(DQN)、Double、Dueling
    基于策略和价值的:A3C、DDPG

  • 用于推荐的强化学习
    相关方法有:
    DQN+用户活跃度
    神经网络来模拟奖励
    对抗训练
    RL+监督方法
    PG+top-k off policy
    基于模板的Q学习

其中,本文主要参考了DDPG(Deep Deterministic Policy Gradient),主要思想是通过两个网络分别学习产生动作和价值,即:
Actor Network -> action
Critic Network -> value(Q)

方法论


问题定义和模型概览


图2是HRL-Rec模型的整体概览,首先介绍相关符号:
低级状态: s l s^l sl
低级动作: a l a^l al
低级奖励: r l r^l rl

低级状态: s h s^h sh
低级动作: a h a^h ah
低级奖励: r h r^h rh

衰减系数: γ ∈ [ 0 , 1 ] \\gamma \\in [0,1] γ[0,1]

模型产生推荐的流程大致如下:

  1. LRA(低级学习代理)在第 t t t个位置根据状态 s t l s^l_t stl生成动作 a t l a^l_t atl来推荐一个频道 c t c_t ct
  2. HRA(高级学习代理)在频道 c t c_t ct的约束下,根据状态 s t h s^h_t sth生成动作 a t h a^h_t ath,得到对应项目 d t d_t dt
  3. 环境接收到频道 c t c_t ct和项目 d t d_t dt,然后返回对应的奖励( r t l r_t^l rtl r t h r_t^h rth)给到对应的代理器。
  4. 最后更新状态,重复循环。

对于LRA、HRA以及图中相关损失后面会介绍。

频道选择器(LRA)

低级强化学习代理是一个频道选择器,由以下3部分组成:

  1. 低级状态编码器
    也就是对数据进行建模,提取特征。使用a)用户长期档案、b)推荐上下文、c)当前频道特征、d)累计频道特征,这四方面构建特征矩阵 f i l f^l_i fil

    使用GRU和self-attention对若干 f f f序列进行建模,得到低级状态 s t l s_t^l stl

    具体细节可查看原文及对应参考文献。

  2. 低级编码器
    使用了一个全连接层作为编码器,通过低级状态 s t l s_t^l stl得到低级动作 a t l a_t^l atl

    具体使用的是tanh作为激活函数,并且添加了高斯噪音。
    得到若干低级动作 a l a^l al后,后面用过相似度损失sim loss,选择与目标最相似的一个低级动作作为输出,即选择的频道,即 a t l − − s i m l o s s − − > c t a_t^l --sim loss-->c_t atlsimloss>ct

  3. 低级评估器
    Q值表示当前步的期望奖励,需要一点强化学习背景,也就是当前奖励 r t l r_t^l rtl+下一步奖励(衰减系数* Q t + 1 Q_t+1 Qt+1)的期望。此处的奖励 r t l r_t^l rtl表示的是点击频道 c t c_t ct的次数。

    使用一个全连接层,用小q来估计大Q:

    就是对状态和动作分别乘以权重参数后再加上偏置参数,最后使用ReLu激活函数。

项目推荐器(HRA)

高级强化学习代理是一个项目推荐器,与LRA很相似,也由3部分组成:

  1. 高级状态编码器
    与LRA相似,只是将频道特征换成了项目特征。

  2. 高级编码器
    也是一个全连接层:

    使用相似度损失,在若干高级代理中,得到最相似的作为推荐的项目 d t d_t dt,即 a h l − − s i m l o s s − − > d t a_h^l --sim loss-->d_t ahlsimloss>dt

  3. 高级评估器


    与LRA相似,不再赘述,只是将奖励换了下,其中:
    r t c l i c k r_t^click rtclick表示用户点击项目 d t d_t dt的次数;
    r t t i m e r_t^time rttime表示在项目 d t d_t dt上的停留时间;
    r t d i v e r r_t^diver rtdiver表示标签/类别的增量;
    r t n o v e l r_t^novel rtnovel表示新标签/类别的数量;

损失函数

  • LRA loss
    公式9采用均方误差作来衡量低级评估器的损失。其中, y t l y_t^l ytl表示目标Q值; π \\pi π表示目标策略; θ l \\theta^l θl表是一个在线参数,在训练过程中进行更新; θ l ′ \\theta^l' θl是一个经验参数,在进行优化前固定。

    公式10通过学习参数 ϕ h \\phi^h ϕh作为低级动作的损失函数,希望奖励最大化,也就是最小化-Q:

    最后通过公式11作为LRA loss,低级强化学习代理的损失函数:

  • HRA loss
    HRA loss高级强化学习代理器的损失与LRA loss基本一致,不再赘述:


  • CTR-oriented supervised loss
    点击通过率监督损失,也就是推荐并展示的项目中,有多少是用户点击了的(推荐成功了的)。


    其中, a a a是预测的(推荐的)动作;
    d ^ \\hatd d^是展示给用户的真实项目;
    d ^ ∈ C u \\hatd\\in C_u d^Cu表示被用户 u u u点击的项目 d ^ \\hatd d^
    f ( a , d ^ ) f(a,\\hatd) f(a,第58期(第31届) AAAI-2017 Accept-paper List(786篇)

    AAAI 2018 分析

    AAAI 2022 | 量化交易相关论文(附论文链接)

    盘点 | AAAI2020中的四篇推荐系统好文

    AAAI 2022行人/车辆重识别相关论文和代码(更新完毕)

    AAAI 2022行人/车辆重识别相关论文和代码(更新完毕)