异构图神经网络(HGNNs)作为一种新兴技术,在处理异构信息网络(HIN)方面表现出了卓越的能力。 然而,大多数HGNN遵循半监督学习方式,这明显限制了它们在现实中的广泛使用,因为在实际应用中标签通常很少 。近年来,对比学习作为一种自监督的学习方法,成为最令人兴奋的学习范式之一,并在没有标签的情况下显示出巨大的潜力。 本文研究了自监督HGNN问题,提出了一种新的HGNN协同对比学习机制,命名为HeCo 。不同于传统的对比学习只关注正面和负面样本的对比,HeCo采用了跨视图对比机制。 具体地说,提出了HIN的两个视图(网络模式和元路径视图)来学习节点嵌入,从而同时捕获局部和高阶结构 。然后提出了 跨视图对比学习和视图掩码机制 ,该机制能够从两个视图中提取出积极和消极的嵌入信息。这使得两个视图能够相互协作监督,并最终学习高级节点嵌入。此外,设计了两个扩展的HeCo,以生成更硬的高质量的负样本,进一步提高了HeCo的性能。在各种真实网络上进行的大量实验表明,所提出的方法优于目前的技术水平。

在现实世界中,异构信息网络(HIN)或异构图(HG)[30]是普遍存在的,因为它能够建模各种类型的节点以及它们之间的各种交互,如书目网络[15]、生物医学网络[3]等。近年来,异构图神经网络(heterogeneous graph neural networks, hgnn)在处理HIN数据方面取得了巨大的成功,因为它们能够有效地将消息传递机制与复杂的异构性结合起来,从而很好地捕捉到复杂的结构和丰富的语义。到目前为止,hgnn显著促进了HIN分析向现实应用的发展,如推荐系统[6]和安全系统[7]。
基本上, 大多数HGNN研究都属于半监督学习范式,即通常设计不同的异构消息传递机制来学习节点嵌入,然后由部分节点标签监督学习过程 。然而,某些节点标签必须事先知道的要求实际上经常被违反,因为在某些现实环境中获取标签非常具有挑战性或成本很高。例如,准确地标记一个未知的基因通常需要大量的分子生物学知识,这对经验丰富的研究人员来说也不容易。最近, 自监督学习 ,旨在自发地从数据本身找到监督信号,成为一个有希望的解决方案,没有明确的标签[24]。对比学习作为一种典型的自我监督学习技术,已经引起了广泛的关注[2,12,13,25,33]。 通过提取数据中的正样本和负样本,对比学习的目标是使正样本之间的相似度最大化,而使负样本之间的相似度最小化 。这样,即使没有标签,对比学习也能学习有区别的嵌入。尽管对比学习在计算机视觉[2,13]和自然语言处理[4,21]中得到了广泛的应用,但对HIN巨大潜力的研究却很少。
在实践中,设计具有对比学习的异质图神经网络并非易事,我们需要仔细考虑HIN和对比学习的特点。 这需要解决三个根本性问题

  • 如何设计异构对比机制 。(How to design a heterogeneous contrastive mechanism.)HIN由多种类型的节点和关系组成,这自然意味着它具有非常复杂的结构。例如,metpath,即多重关系的组成,通常用于捕获HIN[31]中的长程结构。不同的元路径代表不同的语义,每一个都反映HIN的一个方面。要学习一个能完全编码这些语义的有效节点嵌入,仅在单个元路径视图[26]上进行对比学习是远远不够的。因此,研究HGNN的异构跨视图对比机制尤为重要。
  • 如何在HIN中选择合适的视图 。如前所述,HGNN需要跨视图对比学习。尽管由于异质性,人们可以从HIN中提取许多不同的视图,但一个基本要求是,所选的视图应该涵盖局部和高阶结构。网络模式是HIN[30]的元模板,反映了节点之间的直接连接,自然捕获了局部结构。相比之下,元路径被广泛用于高阶结构的提取。因此, 应该仔细考虑网络模式和元路径结构视图
  • 如何设置一个困难的对比任务 。众所周知,恰当的对比任务将进一步促进学习更具甄别性的嵌入[1,2,32]。如果两个视图太相似,监督信号就会太弱,无法学习信息嵌入。因此,我们需要使这两种观点的对比学习更加复杂。例如,一种策略是增强两种观点的信息多样性,另一种策略是生成高质量的更难的负面样本。总之,设计一个合适的对比任务对HGNN是非常重要的。

