当前位置: 首页 > 编程日记 > 正文

什么限制了GNN的能力?首篇探究GNN普适性与局限性的论文出炉!

640?wx_fmt=png


作者 | Andreas Loukas

译者 | 凯隐

责编 | Jane

出品 | AI科技大本营(ID: rgznai100)


【导读】GNN是目前机器学习领域的热门网络之一,肯多研究与技术分享相比不可知的深度学习网络模型,GNN 有哪些吸引我们的优势及硬核实力。然而,GNN 是完美的吗?有什么缺点?在何种情况下,GNN 是无法发挥其能力的?近日,在 arXiv 上发布了一篇论文,专门研究探讨了 GNN 在普适性与学习局限性等问题。

 

640?wx_fmt=png


本文主要从计算能力有限的角度,来研究GNN在消息传递分布式系统中的图灵普适性和局限性,并得到了两个与图论问题能否解决(impossibility statements)有关的结论:

 

(1)在一定的充足条件下,GNN是具有图灵普适性的;

(2)而在深度和广度被限制的条件下,GNN的性能会有一定的局限性。

 

应用第一个结论,可以对一些图论优化问题设置更低的计算复杂度下界,第二个结论则说明在深度和广度的乘积不超过图的大小时,GNN是无法解决其他的一些问题的。

 

专业术语

 

为了方便大家后续阅读理解文章,我们先把文中涉及的几个专业问题做简单阐述:

 

1、图灵普适性(Turing universal)

 

一个具有图灵普适性的图灵机(Universal Turing machine)能够模拟任何图灵机在任何输入下的情况。

 

2、一致性问题(Consensus)

 

即在分布式计算或者多代理(multi-agent)系统中,如何在发生进程故障的情况下保持系统的可靠性(reliability)。这通常需要进程就计算过程中的一些数值或数值操作达成一致,包括如何将提交到数据库,如何识别leader进程,状态机复制(一种故障容忍机制),原子广播等操作。

 

3、不可能结果(Impossibility result)

 

这是分布式领域的专业术语,在一个完全异步的消息传递分布式系统中,如果一个进程有故障,那么一致性问题是无法得到解决的,在此基础上,有两个比较著名的 impossibility result:FLP和CAP,详见[1][2]。本文中提出了关于GNN的两个结论都是属于GNN的 impossibility results。简单来说,就是在一定的限制条件下问题能否被解决,那么任务的impossibility result就只有两种情况:能和不能。

 

4、GNN的深度和广度(depth and width)

 

深度就是网络层数,广度就是每层的感知域,也就是每个节点的能获取到信息的邻接节点的范围。

 

模型普适性的研究

 

机器学习中的一个基本任务是研究哪些内容是一个模型(网络)能学习到,而哪些是不能学习到的,也就是研究模型的普适性,研究其能否解决大部分任务。过去的一些研究通过不变函数或者等效函数来对网络进行等效近似,从而在函数层面研究什么是一个模型能学习到的内容。

 

通常理论认为,在有充足的训练数据和合适的学习优化算法的情况下,普适性网络能够解决大部分给定的任务,然而这种理解是不全面的,因为在实际应用时要满足充足训练数据和合适优化算法是比较困难的,这种无限制的普适性网络是不能作为实际部署时的网络设计参考的。

 

因此,可以从问题的对立面,即研究模型的局限性,来间接地研究其普适性,也就是在特定的任务中,特定的限制条件下网络不能学习到的内容。这有助于了解模型和特定任务之间的关系,从而知晓任务能否被解决(impossibility results),进而帮助我们调整模型的参数。例如,在图分类任务中,我们希望模型能学习到同一类图的共同特征,不同类图的区别特征,然而如果GNN模型本身的深度和广度不足以学习到足够的特征,那么这个问题就是impossible的,因此就需要进一步的调整深度和广度。

 

文章主要贡献

 

