前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SIGIR'23 | 推荐系统中利用强化学习对embedding维度进行搜索

SIGIR'23 | 推荐系统中利用强化学习对embedding维度进行搜索

作者头像
秋枫学习笔记
发布2023-08-18 12:30:14
2960
发布2023-08-18 12:30:14
举报
文章被收录于专栏:秋枫学习笔记秋枫学习笔记

参考论文:Continuous Input Embedding Size Search For Recommender Systems 链接:https://arxiv.org/pdf/2304.03501.pdf 学校:昆士兰 会议:SIGIR 23

1.引言

隐语义模型因其出色的性能,成为了当前推荐系统最受欢迎的结构。隐语义模型将用户和item表征为实值embedding向量用于pairwise相似性计算,并且所有的embedding都限制为固定的较大维度(例如:256维),随着如今电子商务中用户基础和商品类型呈指数级增长,这种设计无疑使得内存使用率低下。为了适应轻量级推荐系统,强化学习(RL)最近为识别不同的embedding维度创造了机会。然而,受到搜索效率和学习最佳RL策略的挑战,现有基于RL的方法仅限于高度离散的、预定义的embedding维度筛选,这很大程度上忽略了,在给定内存预算下引入更精细粒度embedding维度以获得更好的推荐效果的问题。本文提出在连续搜索空间上的embedding维度搜索(CIESS, continuous input embedding size search),一种新型的RL方法,在具有任意embedding维度的连续搜索空间上进行维度选择。在CIESS中,进一步提出了一种创新的基于随机游走的探索策略,允许RL策略有效地探索更多的候选维度并且更易收敛。CIESS也是模型不感知的,因此可以泛化到更多的隐语义模型中。实验结果显示,CIESS在两个真实数据集上都获取sota结果

2 方法

CIESS有两个主要部分在训练期间交替工作: (1)由参数

\Theta

组成的推荐模型F,(2)由参数

\Phi

组成的基本RL的搜索函数G。CIESS工作流程如图,在每个优化迭代步骤中,推荐系统F调整用户item的embedding维度为策略G提供输入,并根据训练样本更新参数

\Theta

,然后,F在固定的数据集上进行评估,其中top-k推荐结果可以由常用的指标来衡量,基于推荐结果,搜索函数G被重新修改,然后下一次迭代更新每个用户item的embedding维度

2.1 Mask embedding的基础推荐结构

设U和V分别代表用户集和item集,它们实值embedding向量存储在E中,E可以被看成是所有用户和item的拼接,即

\left[\mathbf{e}_{u_1} ; \ldots ; \mathbf{e}_{u_{|\mathcal{U}|}} ; \mathbf{e}_{v_1} ; \ldots ; \mathbf{e}_{v_{|\mathcal{Y}|}}\right]

, 其中初始embedding表中所有用户item的总维度为d,换言之,d也是搜索空间中的最大维度。通过执行embedding查找,可将每个用户item映射到实值向量

e_u

e_v

。为使embedding维度可以调整,引入一个二进制掩码 M ∈ {0, 1},在embedding查找时与E相乘:

e_n = Lookup(E{\odot}M, n), n \in U\cup V

其中M根据当前策略动态更新,以控制每个embedding向量的可用维度。给定特定用户item的自动学习维度

d_n

,相应掩码向量

m_n

的第s个元素定义为:

\mathbf{m}_{n(s)}=\left\{\begin{array}{ll} 1 & \text { for } 1 \leq s \leq d_n \\ 0 & \text { for } d_n < s < d_{\max } \end{array}, \quad n \in \mathcal{U} \cup \mathcal{V}\right.

通过掩码M,对于每个用户item,我们可以保留其完整embedding的前

d_n

元素,同时将所有后续维度设置为0。值得注意的是,在轻量级推荐系统中通过用0掩盖不需要的维度来执行嵌入稀疏化是一种普遍采用的方法,作为结果的embedding表可以利用最新的稀疏矩阵存储技术,这些技术为存储0值条目带来的成本可以忽略不计。获取用户item的稀疏表征之后,推荐模型F可以得到一个分数表示用户对item的喜好程度

2.2 基于强化学习进行连续embedding维度的搜索

现在基础推荐器可以通过掩码稀疏化来适应不同的embedding维度,则开始使用G搜索最佳embedding维度。为了从连续空间中有效地学习高质量的embedding维度搜索策略,本节通过展示对环境(environment)、状态(state)、动作(action)、奖励(reward)、参与者(Actor and Critic)的设计来介绍在RL中的解决方案 和评论家。

在优化过程中,环境(environment)接收动作(action)(即所有用户item的embedding维度),提供关于内存成本和推荐性能的反馈(reward),并更新其状态以进行后续动作预测。状态s是策略网络(即 CIESS 中的参与者)的输入,它驱动每个用户/项目特定embedding维度的决策。已有方法表明,用户item的当前embedding维度决策在为策略网络提供后续搜索的上下文方面是有效的。本文方法继承这个设计前提下多了一个质量指标a记录当前策略下的推荐准确率波动,即:

s_n=\left(\frac{f_n-f_{\min }}{f_{\max }-f_{\min }}, \frac{d_n-d_{\min }}{d_{\max }-d_{\min }}, q_n\right), \quad n \in \mathcal{U} \cup \mathcal{V}

其中,

f_n

代表用户item的流行度,

d_n

代表embedding维度,

q_n

量化当前embedding维度从

d_{max}

减少到

d_n

推荐质量的变化。将此质量指标纳入状态能够帮助追踪从最近的动作(即embedding维度)到推荐有效性的影响,这可以鼓励策略网络是从一个巨大的、连续的动作空间中选择embedding维度以更好地平衡内存成本和性能。表示为:

q_n=\min \left(\frac{\operatorname{eval}\left(\mathbf{e}_n \mid \mathbf{E} \odot \mathbf{M}\right)}{\operatorname{eval}\left(\mathbf{e}_n \mid \mathbf{E}\right)}, 1\right), \quad n \in \mathcal{U} \cup \mathcal{V}
2.3 稀疏embedding的选择性再训练

伪代码如下

3 实验结果

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-06-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 秋枫学习笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.引言
  • 2 方法
    • 2.1 Mask embedding的基础推荐结构
      • 2.2 基于强化学习进行连续embedding维度的搜索
        • 2.3 稀疏embedding的选择性再训练
        • 3 实验结果
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档