本文研究了HIN上的自监督学习问题,提出了一种新的具有协同对比学习的异质图神经网络(HeCo)。具体来说,不同于以往将原始网络和受损网络进行对比的对比学习, 我们选择了网络模式和元路径结构作为两种视图进行协作监督 。在网络模式视图下,节点嵌入是通过聚合直接邻接节点的信息来学习的,它能够捕获节点的局部结构。在元路径视图中,节点嵌入是通过沿着多条元路径传递消息来学习的,目的是捕获高阶结构。通过这种方法,我们设计了一种新颖的对比机制,可以捕获HIN中复杂的结构。为了使对比更加困难,我们提出了一个视图掩码机制,分别隐藏了网络模式和元路径的不同部分,这将进一步增强两个视图的多样性,并有助于从两个视图中提取更高层次的因子。此外,我们提出了两个扩展的HeCo,这产生了更多的高质量的负样本。最后,我们适度地将传统的对比损失应用到图数据中,其中一个节点有许多正样本而不是只有一个,这与CV的方法[2,13]不同。随着训练的进行,这两个视图将相互指导并协同优化。 我们工作的贡献总结如下:

  • 据我们所知, 这是第一次尝试研究基于交叉视图对比学习的自监督异质图神经网络 。通过基于跨视图的对比学习,可以捕获高阶因子,使HGNN更好地应用于实际应用中,无需标签监督。
  • 我们提出了一种新的具有协同对比学习的异质图神经网络HeCo。HeCo创新地使用网络模式和元路径视图来相互协作监督,并设计了视图掩码机制,进一步提高了对比性能。此外,提出了两个扩展的HeCo,即HeCo_GAN和HeCo_MU,以生成高质量的负样本。
  • 我们在四个公共数据集上进行了不同的实验,所提出的HeCo方法在性能上优于现有的甚至半监督方法,从各个方面证明了HeCo方法的有效性。

2 相关工作

在这一节中,我们回顾了一些与之密切相关的研究,包括异质图神经网络和对比学习。
异构图神经网络 。图神经网络(gnn)已经引起了广泛的关注,其中大多数gnn是针对同构图提出的,详细的调查可以在[36]中找到。近年来,异质图成为研究热点。例如HAN[35]使用层次注意来描述节点级和语义级结构,而MAGNN[8]则在此基础上考虑了元路径的中间节点。GTN[37]被用来自动识别有用的连接。HGT[16]是专为网络规模的异构网络设计的。在无监督设置下,HetGNN[38]对固定大小的邻居进行采样,并使用LSTM融合它们的特征。NSHE[40]关注网络模式,同时保持了成对和网络模式的接近性。然而,上述方法不能利用数据本身的监督信号来学习一般的节点嵌入。
对比学习 。基于对比学习的方法通过对正对和负对的对比来学习表征,取得了很大的成功[1,2,13,25]。这里我们主要回顾一下与图相关的对比学习方法。DGI[33]以正对的形式构建局部patch和全局summary,并利用Infomax[23]理论进行对比。沿着这条线,提出GMI[27],从节点特征和拓扑结构来对比中心节点及其局部patch。MVGRL[12]采用了不同视图之间的对比,并实验了不同视图之间的构图。[28]着重于对比任意两个图的普遍局部结构的预训练。在异构域,DMGI[26]在每个单一视图、元路径上对原始网络和损坏网络进行对比学习,并设计共识正则化来指导不同元路径的融合。然而,在HIN中缺乏对不同视图进行对比的方法,以便能够捕获高层次的因素。

4 HeCo模型

本节我们提出了一种新的具有共对比学习的异质图神经网络HeCo,其总体架构如图2所示。该模型从网络模式视图和元路径视图对节点进行编码,完整地描述了HIN的结构。在编码过程中,我们创造性地引入了 视图掩码机制 ,使这两个视图相互补充和监督。对于这两种特定于视图的嵌入,我们在这两种视图中采用了对比学习。考虑到节点间的高相关性,我们重新定义了HIN中节点的正样本,并设计了优化策略。

4.1 节点特征转化

4.2 网络模式视图编码器

4.3 元路径视图

4.4 视图掩码机制

4.5 协同对比优化

在本文中,我们提出了一种新的具有跨视图对比学习的自监督异质图神经网络,命名为HeCo。HeCo将网络模式和元路径作为两种视图来捕获局部结构和高阶结构,并在它们之间进行对比学习。这两个视图相互监督,并最终协作学习节点嵌入。此外,为了进一步提高HeCo的性能,设计了一种视图掩码机制和两个扩展HeCo,增加了对比学习的难度。大量的实验结果,以及这两种观点之间的协作变化趋势,验证了HeCo的有效性。