本文所研究的特定任务是图论中的一些优化任务,特定限制条件是 GNN 的深度和广度,将深度和广度与理论计算机科学中的复杂度等度量联系起来,再将计算复杂度作为这些优化任务的完成下界(从 impossible 变为 possible 的最低复杂度要求),从而得到GNN的深度和广度对具体任务的影响,以及对GNN普适性的影响。具体地,关于普适性的研究有以下两个结论。

 

1、GNN 的图灵普适性

 

在足够的条件下,GNN 能以图灵机的形式对任意输入函数进行运算,且不限于网络结构。通过建立 GNN 和经典分布式计算模型 LOCAL 之间的图灵等效,来间接的研究其普适性。这里的足够条件是:

 

(1)有足够的层数

(2)每一层都有足够的广度

(3)节点之间可以相互独立(ids)

(4)每一层计算的函数有足够的表现力

 

640?wx_fmt=png


2、GNN 的学习能力局限性

 

正如前面提到的,在深度和广度都被限制的情况下,GNN是无法表现出其图灵普适性,即应用在具体任务上时,无法解决这个任务。那么如何确定能否完成任务的下界呢?还是通过 LOCAL。任务或问题的 impossiblility result 可以在GNN和LOCAL之间以一定的形式相互转换,因此研究任务在 GNN下能否完成和在LOCAL下能否完成是等效的,进而可以在LOCAL模型下为完成任务的计算复杂度要求设置下界。具体的,文章中提到了四种类型的任务(问题定义详见原论文)

 

(1)检测(detecting)图G中是否含有特定长度的环(cycle of specific length)


(2)验证(verifying)图G的给定子图是否连通(connected),是否具有环(cycle),是否为生成树(spanning tree,具备树结构,没有环),是否为二分图(bipartite,顶点集合可以分为两个子集,所有边的两个顶点分属于这两个子集),是否为简单路径(simple path,与图的哈密顿循环有关)


(3)计算(computing)两个顶点间的最短路径(shortest path between two vertices),图的最小割(minimum cut),以及最小生成树(the minimum spanning tree)


(4)求图的最大独立集(maximum independent),最小顶点覆盖(minimum vertex cover),或图的顶点着色问题(chromatic coloring)

 

以上问题都是属于图论中的传统优化问题,虽然不是现在主流研究的顶点分类,图分类问题,但二者之间有密不可分的联系。这些问题的具体计算复杂度下界为:

 

640?wx_fmt=png

 

总结

 

本文首次对GNN模型提出了 impossible 问题,并通过等效计算的方法,以计算复杂度的形式,给出了 GNN 在部分图论任务中impossible results下界与网络宽度和广度的关系,在一定程度上说明了 GNN 的性能会受到网络本身的宽度和广度的限制。

 

由于原文中的数学推导过于复杂,因此这里我只介绍文章的基本思想。GNN作为目前机器学习领域的热门研究之一,已经被应用于各种各样的任务,通常在应用一个网络的同时,也要同步地去研究这个网络的内在本质,从而更好的理解,改进它,进而帮助我们在实际应用网络时更好的设置网络的参数,这篇文章就是一个很好的例子。

 

【参考文献】

[1] https://en.wikipedia.org/wiki/Consensus_(computer_science)

[2] Fischer, M. J.; Lynch, N. A.; Paterson, M. S. (1985). "Impossibility of distributed consensus with one faulty process" (PDF). Journal of the ACM. 32 (2): 374–382. doi:10.1145/3149.214121.

 

原文链接: 

https://arxiv.org/abs/1907.03199


