HOW POWERFUL ARE GRAPH NEURAL NETWORKS? 论文/GIN学习笔记

Posted Dodo·D·Caster

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HOW POWERFUL ARE GRAPH NEURAL NETWORKS? 论文/GIN学习笔记相关的知识,希望对你有一定的参考价值。

对GNN的评估

GNN 通用表达式

聚合:

a v ( k ) = A G G R E A G T E ( k ) ( h u ( k − 1 ) : u ∈ N ( v ) ) a_v^(k)=AGGREAGTE^(k)(\\ h_u^(k-1) : u \\in \\mathcalN(v) \\) av(k)=AGGREAGTE(k)(hu(k1):uN(v))

更新:

h v ( k ) = C O M B I N E ( k ) ( h v ( k − 1 ) , a v ( k ) ) h_v^(k) = COMBINE^(k)(h_v^(k-1),a_v^(k)) hv(k)=COMBINE(k)(hv(k1),av(k))

GNN 的主要任务

节点分类任务:相同邻域有相同表征,不同的邻域有不同的表征

图分类任务:同构图有相同的表征,非同构图有不同的表征

定义1 multiset的广义定义:允许其元素有多个实例的集合。

multiset是一个二元组 X = ( S , m ) X = (S, m) X=(S,m)

  • S 是由不同元素形成的X的基础集合
  • m : S → N ≥ 1 m : S \\rightarrow N_\\ge 1 m:SN1 给出了元素的 multiset

举个例子,节点集合是S,每个节点的邻居集合是m

引理2 假设 G1 和 G2 是两个不同构的图。如果对于一个GNN模型 A, G1 和 G2 有着不同的嵌入,那么WL图同构检测也能得到同样的结果。


引理2说明:任何基于聚合的GNN的效果天花板是WL算法。

WL测试:有效且计算高效的检测图同构算法

  • 迭代地聚合节点及其邻居的标签
  • 哈希聚合的标签为新的标签
  • 对比标签,如果在某次迭代中两个图的节点标签不同则不是同构的

定理3 假设 A 是一个GNN模型。如果由足够多的GNN层,A 能够将任何WL算法检测为非同构的图 G1 和 G2 表达为不同的嵌入。同时,这需要满足以下约束:

  • A 通过 h v ( k ) = ϕ ( h v ( k − 1 ) , f ( h u ( k − 1 ) : u ∈ N ( v ) ) ) h_v^(k) = \\phi (h_v^(k-1), f(\\ h_u^(k-1) : u \\in N(v) \\)) hv(k)=ϕ(hv(k1),f(hu(k1):uN(v))) 迭代地聚合和更新节点特征
    • 其中, f f f作用于multiset, ϕ \\phi ϕ是单射的
  • A 的 graph-level readout (作用于节点特征 h v ( k ) \\ h_v^(k) \\ hv(k)的multiset) 是单射的

Readout函数:输入节点嵌入生成整图嵌入的函数

定理3说明:如果聚合邻居的函数和graph-level readout函数是单射的,那么GNN的结果可以和WL算法一样好

引理4 假设输入的特征空间 X \\mathcalX X 是可数的,如果 g ( k ) g^(k) g(k) 是由GNN的第k层参数化的函数 (k=1,2,3,…,L, g ( 1 ) g^(1) g(1)定义在有界的multiset X ⊂ X X \\subset \\mathcalX XX 上),那么 g ( k ) g^(k) g(k) 的范围也是可数的 (对于k=1,2,3,…,L)


疑惑:是在讲收敛性吗?

GNN 相比 WL 的优势

  • 由于WL算法的节点特征向量本质上是one-hot encodings,因此无法得知子树的相似性。
    • 疑问:多次迭代不就可以知道n阶邻居的信息了吗,是因为哈希方法处理特征所以无法有效保存结构信息吗?
  • 但满足定理3的GNN模型可以获得图结构的相似性,学习为子树生成低维嵌入。

Graph Isomorphism Network (GIN)

