图神经网络-GCN

GCN

1、图基础(Basic Knowledge of Graph)

img

1.1 图(Graphs)

​ 图(无论是有向图还是无向图)均是由顶点V和边E构成的集合,边可以是带权重的也可以是不带权重的,下面给出一个例子。

img

​ 在上图中,我们有顶点集 V = { A , B , C , D , E , F , G } V = \{A, B, C, D, E, F, G\} V={ A,B,C,D,E,F,G}和边集 E = { ( A , B ) , ( B , C ) , ( C , E ) , ( B , D ) , ( E , F ) , ( D , E ) , ( B , E ) , ( G , E ) } E = \{(A,B), (B,C), (C,E), (B,D), (E,F), (D,E), (B,E), (G,E)\} E={ (A,B),(B,C),(C,E),(B,D),(E,F),(D,E),(B,E),(G,E)},边上的数字代表了具体的权重,这些权重代表着不同的数量,例如,我们把结点看成各城市,边就可以看成这些城市之间不同的距离。

1.2 术语(Terminology)

img
  • 顶点(Node):顶点是图中的实体。
  • 边(Edge):边是连接两个顶点的线段,边可以反映两个顶点之间的关系。
  • 顶点的度(Degree of a vertex): G G G中顶点 V V V的度 d ( v ) d(v) d(v) G G G中与v关联的边的数目。例如在本节第一个有向图中B点的入度为1,出度为3,在本节第二个无向图中,B点的度为3。
  • 邻接矩阵(Adjacency Matrix):邻接矩阵是表示顶点之间相邻关系的矩阵。对于含有N个结点的图,其邻接矩阵有N行N列。如果两个顶点之间存在一条边,那么就把1放在这个位置上,如果边不存在,那么就赋值为0。

2、图卷积神经网络(GCN)

2.1 2维卷积核图卷积对比

​ 现实世界中,大多数的关系本质上可以用图来表示,比如社交网络、蛋白质分子结构、万维网等。因此,使用图学习解决这些特定领域的任务可以为我们提供有效地信息。

但是为什么图学习不能被像卷积神经网络那样传统的机器学习和深度学习算法来解决呢?为什么需要建立一个全新的网络类别呢?

image-20220705212816390

①在图像为代表的欧式空间中,结点的邻居数量都是固定的。比如说绿色结点的邻居始终是8个(边缘上的点可以做Padding填充)。但是在非欧几里得空间中,结点有多少邻居并不固定,上图中目前绿色结点的邻居结点有2个,但其他结点存在5个邻居的情况。②欧式空间中的卷积操作实际上是用固定大小可学习的卷积核来抽取像素的特征,比如这里就是抽取绿色结点对应像素及其相邻像素点的特征,但是因为图里的邻居结点不固定,所以传统的卷积核不能直接用于抽取图上结点的特征。

回答上述问题之前,我们需要知道卷积神经网络的工作原理(CNNs work).卷积神经网络是十分有用的,并且他们有足够的能力去学习到高维数据特征。如果你有一个512px*512px的图像,那么维度几乎已经一百万了。对于10个样本,特征空间就会变成$10^{1,000,000}$(Why?),目前CNNS已经证明了有足够大的能力来解决这类问题。

​ 但是有一个问题,卷积神经网络中往往有特定的结构来提取像图像、视频、音频这类数据的特征并将它们提供给分类器。

什么是组合性?

​ 组合性至少含有以下属性:1.位置 2.稳定及转换不变性 3.多尺度:学习表示的层次结构

img

2.2图卷积神经网络的应用(Applications of GCNs)

​ GCN被用于Facebook的好友预测算法中,我们假设有三个人 A 、 B 、 C A、B、C ABC,已知 A A A B B B的朋友, B B B C C C的朋友,你还知道每个人的其它特征,比如A喜欢电影明星Liam Neeson,C是genre Thriller的粉丝,我们就能预测A是否是C的朋友。

2.3 什么是图卷积神经网络?(What GCNs?)

​ 图卷积神经网络,顾名思义,在非欧几里得空间中借鉴了卷积神经网络的思想。常规的卷积神经网络通过捕捉图像各个像素周围的信息来识别图像。与图像这样的欧几里得空间相似,图卷积的目标是在非欧几里得空间中捕捉图结点周围邻居的信息。

​ GCN是一种操作图的神经网络,它通过将图像作为输入并给出一些有用的输出。

GCN有两种不同的形式:

基于光谱的GCN(Spectral GCNs): 基于谱的方法通过从基于图谱理论的图信号处理的角度引入滤波器来定义图卷积。

基于空间的GCN(Spatial GCNs): 基于空间的方法将图卷积表示为聚合来自邻居的特征信息。