(*本文为 AI科技大本营编译文章,转载请联系1092722531


精彩推荐


“只讲技术,拒绝空谈”2019 AI开发者大会将于9月6日-7日在北京举行,这一届AI开发者大会有哪些亮点?一线公司的大牛们都在关注什么?AI行业的风向是什么?2019 AI开发者大会,倾听大牛分享,聚焦技术实践,和万千开发者共成长。


目前,大会盲订票限量发售中~扫码购票,领先一步!


640?wx_fmt=png

推荐阅读

  • 超详细的参数调优教程,保证学会!| 附完整代码

  • 读完这45篇论文,“没人比我更懂AI了”

  • 基于GEMM实现的CNN底层算法被改?Google提出全新间接卷积算法

  • 帮嫦娥五号登月的AI还能用来玩游戏,20行Python代码带你领略强化学习的风采

  • 2019年技术盘点容器篇(四):来自京东云的技术问答 | 程序员硬核评测

  • 程序员爬取 2 万条数据,撕开微博热搜的真相!

  • "别太乐观, 冲破黑暗还很远呀! "

  • 微信们正在成为“被模仿者”!中国互联网现状及趋势报告


640?wx_fmt=png你点的每个“在看”,我都认真当成了喜欢

相关文章:

OpenCV运动检测跟踪(blob track)框架组成模块详解

在..\opencv\doc\vidsurv文件夹中有三个doc文件,Blob_Tracking_Modules、Blob_Tracking_Tests、TestSeq,其中Blob_Tracking_Modules必须需要详读的。 “FG/BG Detection” module performsforeground/background segmentation for each pixel. “Blob E…

vi和软件安装

一 vi编辑器简介 vim 全屏幕纯文本编辑器 二 vim使用 1 vi 模式 vi 文件名 命令模式 输入模式 末行模式 命令----》输入 a:追加 i:插入 o:打开 i 命令----》末行 :w 保存 :q 不保存退出 2 命令模式操作 1)…

鸟哥学习笔记---网络安全基础

yum clean [packages|header|all] packages:将已下载的软件文件删除 headers:将下载的软件文件头删除 all:将所有容器数据都删除 添加镜像站点:mirrorlisthttp://ftp.twaren.net/Linux/CentOS/6/os/x86_64/ http://free.nchc.org.tw/drbl-core/i386/RPMS…

使用纯C++实现SQL Server2005 数据库读写操作详细步骤

环境:虚拟机windows xp,vs2008 SQLServer 2005 Express 数据库访问技术采用ADO。 需要安装的软件包括:microsoft_dotnetfxchs2.0.exe、WindowsInstaller-KB893803-v2-x86.exe、SQLEXPR32_CHS.EXE、SQLServer2005_SSMSEE.msi、SQLServer200…

硬核吃瓜!上万条数据撕开微博热搜真相

作者 | 徐麟来源 | 转载自数据森麟(ID:shujusenlin)吃瓜前言关于新浪微博,向来都是各路吃瓜群众聚集之地,大家在微博中可以尽情吃瓜,各种类型的瓜应有尽有,只有你想不到的,没有你吃不到的。微博…

python类的__slots__属性、__del__属性、上下文(__enter__和__exit__)、

常规情况下,类的属性字典是共享的,而实例的字典是独立的。如果一个类的属性较少,但是拥有很多的实例,这些实例的属性字典会占用较多的内存空间。对这样的类来说,为了节省内存空间,可以使用__slots__类变量代…

普通帧,关键帧,空白关键帧的区别

1. 特点 帧——是进行flash动画制作的最基本的单位,每一个精彩的flash动画都是由很多个精心雕琢的帧构成的,在时间轴上的每一帧都可以包含需要显示的所有内容,包括图形、声音、各种素材和其他多种对象。 关键帧——顾名思义,有关键…

Spark入门系列(二)| 1小时学会RDD编程

