前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SIGIR'23 武大、阿里 | 基于自适应特征学习的多场景推荐方法

SIGIR'23 武大、阿里 | 基于自适应特征学习的多场景推荐方法

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

标题:Multi-Scenario Ranking with Adaptive Feature Learning 地址:https://arxiv.org/pdf/2306.16732.pdf 会议:SIGIR 2023 学校,公司:武大,阿里

1.导读

多场景学习有助于从不同场景进行迁移学习,缓解数据稀疏性。一些工作主要关注于如何找到更好的网络结构如辅助网络,专家网络,多塔结构等;本文主要关注如何针对不同的场景保留各自特定的特征和意图,即不同的特征在不同的场景中有不同的表现。本文提出了一个具有自适应特征学习的多场景排序框架(Maria)。Maria在网络的底部注入场景语义,以得到更具鉴别力的特征表征。包含三个模块:特征缩放,特征细化和特征相关性建模。

  • 特征缩放的目的是突出与场景相关的filed,同时抑制不相关的字段。
  • 特征细化针对每个特征字段利用自动细化器选择子网络,使得可以利用最优专家提取关于场景的高级语义
  • 导出跨filed的特征相关性作为互补信号。然后,将得到的表征送到具有额外的场景共享塔的简单MoE结构中,用于最终预测。

文末省流版哦

2.方法

image.png

2.1 特征缩放

同一个特征在不同场景也会有不同的表现,因此特征缩放模块就是基于场景信息对特征进行缩放。将编码层得到的用户emb,商品emb,行为序列emb,上下文信息emb等emb拼接后得到整体的表征Q,特征缩放模块为Q中的每个特征计算得到一个缩放因子,这样每个场景中同一特征都有了不同的表达。缩放因子向量计算为下式,其中freeze()表示梯度不反向传播,e分别是用户,商品和场景emb。

\alpha=\lambda * sigmoid(FCN([freeze(Q)\|e_u\|e_{x_i}\|e_{s}]))

基于得到缩放因子向量对特征emb进行缩放

Q_s=[\alpha_1Q_1\|...\|\alpha_{N_Q}Q_{N_Q}]

,其中

N_Q

为特征数。

ps:这里感觉和其他动态权重的多场景模型差不多,比如PEPNet,感觉就是名字不一样,实现方式略有差异。

2.2 特征细化

为了在实例级别适应特定场景的特征,本节设计了一个特征细化模块,该模块利用自动细化器选择网络来支持高级语义编码。为每个特征域filed设置了一组特征细化器,每个细化器都是一个浅的全连接层。如图3(a)所示,细化器的选择是以场景感知的方式自动进行的。选择器采用场景emb

e_s

和输入的某个field的emb作为输入,计算权重β。以用户行为field为例,公式如下,其中GS为Gumbel Softmax。GS层是用来近似离散化的选择过程。使用relu作为每个细化器的激活函数。将每个field的特征都经过特征细化后得到对应的emb,然后将他们拼接得到

Q_R
\begin{aligned} \boldsymbol{\beta} & =G S\left(\operatorname{sigmoid}\left(F C N\left(\left[\hat{\mathbf{h}}_{b} \| \mathbf{e}_{s}\right]\right)\right)\right), \boldsymbol{\beta} \in R^{N_{b}} \\ \tilde{\mathbf{h}}_{b} & =\left[\boldsymbol{\beta}_{1} F C_{1}\left(\hat{\mathbf{h}}_{b}\right)\|\cdots\| \boldsymbol{\beta}_{N_{b}} F C_{N_{b}}\left(\hat{\mathbf{h}}_{b}\right)\right] \end{aligned}

ps:这里有点类似多任务中的一些方法,比如mmoe?

2.3 特征相关性建模

在特征缩放之后,对不同特征field之间的语义相关性进行显式建模。首先,field的表征通过全连接层被投影到相同的维度。然后,计算每个field对的点积,计算得到不同field的点积分数后,将他们拼接得到

Q_C

。 将

Q_C

Q_R

拼接后得到

Q_f=[Q_R\|Q_C]

在上述自适应特征学习之后,使用标准的MoE作为网络层的主要结构(如图3(b)所示)。为所有的场景构建一个共享的专家网络组,其中专家网络是一个独立的全连接的网络。门控机制用于将这些专家网络的输出汇总公式如下,其中

N_e

为专家网络的个数,

e_s

为场景emb,基于场景emb得到权重向量g,然后对多个专家网络的输出进行加权。

\begin{aligned} \mathbf{h}_{N} & =\sum_{j=1}^{N_{e}} \mathbf{g} f_{j}\left(\mathbf{Q}_{f}\right) \\ \mathbf{g} & =\operatorname{softmax}\left(\mathbf{W}_{g} \mathbf{e}_{s}\right) \end{aligned}

2.4 预测

在预测层,采用多塔结构,为每个场景搭建特定场景的DNN塔

FCN_{sp}^s()

。此外,还有一个额外的DNN塔

FCN_{sh}()

用于利用场景共享信息(如图3(c)所示)。因此,最终表征

h_f

为下式,其中α衡量场景相关性,最终的预测打分为

\hat{y}_{ui}=FCN(h_f)
h_f=h_{sp}^s+\alpha_sh_{sh}\\ h_{sp}^s=FCN_{sp}^s(h_N)\\ h_{sh}=FCN_{sh}(h_N)\\ \alpha_s=\frac{1}{N_s-1}\sum_{j=1,s_j\neq s}^{N_s}(e_s\cdot e_{s_j})

3.结果

image.png

4.总结

本文是针对多场景推荐问题提出的相关方法,主要包含几部分:

  • 特征缩放模块,主要是利用场景信息对输入特征进行缩放,从而是每个特征在不同场景中有各自的特异性,这点类似其他动态权重的方法,如PEPNet等
  • 特征细化模块,在特征缩放后,对不同field的特征(用户域,商品域,行为域等)进行细化,细化过程类似mmoe,利用多个fcn某个field的高阶表征后,通过加权汇总这些fcn得到的表征得到细化后的表征
  • 特征相关性建模,对特征缩放后的不同filed的特征两两组成对,不同对计算点积
  • 上层网络,依旧通过moe对细化后的特征进行处理,然后每个场景构建各自的fcn进行预测
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-07-23,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.导读
  • 2.方法
    • 2.1 特征缩放
      • 2.2 特征细化
        • 2.3 特征相关性建模
          • 2.4 预测
          • 3.结果
          • 4.总结
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档