2021年的第一盆冷水:有人说别太把图神经网络当回事儿

图神经网络(GNN)是目前热门的研究方向,但我们是否应把注意力过多地放在这上面?数据科学家 Matt Ranger 从模型的本质、性能基准测试、实践应用等方面陈述了自己的观点。

图神经网络(GNN)是机器学习中最热门的领域之一,在过去短短数月内就有多篇优秀的综述论文。但数据科学家 Matt Ranger 对 GNN 却并不感冒。他认为这方面的研究会取得进展,但其他研究方向或许更重要。

2021年的第一盆冷水:有人说别太把图神经网络当回事儿

博客链接:https://www.singlelunch.com/2020/12/28/why-im-lukewarm-on-graph-neural-networks/

机器之心对这篇博客进行了编译整理,以下是博客内容。

模型的关键是压缩

图经常被认为是一种「非欧几里得」数据类型,但实际上并不是。正则图(regular graph)只是研究邻接矩阵的另一种方式:

2021年的第一盆冷水:有人说别太把图神经网络当回事儿

如上图所示,充满实数的矩阵却被称为「非欧几里得」,这很奇怪。

其实这是出于实际原因。大多数图都相当稀疏,因此矩阵中会包含很多 0。从这个角度看,非零数值非常重要,这让成绩接近于(计算上很难的)离散数学,而不是(容易的)连续、梯度友好的数学。

有了全矩阵,情况会变得容易

如果不考虑物理领域的内容,并假设存在全邻接矩阵,那么很多成绩就会迎刃而解。

首先,网络节点嵌入不再是成绩。一个节点就是矩阵中的一行,因此它本身已经是数字向量。

其次,所有网络预测成绩也都被解决。一个足够强大且经过良好调整的模型将只提取网络与附加到节点上的目标变量之间的全部信息。

NLP 也只是一种花哨的矩阵压缩

让我们把目光从图转移到自然说话处理(NLP)领域。大多数 NLP 成绩都可以看成图成绩,所以这并不是题外话。

首先,像 Word2Vec、GloVe 这类经典词嵌入模型只进行了矩阵分解。

GloVe 算法鉴于词袋(bag of words)矩阵的一种变体运行。它会遍历句子,并创建一个(隐式)共现图,图的节点是词,边的权重取决于这些单词在句子中一同出现的频率。之后,Glove 对共现图的矩阵表示进行矩阵分解,Word2Vec 在数学方面是等效的。

说话模型也只是矩阵压缩

NLP 中许多 SOTA 办法都离不开说话模型。以 BERT 为例,BERT 鉴于语境来预测单词:

2021年的第一盆冷水:有人说别太把图神经网络当回事儿

这就使我们正在分解的矩阵从词对共现发展为鉴于句子语境的共现:

2021年的第一盆冷水:有人说别太把图神经网络当回事儿

我们正在培养待分解的「理想矩阵」。正如 Hanh & Futrell 所说:

人类说话和说话建模具有无限的统计复杂度,但可以在较低层次上得到很好地近似。这一观察结果有两层含义:

我们可以利用相对较小的模型获得不错的结果;

扩大模型具备很大潜力。

说话模型解决了很大的成绩空间,以至于从柯氏复杂性(Kolmogorov Complexity)角度来看,它们可能近似压缩了整个说话。庞大的说话模型可能记住了很多信息,而不是压缩信息。

我们能像说话模型一样对任意图施行上采样吗?

实际上,我们已经在做了。

我们将图的「一阶」嵌入称为通过直接分解图的邻接矩阵或拉普拉斯矩阵(Laplacian matrix)来运行的办法。只要利用拉普拉斯特征映射(Laplacian Eigenmap)或采用拉普拉斯的主要组成部分进行图嵌入,那它就是一阶办法。类似地,GloVe 是词共现图上的一阶办法。我最喜欢的图一阶办法之一是 ProNE,它和大多数办法一样有效,但速度快了一个数量级。