GIN满足定理3,是WL算法的推广,因此取得了一众GNN中最好的判别效果

引理5 假设 X \\mathcalX X 是可数的。那么存在一个函数 f : X → R n f : \\mathcalX \\rightarrow \\R ^n f:XRn 使得 h ( X ) = ∑ x ∈ X f ( x ) h(X) = \\sum_x \\in X f(x) h(X)=xXf(x) 对于每一个有界的multiset x ⊂ X x \\subset \\mathcalX xX 是唯一的。此外,对于某些函数 ϕ \\phi ϕ ,任何 multiset 函数 g 都可以被分解为 g ( X ) = ϕ ( ∑ x ∈ X f ( x ) ) g(X) = \\phi (\\sum _x \\in X f(x)) g(X)=ϕ(xXf(x))


引理5说明:累加聚合器是单射的,是multiset的通用函数

推论6 假设 X \\mathcalX X 是可数的。那么存在一个函数 f : X → R n f : \\mathcalX \\rightarrow \\R ^n f:XRn ,对于 ϵ \\epsilon ϵ 的无限个选择 (包含所有无理数) ,对于每一对 ( c , X ) (c,X) (c,X) h ( c , X ) = ( 1 + ϵ ) ⋅ f ( c ) + ∑ x ∈ X f ( x ) h(c, X) = (1+\\epsilon) \\cdot f(c) + \\sum_x \\in X f(x) h(c,X)=(1+ϵ)f(c)+xXf(x) 是唯一的 (其中 c ∈ X , X ⊂ X c \\in \\mathcalX, X \\subset \\mathcalX cX,XX)。此外,对于一些函数, ( c , X ) (c,X) (c,X) 上的任何函数都可以被分解为 g ( c , X ) = φ ( ( 1 + ϵ ) ⋅ f ( c ) + ∑ x ∈ X f ( x ) ) g(c, X) = \\varphi ((1 + \\epsilon) \\cdot f(c) + \\sum_x \\in X f(x)) g(c,X)=φ((1+ϵ)f(c)+xXf(x))


推论6在众多聚合方案中提供了一个简单而具体的公式。

GIN 更新公式 - 节点:

h v ( k ) = M L P ( k ) ( ( 1 + ϵ ( k ) ) ⋅ h v ( k − 1 ) + ∑ u ∈ N ( v ) h u ( k − 1 ) ) h_v^(k) = MLP^(k) ((1 + \\epsilon^(k)) \\cdot h_v^(k-1) + \\sum_u \\in \\mathcalN(v) h_u^(k-1)) hv(k)=MLP(k)((1+ϵ(k))hv(k1)+uN(v)hu(k1))

  • MLP : 多层感知机
  • ϵ \\epsilon ϵ : 可学习的参数或固定值

GIN Readout函数 - 整图:

h G = C O N C A T ( R E A D O U T ( h v ( k ) ∣ v ∈ G ) ∣ k = 0 , 1 , . . . , K ) h_G = CONCAT(READOUT(\\ h_v^(k) | v \\in G \\) | k=0,1,...,K ) hG=CONCAT(READOUT(hv(k)vG)k=0,1,...,K)

通过定理3 和 推论6 可知,如果使用上式作为readout函数(累加相同迭代的所有节点特征作为图的表征),那么它是WL的推广。

GNN方法对比

单层感知机 vs 多层感知机

引理7 存在有限个multiset X 1 ≠ X 2 X_1 \\neq X_2 把一个英语句子中的单词次序颠倒后输出。例如输入“how are you”,输出“you are how”;

把一个英语句子中的单词次序颠倒后输出。例如输入“how are you”,输出“you are how”;

把一个英语句子中的单词次序颠倒后输出。例如输入“how are you”,输出“you are how”;

How about xlogs are missing and xlogs are deleted

HOW ARE YOU FEELING?

1)把一个英语句子中的单词次序颠倒后输出。例如输入“how are you”,输出“you are how”; 编写单元测试进行测试; 用ElcEmma查看代码覆盖率,要求覆盖率达到100