SGL论文阅读笔记

SGL论文阅读笔记

摘要部分内容

​ 首先,论文提出了目前用户-项目图所面临的两大问题

  • 长尾问题:高度数的节点对表示学习产生更大的影响 ,导致低度数的结点的推荐比较困难
  • 鲁棒性问题:用户的交互数据中包含很多噪声,而邻居聚合策略会更进一步放大聚合的影响

​ 于是,这篇论文提出了自监督学习,主要思想是用一个辅助的监督任务来补充经典的推荐监督任务,这个辅助的监督任务具体来说,就是生成一个节点的多个视图,然后提高同一个节点在不同视图表征之间的相似性,最小化不同节点表征之间的相似性

​ 这里该论文提出了三种产生不同视图的方法,分别是

  • node dropout
  • edge dropout
  • random walk

之后该论文提出了通过对比学习,SGL具有自动挖掘hard negative node的能力,提高了推荐精度,对于长尾项以及对交互噪声的鲁棒性

正文部分内容

该论文提出了当前GCN的推荐系统有以下三个限制

  • 稀疏的监督信号,就是数据是稀疏的,用户和物品之间有交互的很少
  • 倾斜的数据分布,普通的GCN容易偏向度数高的节点,降低了度数低的节点的表示性能,也就是长尾问题
  • 交互中的噪声,就是学习容易受交互噪声的影响

该论文构建的辅助任务有两个关键部分组成

  • 数据增强,也就是给每个节点生成多个视图
  • 对比学习,也就是使同一节点不同视图之间的一致性最大化

​ 在对比学习中,通过改变图邻接矩阵来构造“未标记”数据空间,然后就采用上述提到的三种方式来生成多个视图,之后对变化的结构进行对比学习,SGL是通过探索节点间的内部关系来增强节点表示学习的

​ SGL从三个方面补充了现有的推荐模型

  • 节点自我识别提供了辅助的监督信号,补充了仅通过观察交互的经典监督
  • 数据增强,尤其是edge dropout,通过有意降低高度节点的影响来减轻度的偏差
  • 节点的多视图不同的局部结构增强了模型对交互噪声的鲁棒性

​ 最后还发现了有挖掘hard negative节点的能力,不仅提高了性能,而且加速了训练过程

​ SGL还是模型无关的,可以应用到任何基于用户/项目嵌入的基于图的模型

​ 模型的示意图如下:

pPy1gbT.png

图结构数据增强

$ z_ {1}^ {(l)} $ =H( $ Z_ {1}^ {(l-1)} $ , $ s_ {1} $ (G)), $ Z_ {2}^ {(l)} $ =H( $ Z_ {2}^ {(l-1)} $ , $ s_ {2} $ (G)), $ s_ {1} $ , $ s_ {2} $ $ \sim S$ ,

这与GNN进行节点编码的范式差不多,有区别的是对图结构进行了dropout操作,这里要做两次从而形成两个不同的子视图

三种方式的dropout策略如下:

  • node dropout:使用两个不同的掩码矩阵与节点矩阵相乘来产生两个不同的子视图
  • $ s_ {1} $ (G)=(M' $ \odot $ V, $ \varepsilon $ ), $ s_ {2} $ (G)=(M″ $ \odot $ V, $ \varepsilon $ )
  • edge dropout:使用两个不同的掩码矩阵与边矩阵相乘来产生两个不同的子视图
  • $ s_ {1} $ (G)=(V, $M_1 \odot $ $ \varepsilon $), $ s_ {2} $ (G)=( V, $M_2 \odot $ $ \varepsilon $)
  • random walk:在每一层里,使用两个不同的掩码矩阵与边矩阵相乘来产生两个不同的子视图
  • $ s_ {1} $ (G)=(V, $M_1^{(l)} \odot $ $ \varepsilon $), $ s_ {2} $ (G)=( V, $M_2^{(l)} \odot $ $ \varepsilon $)

在训练时,我们在每个epoch开始时生成每个节点的两个不同的视图,对于s1和s2,dropout的比例应当相同

对比学习

该论文将同一节点在不同视图的表示看成一对正样本,把不同节点的表征看作负样本,于是我们采用的对比损失函数如下:

pPy8oB6.png

s表示两个向量之间的相似度,本论文采用的是余弦相似度,\(\tau\)是温度系数

我们结合用户和项目的损失函数,之后的损失函数为:

\(L_{ssl}=L_{ssl}^{user}+L_{ssl}^{item}\)

之后就是进行多任务训练,把经典的推荐任务和自监督学习任务结合起来,我们得到最终的损失函数为

\(L=L_{main}+\lambda_1L_{ssl}+\lambda_2 \|\Theta\|_2^2\)

其中,\(\Theta\)\(L_{main}\)模型参数的集合

理论分析部分

第一部分主要分析了温度系数\(\tau\)对挖掘hard negative node的影响

hard negative node就是其表示与positive节点相似,即表示的相似性x在0到1之间

用数学方式分析了,当\(\tau\)在一定范围内的时候,hard negative node对梯度的贡献很大,能够有效的加快收敛

所以SGL也能够有效的挖掘hard negative node

之后分析了SGL的复杂度,主要优化思路是拿同一个batch的其他节点作为负样本,而不是整个图的节点作为负样本,复杂度略涨,但还是在可接受的范围内

posted @ 2023-09-07 16:12  ANewPro  阅读(146)  评论(0)    收藏  举报