高阶办法嵌入了原始矩阵和邻居的邻居连接(第二阶)以及更深的 k 步连接。GraRep 表明,通过扩展图矩阵可以鉴于一阶办法生成高阶表示。

高阶办法是在图上施行的上采样。鉴于大型邻域采样的 GNN 和 node2vec 等随机游走办法施行的是高阶嵌入。

性能增益在哪儿?

过去 5 年中,大多数 GNN 论文的实验数据对从业者选择要利用的模型都是无用的。

正如论文《Open Graph Benchmark: Datasets for Machine Learning on Graphs》中所写的那样,许多 GNN 论文鉴于一些节点数为 2000-20,000 的小型图数据集进行实验(如 Cora、CiteSeer、PubMed)。这些数据集无法真正地区分不同 GNN 办法之间的区别。

近期的一些研究开始直接解决这一成绩,但是为什么研究者这么长时间一直在小型、无用的数据集上做实验呢?这个成绩值得讨论。

性能和任务有关

一个令人震惊的事实是,尽管说话模型在大量 NLP 任务中达到最优性能,但如果你只是把句子嵌入用于下游模型,那么从说话模型嵌入中获得的性能增益并不比累加 Word2Vec 词嵌入这类简单办法要多。

类似地,我发现对于很多图而言,简单的一阶办法在图聚类和节点标签预测任务中的性能和高阶嵌入办法差不多。事实上,高阶办法还消耗了大量算力,造成了浪费。

此类一阶办法包括 ProNE 和 GGVec(一阶)。

高阶办法通常在链接预测任务上有更好的表现。

有趣的是,链接预测任务中的性能差距对于人工创建的图而言是不存在的。这表明,高阶办法的确能够学习到现实图的某种内在结构。

就可视化而言,一阶办法表现更好。高阶办法的可视化图可能会出现伪影,例如 Node2Vec 可视化会有长丝状的结构,它们来自较长单链随机游走的嵌入。高阶办法和一阶办法的可视化对比情况参见下图:

2021年的第一盆冷水:有人说别太把图神经网络当回事儿

最后,有时候简单的办法能够打败高阶办法。成绩在于我们不知道什么时候一类办法优于另一类办法,当然也不知道其原因。

不同类型的图在被不同办法表示时反应有好有坏,这背后当然是有原因的。但这目前仍是个开放性成绩。

这其中的一大因素是研究空间充斥了无用的新算法。原因如下:

学术动机阻碍进步

愤世嫉俗者认为机器学习论文是通过以下方式炮制的:

利用已有的算法;

增加新的层 / 超参数,用数学形式描述其重要性;

对超参数施行网格搜索,直到该新办法打败被模仿的那个基线办法;

绝不对在「实验结果」部分中进行对比的办法施行网格搜索;

给新办法起个不错的缩写名称,不公布 Python 2 代码。

我不是唯一一个对当前可复现研究持此观点的人。至少近两年情况好了一点。

所有进展都关乎实际成绩

早在四十多年前,我们就已经知道如何训练神经网络了,但直到 2012 年 AlexNet 出现,神经网络才出现爆炸式发展。原因在于实现和硬件都发展到了一个节点,足以使深度学习应用于实际成绩。

类似地,至少 20 年前,我们就已经知道如何将词共现矩阵转换为词嵌入。但词嵌入技术直到 2013 年 Word2Vec 问世才出现爆发式发展。其突破点在于鉴于 minibatch 的办法允许在商用硬件上训练 Wikipedia 规模的嵌入模型。

如果只花费数天或数周时间在小规模数据上训练模型,那么这个领域的办法很难取得进步。研究者会失去探索新办法的动力。如果你想取得进展,你必须尝试在商用硬件上以合理时间运行模型。谷歌的初始搜索算法最开始也是在商用硬件上运行的。

效率更重要

深度学习研究的爆发式发展离不开效率的提升,以及更好的软件库和硬件支持。

模型架构没那么重要

