1. 前言

这篇博客主要简析一篇ICLR2020的论文What Graph Neural Network Cannot Learn: Depth vs Width。这篇论文是很有理论深度的。不过这篇博客只是一个导读哈。想借研究这篇论文的时间,打一打图神经网络的理论基础。因为我比较关心图神经网络在点云处理方面的研究,所以对文章的讨论我会以点云处理来举例子。有关图神经网络处理点云的论文可以参考我之前的几篇博客。

2. 图神经网络结构

首先解释一些符号。图神经网络的输入是图类数据。图可以表示为G=(V,E)G=(V,E)G=(V,E)。n=∣V∣n=\vert V \vertn=∣V∣表示图中节点的个数。在图GGG中,使用viv_ivi​表示第iii个节点。VVV就是所有节点的集合。在点云中,viv_ivi​就可以理解为第iii个点的三维坐标。记ei←je_{i\leftarrow j}ei←j​表示从vjv_jvj​到viv_ivi​的边。如果ei←j∈Ee_{i\leftarrow j} \in Eei←j​∈E,说明这条边是存在的,此外ej←i∈Ee_{j\leftarrow i} \in Eej←i​∈E,即一般讨论的图都是双向的。对于viv_ivi​来说,degideg_idegi​表示该节点的度,即该节点边的个数。Δ\DeltaΔ记为图GGG中max⁡(degi),∀vi∈V\max(deg_i), \forall v_i \in Vmax(degi​),∀vi​∈V。为了更好的理解图这个数据结构,可以看看这篇归纳笔记。记aia_iai​表示第iii个节点的特征(比如颜色,法线,雷达强度等)。在一堆点云中,边是怎样建立的呢?直觉是目标点的特征跟他近邻点的特征相关,所以对于点云来说,边是根据近邻关系建立。具体建立方式有几种,一是KNN建立,二是在规定半径范围内建立,三是启发式采样建立(比如最远点采样)。

在这篇论文中,作者用GNNmpn\text{GNN}_{mp}^nGNNmpn​表示图神经网络的运算过程。GNN\text{GNN}GNN就是Graph Neural Network缩写。mpmpmp含义是message passing,译为中文就是消息传播。在图神经网络中,目标节点的特征是根据它邻近节点的特征计算而来。举个不恰当的例子,三人成虎。把皇上当作一个节点。他的三位大臣当作邻近节点。三个大臣对皇上说集市有老虎,那么皇上就真相信了集市有老虎。这就是消息传播的过程。GNNmpn\text{GNN}_{mp}^nGNNmpn​中的nnn表示图神经网络计算的结果是每个节点都会获得一个特征向量。论文中也提及了GNNmpp\text{GNN}_{mp}^pGNNmpp​。在点云应用中,图神经网络用于获取每个点的特征的。所以我们只关心GNNmpn\text{GNN}_{mp}^nGNNmpn​。它的计算方式如下所示:


符号xi(l)x_i^{(l)}xi(l)​表示节点iii在网络第lll层的特征向量。ai←ja_{i\leftarrow j}ai←j​表示从节点iii和节点jjj的相对关系。在点云处理中MSGl\text{MSG}_lMSGl​相当于是一个多层感知机结构。mi←j(l)m_{i\leftarrow j}^{(l)}mi←j(l)​表示第lll层上节点jjj向节点iii传递的消息。对于节点iii来说,它的所有邻近节点都会向他发送消息。我们需要一个聚合更新的操作,从这些近邻节点发送的消息中,提取出最有价值的信息,当作节点iii在网络第lll层的特征向量。在点云处理中,UPl\text{UP}_lUPl​表示池化操作,比如最大池化,平均池化,求和等等等。对于GNNmpn\text{GNN}_{mp}^nGNNmpn​来说,每一层都是消息传递和消息聚合的迭代运算。

对于图神经网络GNNmpn\text{GNN}_{mp}^nGNNmpn​而言,网络层数ddd表示图神经网络的深度。在遍历所有网络层,xi(l)x_i^{(l)}xi(l)​最大的维度则记为图神经网络的宽度www。比如说有一个五层的图神经网络,这五层的特征维度分别是[1,16,32,64,64,64][1,16,32,64,64,64][1,16,32,64,64,64]。那么对于这个图神经网络来说,d=5d=5d=5以及w=64w=64w=64。

