GNN教程:图神经网络基础知识!

2020 年 11 月 11 日 AINLP

 Datawhale干货 

作者:秦州,阿里巴巴,Datawhale成员

系列规划

本文为GNN教程 【第一章 基础:三剑客】的第一篇文章 【01 基础知识】,下图展示了我们在这一系列的规划,接下来我们将会介绍图神经网络的三个基本模型,使大家对他们有所了解。

基础知识

图卷积神经网络(Graph Convolutional Network)作为最近几年兴起的一种基于图结构的广义神经网络结构,因为其独特的计算能力,而受到广泛学者的关注与研究。传统深度学习模型 LSTM 和 CNN 在欧几里得空间数据(语言,图像,视频等)上取得了不错的成绩,但是在对非欧几里得空间数据(eg:社交网络、信息网络等)进行处理上却存在一定的局限性。

针对该问题,研究者们引入了图论中抽象意义上的图(Graph)来表示非欧几里得结构化数据。并利用图卷积网络对来图(Graph)数据进行处理,以深入发掘其特征和规律。

本文首先分别介绍了欧几里得结构化数据和非欧几里得结构化数据特点;然后,针对非欧几里得结构化数据的表示问题,引入了图论中抽象意义上的图(Graph)概念,并对图(Graph)中一些表示形式进行介绍;最后,通过一个简单的例子,对图(Graph)数据的应用进行介绍。以帮助读者加深对图(Graph)的理解。

欧几里得结构化数据

1. 欧几里得空间

欧几里德空间(Euclidean Space),简称为欧氏空间(也可以称为平直空间),在数学中是对欧几里德所研究的2维和3维空间的一般化。这个一般化把欧几里德对于距离、以及相关的概念长度和角度,转换成任意数维的坐标系。如下图所示。

图 a 表示二维欧几里得空间,图 b 表示三维欧几里得空间。

2. 常见的欧几里得结构化数据

将数据转换到欧几里得空间中,所得到的数据称为欧几里得结构化数据

常见的欧几里得结构化数据主要包含:

  • 1D:声音,时间序列等;
  • 2D:图像等;
  • 3D:视频,高光谱图像等;

非欧几里得结构化数据

1. 非欧几里得空间

然而,科学研究中并不是所有的数据都能够被转换到欧几里得空间中(eg:社交网络、信息网络等),对于不能进行欧几里得结构化的数据,我们将其称为非欧几里得结构化数据。

2. 非常见的欧几里得结构化数据

常见的非欧几里得结构化数据主要包含:

  • 1D:社交网络(eg:Facebook,Twitter等)等;
  • 2D:生物网络(基因,分子,大脑连接)等;
  • 3D:基础设施网络(eg:能源,交通,互联网,通信等)等;

图(Graph)

1. 图(Graph)的引入

针对非欧几里得结构化数据表示问题,研究者们引入了图论中抽象意义上的图(Graph)来表示非欧几里得结构化数据。

2. 图(Graph)的定义

图(Graph)定义形式为 ,其结构如下图所示:

一个有标号的简单图,点集为:

边集为:

另外, 表示顶点或节点, 其中 表示节点的个数。

表示顶点与顶点之间所连接的边;


3. 图(Graph)的表示形式

3.1 邻接矩阵( Adjacency matrix )

邻接矩阵是一个元素为bool值或权值的 矩阵,该矩阵的定义如下:

若图中存在一条连接顶点 的边 ,则 ,否则为0。当图是稠密时,邻接矩阵是比较合适的表达方法。如下图所示:

+---+---+---+---+---+---+---+
| | 1 | 2 | 3 | 4 | 5 | 6 |
+---+---+---+---+---+---+---+
| 1 | 0 | 1 | 0 | 0 | 1 | 0 |
+---+---+---+---+---+---+---+
| 2 | 1 | 0 | 1 | 0 | 0 | 0 |
+---+---+---+---+---+---+---+
| 3 | 0 | 1 | 0 | 1 | 0 | 0 |
+---+---+---+---+---+---+---+
| 4 | 0 | 0 | 1 | 0 | 1 | 1 |
+---+---+---+---+---+---+---+
| 5 | 1 | 0 | 0 | 1 | 0 | 0 |
+---+---+---+---+---+---+---+
| 6 | 0 | 0 | 0 | 1 | 0 | 0 |
+---+---+---+---+---+---+---+

上图的邻接矩阵表示。

3.2 度矩阵( Degree matrix )

度矩阵( Degree matrix)是一个  为节点 的度的对角矩阵,其定义如下所示:


