|
2020-07-30 19:07:22
深度学习的一大特点就是使用的神经网络具有几十层甚至数百层。与之形成鲜明对比的是,大多数用于图深度学习的架构都很“浅”,只有少量的层。在本文中,作者提出了一个看上去有些离经叛道的问题:图神经网络架构的深度能否带来任何优势?
本文最初发表于 TowardsDataScience 博客,经原作者 Michael Bronstein 授权,InfoQ 中文站翻译并分享。

今年,图深度学习成为机器学习领域 炙手可热的话题之一。然而,那些习惯于想象卷积神经网络具有数十层甚至数百层的人,如果看到大多数关于图深度学习的工作最多只用了几层的话,他们会不会感到深深的失望呢?“深度图神经网络”一词是否被误用了?我们是否应该套用经典的说法,思考深度是否应该被认为对图的学习 是有害的?
训练深度图神经网络是一个难点。除了在深度神经结构中观察到的标准问题(如反向传播中的梯度消失和由于大量参数导致的过拟合)之外,还有一些图特有的问题。其中之一是过度平滑,即应用多个图卷积层后,节点特征趋向于同一向量,变得几乎无法区分的现象【1】。这种现象最早是在 GCN 模型【2】【3】中观察到的,其作用类似于低通滤波器【4】。
最近,人们致力于解决图神经网络中的深度问题,以期获得更好的性能,或许还能避免在提到只有两层的图神经网络时使用“深度学习”这一术语的尴尬。典型的方法可以分为两大类。首先,使用正则化技术,例如边 dropout(DropEdge)【5】、节点特征之间的成对距离归一化(PairNorm)【6】,或节点均值和方差归一化(NodeNorm)【7】。其次,架构变化,包括各种类型的残差连接(residual connection),如跳跃知识【8】或仿射残差连接【9】。虽然这些技术允许训练具有几十层的深度图神经网络(否则很难,甚至不可能),但它们未能显示出显著的收益。更糟糕的是,使用深度架构常常会导致性能下降。下表摘自【7】,显示了一个典型的实验评估,比较了不同深度的图神经网络在节点分类任务上的表现:

该图显示了深度图神经网络结构在 CoauthorsCS 引文网络上的节点分类任务中的典型结果。随着深度的增加,基线(具有残差连接的 GCN)表现不佳,性能从 88.18% 急剧下降到 39.71%。使用 NodeNorm 技术的架构随着深度的增加表现一直良好。然而,当深度增加时,性能下降(虽然不明显,从 89.53% 下降到 87.40%)。总的来说,通过 64 层的深度架构获得的最佳结果(87.40%),逊于简单基线(88.18%)。另外,还可以观察到 NodeNorm 正则化提高了浅 2 层架构的性能(从 88.18% 提高到 89.53%)。上表摘自【7】(所示为每个类 5 个标签的情况;该论文中研究的其他设置也表现出了类似的行为)。类似的结果在【5】和其他几篇论文中也有显示。
从这张表中可以看出,要将深度架构带来的优势与训练这样一个神经网络所需的“技巧”区分开来很困难。实际上,上例中的 NodeNorm 还改进了只有两层的浅层架构,从而达到了最佳性能。因此,在其他条件不变的情况下,更深层次的图神经网络是否会表现得更好,目前尚不清楚。
这些结果显然与传统的网格结构化数据的深度学习形成了鲜明的对比,在网格结构化数据上,“超深度”(ultra-deep)架构【10】【11】带来了性能上的突破,并在今天得到了广泛的使用。在下文中,我将尝试提供一些指导,以期有助回答本文标题提出的“挑衅性”问题。需要注意的是,我本人目前还没有明确的答案。
图的结构 。由于网格是一种特殊的图,因此,肯定有一些图的例子,在这些图上,深度是有帮助的。除网格外,表示分子、点云【12】或网片【9】等结构的“几何”图似乎也受益于深度架构。为什么这样的图与通常用于评估图神经网络的引用网络(如 Cora、PubMed 或 CoauthsCS)有如此大的不同?其中一个区别是,后者类似于具有较小直径的“小世界jnJ3WV6"&"GGj&疺k{0Brn惚bBr'R>+r'R(Zn{<怘ńCzs2G"crv(Z2Dn"rИ
BG?3CCИ(ns
jF#2Vv,=MИabC*?>CzC(@D(Snsj6+nGv惎,1h!`4]И'
8z/1P:(@D(7npńG&.r'jkf,9ЁP5Иarn"zCvn{P
8:&(@D(sjN#>+{?,eИaknsj:/g"_Kz/j(@D(ńBGnsj*
,ɑI'ИA%
1KbC78jwj?rcCn(@D(AńB98j,99i0И%
1K>C
^j"Cw32Xb3C6W
(@D(nsjr'V#[V,i'Иa(@D(r'~jn惎,хa'И%
50(@D(nsjB,'И
YAK(@D+nj6,M镝'И
YAK(@G+~;/惞jn",!'И
YAK(@D(
8ń8
98B\,
9
9
991'%
[bCGV6j(@DJ0e*
SVn*
>_js2nt @ 'r(nsjG,[#2:И%
1K J0ek3S"Cn2[^`Vn98G:jCv{"3b:/(@DJ3B#F_>G6{s>_;j6kZj?v
98z/r_r'Rj>G8ИYIJ0%j>_;V{*jzs3{*r:zz>_;k2BVnr&b?&&jZ2B&r'j? '"":>_;^crgb;j>_;;cj"*bjRn+bK?j(@D(~;sj^BGn/j惎,,5'И%)
9;nsr"Cn6W6'j:(@DH98']1nT(]1>cńCnVJ3nn,]1'Иa>+(ns_CzB\,Ё
'Иa(@D(Bnsr惖n&Gj,хх0 HeИ9%AOb;kbVj惖nrkj9;(@D(59Иń;`r'BGns,9
95,=44 Иa(@D(knzV>Ccnsj*o, 'Иa(@D(M%8ń&j"w/ns,8I'Иa(@D(ns,M'惞SIIх1bC6Wj98z/7vj98z/j(ń( VnfVg: nf惞SQ$r惒SFcVgkJ3*W |