3. 理论收敛的图神经网络

3.1 引言

如果直接说理论证明,就太过于直接了,不方便自己理解。这一节主要做一个过渡。作者写这篇文章的目的是讨论图神经网络在什么情况下可以学到知识(即损失函数收敛),又在什么情况下学不到知识(即损失函数不收敛)。作者意识到影响图神经网络收不收敛的核心要素是网络的深度ddd和宽度www。为了更好地理解,我们讨论四种情形:

  1. 一个深度很小且宽度很小的网络,会不会学不到特征呀?
  2. 一个深度很小但宽度很大的网络,会不会容易过拟合呀?
  3. 一个深度很大但宽度很小的网络,会不会梯度消失呀?
  4. 一个深度很大且宽度很大的网络,会不会容易过拟合吗?

上述的原因都是我随便猜的。作者试图从理论的高度,去解释图神经网络收敛和网络的深度ddd和宽度www的内部联系,进而去指导科研工作者更好地设计图神经网络。OK,那我们就正式开始了。当然啦,作为刚刚入坑的小白,看不懂全部的推导其实并不重要,重要是领会论文的思想,为自己的科研工作做服务。

3.2 计算可达

在论文中,把收敛的网络记为computationally universal。我这里把computationally universal译为计算可达。为什么这么翻译呢?可达一词源于现代控制理论中的状态可达性(不是可达鸭),指的是系统可以达到某一个指定的状态,那个指定的状态就是可达状态。因此,可达指可以到达的状态。computationally universal就是可以通过计算的方式,把输入数据输出成人们指定的结果。以目标检测为例,输入数据是一张图,输出数据是判断这幅图中是否有人/猫/狗等物。计算的载体则是深度学习模型。如果该网络模型经过海量数据学习,可以完全正确地完成图片分类任务,那么这个网络就是计算可达的。当然,你也可以说这个网络是Universal Approximation(万有逼近的)。意思其实差不多。

我再对上述的例子做一个更为抽象的概括。还是以目标检测为例子。给一张图,图像是存在的,这张图中有目标的事情就是也是确定的。这是客观存在的事实,不会以人的主观而转移(颇有哲学意味)。基于上述的客观事实,就铁定存在一个映射f(⋅)f(\cdot)f(⋅)。对任何输入的图像xxx,它都能给出一个正确的分类结果yyy。我们学习出来的复杂的神经网络,其实可以抽象为一个映射g(⋅)g(\cdot)g(⋅)。computationally universal就是指g(⋅)g(\cdot)g(⋅)无限接近于f(⋅)f(\cdot)f(⋅),即∥f(⋅)−g(⋅)∥→0\Vert f(\cdot) - g(\cdot) \Vert \rightarrow 0∥f(⋅)−g(⋅)∥→0。

3.3 收敛条件的证明思路

再讲具体证明之前,咱们先理清一下逻辑:

  • 证明的内容:GNNmpn\text{GNN}_{mp}^nGNNmpn​在条件XXX下是计算可达的;XXX是未知的;

然后假设我们是科研人员哈,目前掌握一个这样的已知条件:

  • 已知条件:计算模型LOCAL\text{LOCAL}LOCAL在条件YYY下是计算可达的;YYY是已知的;

其中LOCAL\text{LOCAL}LOCAL是一个计算复杂度更高的网络模型,是细胞间传递信息的生物模型。我们会去想,并试图去构造一个条件ZZZ,在一个条件ZZZ下,让GNNmpn\text{GNN}_{mp}^nGNNmpn​与LOCAL\text{LOCAL}LOCAL是等价的。这样一来,GNNmpn\text{GNN}_{mp}^nGNNmpn​计算可达的条件就是Y+ZY+ZY+Z啦。没错,这就是证明思路。是不是很有意思?总结一下证明思路:

  • 第一步:证明在条件ZZZ下,GNNmpn\text{GNN}_{mp}^nGNNmpn​与LOCAL\text{LOCAL}LOCAL是等价的
  • 第二步:根据LOCAL\text{LOCAL}LOCAL的性质,获知在满足条件YYY的情形下,LOCAL\text{LOCAL}LOCAL计算可达
  • 第三步:那么GNNmpn\text{GNN}_{mp}^nGNNmpn​计算可达的条件就是Y+ZY+ZY+Z