今年更加重要的一篇论文是 OpenAI 的《Scaling Laws for Neural Language Models》。这篇文章指出,模型中的原始参数数量是对整体性能最具预测性的特征。最初的 BERT 论文也指出了这一点,并推动了 2020 年大规模说话模型的迅速增加。

这一现实呼应了 Rich Sutton 在《苦涩的教训 (https://mp.weixin.qq.com/s/B6rnFLxYe2xe5C5f2fDnmw)》一文中提出的观点:

利用算力的一般办法最终是最有效的办法。

Transformer 可能也在替代卷积,正如知名 YouTube 博主 Yannic Kilcher 所说,Transformer 正在毁掉一切。它们可以和图网络结合,这也是最近几年出现的办法之一,而且在基准测试中表现出色。

研究者似乎在架构方面投入了太多精力,但架构并没有那么重要,因为你可以通过堆叠更多层来近似任何东西。

效率的胜利是伟大的,而神经网络架构只是实现这一目标的方式之一。在架构方面投入过多的精力,只会使我们错过其他方面的巨大收益。

当前的图数据结构实现太差劲了

NetworkX 是一个糟糕的库。我是说,如果你正在处理一些微小的图,该库表现还 OK。但如果处理大规模的图任务,这个库会令你抓狂且迫使你重写所有的东西。

这时,多数处理大规模图任务的用户不得不手动滚动一些数据结构。这很难,因为你的计算机内存是由 1 和 0 组成的一维数组,并且图没有明显的一维映射。

这类情况在我们更新图(如增加 / 移除节点 / 边沿)时会变得更加困难。以下提供了几个替代选择:

分离的指针网络

NetworkX 就是最好的示例。每个节点对象都包含指向其他节点的指针列表(节点边沿),其部署就像链表一样。

链表完全违背了现代计算机的设计方式。它从内存中读取数据非常慢,但在内存中的运行速度却很快(快了两个数量级)。在这类部署中,无论何时做任何事情,你都需要往返 RAM。这在设计上就很慢,你可以利用 Ruby、C 或者汇编说话编写,但还是很慢,这是因为硬件上的内存读取速度就很慢。

这类部署的主要优势在于其增加了新节点 O(1)。所以如果你在维护一个庞大的图,并且增加和移除节点的频率与从图中读取数据的频率相同,则这类部署挺适合的。

另外一个优势是这类部署可以「扩展」。这是因为所有数据彼此之间可解耦,所以你可以将这类数据结构放置在集群上。但实际上,你正在为自身成绩创造一个复杂的解决方案。

稀疏邻接矩阵

稀疏邻接矩阵非常适合只读(read-only)图。我在自己的 nodevectors 库中将它作为后端利用,很多其他的库编写者利用 Scipy CSR Matrix。

最流行的部署是 CSR 格式,你可以利用 3 个数组来保存图,分别用于边沿终点、边沿权重和「索引指针」,该指针说明边沿来自哪个节点。

此外,得益于 CSR 的 3 数组部署,它可以在单个计算机上进行扩展:CSR 矩阵可以放置在磁盘上,而不用放在内存中。你只需要对 3 个数组施行内存映射,并在磁盘上利用它们。

随着现代 NVMe 驱动器的出现,随机搜索速度不再那么慢了,要比扩展鉴于链表的图时进行分布式网络调用快得多。但这类表征存在的成绩是:增加一个节点或边沿意味着重建整个数据结构。

Edgelist 表征

这类表征具有 3 个数组:分别用于边沿源、边沿终点和边沿权重。DGL 包在其内部利用的正是这类表征。其简单、紧凑的部署非常适合分析利用。

与 CSR 图相比,该表征的成绩在于某些寻轨操作(seek operation)速度较慢。假设你要找出节点#4243 的所有边沿,则如果不维护索引指针数组,就无法跳转到那里。

因此,你可以保持 sorted order 和二分搜索 (O(log2n)) 或 unsorted order 和线性搜索 (O(n))。

这类数据结构也可以在内存映射的磁盘阵列上利用,并且在 unsorted 版本上节点增加速度很快(在 sorted 版本上运行缓慢)。

全局办法是条死胡同

一次性处理整个图的办法无法利用算力,因为它们达到一定规模就会把 RAM 耗尽。

因此,任何想要成为新标准的办法都要能对图的各个部分进行逐个更新。

鉴于采样的办法

未来,采样效率将变得更加重要。

Edgewise 局部办法。我所知道的能做到这一点的算法只有 GloVe 和 GGVec,它们通过一个边列表,并在每一步上更新嵌入权重。这类办法的成绩在于,它们很难应用于更加高阶的办法。但其优点也很明显:很容易进行扩展,即使是在一台计算机上也不例外。此外,逐渐增加新的节点也很简单,只需要获取现有的嵌入,增加一个新节点,然后在数据上施行一个新的 epoch。

随机游走采样。采用这一办法的包括 deepwalk 及相关的后续工作,通常用于嵌入而不是 GNN 办法。这在计算上可能非常昂贵,增加新节点也很困难。但它是可以扩展的,Instagram 就用它来为自己的推荐系统提供信息。

邻接采样。这是目前 GNN 中最普遍的一种采样办法,低阶、高阶都适用(取决于 neighborhood 的大小)。它的可扩展性也很好,尽管很难高效施行。Pinterest 的推荐算法用的就是这类办法。

结论

这里有几个有趣的成绩:

图类型和图办法之间是什么关系?

统一的基准测试,如 OGB。

我们把随机的模型扔给随机的基准,却不知道为什么或者什么时候它们表现得更好。

更基础的研究。我很好奇:其他表示类型(如 Poincarre 嵌入)能否有效地编码定向关系?

另一方面,我们不应该再专注于增加新的层,并在相同的小型数据集上进行测试。没人在乎这个。

这篇博客在 Reddit 上引发了一些讨论,详情参阅:https://www.reddit.com/r/MachineLearning/comments/kqazpd/d_why_im_lukewarm_on_graph_neural_networks/

Powered by Froala Editor

原创文章,作者:机器之心,如若转载,请注明出处:https://www.iaiol.com/news/2021-nian-de-di-yi-pen-leng-shui-you-ren-shuo-bie-tai-ba-tu/

(0)
上一篇 2021年 1月 5日 下午2:28
下一篇 2021年 1月 5日 下午2:48

相关推荐

  • 中科大吴枫获IEEE CAS最高荣誉奖项,11位学者获ACM四大手艺奖项

    5 月 24 日,IEEE 电路与体系(CAS)学会将 2021 年度 IEEE CAS Mac Van Valkenburg 奖授予中国科学手艺大学吴枫教授,以表彰他对「多媒体非均匀编码和通信的孝敬」,时隔不久,5 月 26 日,计算机协会(Association for Computing Machinery)宣布了四项著名手艺奖的获得者。

    2021年 5月 27日
  • 科研产业即将迎来AI赋能拐点

    「机器之心2021-2022年度AI趋势大咖说」聚焦「驱动未来的AI技术」与「重塑产业的AI科技」,推出线上分享,共邀请近40位AI领域知名学者、产业专家及企业高管通过主题分享及多人圆桌等形式,与行业精英、读者、观众共同回顾 2021年中的重要技术和学术热点,盘点AI产业的年度研究方向以及重大科技突破,展望2022年度AI技术发展方向、AI技术与产业科技融合趋势。

    2022年 7月 22日
  • 最高奖金50万,腾讯云开发技能峰会·公益编程挑战赛报名开启

    技能正给公益带来更多可能。

    2022年 3月 6日
  • 数仓架构的持续演进与发展 — 云原生、湖仓一体、离线及时一体、SaaS模式

    数据仓库概念从1990年提出,经过了四个主要阶段。从最初的数据库演进到数据仓库,到MPP架构,到大数据时代的数据仓库,再到今天的云原生的数据仓库。在不断的演进过程中,数据仓库面对着不同的挑衅。

    2021年 8月 11日
  • “中关村智用人工智能同伴设计”报名已开放,八大效劳助力AI落地

    中关村智用人工智能同伴设计”(简称设计)报名已于2021年3月1日正式开放(报名链接:http://aizgc.org.cn/#/zhiyong/friend),并得到了人工智能财产各界的关注。某AI企业结合创始人李先生谈起同伴设计来满脸兴奋,据他介绍:同伴设计给他的创业带来了新的曙光,此前他的公司虽然拥有先进的手艺,但在寻找落地场景的道路上却一直坎坷,人脸识别等常识性使用场景已经是一片红海,想寻找手艺落地的蓝海场景,却又因为团队成员大都是信息手艺出身,对其他行业了解不多,既不知道哪些行业可能是潜在用户,即使知道,

    2021年 3月 29日
  • 迈向模仿人脑的光电芯片:对一位热衷于改进 SNN 的 NIST 钻研人员的采访

    cIEEE Spectrum 近来与美国国家标准与技术钻研院(NIST)的物理学家 Jeffrey Shainline 从事了交谈,他的工作可能会对这个问题有所启发。Shainline 在钻研一种可以为高级形式的人工智能提供支持的计算方法——所谓的脉冲神经网络(spiking neural networks,SNN),与现在广泛部署的人工神经网络相比,它更接近地模仿大脑的工作方式。今天,主流的模式是运用在数字计算机上运行的软件来创建具有多层神经元的人工神经网络。这些「深度」人工神经网络已被

    2022年 4月 24日
  • DataWorks赋能企业一站式数据开发处置本领

    简介: 企业大数据技术发展至今,历经了两次演变。第一次演变从最初的“小作坊”解决大数据问题,到后来企业用各种大数据技术搭建起属于自己的“大平台”,通过平台化的本领实现数据生产力的升级。 第二次演变让大数据从“大平台”向“矫捷制造”的开发范式演进。在2021阿里云峰会上,阿里巴巴集团副总裁、阿里云智能算计平台事业部高级研究员贾扬清发布基于DataWorks的一站式大数据开发处置的平台,就是这个演变最好的佐证。

    2021年 9月 29日
  • baidu研究院RAL团队登顶nuScenes三维方向检测公开挑战赛榜单

    随着主动驾驭技能在不同场景下的持续落地,方向检测作为其中的一项核心模块,对检测算法的精度和稳定性要求越来越高。近日,在国际机器人技能与主动化会议(ICRA 2021)举办的第四届nuScenes三维方向检测挑战赛中,来自baidu研究院的机器人与主动驾驭实验室(RAL)团队在三维物体检测任务的多项评价方向中荣获第一,并将关键方向nuScenes Detection Score (NDS)从上一届的71.4%提高至74.9%,刷新了三维方向检测比赛成绩。ICRA2021 nuScenes三维物体检测挑战赛官方排行榜榜单地址

    2021年 6月 23日
  • 无需训练,主动扩大的视觉Transformer来了

    来自德克萨斯大学奥斯汀分校、悉尼科技大学和谷歌的研讨者提出了一个无需训练就能主动扩大框架 As-ViT,其能以高效和有原则的方式主动发现和扩大 ViT。

    2022年 4月 10日
  • ACL 2021 | 腾讯AI Lab、港中文杰出论文:用单语影象实现高功能NMT

    在 ACL 2021 的一篇杰出论文中,研讨者提出了一种基于单语数据的模型,功能却优于运用双语 TM 的「TM-augmented NMT」基线格式。自然语言处理(NLP)领域顶级会议 ACL 2021 于 8 月 2 日至 5 日在线上举行。据官方数据, 本届 ACL 共收到 3350 篇论文投稿,其中主会论文录用率为 21.3%。腾讯 AI Lab 共入选 25 篇论文(含 9 篇 findings)。在不久之前公布的获奖论文中,腾讯 AI Lab 与香港中文大学合作完成的《Neural Machine Tra

    2021年 8月 5日

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注