首页 > 其他分享 >DHCN论文阅读笔记

DHCN论文阅读笔记

时间:2024-01-29 19:55:26浏览次数:29  
标签:嵌入 mathbf DHCN 论文 建模 笔记 会话 超图 项目

Abstract

基于会话的推荐(SBR)侧重于在某个时间点的下一项项目预测。近年来,基于图神经网络的SBR方法将项目转换为成对的关系,忽略了项目之间复杂的高阶关系。超图提供了一种捕获非成对关系的自然方法。在本文中,我们通过将基于绘画控制的数据建模为一个超图。提出了一个超图卷积网络来改善SBR。此外为了增强超图建模,我们设计另一个基于超图的线图的图卷积网络。然后通过最大化学习到的两个网络之间的互信息将自监督学习整合到网络的训练中。作为一个辅助的任务来改进推荐任务。由于这两种类型的网络都是基于超图的,这可以看作是超图建模的两个通道,因此我们将我们的模型命名为DHCN(Dual Channel Hypergraph Convolutional Networks)

Introduction

一般来说,一个会话是一个在一个购物事件中有多个已购买的项目的交易,而SBR通过使用实时的用户行为来专注于下一个项目的预测。这一领域的大多数研究工作都将会议视为有序序列。
在基于rnn的方法中,将基于会话的数据建模为单向序列被认为是成功的关键,但是严格和单独地建模项目的相对顺序,而忽略项目的一致性,可能会使推荐模型容易过拟合
在基于图神经网络的方法中,将基于会话的数据建模为有向子图,将项目转换建模为成对关系。但是目前的方法忽略了基于绘画的数据中复杂的项目相关性。在实际场景中,项目转换通常是由之前的项目点击的联合效应触发的,项目之间存在多对多和高阶关系。显然,简单的图并不能描述这种集状的关系。

为了克服这些问题,我们提出了一种新的基于超图的SBR方法来建模会话内项目的高阶关系。我们假设会话中的项目是时间相关的,但不是严格的顺序依赖的。超图中的超边是集状的,它强调所设计的元素的相干性,而不是相对的顺序。因此它为我们提供了在会话中捕捉复杂交互的灵活性和能力。从技术上讲,我们首先将每个会话建模为一个超边,其中所有的项目都相互连接。

但是先前的方法还存在问题,因为每个超边只包含有限数量的项目,因此固有的数据稀疏性问题可能会限制超图建模带来的好处。为此我们引入了线图通道,并创新性的将自监督学习集成到我们的模型中,以增强超图建模。在此基础上,建立了一个双通道超图上的双通道卷积网络。直观地说,我们网络中的两个通道可以看作是两种不同的视图,描述会话之内和之间的信息,但是它们对彼此之间的信息知之甚少。通过自监督学习,通过最大化两个通道学习到的会话表征之间的互信息,两个通道可以相互获取新的信息,以提高自己在项目/会话特征提取中的性能。

本文工作的主要贡献如下:

  • 提出了一种新的双通道超图卷积网络,该网络可以通过超图建模来捕获项目之间的超成对关系
  • 将自监督任务整合到网络的训练中,以增强超图建模和改进推荐任务

Method

模型的整体架构如下:

pFucHW6.png

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

相关文章

  • Imdeploy笔记
    Smiling&Weeping----天气不好的时候,我会小心地把自己心上的裂缝补起来。为什么?... LMDeploy的量化和部署1环境配置2服务部署2.1模型转换2.1.1在线转换2.1.2离线转换2.2TurboMind推理+命令行本地对话2.3TurboMind推理......
  • 构建之法的读书笔记与读后感2
    软件工程师的成长个人能力的衡量与发展,IC在团队中的流程,初级软件工程师的成长以及工作量和质量的衡量(PSP认为的4个因素),TSP对团队成员的要求(交流、说到做到、接受团队赋予的角色并按角色要求工作、全力投人团队的活动、按照团队流程的要求工作、准备、理性地工作)。软件工程师的......
  • 科研论文的数据格式
    正确的数据格式是进行数据分析的基础,最近SPSSAU后台收到了很多小伙伴的提问——什么样的数据格式才能进行分析?某某方法的数据格式应该是怎样的?为什么我上传数据后没有显示?针对小伙伴们有关数据格式的提问,今天将论文写作各个模块中,具有代表性的分析方法的数据格式进行一个汇总说明,......
  • 软件测试学习笔记丨Charles_Mock实战
    Charles_Mock实战1.电脑端抓包抓取雪球Web端搜索接口数据查看接口响应状态码与使用的协议版本查看请求参数与json格式的响应内容快速过滤雪球域名的接口进行弱网测试,选择弱网模式为256kbpsProxy→ThrottleSetting,然后选择EnableThrottling弱网前弱网后2.App抓包抓取......
  • 1/29 学习进度笔记
    SparkSQL数据清洗API前面我们处理的数据实际上都是已经被处理好的规整数据,但是在大数据整个生产过程中,需要先对数据进行数据清洗,将杂乱无章的数据整理为符合后面处理要求的规整数据。去重方法dropDuplicates功能:对DF的数据进行去重,如果重复数据有多条,取第一条缺失值处理drop......
  • CSAPP学习笔记——chapter8 异常控制流
    CSAPP学习笔记——chapter8异常控制流简介异常控制流(ExceptionalControlFlow,ECF)是在计算机系统中处理不寻常或异常情况的一种机制。它允许系统跳出正常的顺序控制流,响应那些并不直接由程序的控制流逻辑触发的事件。ECF在硬件、操作系统和应用程序层面都有体现,并且是现代计算......
  • 023 数据库学习笔记--修改字段非空+默认值
    第一步:将字段为空的信息更改为默认值第二步:更改字段为非空第三步:设置默认值约束updateTableImageQualitysetImageScore=0whereImageScoreisnullALTERTABLETableImageQualityALTERCOLUMNImageScoreVARCHAR(10)notnullupdateTableImageQualitysetFilmS......
  • 二维凸包复习笔记
    Graham扫描法向量的叉乘:平行四边形面积,顺负逆正,x1y2-x2y11.确定1个凸包上的点:纵坐标最小(纵坐标相同时横坐标最小)的点2.极角排序3.单调栈维护凸包点击查看代码//二维凸包#include<bits/stdc++.h>usingnamespacestd;structt1{ doublex,y;}t[100005];ints[100......
  • 《人月神话》阅读笔记3
    未雨绸缪 软件系统开发需要一个实验性的工程,这个工程的丢弃和重建都是可以接受的,而系统结构发生变化也会导致开发团对结构的变化;软件发布后,随着时间推移,需要的维护工作会逐渐增加干将莫邪 软件开发需要通用的工程技术,否则会导致沟通效率的降低,需要考虑到机器、编程语言等部分......
  • 【学习笔记】二分图
    1.定义一个二分图满足有一种划分方案使得它节点的被分为两部分,且所有边的端点所在的部分不相同。即每条边都连接两个部分。变量说明:没有特殊说明时,\(n\)表示a部分点数,\(m\)表示b部分点数,\(e\)表示边数。2.判定显然我们给二分图染色,确定一个点所有点都确定。如果在染的......