3.4 计算模型LOCAL\text{LOCAL}LOCAL

在讲解证明之前,简单了解一下计算模型LOCAL\text{LOCAL}LOCAL。它的计算过程伪代码如下所示:


模型LOCAL\text{LOCAL}LOCAL其实很好理解。我们想象一下每一个图中节点都是一个小细胞,这些细胞彼此紧紧地挨在一起。Receive过程就是目标细胞接受周围邻近细胞发出的化学物质;Send过程就是目标细胞向周围邻近细胞发出的化学物质;模型LOCAL\text{LOCAL}LOCAL就是细胞间信息交互的模型。粗糙地讲,运算符ALG\text{ALG}ALG表示一个图灵完备的算法。符号Ni∗N^*_iNi∗​表示目标点的包含自身的近邻节点集合。∗*∗指包含自身。总而言之,模型LOCAL\text{LOCAL}LOCAL是一个理想化的图结构计算模型。

那什么是图灵完备 ( Turing Complete )呢?图灵完备是指机器执行任何其他可编程计算机能够执行计算的能力。简单来说,一切可计算的问题都能计算,这样的虚拟机或者编程语言就叫图灵完备的。好吧,那什么样的问题是可计算的呢?可以参考这篇知乎。

3.5 收敛条件的证明过程

这一节会按照3.3节的证明思路展开。

第一步:证明在条件ZZZ下,GNNmpn\text{GNN}_{mp}^nGNNmpn​与LOCAL\text{LOCAL}LOCAL是等价的,条件ZZZ是GNNmpn\text{GNN}_{mp}^nGNNmpn​中的MSG\text{MSG}MSG和UP\text{UP}UP是图灵完备函数

这个证明的大体思路是两个计算模型相互推导,最后推导出一种等价的形式。

从GNNmpn\text{GNN}_{mp}^nGNNmpn​计算模型推导:


其中AGG\text{AGG}AGG是聚合函数,可以理解为是MSG\text{MSG}MSG和UP\text{UP}UP的融合形式。简简单单地讲,AGG\text{AGG}AGG可以理解为是PointNet的子模块。

从LOCAL\text{LOCAL}LOCAL计算模型推导:


可以发现,两个计算模型能够推导出一种类似的形式。它们等价的充分必要条件就是AGG\text{AGG}AGG需要和ALG\text{ALG}ALG等价。作为导读,我来用一种不严谨的语言完成剩下的证明。在讲模型LOCAL\text{LOCAL}LOCAL的时候,ALG\text{ALG}ALG是一个图灵完备的算法。如果要等价的话,AGG\text{AGG}AGG也应该是图灵完备的。AGG\text{AGG}AGG由MSG\text{MSG}MSG和UP\text{UP}UP复合而成,那么MSG\text{MSG}MSG和UP\text{UP}UP也必须是图灵完备的。第一部分就证明完了。

第二步:根据LOCAL\text{LOCAL}LOCAL的性质,获知在满足条件YYY的情形下,LOCAL\text{LOCAL}LOCAL计算可达,条件YYY是深度d≥δGd \geq \delta_Gd≥δG​并且宽度www没有界

这是LOCAL\text{LOCAL}LOCAL的性质,这里不去做证明,直接拿来用。δG\delta_GδG​指的是图中最长的最短距离(the length of the longest shortest path)。最大的最短距离,看上去有的矛盾哈。先理清楚一个图中任意两节点的最短距离定义shortest path。遍历一个图中所有的点对,计算该点对的距离,把所有点对的距离都由大到小地排列在一起,那么最前头的最短距离就是最大的最短距离。宽度www没有界就是www。

那什么是宽度www没有界呢?就是w→+∞w\rightarrow +\inftyw→+∞。宽度www指的是图神经网络中神经元中最大的特征维度。举个例子,w=64w=64w=64,说明有一层的神经元个数是64个。w→+∞w\rightarrow +\inftyw→+∞则说明有一层的神经元个数是极其大的。神经元个数越多,网络的表示能力就会越强。当w→+∞w\rightarrow +\inftyw→+∞,该网络在理论上是图灵完备的。一个图灵完备的网络对应LOCAL\text{LOCAL}LOCAL中图灵完备的运算符ALG\text{ALG}ALG。

