在本文中,我们提出了一种新的具有跨视图对比学习的自监督异质图神经网络,命名为HeCo。HeCo将网络模式和元路径作为两种视图来捕获局部结构和高阶结构,并在它们之间进行对比学习。这两个视图相互监督,并最终协作学习节点嵌入。此外,为了进一步提高HeCo的性能,设计了一种视图掩码机制和两个扩展HeCo,增加了对比学习的难度。大量的实验结果,以及这两种观点之间的协作变化趋势,验证了HeCo的有效性。
跨领域的分类研究如何将学习模型从一个领域改编为具有相似数据特征的另一个领域。 尽管有许多现有的著作沿着这条路线发展,但其中许多只专注于从单个源域到目标域的学习。 特别是,剩下的挑战是如何将从多个源域中学习到的知识应用于目标域。 实际上,来自多个源域的数据可以在语义上相关,但是具有不同的数据分布。 尚不清楚如何利用多个源域之间的分布差异来提高目标域中的学习性能。 为此,在本文中,我们提出了一个共识正则化框架,用于从多个源域到目标域的学习。 在此框架中,通过考虑一个源域中可用的本地数据以及与从其他源域中学习的分类器的预测共识来训练本地分类器。 此外,我们提供了对所提出的共识正则化框架的理论分析和实证研究。 对文本分类和图像分类问题的实验结果表明了这种共识正则化学习方法的有效性。 最后,为了应对多个源域在地理上分散的情况,我们还开发了所提出算法的分布式版本,从而避免了将所有数据上传到集中位置的需求,并有助于减轻隐私问题。
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