Self-supervised Heterogeneous Graph Neural Network with Co-contrastive Learning 论文阅读
一、重难点
异质图 : 异质图基本思想速通
双视角: network schema view & meta-path structure view,最后将两个视角得出的节点表征通过对比学习(contrastive learning)进行融合
自监督: 不需要标签信息,直接利用数据本身作为监督信息,可分为对比学习和生成学习两大类。本文即是对比学习,核心思想是讲正样本和负样本在特征空间对比,学习样本的特征表示
二、两种视角
network schema 如图1(b),表示不同类别的节点之间的关系
meta-path 如图1(c),可定义多种元路径作者-文章-作者/文章-主题-文章/…
三、模型定义
1.预处理
将不同类别的节点特征x投影到同一空间,特征长度对齐后记为h
2.network schema
对于一个文章类节点而言,在network schema 视角下将从作者、主题两个类别的节点中学习embedding,不同类别对当前节点的影响程度不同,这一程度值通过类似GAT的方式(引入注意力机制)由模型自主学习得到。每个类别下包含多个节点,不同节点的重要程度各不相同,类内各点重要程度也通过类似GAT的方式学习得到。
类内重要程度alpha(node-level attention):
其中fai_m表示所属节点类别,共m种;a为待学习的参数
通过node-level attention聚合邻居信息:
注:不是聚合所有邻居,有采样操作
将不同类别得到的embedding进行融合
类别重要程度beta(type-level attention):
其中W、b为待学习参数
通过type-level attention聚合不同类别embedding:
3. meta-path
通过元路径得到的是同构图,对每个同构图利用GCN得到各节点的初步表征h:
将不同元路径下得到的节点表征融合(还是类似GAT, semantic-level attention):
其中W、b为待学习参数,beta_fai_n为不同元路径下得到的图的重要程度
根据不同的重要程度,得到meta-path视角下的节点embedding
4. mask
network schema中节点不聚合本身的信息(masked),meta-path中不聚合中转节点的信息,这样将与当前文章相连的节点按类别区分开来,不重复计算。
5.contrastive learning
融合从两个视角得出的节点embedding进而进行判断,首先利用MLP进行映射:
接下来引入contrastive learning
对比学习:某事物的微小变种之间应有较高相似度(positive samples),本质不同的事物之间相似度低(negative samples)。本文正负样本定义如下:
positive:被多条meta-path相连的节点对(强调边的重要性)
negative: others
以i节点的network schema视角下的loss函数为例,将节点对按照meta-path相连条数降序排列,自行设置阈值划分正负样本。划分后有在network schema view下的contrastive loss(meta-path view同理):
其中sim为cos函数,表示两向量之间的相似程度。因为是network schema视角下的loss函数,所以目标embedding(gt)是network schema中的embedding;正负样本的embedding来自meta-path view。正样本对应值尽可能大,负样本对应值尽可能小,loss才能变小。
两视角loss均衡:
6. model extension
难以区分的负样本对提高对比学习模型的性能很有帮助,因此引入新的负样本生成策略:GAN & Mixup