前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ICLR 2020 | 如何让图卷积网络变深?腾讯AI Lab联合清华提出DropEdge

ICLR 2020 | 如何让图卷积网络变深?腾讯AI Lab联合清华提出DropEdge

作者头像
机器之心
发布2020-04-14 15:16:16
3900
发布2020-04-14 15:16:16
举报
文章被收录于专栏:机器之心机器之心

机器之心发布

机器之心编辑部

近年来,图神经网络的研究异常火爆,被各大顶会录取的文章数量爆炸式增长。然而,目前大部分图卷积网络,尤其是面向节点分类的网络,都是浅层网络。这些模型分类效果往往随着深度加深而变差(即使使用残差连接),这与用于图片分类的卷积网络动辄超过几十层的现象很不一致。图卷积神经网络变深之后难以训练的现象严重制约了其表达能力。所以,如何有效的训练超深图卷积网络是图学习研究的一个重大挑战。这项工作由腾讯 AI Lab 与清华大学合作完成。

腾讯 AI Lab 和清华大学的这项研究表明,图神经网络无法做深由两个原因造成:过拟合 (Overfitting) 和过平滑(Oversmoothing)。为了解决这两个问题,文章提出了一种简洁但非常有效的方法:随机删边技术,DropEdge,极大提升了超深图卷积网络的训练效率和节点分类效果。值得注意的是,文章投稿到 openreview 的时候就引来了众多研究同行的关注。文章正式被接收后,图灵奖获得者 Yoshua Bengio 的团队成员 Petar Veličković(注意力图网络 GAT 的发明者)在 openreview 平台上也给与了关注与好评。

  • 论文地址:https://openreview.net/forum?id=Hkx1qkrKPr
  • 代码地址:https://github.com/DropEdge/DropEdge

引言

图神经网络(GNN)在近年取得了长足的发展。非常多的图神经网络的模型,例如图卷积神经网络(GCN),图注意力网络(GAT)等,在各种图学习的应用上都取得了非常不错的结果。但是,现在大部分的图卷积网络结构,其实都是浅层的(两层)。这种浅层网络极大的限制了图卷积网络的表达能力。最近,基于卷积神经网络里面的经验,有一些对图卷积网络做深的模型修改尝试。但是这些工作并没有真正去分析为什么图卷积网络很难做深以及去解释模型修改在图卷积网络里面是有效的。

这篇论文希望能够对图卷积网络不能做深这一问题得到一个完善的理论分析;并且基于理论的结果,寻找到可以解决深度图卷积网络训练的问题:过拟合 (Overfitting) 和过平滑(Oversmmothing)。在这里,过拟合指的是使用复杂模型去拟合少量数据的时候造成的泛化能力变差的情况。过拟合的现象在深度学习模型中是广泛存在的。

而过平滑则是指在图神经网络消息传递过程中,所有节点的输入特征会收敛到一个和输入无关的子空间的过程。这一过程会导致输入 GCN 的特征失效并造成梯度消失。过平滑是 GCN 模型特有的问题,它造成了深层图神经网络的训练困难。

下图的虚线部分是原始的 4 层和 8 层 GCN 在 Cora 数据集上的训练曲线(这里为了更好展示过拟合和过平滑,取消了 GCN 层中的 bias),可以看到,在 GCN-4 上,验证集 (Validation Set) 的损失函数在训练经过一定轮数后反向增长。这个增长是优于过拟合。而在 GCN-8 上,训练集 (Training Set) 上的损失函数则根本没有下降,这是因为过平滑的存在,导致 GCN-8 上训练失效。

文章定义了一个 subspace 和-smoothing 的概念去刻画过平滑这一现象。具体地,

其中为一个 GCN 层。是正则化后的邻接矩阵,为当前层参数。通过将过平滑的收敛目标定义为一个子空间而非一个固定点,-smoothing 可以刻画包含非线性激活函数和参数矩阵的 GCN。

DropEdge

本质上,减缓过平滑的影响就是要去增加-smoothing layer 的层数,以及减少收敛到子空间

的信息损失。基于此,文章设计了一种非常简单但是有效的方法 DropEdge。在每轮训练的时候,DropEdge 会随机去掉输入的图上的边,即会将邻接矩阵

的非零元素置 0,

是删边概率。如果用

表示 DropEdge 后的邻接矩阵,则

是被去掉的边的邻接矩阵。在得到

后,对其进行正则化得到

代替

进行计算。

基于 relaxed -smoothing layer 的定义,文章证明了经过 DropEdge 后的邻接矩阵

在进行 GCN 计算中可以减弱过平滑对模型的影响,即:

这种随机删边技术,可以看作是 Dropout 在图结构上的推广:Dropout 是通过丢掉特定的特征来实现模型内部的 Ensemble,而 DropEdge 则是通过丢掉边来实现 GNN 的 Ensemble,所以 DropEdge 也有防止 Overfitting 的作用。有趣的是,这种防止 Overfitting 的作用可以和 Dropout 一起使用来防止模型过拟合。同时,DropEdge 作为一个前处理的步骤,可以和任意 GNN 方法结合,具有非常强的普适性。

从图 1 可以看出,在加了 DropEdge 后,GCN-4 在验证集的损失函数不再升高,而 GCN-8 可以成功进行训练,得到下降的损失函数。这验证了 DropEdge 可以在防止过拟合和过平滑两个方面提升深层 GNN 的训练效率和模型效果。

为了进一步验证这一简单方法的有效性,文章在不同模型,不同层数,不同数据集上进行了大量的实验,可以看到不同模型添加 DropEdge 可以显著提升节点分类任务的效果:

同时,在四个数据集上,添加 DropEdge 后均可以超过现有的 STOA 模型,值得注意的是,大部分的结果都是在大于等于 4 层图神经网络上得到的。

另外,下表也展示了 Dropout 和 DropEdge 在减弱过拟合上的协同效果:

总而言之,这篇文章提出了一个新颖且有效的方法 DropEdge 来提高深度图卷积网络训练效率和在节点分类任务上的性能。DropEdge 具有很好的通用性可以很方便地应用到已有的图卷积网络的架构中。更重要的是,文章给出了图卷积网络训练过程中遇到的过平滑现象详细严谨的理论描述,这为未来研究人员进行深度图神经网络的研究提供了非常重要的指导意义。

本文为机器之心发布,转载请联系本公众号获得授权。

✄------------------------------------------------

加入机器之心(全职记者 / 实习生):hr@jiqizhixin.com

投稿或寻求报道:content@jiqizhixin.com

广告 & 商务合作:bd@jiqizhixin.com

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-04-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机器之心 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档