总结
本文采用了目前最新的对比学习方法,采用元路径和网络模式两种视图进行跨视图对比学习
课下应该补充对比学习相关知识SimCLR

【论文解读|KDD2021】HeCo - Self-supervised Heterogeneous Graph Neural Network with Co-contrastive Learning 对比学习文章目录摘要1 引言2 相关工作4 HeCo模型6 结论摘要异构图神经网络(HGNNs)作为一种新兴技术,在处理异构信息网络(HIN)方面表现出了卓越的能力。然而,大多数HGNN遵循半监督学习方式,这明显限制了它们在现实中的广泛使用,因为在实际应用中标签通常很少。近年来,对比学习作为一种自监督的学习方法,成为最令人兴奋的学习范式之一,并在没有标签的情况下显示出巨大的潜力。本文研究了自监督HGNN问题,提出了一种新的hgnn共对比学习机制,命名为HeCo。不同于传统的对比学习只关注正面和负面样. 理解无对比对的自我监督学习动力学()() 多视角的自我监督学习。()( ICLR 2021 ) 与差异的对比:带有噪声标签的学习的自我监督式预训练。()( ICLR 2021 )() 自我监督的可变自动编码器。()( ICLR 2021 ) 自我监督视觉预训练的密集对比学习。()( CVPR 2021 )()() 超越眼界的是:通过提取多模态知识进行自我监督的多目标检测和声音跟踪。()( CVPR 2021 ) AdCo:有效地从自我训练的负面对手中学习无监督表示的对抗性对比。()( CVPR 2021 )() 探索简单的暹罗表示学习。() Barlow Twins:通过减少冗余进行自我监督的学习。()
跨领域的分类研究如何将学习模型从一个领域改编为具有相似数据特征的另一个领域。 尽管有许多现有的著作沿着这条路线发展,但其中许多只专注于从单个源域到目标域的学习。 特别是,剩下的挑战是如何将从多个源域中学习到的知识应用于目标域。 实际上,来自多个源域的数据可以在语义上相关,但是具有不同的数据分布。 尚不清楚如何利用多个源域之间的分布差异来提高目标域中的学习性能。 为此,在本文中,我们提出了一个共识正则化框架,用于从多个源域到目标域的学习。 在此框架中,通过考虑一个源域中可用的本地数据以及与从其他源域中学习的分类器的预测共识来训练本地分类器。 此外,我们提供了对所提出的共识正则化框架的理论分析和实证研究。 对文本分类和图像分类问题的实验结果表明了这种共识正则化学习方法的有效性。 最后,为了应对多个源域在地理上分散的情况,我们还开发了所提出算法的分布式版本,从而避免了将所有数据上传到集中位置的需求,并有助于减轻隐私问题。
self - super vis ed 数据不用打标签,从数据本身寻找监督信号,原先损失函数定义为预测值和标签的交叉熵(学习的目标是使预测值和真实值尽可能接近),现在定义损失不用数据标签,而是从数据本身的监督信息出发(学习的目标是) contrastive l ear ning 一种典型的自监督学习方法,从数据中提取正样本和负样本,学习的目标是最大化与正样本的相似性,最小化与负样本的相似性 self - super vis ed super vis ed 的区别 监督式的训练数据需要有lable,学习的目标是使模
Self - Super vis ed Heterogeneous Graph Neural Network with Co- Contrastive L ear ning 2021 KDD 论文 链接:https://arxiv.org/pdf/2105.09111 官方代码:https://github.com/liun-online/ HeCo (少见的作者代码写得清楚又简单) 个人实现:https://github.com/ZZy979/pytorch-tutorial/tree/master/gnn/ heco
最重要的4类图数据: 同构图(Homogeneous Graph )、异构图( Heterogeneous Graph )、属性图(Property Graph )和非显式图( Graph Construct ed from Non-relational Data)。 (1)同构图: 同构图是指图中的节点类型和关系类型都仅有一种。同构图是实际图数据的一种最简化的情况,如由超链接关系所构成的万维网,这类图数据的信息全部包含在邻接矩阵里。 同构图:在图里面,节点的类型和边的类型只有一种的图, 举个例子,像社交网络中只存在一
GPT-GNN:图 神经网络 的生成式预训练 GPT-GNN是通过生成式预训练来初始化GNN的预训练框架。 它可以应用于大规模和异构图形。 有关更多详细信息,请参见我们的KDD 2020 论文 。 关键包是GPT_GNN,其中包含高级GPT-GNN预训练框架,基本GNN模型以及基本图结构和数据加载器。 为了说明如何将GPT_GNN框架应用于任意图,我们提供了在异构图(OAG)和齐次图(r ed dit)上进行预训练的示例。 他们两个都是大规模的。 在每个example_*包,还有一个pretrain_*.py训练前一个GNN给定的图形文件,并且还多finetune_*.py培训文件和验证对下游任务。 对于开放式学术图(OAG) ,我们提供了一个异构图,其中包含从1900年至2020年的高引用CS 论文 (8.1G)。 您可以通过下载预处理图。 我们按时间划分数据:预训练(t <20
上午4:00 - 7:00 AM 2021年8月15日 2021 年 8 月 14 日下午 4:00 - 晚上 7:00 时间 2021 年 8 月 14 日下午 1:00 - 4:00 实时缩放链接 在会议期间在 KDD 21 虚拟平台内共享。 近年来,无论是学术研究还是行业应用,都越来越多地使用机器学习方法来衡量细粒度的因果效应,并根据这些因果估计设计最佳策略。 和等开源软件包为应用研究人员和行业从业者提供了一个统一的接口,使用各种机器学习方法进行因果推理。 本教程将涵盖的主题包括元学习器的条件处理效果估计器和基于树的算法、模型验证和敏感性分析、优化算法(包括策略精简和成本优化)。 此外,本教程将演示这些算法在行业用例中的生成。
深度 神经网络 自监督视觉特征学习综述 为了在计算机视觉应用中学习得到更好的图像和视频特征,通常需要大规模的标记数据来训练深度 神经网络 。为了避免收集和标注大量的数据所需的巨大开销,作为无监督学习方法的一个子方法——自监督学习方法,可以在不使用任何人类标注的标签的情况下,从大规模无标记数据中学习图像和视频的一般性特征。本文对基于 深度学习 的自监督一般性视觉特征学习方法做了综述。首先,描述了该领域的动机和一些专业性术语。在此基础上,总结了常用的用于自监督学习的深度 神经网络 体系结构。接下来,回顾了自监督学习方法的模式和评价指标,并介绍了常用的图像和视频数据集以及现有的自监督视觉特征学习方法。最后,总结和讨论了基于标准数据集的性能比较方法在图像和视频特征学习中的应用。 https://ieeexplore.ieee.org/document/9086055 https://www.zhuanzhi.ai/paper/0e9852bb57c7fe00cc59723fc0ee899f 由于深度 神经网络 具有学习不同层次一般视觉特征的强大能力,它已被作为基本结构应用于许多计算机视觉应用,如目标检测[1]、[2]、[3]、语义分割[4]、[5]、[6]、图像描述[7]等。从像ImageNet这样的大规模图像数据集训练出来的模型被广泛地用作预训练模型和用于其他任务的微调模型,主要有两个原因:(2)在大规模数据集上训练的网络已经学习了层次特征,有助于减少在训练其他任务时的过拟合问题;特别是当其他任务的数据集很小或者训练标签很少的时候。 深度卷积 神经网络 (ConvNets)的性能在很大程度上取决于其能力和训练数据量。为了增加网络模型的容量,人们开发了不同类型的网络架构,收集的数据集也越来越大。各种网络,包括AlexNet [9], VGG [10], GoogLeNet [11], ResNet [12], DenseNet[13]和大规模数据集,如ImageNet [14], OpenImage[15]已经被提出训练非常深的ConvNets。通过复杂的架构和大规模的数据集,ConvNets的性能在许多计算机视觉任务[1],[4],[7],[16],[17],[18]方面不断突破先进水平。 然而,大规模数据集的收集和标注是费时和昂贵的。ImageNet[14]是pre-trai ning very deep 2D convolutional neural network s (2DConvNets)中应用最广泛的数据集之一,包含约130万张已标记的图像,覆盖1000个类,而每一幅图像由人工使用一个类标签进行标记。与图像数据集相比,视频数据集由于时间维度的原因,其采集和标注成本较高。Kinetics数据集[19]主要用于训练ConvNets进行视频人体动作识别,该数据集由50万个视频组成,共600个类别,每个视频时长约10秒。许多Amazon Turk工作人员花了大量时间来收集和注释如此大规模的数据集。 为了避免费时和昂贵的数据标注,提出了许多自监督方法来学习大规模无标记图像或视频的视觉特征,而不需要任何人工标注。一种流行的解决方案是提出各种各样的前置任务让网络来解决,通过学习前置任务的目标函数来训练网络,通过这个过程来学习特征。人们提出了各种各样的自监督学习任务,包括灰度图像着色[20]、图像填充[21]、玩图像拼图[22]等。藉口任务有两个共同的特性:(1)图像或视频的视觉特征需要被ConvNets捕捉来解决前置任务;(2)监控信号是利用数据本身的结构(自我监控)产生的。 自监督学习的一般流程如图1所示。在自监督训练阶段,为ConvNets设计预定义的前置任务,并根据数据的某些属性自动生成前置任务的伪标签。然后训练卷积 神经网络 学习任务的目标函数。当使用前置任务进行训练时,ConvNet的较浅的块集中于低级的一般特征,如角、边和纹理,而较深的块集中于高级任务特定的特征,如对象、场景和对象部分[23]。因此,通过藉由任务训练的ConvNets可以学习内核来捕获低级特征和高级特征,这对其他下游任务是有帮助的。在自监督训练结束后,学习到的视觉特征可以作为预训练的模型进一步转移到下游任务中(特别是在数据相对较少的情况下),以提高性能和克服过拟合。通常,在有监督的下游任务训练阶段,仅从前几层传递视觉特征。
具有共对比学习的自监督异质图 神经网络 摘要1 准备工作2 HeGo模型2.1 节点特征转换2.2 网络架构视角引导的编码器2.3 元路径视角引导的编码器2.4 视角掩蔽机制2.5 协同对比优化( Collaboratively Contrastive Optimization)2.6 模型扩展2.6.1 HeCo _GAN2.6.2 HeCo _MU3 实验3.1 实验设置3.2 节点分类3.3 节点聚类 论文 链接:https://arxiv.org/abs/2105.09111 代码链接:https://git
# 加载NSL-KDD数据集 train_data = np.loadtxt('./path/to/train_data.csv', delimiter=',') test_data = np.loadtxt('./path/to/test_data.csv', delimiter=',') # 将数据集拆分为X和y X_train = train_data[:, :-1] y_train = train_data[:, -1] X_test = test_data[:, :-1] y_test = test_data[:, -1] # 进行one-hot编码 X_train = torch.Tensor(X_train).long() X_train = torch.zeros(X_train.size(0), 122).scatter_(1, X_train, 1) y_train = torch.Tensor(y_train).long() y_train = torch.zeros(y_train.size(0), 5).scatter_(1, y_train.view(-1, 1), 1) X_test = torch.Tensor(X_test).long() X_test = torch.zeros(X_test.size(0), 122).scatter_(1, X_test, 1) y_test = torch.Tensor(y_test).long() y_test = torch.zeros(y_test.size(0), 5).scatter_(1, y_test.view(-1, 1), 1) # 将数据集转换为PyTorch Dataset类型 train_dataset = torch.utils.data.TensorDataset(X_train, y_train) test_dataset = torch.utils.data.TensorDataset(X_test, y_test) 上述代码中的第一行加载了NSL-KDD数据集。接下来,将数据集拆分为`X`和`y`。我们将`X`转换为长整型张量,并通过`scatter_`函数使用`one-hot`编码进行编码。`y`也会使用`scatter_`函数进行编码。最后,将编码后的张量转换为`PyTorch Dataset`类型。 注意,上述代码中的`122`和`5`分别是`X`和`y`的编码维度,这取决于数据集和类别数量。因此,在不同的数据集上使用此代码时,可能需要根据特定数据集的要求更改这些值。
【论文解读|AAAI2021】HGSL - Heterogeneous Graph Structure Learning for Graph Neural Networks 图神经网络的异构图结构学习 【KDD2021】Are we really making much progress? Revisiting, benchmarking, and refining HGNNs 【论文解读|KDD2021】HeCo - Self-supervised Heterogeneous Graph Neural Network with Co-contrastive Learning
【论文解读】Recommending Knowledge Concepts on MOOC Platforms with Meta-path-based Representation Learning qq_45739501: 请问博主有做这篇代码的复现吗? 【2021】基于多通道CNN与多头注意力机制的短文本情感分析 qq_51248745: 你好,请问你找到代码了吗 【2021】基于多通道CNN与多头注意力机制的短文本情感分析 qq_51248745: 你好,请问你找到代码了吗