深入浅出图神经网络学习笔记(1)图的基本知识

一、图神经网络必然性和重要性

深度神经网络技术兴起的前几年,图像、语音、文本等形式的数据都能都能在深度学习中被很好地应用,并获得了十分好的效果。这促进了人脸识别、语音助手、机器翻译等进入实际应用阶段。
尽管如此,深度学习一直无法很好地对另一类形式的数据—图数据(或称网络数据)进行有效地适配。图数据是一种通用数据表示方法,用来描述关系,并且在产业界有着更加广阔的应用场景,在诸如社交网络、电子购物、物联网、生物制药等场景中,将深度学习技术的成功经验迁移到图数据的学习中来,是一种十分自然且必要的需求。
图神经网络的出现实现了图数据深度学习技术的有效结合,使得深度学习能够在图数据的相关应用场景中继续攻城略地。近三年来,图神经网络技术的相关应用和研究已经拓展到了极其广泛的领域,从视觉推理到开放的阅读理解问题,从药物分子的研发到5G芯片的设计,从交通流量预测到3D点云数据的学习,该项技术都展示出了极其重要且极具渗透性的应用能力,这种能力必将给产业界带来极高的应用价值。

二、图的概念

1、图的定义:图用来表示物体和物体的关系,是一种常见的数据类型,广泛描述各种关系型数据
2 、 图的构成:图由定点和定点对应的边构成,定点对应研究对象,边表示研究对象之间的对应关系
3、图的表示图可以表示成集合的形式 G=(V,E) V表示定点 E表示边设一共有N个定点V={V1,V2,V3…},一条连接顶点vi,vj∈V的边记为 (vi,vj)或者eij。
V={v1,v2,v3,v4,v5}
E= {(v1,v2),(v1,v3),(v2,v4),(v2,v3),(v3,v4), (v4,v5)}
请添加图片描述

4、图的类型
有向图无向图
连通图非连通图
有权图无权图
二部图
5 邻居和度:如果存在一条边连接顶点vi和vj,
则称vj是vi的邻居上图V3和V4是邻居。
我们记vi的所有邻居为集合N(vi),即:以vi为端点的边的数目称为vi的度(Degree)
6 称边序列在图G=(V,E)中,若从顶点vi出发,沿着一些边经过一些顶点vp1,vp2,vpm,到达顶点vj
7路径的长度:路径中边的数目通常称为路径的长度L(Pij)=|Pij|。
顶点的距离:若存在至少一条路径由顶点vi到达顶点vj,则定义vi到vj的距离为:min(|Pij|)

三、图的存储与遍历

1图的存储
邻接矩阵 用邻接矩阵A描述图中顶点之间的关联,有连接写1没有连接写0 用邻接矩阵存储图的时候,我们需要一个一维数组表示顶点集合,需要一个二维数组表示邻接矩阵请添加图片描述
9关联矩阵除了邻接矩阵外,我们有时也用关联矩阵B∈RN×M来描述节点与边之间的关联,用关联矩阵存储图的时候,我们需要两个一维数组分别表示顶点集合和边集合,需要一个二维数组表示关联矩阵定义如下:
请添加图片描述
请添加图片描述
2图的遍历
指从图中的某一顶点出发,按照某种搜索算法沿着图
中的边对图中的所有顶点访问一次且仅访问一次。图的遍历主要有两种算法:深度优先搜索(DFS,Depth-First-Search)和广度优先搜索(BFS,Breadth-First-Search)
深度优先搜索是一个递归算法,有回退过程。
算法思想是:从图中某一顶点vi开始,由vi出发,访问它的任意一个邻居w1;再从w1出发,访问w1的所有邻居中未被访问过的顶点w2;然后再从w2出发,依次访问,直到出现某顶点不再有邻居未被访问过。接着,回退一步,回退到前一次刚访问过的顶点,看是否还有其他未被访问过的邻居,如果有,则访问该邻居,之后再从该邻居出发,进行与前面类似的访问;如果没有,就再回退一步进行类似访问。重复上述过程,直到该图中所有顶点都被访问过为止
广度优先搜索广度优先搜索是一个分层的搜索过程,没有回退过程,其算法思想是:从图中某一顶点vi开始,由vi出发,依次访问vi的所有未被访问过的邻居w1,w2,…,wn;然后再顺序访问w1,w2,…,wn的所有还未被访问过的邻居,如此一层层执行下去,直到图中所有顶点都被访问到为止

四、图数据的应用场景

我们通常将图称为网络(Network),与之对应的,图的两
个要素(顶点和边)也被称为节点(Node)和关系(Link)
(1)同构图:同构图是指图中的节点类型和关系类型都仅有一种。同构图是实际图数据的一种最简化的情况,如由超链接关系所构成的万维网,这类图数据的信息全部包含在邻接矩阵里。
(2)异构图:与同构图相反,异构图是指图中的节点类型或关系类型多于一种。在现实场景中,我们通常研究的图数据对象是多类型的,对象之间的交互关系也是多样化的。因此,异构图能够更好地贴近现实。
(3)属性图:相较于异构图,属性图给图数据增加了额外的属性信息,如图1-9所示。对于一个属性图而言,节点和关系都有标签(Label)和属性(Property),这里的标签是指节点或关系的类型,如某节点的类型为“用户”,属性是节点或关系的附加描述信息,如“用户”节点可以有“姓名”“注册时间”“注册地址”等属性。属性图是一种最常见的工业级图数据的表示方式,能够广泛适用于多种业务场景下的数据表达。
如果要找一种最具代表性的数据描述语言与现实数据对应,那么图应该是最具竞争力的候选者。总的来说,图数据的应用跨度大、应用场景多,研究图数据具有广泛且重要的现实意义

五、图数据深度学习

由于这些年深度学习在实际应用领域取得的巨大成就,表示学习和端对端学习的概念日益得到重视,为了从复杂的图数据中学习到包含充分信息的向量化表示,出现了大量网络表示学习(Network Embedding)[6]的方法。然而网络表示学习很难提供表示学习加任务学习的端对端系统,基于此,图数据的端对端学习系统仍然是一个重要的研究课题
GNN的提出,便是为了能够将学习过程直接架构于图数据之上。
GNN的出现,实现了图数据的端对端学习方式,为图数据的诸多应用场景下的
任务,提供了一个极具竞争力的学习方案。
下面,我们给出图数据相关任务的一种分类。
1.节点层面(Node Level)的任务
节点层面的任务主要包括分类任务和回归任务。这类任务虽然是对节点层面的性质进行预测,但是显然不应该将模型建立在一个个单独的节点上,节点的关系也需要考虑。节点层面的任务有很多,包括学术上使用较多的对论文引用网络中的论文节点进行分类,工业界在
线社交网络中用户标签的分类、恶意账户检测等。
2.边层面(Link Level)的任务
边层面的任务主要包括边的分类和预测任务。边的分类是指对边的某种性质进行预测;边预测是指给定的两个节点之间是否会构成边。常见的应用场景比如在社交网络中,将用户作为节点,用户之间的关注关系建模为边,通过边预测实现社交用户的推荐。目前,边层面的任务主要集中在推荐业务中。
3.图层面(Graph Level)的任务
图层面的任务不依赖于某个节点或者某条边的属性,而是从图的整体结构出发,实现分类、表示和生成等任务。目前,图层面的任务主要应用在自然科学研究领域,比如对药物分子的分类、酶的分类等。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值