1 为什么需要Graphs
Graphs(图)是用于描述和分析具有关系/互动的实体的通用语言
因为图论以及Graph充斥在我们学习和生活的方方面面:
- Event Graphs:事件图谱,比如我们常见的飞机航班图,从登机到我们安全抵达目的地,其中航班飞机与乘客之间发生了许多事情。
- Computer Networks:计算机网络拓扑图,在万维网中人们通过各种形式正在冲浪,云服务器、中转机、个人电脑组成了一个非常庞大的网络图
- 疾病传播图:我们以近期北京顺义新冠病例传播为例,此次顺义区局部聚集性疫情为单一传播链,初步判断疫情感染来源为12月28日报告新增的1例境外输入无症状感染者。
- Food Webs:食物链,一个基于知识图谱创建动物app的例子为一款由腾讯联合WWF打造、名为「神秘雪豹在哪里」的微信小程序。而且上线2天,便有超过10万人在使用。打开「神秘雪豹在哪里」小程序,点击图片上雪豹的不同部位,便可查看相应的知识点,如雪豹的分布区域、身体结构、成长阶段、生存环境等。「同域物种生物链图谱」则展示了雪豹相关生物链上每一个物种的简介https://www.jiqizhixin.com/articles/2020-10-29-6
- Particle Networks:人们所认识的宇宙世界是由原子和其他基本粒子组成,原子则是由原子核与电子组成,原子核是由质子和中子构成,而质子和中子是夸克和胶子构成的。随着实验和理论的发展,科学家形成了描述宇宙构成和相互作用的“标准模型”。
- Underground Networks:地图线路图
- Social Networks:社交网络
- Economic Networks:金融贸易网络
- Citation Networks:科技文献相互引用网络图
- Internet:互联网
- Networks of Neurons:脑神经网络
下面我们人工组建构造的衍生知识网络:
从上面一些例子我们可以看出,Graph的概念存在于这个世界的每个地方,我们每个人都或多或少地在Graph扮演某个角色或者正在利用Graph带来的便利,目前随着图神经网络的崛起,Graph的潜在价值将会越来越大
2 Networks和Graphs
Networks通常认为是自然状态下的图:
- 社交网络:全球71人组成了一个庞大社会群体
- 信息交互与传递:电子设备,手机,电话以及电子金融交易
- 生物医学:基因/蛋白质控制和管理我们身体的机能
- 大脑:我们的想法来源于数十亿神经元的相互联系
Graphs(作为一种信息表示或者知识表示) - 信息/知识:由人类加工后的各种信息或者知识
- 软件:软件有各个组件构成图
- 相似性网络:连接着相似的数据点
- 相关性结构:分子,基因图谱, 3D结构图,粒子
很多时候network和graph界限比较模糊,我们暂且可以认为Networks是自然状态下的图,而Graph是经过加工或者复杂结构组成的。
3 基于Graphs的机器学习
当前主流的深度学习模型主要是为简单的序列数据或者格式化数据来设计的,如下图所示常见有图像数据、文本或者语音数据等。
但是基于网络或者图的机器学习是相对困难的:
- 图是没有固定的大小,并且是一个复杂的拓扑结构
- 节点之前没有固定的引用顺序
- 图时常是动态更新的并且具有多模态异构的特征
所以我们如何开发或者探索出一种神经网络使Graph更加广泛地的应用?
Graphs正在成为深度学习新的研究领域
我们以GCN为例来解释深度学习在图学习的作用机制,由节点以及节点之前的边组成Graphs作为神经网络的输入,通过图卷积神经网络以及几激活函数得到图的表示,最后通过正则化比如dropout来约束模型,最后通过输出层得到相应任务的输出,比如可以用来预测节点的标签、新的关系以及子图发现。
(有监督)机器学习生存周期基本上是构建特征工程->基于模型做特征学习以及学习新的特征表示->最后基于特征进行预测,而现在基于Graph的机器学习不需要枯燥的特征工程了,而是输入到网络进行自动表示学习,然后用于下游任务。
通过Graph的表示学习,我们可以将网络映射到d维的嵌入空间,理想情况下,在这个d维的向量空间中网络中的相似节点相似性越大,差异距离越小。
下面举出来了几种常见的图表示学习方法:
- 传统方法:Graphlets,Graph Kernels
- Node Embedding:DeepWalk,Node2Vec
- GNN:GCN,GraphSAGE,GAT,GNNS
- 知识图谱以及嵌入:TransE,BetaE
- 图生成网络
- 生物医药、科学研究以及工业界的应用
之后我们会慢慢介绍以上几种方法,大家在此节先导致了解下