注意:光谱方法的局限性在于所有图样本必须具有相同的结构,即同质结构。但这是一个硬约束,因为大多数现实世界的图数据对于不同的样本具有不同的结构和大小,即异构结构。空间方法与图结构无关。

2.4图卷积神经网络是如何工作的?(How GCNs?)

​ 首先,让我们解决一个朋友预测问题,然后再推广这个方法。

​ __问题陈述:__给你N个人和一张用顶点连接表示其是否为朋友关系的图,你需要判断任意两人在未来是否能成为朋友,例如:

img

​ 在这里 ( 1 , 2 ) (1,2) (1,2)顶点表示1号和2号为朋友关系,相似的有 ( 2 , 3 ) , ( 3 , 4 ) , ( 4 , 1 ) , ( 5 , 6 ) , ( 6 , 8 ) , ( 8 , 7 ) , ( 7 , 6 ) (2,3),(3,4),(4,1),(5,6),(6,8),(8,7),(7,6) (2,3),(3,4),(4,1),(5,6),(6,8),(8,7),(7,6)也是朋友关系。

​ 现在想判断我们给出的一对序号代表的人在未来能否成为朋友,比如说我们想探究 ( 1 , 3 ) (1,3) (1,3)之间的朋友关系,因为他们都有两个共同好友,我们可以大概猜测出他们有变成朋友的机会,再比如说 ( 1 , 5 ) (1,5) 1,5就没有共同好友,所以他们几乎没有可能成为朋友。

换一个例子:

img

​ 在上图中 ( 1 , 11 ) (1,11) (1,11)成为好朋友的概率要远远高出 ( 3 , 11 ) (3,11) (3,11),那么如何实现上述说明的结果呢?GCN用了一种类似CNN的方法来实现。在卷积神经网络(CNN)中,我们在图像上使用了一个过滤器来获取其在下一层的表示,相似的我们在图卷积神经网络中也使用过滤器来表示下一层特征。

​ 我们把上述描述过程定义成数学公式: H i = f ( H i − 1 , A ) H^{i} = f(H^{i-1}, A) Hi=f(Hi1,A)

​ 关于函数 f f f最简单的例子就是: f ( H i , A ) = σ ( A H i W i ) f(H^{i}, A) = σ(AH^{i}W^{i}) f(Hi,A)=σ(AHiWi),其中 A A A代表了 N × N N×N N×N的邻接矩阵, X X X N × F N×F N×F的输入数据,其中 N N N代表了结点个数, F F F代表了每个输入结点的特征, σ σ σ在GCN中为Relu激活函数,第0层的特征值 H i H^{i} Hi等于输入数据 X X X,第 i i i层的特征矩阵对应于一个 N × F i N×F^{i} N×Fi的矩阵(每一行表示每个特征代表的结点), f f f就是函数映射。

​ 每一层的特征用规则 f f f来聚合成下一层的特征,这样特征在接下来的层就会变得更加抽象,这样,我们就有了可以在图上传播信息的功能,可以以半监督的方式进行训练。使用 GCN 层,每个结点(每一行)的表示现在是其邻居特征的总和,换句话说,该层将每个结点表示为其邻域的聚合。

​ __就这么简单么?__停下来仔细想想,我们刚才定义的函数正确么?不正确的,因为他会导致很多问题出现:

​ 1、**某个结点在下一层的新特征不包含它自己之前的特征:**我们可以注意到,如果只使用邻居结点那么它自己的特征就不参与运算,这就会导致结点丢失自己的特征,为了解决上述问题,我们可以在邻接矩阵中加入单位矩阵,这样就相当于在每个顶点上增加了起始和结尾均为自己的结点,这样,”结点也变成了自己的结点“。

​ 2、结点的度数值在图上进行了不对称的缩放:简而言之,具有大量邻居(更高程度)的结点将从相邻结点以邻域聚合的形式获得更多输入,因此将具有更大的值,反之亦然,对于具有较小程度的结点来说可能是正确的小的值,这将会在训练中产生大量的问题。为了解决这个问题,我们将使用标准化,例如归一化 矩阵 A A A 使得所有行总和为 1,即 D − 1 A D^{−1}A D1A,其中 D D D是对角节点度矩阵,可以解决这个问题,现在乘以 D − 1 A D^{-1}A D1A 对应于取相邻节点特征的平均值。根据作者,在观测到一些经验的结果后,他们建议”在实际中,当我们使用对称归一化时,例如 D ^ − 1 2 A ^ D ^ − 1 2 \hat{D}^{-\frac{1}{2}}\hat{A}\hat{D}^{-\frac{1}{2}} D^21

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值