作者 | 梁云1991转载自Python与算法之美(ID:Python_Ai_Road)导读:本文为 Spark入门系列的第二篇文章,主要介绍 RDD 编程,实操性较强,感兴趣的同学可以动手实现一下。RDD 是弹性分布式数据集(Resilient Dist…

Office2010启动慢的解决方法

以word2010为例: 解决启动慢的问题: 转自:http://www.blue1000.com/bkhtml/2011-12/70698.htm 首先启动Word2010,-->单击进入“文件”选项卡-->选择左边的“选项”按钮-->弹出“word选项”对话框窗口,-->…

如何在 Vue 项目中使用 echarts

数据的重要性我们大家都知道,就算再小的项目中都可能使用几个图表展示,我最近在做项目的过程中也是需要用到图表,最后选择了echarts 图表库,为什么选择 echarts,第一:简单上手容易,第二&#xf…

OpenCV实现在图像中写入汉字

由于OpenCV自带的cvInitFont和cvPutText函数不支持向图像中写入中文,参考http://www.opencv.org.cn/forum/viewtopic.php?t2083 中的方法,在windows7 64位机上用vs2008OpenCV2.3.1实现具体步骤如下: 1、新建一个控制台工程Test,先…

Operations Manager 2012 SP1配置部署系列之(二) SCOM监控SCVMM

你可以使用Operations Mangager连接到VMM上去监控VMM管理的虚拟机和虚拟机的主机的健康和可用性.你还可以监视VMM管理服务器的健康和可用性,VMM数据库服务器、存储库服务器,和矢量调制法的自服务门户web服务器.当你把VMM与Operations Mangager集成、VMM的…

ROS中base_link, odom, fixed_frame, target_frame和虚拟大地图map的关系

前面已经介绍了如何使用URDF建造机器人小车并显示在Rviz的仿真环境里面,但是小车是静止的。下面介绍如何让它在Rviz里面动起来,并理清URDF,TF 和 odom 的关系。 1. ROS中base_link, odom, fixed_frame, target_frame和虚拟大地图map的关系 一般在urdf文件…

谷歌新研究:基于数据共享的神经网络快速训练方法

作者 | Google Brain译者 | 凯隐责编 | 夕颜出品 | AI科技大本营(ID:rgznai100)导读:神经网络技术的普及离不开硬件技术的发展,GPU 和 TPU 等硬件型训练加速器带来的高算力极大的缩短了训练模型需要的时间,使得研究者们…

制作一个简单的linux

我这里是借助宿主机做的一个简单的Linux,我们只要知道一个Linux启动过程需要什么,这里制作就简单的多了。不过没有基础的也没关系,我写的很详细,没有基础的看了我写的步骤只要细心也是会做出来的,我这里的小Linux是很简…

nginx是什么,如何使用

一:nginx是什么? 二:nginx作为网关,需要具备什么?(nginx可以作为web服务器,但更多的时候,我们把它作为网关,因为它具备网关必备的功能:) 反向代理…

OpenCV中Mat数据结构使用举例

#include "stdafx.h"#include <string>#include <iostream>#include <opencv2/opencv.hpp>using namespace std;using namespace cv;int _tmain(int argc, _TCHAR* argv[]){//创建一个用13j填充的 7 x 7 复矩阵-----1Mat M(7, 7, CV_32FC2, Scalar…

贾扬清加盟AI开发者大会!早鸟票抢购正式开启

整理 | 夕颜硬核 AI 技术大会&#xff0c;一年参加一次就够了。9 月 6日-7 日&#xff0c;2019 AI 开发者大会&#xff08;AI ProCon&#xff09;将在北京富力万丽酒店举行&#xff0c;人工领域技术领袖将再次齐聚一堂&#xff0c;探讨过去一年最新的 AI 技术趋势与变化&#x…

基本控件HyperlinkButton控件

HyperlinkButton控件可用来作为超链接按钮&#xff0c;支持页面导航。 若导航到MainPage.xaml&#xff0c;NavigateUri属性指定单击后导航页面的Uri 若导航到网页&#xff0c;必须同时指定TargetName&#xff0c;否则要报错。 <HyperlinkButton Width"200" Heigh…

江湖又现中科大少年班的传说

作者 | ——&#xff0c;夕颜出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;导读&#xff1a;近日&#xff0c;《日本经济新闻》的一则报道指出&#xff1a;在左右着企业、国家和地区发展的人工智能领域&#xff0c;中科大少年班的人才支撑着中国的发展。中国自动驾…

[JOISC2014]バス通学

[JOISC2014]バス通学 题目大意&#xff1a; 有\(n(n\le10^5)\)个点和\(m(m\le3\times10^5)\)条交通线路。第\(i\)条交通线路可以让你在时间\(x_i\)从\(a_i\)出发&#xff0c;并在\(y_i\)时到达\(b_i\)。\(q(q\le10^5)\)次询问&#xff0c;每次询问若要在时间\(l_i\)到达\(n\)点…

Windows7在Notepad++中配置Python+OpenCV

1、 从http://notepad-plus-plus.org/下载最新的Notepad6.2.1安装&#xff1b; 2、 从http://www.python.org/下载python-2.7.3.msi安装到D:\Python27目录下&#xff0c;并将D:\Python27添加到环境变量Path中&#xff1b; 3、 打开Notepad&#xff0c;按下F5或者运行(R…

virtualenv 在windows下的绿化方法

virtualenv 在windows下的绿化方法测试环境&#xff1a;windows 7 32 en Python 2.7.3setuptools-0.6c11.win32-py2.7virtualenv-1.9.1-with-pip-1.3.11. f:\> virtualenv my2. 编辑 my/Scripts/activate.bat 前几行中设置VIRTUAL_ENV的那条语句&#xff0c;改为set VIRTUA…

当谈论迭代器时,我谈些什么?

作者 | 樱雨楼编辑 | 豌豆花下猫转载自python猫&#xff08;ID:python_cat&#xff09;导语&#xff1a;之前说过&#xff0c;我对于编程语言跟其它学科的融合非常感兴趣&#xff0c;但我还说漏了一点&#xff0c;就是我对于 Python 跟其它编程语言的对比学习&#xff0c;也很感…

Windows7在Eclipse中配置Python+OpenCV

1. 从http://www.oracle.com/technetwork/java/javase/downloads/jdk-7u2-download-1377129.html下载jdk-7u2-windows-i586.exe&#xff0c;安装到D:\ProgramFiles\Java&#xff0c;并将D:\ProgramFiles\Java\jdk1.7.0_02\bin添加到环境变量中&#xff1b; 2. 从…

Pinterest基于AWS规模化使用Apache Kafka的实践经验

在Pinterest&#xff0c;Apache Kafka被用于为实时流应用程序传输数据、记录日志和可视化监控指标。Pinterest的Kafka托管在AWS上&#xff0c;为了实现复制和高可用性&#xff0c;其安装使用了MirrorMaker和DoctorKafka工具。 Pinterest的技术主管Yu Yang写道&#xff0c;Pinte…

Open×××以及其它IP层×××的完全链路层处理的实现

如果Open也能实现传输模式该有多好&#xff0c;如果基于Open实现的产品能仅仅作为一根昂贵的网线串接在用户网络环境&#xff0c;自动捕获感兴趣流量该有多好&#xff1b;如果它能做到只需要配置一个IP即可工作而无需配置任何路由该有多好。我们知道Open是一个用户态的程序&…

Windows 7 64位机上OpenCV2.4.3的编译、安装与配置

1. 从http://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.4.3/下载OpenCV2.4.3&#xff1b; 2. 将OpenCV-2.4.3.exe放到D:\soft\OpenCV2.4.3文件夹下&#xff0c;解压到当前文件夹下&#xff0c;生成一个opencv文件夹&#xff1b; 3. 下载并安…

有望替代卷积神经网络?微软最新研究提基于关系网络的视觉建模

导语&#xff1a;最近两年&#xff0c;自注意力机制、图和关系网络等模型在NLP领域刮起了一阵旋风&#xff0c;基于这些模型的Transformer、BERT、MASS等框架已逐渐成为NLP的主流方法。这些模型在计算机视觉领域是否能同样有用呢&#xff1f;近日&#xff0c;微软亚洲研究院视觉…

Word 2013无法发布文章到博客园

2018年12月12日突然发现word2013无法发布文章到博客园了&#xff0c; 虽然不常发布博客&#xff0c; 但作为一个强迫症患者&#xff0c; 不折腾好了&#xff0c; 吃肉都不香呀&#xff01; 删除之前的账户&#xff0c; 想重新注册&#xff0c; 居然遇到了灰色对话框&#xff01…