前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >AAAI'21「华为」图异构多行为推荐方法

AAAI'21「华为」图异构多行为推荐方法

作者头像
秋枫学习笔记
发布2022-09-19 11:40:47
2290
发布2022-09-19 11:40:47
举报
文章被收录于专栏:秋枫学习笔记

Graph Heterogeneous Multi-Relational Recommendation https://www.aaai.org/AAAI21Papers/AAAI-615.ChenC.pdf

1. 背景

用户与商品之间会存在许多行为,比如点击,购买,加购等。这些异构多关系数据可以提供结构良好的信息,作者认为以往的工作没有很好地捕获用户和商品之间的高阶(high-hop)关系,因此本文提出了 Graph Heterogeneous Collaborative Filtering (GHCF) 。为了探索高阶异构用户-项目交互,本文利用图神经网络学习节点和关系的表征。此外,为了充分利用整个异构数据,在多任务学习框架下执行先进的高效非采样优化。

2. 问题定义

用户和商品为别表示为U和V,用户-商品交互数据可以表示为

\{Y_{(1)},...,Y_{(K)}\}

,其中

Y_{(k)}

表示第k个交互行为是否存在当前用户和商品中,有则为1,反之为0。

3. GHCF

如图所示为GHCF的框架图,主要包含embedding propagation layer,multi-task prediction module,efficient non-sampling learning module。

3.1 Embedding Propagation Layers

\mathbf{e}_{u}^{(l)}=\sigma\left(\sum_{(v, r) \in \mathcal{N}(u)} \frac{1}{\sqrt{\left|\mathcal{N}_{u}\right|\left|\mathcal{N}_{v}\right|}} \mathbf{W}_{r}^{(l)} \mathbf{e}_{v}^{(l-1)}\right)

上式为常见的GCN应用于推荐系统的公式,其中

e_v

为用户u节点相关联的邻居商品节点,w为可学习权重,N为节点邻居的集合。但是这种常用的方式受到过度参数化的影响,并且该方式只考虑了节点embedding,忽略了边的作用。因此,作者改进为新的方式,公式如下,这里通过函数

\phi

将节点embedding和边embedding结合起来。其中

e_r

表示边的embedding,w为可学习参数,σ表示LeakyReLU激活函数,

\phi(e_v,e_r)=e_v \odot e_r

,两个向量逐元素相乘。

\mathbf{e}_{u}^{(l)}=\sigma\left(\sum_{(v, r) \in \mathcal{N}(u)} \frac{1}{\sqrt{\left|\mathcal{N}_{u}\right|\left|\mathcal{N}_{v}\right|}} \mathbf{W}^{(l)} \phi\left(\mathbf{e}_{v}^{(l-1)}, \mathbf{e}_{r}^{(l-1)}\right)\right)

和lightGCN类似,本文所提方法只考虑邻居节点而不聚合周围节点。当进行上述信息传播之后,更新关系embedding

e_r^{(l)}=W_{rel}^{(l)}e_r^{(l-1)}

。原始输入,即第0层的输入为经过id embedding layer得到的u,v,r的embedding。

3.2 Multi-task Prediction

经过多次信息传播之后,将每一层的输出embedding求均值得到最终的embedding,公式如下:

\mathbf{e}_{u}=\sum_{l=0}^{L} \frac{1}{L+1} \mathbf{e}_{u}^{(l)} ; \mathbf{e}_{v}=\sum_{l=0}^{L} \frac{1}{L+1} \mathbf{e}_{v}^{(l)} ; \mathbf{e}_{r}=\sum_{l=0}^{L} \frac{1}{L+1} \mathbf{e}_{r}^{(l)}

为了预测用户在每个行为上的可能性,将学习到的每个行为的表征合并输入到预测层,令

e_{r_k}

表示第k个行为的表征,下式表示用户u在商品v上进行行为k的可能性。

\hat{y}_{(k) u v}=\mathbf{e}_{u}^{T} \cdot \operatorname{diag}\left(\mathbf{e}_{r_{k}}\right) \cdot \mathbf{e}_{v}=\sum_{i}^{d} e_{u, i} e_{r_{k}, i} e_{v, i}

3.3 Efficient Multi-task Learning without Sampling

无需采样的学习学习方式是近期提出的方法,详见文献[1],他比传统的采样方法(如BPR)更有效且更高效。以第k个行为为例,一个batch中用户的集合为B,商品的集合为V,传统的加权回归可以定义为下式,其中c为每个

y_{uv}

对应的权重,他的复杂度为O(|B||V|d)。

\mathcal{L}_{k}(\Theta)=\sum_{u \in \mathbf{B}} \sum_{v \in \mathbf{V}} c_{u v}^{k}\left(y_{(k) u v}-\hat{y}_{(k) u v}\right)^{2}

借鉴文献[1],作者将其改写为下式,其中表示和用户在k行为有交互的商品的集合,这个可以理解为就是正样本了。总体的复杂度为,由于仅仅表示正样本的集合,因此。从而缓解了计算复杂度,并且可以避免进行负采样。当然除了加权回归的损失函数,其他函数也都可以改写

\begin{array}{c} \tilde{\mathcal{L}}_{k}(\Theta)=\sum_{u \in \mathbf{B}} \sum_{v \in \mathbf{V}_{(u)}^{k+}}\left(\left(c_{v}^{k+}-c_{v}^{k-}\right) \hat{y}_{(k) u v}^{2}-2 c_{v}^{k+} \hat{y}_{(k) u v}\right) \\ +\sum_{i=1}^{d} \sum_{j=1}^{d}\left(\left(e_{r_{k}, i} e_{r_{k}, j}\right)\left(\sum_{u \in \mathbf{B}} e_{u, i} e_{u, j}\right)\left(\sum_{v \in \mathbf{V}} c_{v}^{k-} e_{v, i} e_{v, j}\right)\right) \end{array}

最终的损失函数为下式,将每一种交互行为作为一个子任务。

\mathcal{L}(\Theta)=\sum_{k=1}^{K} \lambda_{k} \tilde{\mathcal{L}}_{k}(\Theta)+\mu\|\Theta\|_{2}^{2}

4. 实验结果

image.png

5. 总结

本文所提方案是针对多类型交互的异构关系进行建模的,即可以是点击、加购、购买等行为,作者将每一种行为作为一个子任务进行建模,最后通过多任务学习框架进行损失函数构建。在构建图信息传播的过程中,作者不仅仅采用节点上的信息,同时采用边的信息,进一步加强了不同信息的举个。并且,在损失函数构建时,采用不采样的方式改写损失函数,从而只需要用到正样本的集合就能进行训练,节省了时间

6. 文献

Chen, C.; Zhang, M.; Zhang, Y.; Liu, Y.; and Ma, S. 2020c. Efficient Neural Matrix Factorization without Sampling for Recommendation. ACM Trans. Inf. Syst. 38(2). ISSN 1046- 8188.

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 3.1 Embedding Propagation Layers
  • 3.2 Multi-task Prediction
  • 3.3 Efficient Multi-task Learning without Sampling
  • 6. 文献
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档