前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SIGIR'22 序列推荐:对辅助信息解耦后再融合

SIGIR'22 序列推荐:对辅助信息解耦后再融合

作者头像
秋枫学习笔记
发布2022-09-19 10:23:04
2870
发布2022-09-19 10:23:04
举报
文章被收录于专栏:秋枫学习笔记

关注我们,一起学习~

title:Decoupled Side Information Fusion for Sequential Recommendation link:https://arxiv.org/pdf/2204.11046.pdf code:https://github.com/AIM-SE/DIF-SR from:SIGIR 2022

1. 导读

本文考虑在序列推荐中对各种辅助信息进行融合来提升下一个商品的预测性能。大多数方法采用注意力方法,但是不同异构信息的混合相关性给注意力机制带来了额外的干扰,并且embedding的早期集成限制了注意力机制的表达能力。

本文提出解耦的辅助信息融合DIF-SR,将辅助信息从输入移动到注意力层,并将各种辅助信息和商品表征的注意力计算解耦。辅助属性预测器进一步激活辅助信息和商品表征学习之间的有益交互。

2. 懒人阅读

通常的融合辅助信息的序列推荐方法都是将序列中交互对应的辅助信息(如商品的品牌,类别,用户打分等)和交互的商品ID一起融合后,再经过注意力机制进行相关性挖掘。本文作者发现提前融合会影响注意力层的表征能力,因此,作者将注意力机制放在融合之前,即下面章节的图3c,然后通过将不同属性的注意力权重进行融合(add,concat,gating具体看下文),然后再对embedding进行加权。得到序列中各个交互的embedding后,采用最后一次交互的商品embedding和候选商品embedding求用户交互分数。并且在训练阶段约束交互中商品embedding包含辅助信息,具体可见损失函数部分。

3. 问题定义

令I,U分别表示商品和用户集合。用户u的历史序列表示为

\mathbb{S}_u=\{v_1,...,v_n\}

,vi表示第i个交互的商品,辅助信息包括与商品相关的信息(例如,品牌、类别)和与行为相关的信息(例如,位置、评分)。假设有p种辅助信息,每个交互可以表示为:

v_i=(I_i,f_i^{(1)},...,f_p^{(p)})

I_i

表示第i次交互的商品ID,f为辅助信息。给定交互序列,预测用户最后可能交互的商品。

4. 方法

image.png

4.1 Embedding模块

对于输入序列

\mathbb{S}_u

,将其中的商品ID和对应的属性分别输入到相应的embedding层,表示如下,分别得到对应的embedding矩阵,lookup矩阵的维度为

M_{id} \in \mathbb{R}^{|I|\times d}

M_{f_p} \in \mathbb{R}^{|f_p| \times d_{fp}}

,得到的embedding矩阵维度则为

E^{ID} \in \mathbb{R}^{n\times d}

其他属性也类推。

\begin{aligned} E^{I D}=& \mathcal{E}_{i d}\left(\left[I_{1}, I_{2}, \ldots, I_{n}\right]\right), \\ E^{f 1}=& \mathcal{E}_{f 1}\left(\left[f_{1}^{(1)}, f_{2}^{(1)}, \ldots, f_{n}^{(1)}\right]\right), \\ & \cdots \\ E^{f p}=& \mathcal{E}_{f p}\left(\left[f_{1}^{(p)}, f_{2}^{(p)}, \ldots, f_{n}^{(p)}\right]\right), \end{aligned}

4.2 解耦的辅助信息融合模块DIF

4.2.1 层结构

如图 2 所示,解耦的辅助信息融合模块包含几个堆叠的顺序组合 DIF 注意力层和前馈层的块。每个 DIF 块涉及两种类型的输入,即当前商品表征和辅助信息表征,然后输出更新的商品表示。辅助信息embedding不会每层更新以节省计算量,同时避免过度拟合。令

R^{(ID)}_i \in \mathbb{R}^{n \times d}

表示块i的输入商品表征。

