8-GNN理论

图机器学习(GNN的理论)

1. 前言

在已经提出GCN、GAT、GraphSAGE、design space等众多GNN模型的前提下,各种模型的表示能力(区分不同图结构的能力)如何?我们如何设计这样一种表示能力最强的模型?

1. GNN模型实例
  1. GCN:mean-pool + Linear + ReLU non-linearity
  2. GraphSAGE(以最大池化为例):MLP + max-pool
2. local neighborhood structures

这里给了一个例子,看如何识别不同节点,这里节点虽然id不一样,但是特征是一样的,因为特征用颜色标识。这里看GNN如何在特征相同的情况下识别出不同节点

请添加图片描述

例子结果备注
Nodes 1 and 5different度不一样
Nodes 1 and 4different度一样,但邻居的度不一样
Nodes 1 and 2same度一样,邻居的度也一样

根据表中,我们要怎么样来识别节点1和2。让我们接下来看看GNN的表示方法:计算图

3. Computational graph

计算图概念:GNN每一层聚合邻居信息(节点嵌入),即通过其邻居得到的计算图产生节点嵌入。

  1. 节点1和节点2的计算图:
    请添加图片描述

​ 虽然有id不一样,但是特征一样(看颜色),GNN不能识别id,只能识别特征做输入,因此节点1和2的计算图是一样的,因此聚合操作 得到的embedding也会一样。
​ 一般来说,不同的局部邻居会得到不同的计算图,节点1和节点2由于计算图相同,所以GNN无法区分。理论上节点3、4、5由于计算图 不同是可能由GNN区分开的。表达能力最强的GNN能区分开任意计算图不同的节点。

  1. rooted subtree structures

​ 计算图和对应节点的有根子树结构(rooted subtree structure)相同,通过从根节点逐邻居展开计算图而得到。
请添加图片描述

​ GNN就是将每个rooted subtrees映射到不同embedding(颜色)

请添加图片描述

4. Injective Function
  1. 单射injective函数:将不同自变量映射为不同的因变量,这样可以完整保留输入数据中的信息

请添加图片描述

  1. 因此可以推出:应该根据计算图作为输入,然后得到injective 的结果,这样的GNN的表达能力最大。要做到这点,那么要保证计算图这个树中每一层孩子向父亲汇聚的的过程都应该是injective 的,也就是每一层都是都使用单射邻居聚合函数(保留全部信息),把不同的邻居映射到不同的嵌入上。

请添加图片描述


2. Designing the Most Powerful Graph Neural Network

1. 概述

GNN的表示能力取决于其应用的邻居聚合函数。聚合函数表达能力越强,GNN表达能力越强,单射聚合函数的GNN表达能力最强。

这里可以将邻居聚合过程,抽象化,抽象成为一个a function over a multi-set 的问题:具体来说,就是一个作用于带有重复元素的集合的函数。使其应该满足单射的特征。

请添加图片描述

上图表示,邻居聚合过程,可以抽象称为一个a function over a multi-set 的问题。

2. GCN

GCN采用的是求均值,relu激活:

但是这种方法作用于如下数据时,会失效:(左图两个节点,右图四个。但是求均值后就得出了相同的表示)

请添加图片描述

3. GraphSAGE

采用的是MaxPool方法:

示例是下图。用MLP对每个节点做映射,然后得出one-hot向量。然后对每个维度求Max。发现这三种输入对应同样的输出:

请添加图片描述

4.小结
  1. 根据上文对GNN表示能力的分析,我们得出的主要结论takeaway【1】
  2. GNN的表示能力由其邻居聚合函数决定
  3. 邻居聚合是个multi-set上的函数,multi-set是一个元素可重复的集合
  4. GCN和GraphSAGE的聚合函数都不能区分某些基本的multi-set,因此都不单射,不够具有表达能力
  5. 因此GCN 、GraphSAGE都不是最好的GNN

【1】根据提供的事实或信息得出的结论‎


3. 设计一个满足单射性质的NN(神经网络模型)

1. 概述

首先是一个定理,即多重集合上的单射函数都能表示为如下的形式:

请添加图片描述

解释一下:即任意一个多重集合上的单射函数,都可以拆分成两部分。一部分是作用于单个元素的函数 f f f,这是个单射函数(比如将不同颜色的节点,映射为不同的one-hot向量);另一部分是非线性映射函数 ϕ \phi ϕ

请添加图片描述

但是如何定义这两个函数?采用的是MLP。这里用到了Universal Approximation Theorem(万能近似定理):带有一层隐藏层的MLP可以近似任何连续函数。又因为我们事先不知道采用什么函数好。所以采用MLP,让模型自己去学习:

请添加图片描述

这样,就得到了使用NN的模型:(即 f f f ϕ \phi ϕ都是MLP,通常隐藏层的维度100-500即可),其表达式为 M L P ϕ ( ∑ x ∈ S M L P f ( x ) ) MLP_\phi(\sum_{x\in S}MLP_f(x)) MLPϕ(xSMLPf(x))

2. Graph Isomorphism Networks(GIN)

其聚合函数是单射的,没有区分失败的案例,目前是信息传递类GNN中表示能力最强的GNN,可以分析出,GIN就是神经网络版的 WL graph kernel这里多了一步同构性判断:如果两个图有相同的节点颜色集合,那么这俩图是同构的

  1. 神经网络是在用神经网络模拟WL graph kernel的方法

请添加图片描述

​ 具体来说,就是用NN来模拟在这个元组上的单射函数:

请添加图片描述

  1. 完整的GIN模型:
    给定一个图和节点的初始特征向量,GIN迭代如下公式:

请添加图片描述

​ 其中GINConv就是一个可导的单射(哈希)函数。K 次迭代后,其收集了K阶邻居的信息。因此,GIN可以视为一个可导版本的WL graph Kernel。前者使用节点向量做表示,用GINConvert更新参数;后者用颜色作为节点表示,用HASH函数做更新操作。

更新目标更新函数
WL graph kernel节点颜色(独热编码)HASH
GIN节点嵌入(低维向量)GINConv
  1. GIN相较于WL graph kernel的优点在于:

    1. 节点嵌入是低维的,因此可以捕获到细粒度的节点相似性

    2. GINConv的参数可被学习得到并应用于下流任务

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值