Abstract
基于会话的推荐(SBR)侧重于在某个时间点的下一项项目预测。近年来,基于图神经网络的SBR方法将项目转换为成对的关系,忽略了项目之间复杂的高阶关系。超图提供了一种捕获非成对关系的自然方法。在本文中,我们通过将基于绘画控制的数据建模为一个超图。提出了一个超图卷积网络来改善SBR。此外为了增强超图建模,我们设计另一个基于超图的线图的图卷积网络。然后通过最大化学习到的两个网络之间的互信息将自监督学习整合到网络的训练中。作为一个辅助的任务来改进推荐任务。由于这两种类型的网络都是基于超图的,这可以看作是超图建模的两个通道,因此我们将我们的模型命名为DHCN(Dual Channel Hypergraph Convolutional Networks)
Introduction
一般来说,一个会话是一个在一个购物事件中有多个已购买的项目的交易,而SBR通过使用实时的用户行为来专注于下一个项目的预测。这一领域的大多数研究工作都将会议视为有序序列。
在基于rnn的方法中,将基于会话的数据建模为单向序列被认为是成功的关键,但是严格和单独地建模项目的相对顺序,而忽略项目的一致性,可能会使推荐模型容易过拟合
在基于图神经网络的方法中,将基于会话的数据建模为有向子图,将项目转换建模为成对关系。但是目前的方法忽略了基于绘画的数据中复杂的项目相关性。在实际场景中,项目转换通常是由之前的项目点击的联合效应触发的,项目之间存在多对多和高阶关系。显然,简单的图并不能描述这种集状的关系。
为了克服这些问题,我们提出了一种新的基于超图的SBR方法来建模会话内项目的高阶关系。我们假设会话中的项目是时间相关的,但不是严格的顺序依赖的。超图中的超边是集状的,它强调所设计的元素的相干性,而不是相对的顺序。因此它为我们提供了在会话中捕捉复杂交互的灵活性和能力。从技术上讲,我们首先将每个会话建模为一个超边,其中所有的项目都相互连接。
但是先前的方法还存在问题,因为每个超边只包含有限数量的项目,因此固有的数据稀疏性问题可能会限制超图建模带来的好处。为此我们引入了线图通道,并创新性的将自监督学习集成到我们的模型中,以增强超图建模。在此基础上,建立了一个双通道超图上的双通道卷积网络。直观地说,我们网络中的两个通道可以看作是两种不同的视图,描述会话之内和之间的信息,但是它们对彼此之间的信息知之甚少。通过自监督学习,通过最大化两个通道学习到的会话表征之间的互信息,两个通道可以相互获取新的信息,以提高自己在项目/会话特征提取中的性能。
本文工作的主要贡献如下:
- 提出了一种新的双通道超图卷积网络,该网络可以通过超图建模来捕获项目之间的超成对关系
- 将自监督任务整合到网络的训练中,以增强超图建模和改进推荐任务
Method
模型的整体架构如下:
SBR的任务是预测任何给定的会话s的下一个项目
然后介绍一下什么是线图
也就是线图L中的每一个节点都是超图G中的一个超边,如果G中的其中两条超边在超图中至少共享一个节点,那么这两条超边在线图L中代表的节点就是连通的
Hypergraph Construction
将会话组织为超图时,在会话中单击的任意两个项都将连接起来
一个细节是,我们将会话转换为一个无向图,即会话中的项目是在时间上相关的,而不是在顺序上依赖的。然后我们利用超图的线性图,将每个会话都建模为一个节点,并且不同的会话之间根据共享的项目进行连接,与描述项目高阶关系的超图相比,线性图描述了会话级的关系,这也被称为跨会话信息
Hypergraph Convolutional Network
超图卷积的矩阵形式如下
\(\mathbf{X_h^{(l+1)}=D^{-1}HWB^{-1}H^T X_h^{(l)}}\)
超图卷积可以看作是在超图上执行“节点-超边-节点”特征转换的二级细化,乘法操作\(\mathbf{H}^\top\mathbf{X}_h^{(l)}\)定义了从节点到超边的信息聚合,然后将H进行了从超边到节点的信息聚合
但是时间信息也是不可避免的,为了获得更好的推荐结果,我们采用位置嵌入
设\(P_r\)为位置矩阵,\(\mathbf{P}_r=[\mathbf{p_1},\mathbf{p_2},\mathbf{p_3},...,\mathbf{p_m}]\)
那么会话中的每一个项目的嵌入表示为:
\(\mathbf{x}_t^*=\tanh\left(\mathbf{W}_1\left[\mathbf{x}_t\|\mathbf{p}_{m\text{ -}i+1}\right]+\mathbf{b}\right)\)
会话的整体嵌入可以通过聚合会话中的表示来表示,我们先对会话的表示进行细化
\(\alpha_t=\mathbf{f}^\top\sigma\left(\mathbf{W}_2\mathbf{x}_s^*+\mathbf{W}_3\mathbf{x}_t^*+\mathbf{c}\right),\theta_h=\sum_{t=1}^m\alpha_t\mathbf{x}_t\)
其中\(\mathbf{x}_s^*\)是会话中所有嵌入的平均\(\mathbf{x}_t^*\)是会话中第t个项目
用户的一般兴趣嵌入\(\theta_{h}\)是通过软注意力机制聚合项目嵌入来表示的,其中项目具有不同的优先级
给定一个会话,候选项目的分数为:
\(\hat{\mathbf{z}}_i=\theta_h^T\mathbf{x}_i\)
然后利用softmax函数来计算每个项目成为会话中下一个项目的概率
最后,损失函数为交叉熵损失函数
\(\mathcal{L}_r=-\sum_{i=1}^N\mathbf{y}_i\log\left(\hat{\mathbf{y}}_i\right)+\left(1-\mathbf{y}_i\right)\log\left(1-\hat{\mathbf{y}}_i\right)\)
Enhancing SBR with Self-Supervised Learning
我们设计了一个基于会话诱导超图的线性图的图卷积网络来生成自监督信号。然后通过对比学习最大化两个通道学习到的会话表征的互信息,推荐模型来获取更多的信息,从而提高推荐性能。由于这两种类型的网络都是基于超图的,这可以看作是超图建模的两个通道,因此我们将我们的模型命名为DHCN
Line Graph Channel and Convolution
我们首先通过平均会话中项目的嵌入来初始化会话的嵌入\(\mathbf{\Theta}_l^{(0)}\),线图的关联矩阵被定义为A,线图卷积被定义为\(\boldsymbol{\Theta}_l^{(l+1)}=\mathbf{\hat{D}^{-1}\mathbf{\hat{A}\Theta}^{(l)}}\),其中\(\hat{\mathbf{A}}=\mathbf{A}+\mathbf{I}\),D是度矩阵,最终的会话嵌入为\(\boldsymbol{\Theta}_l=\frac1{L+1}\sum_{l=0}^L\boldsymbol{\Theta}_l^{(l)}\)
Creating self-supervision signals
这两组超图学习的会话可以作为自监督学习的ground-truth,如果两个会话嵌入在两个视图中都表示同一个会话,那么我们将这对嵌入标记为ground-truth,否则我们将其标记为负值
Contrastive learning
我们将DHCN中的两个通道视为描述会话不同方面的两种观点,我们对比了通过这两个视图学习到的两组会话嵌入。损失函数为:
\(\mathcal{L}_s=-\log\sigma(f_\mathrm{D}(\theta_i^h,\theta_i^l))-\log\sigma(1-f_\mathrm{D}(\tilde{\theta}_i^h,\theta_i^l))\)
其中\(\tilde{\theta}_{i}^{h}\)是会话表示经过行变换或列变换破坏后的表示
\(f_{\mathrm{D}}(\cdot)\)是对两个向量之间的一致性进行评分,这个学习目标是最大化不同视图学习到的会话嵌入之间的互信息
最后对主任务和辅助任务进行联合对比学习
\(\mathcal{L}=\mathcal{L}_r+\beta\mathcal{L}_s\)
Conclusion
现有的基于gnns的SBR模型将项目转换视为成对关系,这不能捕获项目之间普遍存在的高阶相关性。在本文中,我们提出了一种双通道超图卷积网络来解决这一问题。此外为了进一步增强网络,我们将自监督学习集成到网络的训练中。
标签:嵌入,mathbf,DHCN,论文,建模,笔记,会话,超图,项目 From: https://www.cnblogs.com/anewpro-techshare/p/17995213