深度d≥δGd \geq \delta_Gd≥δG​这个条件也可以去解释。当d≥δGd \geq \delta_Gd≥δG​,图中任一一个节点都可以接收到图中其他任意节点的信息。当然d≥δGd \geq \delta_Gd≥δG​是一个非常非常强的条件。

第三步(结论):GNNmpn\text{GNN}_{mp}^nGNNmpn​计算可达的条件是:MSG\text{MSG}MSG和UP\text{UP}UP是图灵完备函数,且深度d≥δGd \geq \delta_Gd≥δG​并且宽度www没有界

把前两步的结果拼起来即可。注意这个结论是一个必要条件(必要条件!):

根据MSG\text{MSG}MSG和UP\text{UP}UP是图灵完备函数,且深度d≥δGd \geq \delta_Gd≥δG​并且宽度www没有界,可以去得到GNNmpn\text{GNN}_{mp}^nGNNmpn​计算可达。(正确的结论)

但论文可没有下这样的充分条件哦:

GNNmpn\text{GNN}_{mp}^nGNNmpn​计算可达一定要MSG\text{MSG}MSG和UP\text{UP}UP是图灵完备函数,且深度d≥δGd \geq \delta_Gd≥δG​并且宽度www没有界。(错误的结论)

我们着重解释一下这个结论。首先,这个结论只是个理论上的结论。d≥δGd \geq \delta_Gd≥δG​是一个非常强的必要条件。它是必要条件哈。满足d≥δGd \geq \delta_Gd≥δG​和其他条件,那么GNNmpn\text{GNN}_{mp}^nGNNmpn​计算可达。如果d<δGd < \delta_Gd<δG​,GNNmpn\text{GNN}_{mp}^nGNNmpn​也未必是不收敛的。宽度www没有界同样是一个非常强的必要条件。而且从实际角度出发,w→+∞w\rightarrow +\inftyw→+∞是难以去训练的,需要足够大内存和海量的数据以及充分的训练时间等等。因此,这仅仅是一个理论结论。

4. 理论不收敛的图神经网络

这篇论文后半部分讨论图神经网络不收敛的种种理论条件。根据图神经网络计算可达的条件反过来想,如果d<δGd<\delta_Gd<δG​且www有界,即w<Mw<Mw<M,那么图神经网络是计算可达,还是计算不可达呢?另外,图神经网络的计算可达,会不会跟图结构有关,如果是一个稀奇古怪的图,他还会不会训练收敛呢?这篇博客不会去介绍这些,核心原因是博主太菜了,理解不了这么深的理论。有兴趣可以读读原论文的第四节哈。

5. 结束语

说句人话,对我等调参调包炼丹侠(斜杠青年,调参/调包/炼丹,hhh),这篇论文的任何结论都没什么实际意义。这篇论文只是告诉我们一个大家都懂的道理,图结构越复杂,网络的深度和宽度应该设计地越大才好。有人会说,这种道理,我们在炼丹的时候,完全是凭直觉就能掌握的呀。没错,这篇文章是从严谨的数学角度证明了大家司空见惯的直觉是对的,并且尽可能地量化网络收不收敛的条件。它的价值就在这里喵。

