ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

GNN dataset 划分

2021-11-18 18:32:34  阅读:218  来源: 互联网

标签:node inductive graph dataset 划分 edges message GNN 节点


image-20211118115332316

img

训练集、测试集、验证集的划分

fixed or random

image-20211118115721035

image-20211118115732527

fixed split:对dataset只划分一次

random split: 对dataset进行random split,但是对不同的random seed得到的performance做一个求平均。

graph is special

image-20211118120014790

对于graph的划分不想documents或者image一样,因为不同的节点之间具有边进行相连,直接进行划分一个最大的问题就是存在message leakage。

Transductive

image-20211118120237180

特点:训练、验证、测试数据都只是用简单将节点进行进行划分,计算的时候都是使用了整张图。

Inductive

将一张图split成多个子图,每一个子图都是相互独立的,不存在message leakage问题。

image-20211118120712642

因为transductive setting作用在一张图上所以它无法用于graph tasks。

GCN与GraphSage

GCN就是transductive setting,而graphSage是inductive 方式。

三种任务

Node classification

image-20211118121101185

在GCN中,虽然我们只对了一部分节点进行训练,也就是半监督学习,但实际上我们用到的还是整张图结构和features。在graphSage中,使用的inductive方式进行分类。

image-20211118121455546

image-20211118121629817

对于每一个minibatch实际上就是一个新的子图。

graph classification

一样的理论,但是只有inductive才可以做graph classification,因为它是作用的不同的子图上的。

image-20211118121946986

inductive

image-20211118150855205

它将边分为message edges和Supervision edges,GNN用message edges来计算,用supervision edges做predict。

image-20211118151136809

inductive 方式,我们会在不同的图上做train、validation、test。

Transductive

image-20211118151310971

transductive link predict方式,在验证时会将train 的supervision edges 加入到message edges,在test时候,做类似的事情,会将valid 的supervision edges加入到message edges。

jure教授给出的视角:将这个过程视为边生长的过程,也就是引入了时序这个概念,train、valid、test分别对应在不同时间的图。

思考:既然可以视为一个时序数据,那对不同时刻的图,做graph2vec,然后输入到LSTM或者GRU里,是否可以做到预测?

另一个思考的视角:将supervision视为一个mask,引入在之前分享提到的多头 attention机制,用attention进行来训练。这个有点类似于bert里的预训练过程,可以随机随选mask边进行training,最后再做一个预测。

How Powerful are Graph Neural Networks

以这张图为例,我们不用node features,也就是所有节点的features一样,于是用黄色给每个节点标了颜色代表节点特征。

image-20211118160522568

可以看到我们可以区分node 1 和node 5的,因为两个节点的度不一样。

对于node 1和node 4 我们虽然没法直接用degree来区分,但可以用其邻居节点的degree进行区分。

但是对于node 1和node 2我们是没有办法进行区分的。

image-20211118160957153

可以看到node 1 和node 2的计算图是一样的,注意这个节点的标号其实是不存在的,我们只能够看到structure和node features,因为所有节点都是黄色,所有节点的features都一样。

image-20211118161023892

我们将这个graph的所有节点的计算图写出来,可以看到这五个节点可以划分为四种计算图。

那么说,最强的GNN能做什么呢?

最强的GNN应当可以将每一种不同的节点embedding为不同的向量。

image-20211118161249289

那么这个GNN这就应当是一个单射函数,我们不同种的node可以映射为不同向量。

image-20211118161404175

不同的aggregate function

max pool

待续

标签:node,inductive,graph,dataset,划分,edges,message,GNN,节点
来源: https://www.cnblogs.com/kalicener/p/15573728.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有