+---+---+---+---+---+---+---+
| | 1 | 2 | 3 | 4 | 5 | 6 |
+---+---+---+---+---+---+---+
| 1 | 2 | | | | | |
+---+---+---+---+---+---+---+
| 2 | | 3 | | | | |
+---+---+---+---+---+---+---+
| 3 | | | 2 | | | |
+---+---+---+---+---+---+---+
| 4 | | | | 3 | | |
+---+---+---+---+---+---+---+
| 5 | | | | | 3 | |
+---+---+---+---+---+---+---+
| 6 | | | | | | 1 |
+---+---+---+---+---+---+---+

上图的度矩阵表示。

3.3 邻域( Neighborhood )

邻域( Neighborhood) 表示与某个顶点有边连接的点集,其定义如下所示:

例如,节点 的领域为

图上的学习任务

介绍完图的基本术语之后,我们来看看有了图结构数据,我们可以进行哪些机器学习的任务

  • 图节点分类任务:图中每个节点都有对应的特征,当我们已知一些节点的类别的时候,可以设计分类任务针对未知节点进行分类。我们接下来要介绍的 GCN、GraphSAGE、GAT模型都是对图上的节点分类。
  • 图边结构预测任务:图中的节点和节点之间的边关系可能在输入数据中能够采集到,而有些隐藏的边需要我们挖掘出来,这类任务就是对边的预测任务,也就是对节点和节点之间关系的预测。
  • 图的分类:对于整个图来说,我们也可以对图分类,图分类又称为图的同构问题,基本思路是将图中节点的特征聚合起来作为图的特征,再进行分类。

图数据应用举例

对于一个简单的电商的图,其包含卖家,商品和用户三个关键节点,其中,商品节点关联商品类别节点,用户节点关联注册 IP 节点和 注册地址节点。当用户在购买商品时,用户节点和商品节点就会关联交易节点,同时,交易节点也会关联用户下单时所对应的 IP 节点以及收获地址节点,对应的图结构如下图所示。

从图数据中节点间的关系以及特征,我们可以进行反欺诈以及商品推荐的操作。

  1. 节点分类—反欺诈:因为图中每个节点都拥有自己的特征信息。通过该特征信息,我们可以构建一个风控系统,如果交易节点所关联的用户 IP 和收货地址与用户注册 IP 和注册地址不匹配,那么系统将有可能认为该用户存在欺诈风险。
  2. 边结构预测—商品推荐:图中每个节点都具有结构信息。如果用户频繁购买某种类别商品或对某种类别商品评分较高,那么系统就可以认定该用户对该类商品比较感兴趣,所以就可以向该用户推荐更多该类别的商品。

总而言之,图数据的丰富应用价值促使更多的研究者加入图数据的研究当中,但是对图数据进行数据分析时,我们需要同时考虑到节点的特征信息以及结构信息。如果靠手工规则来提取,必将失去很多隐蔽和复杂的模式,那么有没有一种方法能自动化地同时学到图的特征信息与结构信息呢?这就是近年来兴起的机器学习的一个热点方向—图神经网络(Graph Neural Networks)。接下来我们将以一个系列的文章介绍它们。



由于微信平台算法改版,公号内容将不再以时间排序展示,如果大家想第一时间看到我们的推送,强烈建议星标我们和给我们多点点【在看】。星标具体步骤为:

(1)点击页面最上方"AINLP",进入公众号主页。

(2)点击右上角的小点点,在弹出页面点击“设为星标”,就可以啦。

感谢支持,比心

欢迎加入图神经网络交流群
进群请添加AINLP小助手微信 AINLPer(id: ainlper),备注图神经网络

推荐阅读

这个NLP工具,玩得根本停不下来

征稿启示| 200元稿费+5000DBC(价值20个小时GPU算力)

完结撒花!李宏毅老师深度学习与人类语言处理课程视频及课件(附下载)

从数据到模型,你可能需要1篇详实的pytorch踩坑指南

如何让Bert在finetune小数据集时更“稳”一点

模型压缩实践系列之——bert-of-theseus,一个非常亲民的bert压缩方法

文本自动摘要任务的“不完全”心得总结番外篇——submodular函数优化

Node2Vec 论文+代码笔记

模型压缩实践收尾篇——模型蒸馏以及其他一些技巧实践小结

中文命名实体识别工具(NER)哪家强?

学自然语言处理,其实更应该学好英语

斯坦福大学NLP组Python深度学习自然语言处理工具Stanza试用

关于AINLP

AINLP 是一个有趣有AI的自然语言处理社区,专注于 AI、NLP、机器学习、深度学习、推荐算法等相关技术的分享,主题包括文本摘要、智能问答、聊天机器人、机器翻译、自动生成、知识图谱、预训练模型、推荐系统、计算广告、招聘信息、求职经验分享等,欢迎关注!加技术交流群请添加AINLPer(id:ainlper),备注工作/研究方向+加群目的。


