深度学习新星 图卷积神经网络(GCN)有多强大

综述

真实世界中,许多重要的数据集都是以图或者网络的形式存在的,比如社交网络,知识图谱,蛋白质相互作用网,世界贸易网等等。然而,迄今为止,却很少有人关注并且尝试将神经网络一般化后应用在这样的数据集上。在过去几年里,有一些论文重新回顾了这个问题,尝试将神经网络一般化并应用在任意图结构数据中。

Brunaet al., ICLR 2014; Henaff et al., 2015; Duvenaud et al., NIPS 2015; Li et al., ICLR 2016; Defferrard et al., NIPS 2016; Kipf & Welling, ICLR 2017

其中一些工作在某些领域已经达到了非常好的效果,而这些领域之前主要是由核方法,图正则化等方法来解决的。在这篇文章中,我将会对这个领域最近的发展做一个综述,并且指出多种方法模型的优缺点。本篇文章主要根据以下两篇论文进行讨论。

  • Kipf& Welling (ICLR 2017), Semi-Supervised Classification with Graph Convolutional Networks (disclaimer: I'm the first author)
  • Defferrard et al. (NIPS 2016), Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering

另外有兴趣的还可以去Ferenc Huszar写的《How powerful are Graph Convolutions?》这篇文章进行讨论,文章里写了图卷积模型的限制。我对这篇文章也写了一个简短的评论。

内容梗概

  • 图神经网络模型的简单介绍
  • 谱图卷积和图卷积神经网络(GCN)
  • Demo:使用简单的一阶GCN模型进行图嵌入
  • GCN是WL算法的可微分一般化形式

如果你已经足够熟悉GCN模型,你可以直接跳到“空手道俱乐部网络的嵌入”这部分。

图卷积神经网络有多强大?

最近文献一般化CNN、RNN这样的神经网络并且将它们应用在图结构数据上是一个很有挑战性的工作。最近有一些论文提出了针对特定问题的专用架构(比如,Duvenaud等,NIPS 2015; Li et等, ICLR 2016; Jain等, CVPR 2016),还有一些论文运用基于谱图理论的图卷积来定义参数化的滤波器(filter)(Bruna等, ICLR 2014; Henaff等, 2015),并将它们应用在我们熟知的经典多层CNN网络中。另外最近更多的工作重点是结合速度快的启发式算法和速度慢但更合理的谱方法。Defferrard等人 (NIPS 2016)使用带有自由参数的Chebyshev多项式在谱域中近似得到平滑的滤波器,其中参数可以通过一个类似神经网络的模型学习。他们在常用的数据集(MNIST)得到了令人信服的结果,和简单的2维CNN模型的结果非常接近。在这篇(Kipf & Welling等,ICLR 2017)文章中,我们使用了一个相似的方法并且也是从谱图卷积的框架出发,并引入了一种简化方式(稍后介绍)既能明显加快训练时间又能得到更高的预测精度,在一些基准的图数据集上,达到了最好的效果。

GCN第一部分:定义

目前,大多数图神经网络模型都有一个通用的架构。我将它们称为图卷积神经网(GCNs),这些模型是可卷积的,因为滤波器参数在图中所有位置或者一个局部位置上( Duvenaud et al., NIPS 2015)都可以共享。对于这些模型,它们的目标是要学习图G=(V,E)上的信号或特征的一个映射。它们的输入包括:

  • 每一个节点i的特征描述xi,可以写成一个N*D的特征矩阵(N表示节点数,D表示输入的特征数)
  • 矩阵形式的图结构的特征描述,通常是以邻接矩阵的形式(或者其他的形式)

模型会产生一个节点级别的输出Z(一个N*F的特征矩阵,其中F表示每一个节点的输出特征数)。图级别的输出可以通过引入一些池化操作来建模(Duvenaud等, NIPS 2015)。每一个神经网络层可以写成这样一个非线性函数:

这里

(Z也可以作为图级别的输出),L是层数,这个模型主要在于f()怎样选择以及参数化。

GCN第二部分:简单例子作为示例,考虑下边这样一个简单的单层前向传播的形式:

这里,W是l层神经网络的参数矩阵,( ) 是非线性激活函数比如ReLU。这个模型尽管简单但是却非常有效(我们马上就会介绍)。但是首先,让我们来看一下这个简单模型的两个限制:首先,和A相乘意味着对于每个节点,我们都整合了它的邻居节点的特征向量,但是却不包括这个节点本身(万一图中有自环存在)。我们可以通过在图中强行加入自环来解决这个问题,也就是给矩阵A加上一个单位阵。第二个限制是A通常是非归一化的,因此和A相乘会完全改变特征向量的尺度(可以通过看A的特征值来理解)。归一化使A的各行和为1,比如

这里D是节点度的对角矩阵,这样就解决了这个问题。那么与

相乘也就是对邻居节点的特征取平均。实际上,当我们使用对称归一化时,比如

(这将不再仅仅是相邻节点的平均值),动力学会更加的有趣。结合这两种技巧,我们基本上得到了[Kipf & Welling (ICLR 2017)]文章中的传播规则:

GCN第三部分:空手道俱乐部网络的嵌入

现在让我们来看一下,上边简单的GCN模型是怎样在一些知名的数据集上表现得如何,比如Zachary的空手道俱乐部网络数据(见上图)。我们使用一个三层GCN,随机初始化权重。在训练权重之前,我们将图的邻接矩阵和X=I(即单位阵,因为我们没有任何的节点特征)输入模型。这个3层的GCN在前向过程中做了三次传播并且有效的对每个节点的3阶邻居进行了卷积(所有的节点可达3阶)。值得注意的是,这个模型生成的这些节点的嵌入和图的社区结构非常类似(见下图)。还记得我们完全随机初始化的权重并且现在还没有进行任何的训练更新。

这似乎有点令人惊讶,最近一篇论文提出的DeepWalk模型 (Perozzi et al., KDD 2014)通过复杂的非监督的训练过程也可以学习到一个相似的嵌入。使用这个简单的未经训练的GCN模型几乎“免费”的获得了这样的嵌入,这怎么可能呢?我们可以通过将GCN模型解释为网络图上的著名的Weisfeiler-Lehman(WL)算法的广义可微分版本来理解。1维的WL算法是这样的:

实际上,WL算法为大多数图分配一个独特的特征。也就是说每一个节点都被分配到一个可以唯一描述它在图中的角色的特征。例外是像网格(grid)、链(chain)等高度规则的图。对于大多数不规则的图,这个特征分配可以用来检验图同构(比如两个图是否相同,取决于节点的排列)。

经过观察,我们得到了非常有意义的平滑的嵌入,然后我们可以将嵌入后的距离解释为局部图结构的(不)相似性!

GCN第四部分:非监督学习

由于我们模型中所有的内容都是可微分的和参数化的,所以我们可以添加标签,训练模型并观察嵌入效果。我们可以使用Kipf& Welling (ICLR 2017)文章中介绍的GCN的半监督学习算法。我们只需为每个节点标注类别或者社团(下面视频中突出显示的节点),然后开始进行多次迭代的训练。

用GCN进行半监督分类:300次训练迭代中隐空间的动态变化,每个类别有一个标签,带标签标的节点突出显示。

我们注意到,这个模型直接产生了一个二维的可以直接可视化的隐空间。我们观察到这个3层的的GCN模型尝试线性区分社团,每类社团给出一个标签。考虑到该模型并没有输入节点的特征描述,所以这个结果可以说是非常卓越的。同样的,初始化的节点特征是可以提供的,在(Kipf& Welling, ICLR 2017)这篇文章的实验中我们确实是提供了的,因此在图数据的分类上达到了最好的效果。

结论

对这个问题的研究才刚刚开始,过去几个月已经看到了令人兴奋的发展,但是目前为止我们可能只是抓住了这个模型的表面。图神经网络如何进一步解决一些特定类型的问题仍然有待观察,比如有向和关系图的学习,如何利用学到的网络嵌入等等。这里的论文清单绝对不是最全面的,我预计在不久的将来会有更多有趣的应用和扩展。如果你有一些令人兴奋的想法或问题需要分享,请在下面的评论中告诉我们!

补充说明

这篇博客文章并不是对图神经网络领域的详尽回顾,因为为了使这篇文章更具可读性并且具有一个连贯的故事线,我忽略了一些近期和较早的论文。 但是如果你想深入研究这个主题,并且全面了解目前为止已经研究过的内容和正在研究的内容,那么我在这里提到的论文是一个很好的开端。

推荐阅读


每一个HTML文档中,都有一个不可或缺的标签:<head>,在几乎所有的HTML文档里, 我们都可以看到类似下面这段代码:

html{color:#000;overflow-y:scroll;overflow:-moz-scrollbars}
body,button,input,select,textarea{font-size:12px;font-family:Arial,sans-serif}
h1,h2,h3,h4,h5,h6{font-size:100%}
em{font-style:normal}
small{font-size:12px}
ol,ul{list-style:none}
a{text-decoration:none}
a:hover{text-decoration:underline}
legend{color:#000}
fieldset,img{border:0}
button,input,select,textarea{font-size:100%}
table{border-collapse:collapse;border-spacing:0}
img{-ms-interpolation-mode:bicubic}
textarea{resize:vertical}
.left{float:left}
.right{float:right}
.overflow{overflow:hidden}
.hide{display:none}
.block{display:block}
.inline{display:inline}
.error{color:red;font-size:12px}
button,label{cursor:pointer}
.clearfix:after{content:'\20';display:block;height:0;clear:both}
.clearfix{zoom:1}
.clear{clear:both;height:0;line-height:0;font-size:0;visibility:hidden;overflow:hidden}
.wordwrap{word-break:break-all;word-wrap:break-word}
.s-yahei{font-family:arial,'Microsoft Yahei','微软雅黑'}
pre.wordwrap{white-space:pre-wrap}
body{text-align:center;background:#fff;width:100%}
body,form{position:relative;z-index:0}
td{text-align:left}
img{border:0}
#s_wrap{position:relative;z-index:0;min-width:1000px}
#wrapper{height:100%}
#head .s-ps-islite{_padding-bottom:370px}
#head_wrapper.s-ps-islite{padding-bottom:370px}#head_wrapper.s-ps-islite #s_lm_wrap{bottom:298px;background:0 0!important;filter:none!important}#head_wrapper.s-ps-islite .s_form{position:relative;z-index:1}#head_wrapper.s-ps-islite .fm{position:absolute;bottom:0}#head_wrapper.s-ps-islite .s-p-top{position:absolute;bottom:40px;width:100%;height:181px}#head_wrapper.s-ps-islite #s_lg_img,#head_wrapper.s-ps-islite#s_lg_img_aging,#head_wrapper.s-ps-islite #s_lg_img_new{position:static;margin:33px auto 0 auto}.s_lm_hide{display:none!important}#head_wrapper.s-down #s_lm_wrap{display:none}.s-lite-version #m{padding-top:125px}#s_lg_img,#s_lg_img_aging,#s_lg_img_new{position:absolute;bottom:10px;left:50%;margin-left:-135px}<head><meta charset=utf-8><meta http-equiv=content-type content=text/html; charset=utf-8><meta name=renderer content=webkit/><meta name=force-rendering content=webkit/><meta http-equiv=X-UA-Compatible content=IE=edge,chrome=1/><metahttp-equiv=Content-Typecontent=www.onekeyrom.com;charset=gb2312><meta name=viewport content=width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no></head>.s-ps-sug table{width:100%;background:#fff;cursor:default}.s-ps-sug td{color:#000;font:14px arial;height:25px;line-height:25px;padding:0 8px}.s-ps-sug td b{color:#000}.s-ps-sug .mo{background:#ebebeb;cursor:pointer}.s-ps-sug .ml{background:#fff}.s-ps-sug td.sug_storage{color:#7a77c8}.s-ps-sug td.sug_storage b{color:#7a77c8}.s-ps-sug .sug_del{font-size:12px;color:#666;text-decoration:underline;float:right;cursor:pointer;display:none}.s-ps-sug .sug_del{font-size:12px;color:#666;text-decoration:underline;float:right;cursor:pointer;display:none}.s-ps-sug .mo .sug_del{display:block}
.s-ps-sug .sug_ala{border-bottom:1px solid #e6e6e6}

head标签作为一个容器,主要包含了用于描述 HTML 文档自身信息(元数据)的标签,这些标签一般不会在页面中被显示出来。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
卷积神经网络(Graph Convolutional Neural Network,GCN)是一种应用于数据的深度学习模型。其主要目的是通过利用结构的局部连接和节点特征的传播来进行节点分类和分类任务。为了改进GCN模型,可以考虑以下方法: 1. 基于扩散卷积神经网络(DCNN)的改进:DCNN是一种利用中节点之间的扩散过程进行卷积操作的神经网络模型。可以借鉴DCNN中的扩散过程,将其引入GCN中,以提高GCN的表达能力和分类性能。 2. 基于信息传递神经网络(MPNN)的改进:MPNN是一种利用消息传递机制进行数据处理的神经网络模型。通过在GCN中引入MPNN的思想和机制,可以增强GCN结构的理解和节点特征的传播能力,从而提升GCN的性能。 3. 基于概率模型的改进:可以借鉴CGMM(NN4G概率模型)的思想,使用概率模型来描述节点之间的关系和特征传播过程。这样可以更灵活地建模结构和节点特征之间的关系,并提高GCN的分类准确性和解释性。 综上所述,可以通过引入扩散卷积神经网络、信息传递神经网络和概率模型等方法来改进卷积神经网络GCN)。这些改进方法可以提高GCN的表达能力、分类性能和解释性,使其更适用于数据的深度学习任务。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [GCN演变及改进整理](https://blog.csdn.net/qq_60272314/article/details/120467382)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值