\begin{array}{c} R_{i+1}^{(I D)}=\operatorname{LN}\left(\mathrm{FFN}\left(\mathrm{DIF}\left(R_{i}^{(I D)}, E^{f 1}, \ldots, E^{f p}\right)\right)\right) \\ R_{1}^{(I D)}=E^{I D} \end{array}

4.2.2 DIF注意力层

从图中可以看出,本文所提的DIF中采用的注意力方式和其他方式的区别在于融合过程和注意力机制的位置关系,之前的方式都是先融合,然后再通过注意力机制;而DIF-SR 不是通过早期融合来获得融合的项目表征,而是将各种辅助信息的注意力计算过程解耦以生成融合的注意力矩阵,以获得更高的表征能力、避免混合相关性和灵活的训练梯度。

对于商品表征和各种属性表征,分别采用多头注意力机制计算相应的注意力全中,表示如下,

\mathrm{att}_{I D}^{i}=\left(R^{(I D)} W_{Q}^{i}\right)\left(R^{(I D)} W_{K}^{i}\right)^{\top} .
\begin{aligned} \operatorname{att}_{f 1}^{i}=&\left(E^{f 1} W_{Q}^{(f 1) i}\right)\left(E^{f 1} W_{K}^{(f 1) i}\right)^{\top} \\ & \cdots, \\ \operatorname{att}_{f p}^{i}=&\left(E^{f p} W_{Q}^{(f p) i}\right)\left(E^{f p} W_{K}^{(f p) i}\right)^{\top} . \end{aligned}

对于每个头对应的注意力权重采用函数F进行融合,然后对

R^{(ID)}

加权,表示如下,

\begin{aligned} \text { DIF_att }^{i}=\mathcal{F}\left(\mathrm{att}_{I D}^{i}, \mathrm{att}_{f 1^{i}}, \ldots, \mathrm{att}_{f p}^{i}\right) \\ \text { DIF_head }^{i} =\sigma\left(\frac{\mathrm{DIF}_{-} \mathrm{att}^{i}}{\sqrt{d}}\right)\left(R^{(I D)} W_{V}^{i}\right) \end{aligned}

这里的F函数,文中直接说参考NOVA方法,笔者在这进行补充,方便大家理解。这里的F函数可以采用相加(add),拼接(concat)或者加权(gating)。

最后,所有注意力头的输出拼接起来进过前馈层FFN。

4.3 AAP预测模块

借助辅助信息得到序列信息编码的最终表征

R^{(ID)}_L

,采用

R^{(ID)}_L

的最后一个元素

R^{(ID)}_L[n]

来估计用户与每个商品进行交互的概率。

\hat{y}=\operatorname{softmax}\left(M_{i d} R_{L}^{(I D)}[n]^{\top}\right)

在训练期间,对属性(位置信息除外)使用辅助属性预测器(AAP),以进一步激活辅助信息和商品表征之间的交互。与先前使用单独的属性embedding进行预测或仅使用属性进行预训练的解决方案不同,本节将多个预测器直接应用于最终表征,以强制商品表征包含有用的辅助信息。

\hat{y}^{(f j)}=\sigma\left(W_{f j} R_{L}^{(I D)}[n]^{\top}+b_{f j}\right)

最后采用交叉熵损失函数进行优化,

L_{i d}=-\sum_{i=1}^{|\mathcal{I}|} y_{i} \log \left(\hat{y}_{i}\right)
L_{f j}=-\sum_{i=1}^{|f j|} y_{i}^{(f j)} \log \left(\hat{y}_{i}^{f j}\right)+\left(1-y_{i}^{(f j)}\right) \log \left(1-\hat{y}_{i}^{(f j)}\right)
L=L_{i d}+\lambda \sum_{j=1}^{p} L_{f j}

5. 结果

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 导读
  • 2. 懒人阅读
  • 3. 问题定义
  • 4. 方法
    • 4.1 Embedding模块
      • 4.2 解耦的辅助信息融合模块DIF
        • 4.2.1 层结构
        • 4.2.2 DIF注意力层
      • 4.3 AAP预测模块
      • 5. 结果
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档