阅读至此了,分享、点赞、在看三选一吧🙏

登录查看更多
0

相关内容

图神经网络综述 (中文版),14页pdf
专知会员服务
330+阅读 · 2020年11月24日
最新《图神经网络实用指南》2020论文,28页pdf
专知会员服务
220+阅读 · 2020年10月17日
最新【图神经网络计算】2020综述论文,23页PDF
专知会员服务
192+阅读 · 2020年10月3日
一份简单《图神经网络》教程,28页ppt
专知会员服务
120+阅读 · 2020年8月2日
一份简短《图神经网络GNN》笔记,入门小册
专知会员服务
224+阅读 · 2020年4月11日
【图神经网络(GNN)结构化数据分析】
专知会员服务
114+阅读 · 2020年3月22日
必读的7篇IJCAI 2019【图神经网络(GNN)】相关论文-Part2
专知会员服务
58+阅读 · 2020年1月10日
【图神经网络入门】GAT图注意力网络
深度学习自然语言处理
27+阅读 · 2020年5月16日
图神经网络入门(三)GAT图注意力网络
专知
7+阅读 · 2020年5月15日
目前看的GNN论文的一些总结
深度学习自然语言处理
6+阅读 · 2020年5月1日
图神经网络(GNN)结构化数据分析
专知
5+阅读 · 2020年3月22日
图神经网络三剑客:GCN、GAT与GraphSAGE
PaperWeekly
64+阅读 · 2020年2月27日
赛尔笔记 | 一文读懂图神经网络
哈工大SCIR
81+阅读 · 2019年7月12日
PyTorch & PyTorch Geometric图神经网络(GNN)实战
专知
81+阅读 · 2019年6月1日
图卷积网络介绍及进展【附PPT与视频资料】
人工智能前沿讲习班
24+阅读 · 2019年1月3日
Arxiv
0+阅读 · 2021年1月21日
Heterogeneous Graph Transformer
Arxiv
27+阅读 · 2020年3月3日
Heterogeneous Deep Graph Infomax
Arxiv
12+阅读 · 2019年11月19日
Tutorial on NLP-Inspired Network Embedding
Arxiv
7+阅读 · 2019年10月16日
HaarPooling: Graph Pooling with Compressive Haar Basis
A Comprehensive Survey on Graph Neural Networks
Arxiv
21+阅读 · 2019年1月3日
VIP会员
相关VIP内容
图神经网络综述 (中文版),14页pdf
专知会员服务
330+阅读 · 2020年11月24日
最新《图神经网络实用指南》2020论文,28页pdf
专知会员服务
220+阅读 · 2020年10月17日
最新【图神经网络计算】2020综述论文,23页PDF
专知会员服务
192+阅读 · 2020年10月3日
一份简单《图神经网络》教程,28页ppt
专知会员服务
120+阅读 · 2020年8月2日
一份简短《图神经网络GNN》笔记,入门小册
专知会员服务
224+阅读 · 2020年4月11日
【图神经网络(GNN)结构化数据分析】
专知会员服务
114+阅读 · 2020年3月22日
必读的7篇IJCAI 2019【图神经网络(GNN)】相关论文-Part2
专知会员服务
58+阅读 · 2020年1月10日
相关资讯
【图神经网络入门】GAT图注意力网络
深度学习自然语言处理
27+阅读 · 2020年5月16日
图神经网络入门(三)GAT图注意力网络
专知
7+阅读 · 2020年5月15日
目前看的GNN论文的一些总结
深度学习自然语言处理
6+阅读 · 2020年5月1日
图神经网络(GNN)结构化数据分析
专知
5+阅读 · 2020年3月22日
图神经网络三剑客:GCN、GAT与GraphSAGE
PaperWeekly
64+阅读 · 2020年2月27日
赛尔笔记 | 一文读懂图神经网络
哈工大SCIR
81+阅读 · 2019年7月12日
PyTorch & PyTorch Geometric图神经网络(GNN)实战
专知
81+阅读 · 2019年6月1日
图卷积网络介绍及进展【附PPT与视频资料】
人工智能前沿讲习班
24+阅读 · 2019年1月3日
相关论文
Arxiv
0+阅读 · 2021年1月21日
Heterogeneous Graph Transformer
Arxiv
27+阅读 · 2020年3月3日
Heterogeneous Deep Graph Infomax
Arxiv
12+阅读 · 2019年11月19日
Tutorial on NLP-Inspired Network Embedding
Arxiv
7+阅读 · 2019年10月16日
HaarPooling: Graph Pooling with Compressive Haar Basis
A Comprehensive Survey on Graph Neural Networks
Arxiv
21+阅读 · 2019年1月3日
Top
微信扫码咨询专知VIP会员