小白科研笔记:简析图神经网络收敛性的理论证明相关推荐

  1. 【笔记整理】图神经网络学习

    [笔记整理]图神经网络学习 文章目录 [笔记整理]图神经网络学习 一.GNN简介 1.图结构 & 图基础算法 1)引言("非欧几何, 处理图数据的NN") 2)图基本概念 ...

  2. 小白科研笔记:简析SOTA目标检测算法3D-CVF

    1. 前言 最近KITTI的3D目标检测榜刷出了一个新的Top One双阶段算法3D-CVF.做算法,有时间需要跟紧新的网络架构.所以这篇博客主要分析这篇论文3D-CVF: Generating Jo ...

  3. 小白科研笔记:理解PointConv和对此类方法感想

    1. 引言 2018年之后出现较多新的处理点云的深度学习算法.这些文章从面向点云的卷积运算(Convolution for point cloud)着手,试图从更底层理解点云.这篇博客主要参考下面这篇 ...

  4. 小白科研笔记:理解PointRCNN中的Stage-Two细节

    1. 前言 博客写作的这天是清明节.致敬那些抗击新馆病毒的医护人员. 我的上一篇博客分析了PointRCNN框中中预选3d框的生成和基于区间(对Bin的翻译)的3d框误差函数.讨论了基于区间的3d框误 ...

  5. 小白科研笔记:深入理解SA-SSD中的Part-sensitive Warping机制

    1. 前言 这篇博客将细致分析3D目标单阶段检测方法SA-SSD中的Part-sensitive warping机制(简称PS Warping). 2. 代码上对PS Warping理解 论文上对PS ...

  6. 人大魏哲巍:图神经网络的理论基础

    [专栏:研究思路]近年来,由于图结构数据的强大表现力,用机器学习方法分析图的研究越来越受到重视.图神经网络是一类基于深度学习的处理图结构数据的方法,在众多领域展现出了卓越的性能,因此已成为一种广泛应用 ...

  7. 「图神经网络东」最新2022综述

    来源:专知 本文约5000字,建议阅读5分钟 本文为你介绍了<图神经网络综述>. 中国石油大学<图神经网络最新>综述论文 近几年来,将深度学习应用到处理和图结构数据相关的任务中 ...

  8. 图神经网络的表达能力,究竟有多强大?

    来源:AI科技评论 作者 | Mr Bear 编辑 | 丛 末 近年来,随着图神经网络在各个领域的火热应用,越来越多的学者试图从图论的角度对图神经网络的表达能力进行理论分析,并基于这些理论分析开发出了 ...

  9. 干货!Labeling Trick: 一个图神经网络多节点表示学习理论

    点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入! GNN 旨在学习单节点表示.当我们想要学习一个涉及多个节点的节点集表示(如链路表示)时,以往工作中的一个常见做法是将 GNN 学习到的多 ...

最新文章

  1. Prebuilt binaries of PCL (point cloud library) for Linux
  2. 跨域解决方案之CORS
  3. 菜鸟也玩WebMatrix
  4. Oracle数据隐式乱码,正则匹配中文数据失败
  5. golang协程测试
  6. 蓝桥杯2017初赛-9数算式-dfs
  7. SpringCloud(笔记)
  8. 中国象棋程序的设计与实现(六)--N皇后问题的算法设计与实现(源码+注释+截图)...
  9. oracle 11g 延迟验证,取消 11G延迟密码验证
  10. 1.2 边缘检测示例
  11. [图像]张正友论文翻译(2)
  12. XGBoost深度理解
  13. 用SDWebImage渐变加载图片
  14. Codeforces Round #375 (Div. 2) D. Lakes in Berland 贪心
  15. ioca0中断 pic单片机_PIC单片机学习心得
  16. linux 蓝牙打印机驱动安装失败,Win7蓝牙驱动安装失败的原因分析与解决方法
  17. 通信教程 | USB、HDMI、DP接口及速度
  18. 浏览器首页被360恶意篡改,解决方法
  19. 某策略游戏(SLG)数据分析:新增、付费和活动效果评估
  20. 蓝桥杯真题 18省4-测试次数 x星球的居民脾气不太好,但好在他们生气的时候唯一的异常举动是:摔手机。 各大厂商也就纷纷推出各种耐摔型手机。x星球的质监局规定了手机必须经过耐摔测试,并且评定出一个耐

热门文章

  1. 【AI视野·今日CV 计算机视觉论文速览 第172期】Tue, 10 Dec 2019
  2. word文件中表格迁移到excel
  3. [CF1131F] Asya And Kittens
  4. OpenFoam-6 导入并编译一个新湍流模型
  5. 开发一个简单易用的SDK的详细步骤(超详细,超适用)
  6. 深入理解取整、取余与取模问题
  7. 小米6指主板图示_拆解报告:小米小爱智能音箱HD
  8. Linux中怎么创建文件?
  9. 适配器模式(对象适配器)
  10. JavaScript——选择框练习