http://www.52ml.net/20031.html

【新智元导读】Graph Convolutional Network(GCN)是直接作用于图的卷积神经网络,GCN 允许对结构化数据进行端到端的学习,也即输入可以是任意大小和形状的图。本文介绍 GCN 最新进展,讨论各种方法的优势和缺陷。GCN 未来如何拓展用于解决特定类型的问题,例如学习指示图或关系图,以及怎样用学习的图嵌入更多任务,也值得期待。

现实世界里很多重要的数据集都以图表或网络的形式呈现,例如:社交网络、知识图谱、蛋白质相互作用网络、万维网,等等。然而直到最近,神经网络模型对这些结构化数据集的泛化仍然很少得到关注。

过去几年,很多研究重新思考了推广神经网络用于任意结构化图表的问题(Bruna et al., ICLR 2014; Henaff et al., 2015; Duvenaud et al., NIPS 2015; Li et al., ICLR 2016; Defferrard et al., NIPS 2016; Kipf & Welling, 2016),其中有些已经在某些领域取得了非常不错的结果,而这些领域过去使用基于核函数的方法、基于图的正则化技术或其他方法。

在这篇文章里,我将对这个领域的最新进展作一个简要概述,并指出各种方法的强处和不足。这些讨论主要关注最近的两篇论文:

  • Kipf & Welling (2016), Semi-Supervised Classification with Graph Convolutional Networks (免责声明: 我是这篇的第一作者)
  • Defferrard et al. (NIPS 2016), Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering

以及 Ferenc Huszar 的评论文章:How powerful are Graph Convolutions? 这篇文章讨论了这些类型的模型的一些限制。

图神经网络模型(Neural Network Models on Graphs)简要介绍

图卷积网络有多强大?

推广成熟的神经模型例如RNN或CNN用于任意结构图表是个有挑战性的问题。最近的一些论文,介绍了针对特定问题的架构(e.g. Duvenaud et al., NIPS 2015; Li et al., ICLR 2016; Jain et al., CVPR 2016),还有一些利用谱图理论(Bruna et al., ICLR 2014; Henaff et al., 2015)的图卷积来定义用于多层神经网络模型的参数化滤波器,类似我们熟悉的“经典”CNN。

最近的研究关注缩小快速的启发式算法和较慢、但更有规则性的谱分方法间的差距。Defferrard 等人(NIPS 2016)用神经网络模型学习的自由参数的Chebyshev多项式模拟了谱域的平滑滤波。他们在正则区域(像是MNIST)得到了有说服力的结果,很接近简单2D CNN模型的结果。

Kipf & Welling (2016)的研究采用了类似的方法,从图谱卷积框架开始,介绍了许多情况下能同时显著加快训练时间和提高预测准确度的最简化方法,在许多基准图集上得到了极好的分类结果。

图卷积神经网络(GCN)定义

目前,大多数图神经网络模型都有一个某种程度上通用的普遍框架。我把这些模型称作图卷积网络(Graph Convolutional Networks, GCNs);卷积,是因为滤波器参数通常在图的所有位置中共享(或在其子集,参见 Duvenaud et al. NIPS 2015)。

对这些模型来说,目标是学习图的信号/特征函数G =(V, E),它的输入如下:

  • 对每个节点 i 的特征描述为 xi;概括在特征矩阵 N×D(N:节点数,D:输入特征数)
  • 以矩阵形式对图结构的代表描述;通常以邻接矩阵 A(或其他函数)的形式

然后生成一个节点层的输出 Z(N×F 特征矩阵,F是每个节点输出特征的数量)。图层面的输出可以引入一些池化操作(参见:e.g. Duvenaud et al., NIPS 2015)。

每个神经网络层可以写成一个非线性函数:

H(0) = X 和 H(L) = Z (或在图层面的输出时,z),L表示层数。模型不同的只有怎样选择f(··,·)的参数设定。

图谱卷积和图卷积神经网络

举个例子,让我们看下面这个十分简单的分层优化传播规律:

W(l) 是神经网络 l 层的权矩阵,σ(⋅)是像ReLU这样的非线性激活函数。虽然这个模型非常简单,但它已经是非常强大的。

但让我们先了解这个简单模型的两点局限性:A的增殖意味着对每个节点,我们需要把所有相邻节点的所有特征矢量相加,但不能加上节点本身(除非图上有自回路)。我们可以强迫图执行自回路:在单位矩阵中加上A。

第二个主要的局限是A 通常不是标准化的,所以A的增殖会完全改变特征矢量是规模。标准化A能解决这个问题,例如将所有列归一,即D−1A,D是对角线节点次数矩阵。用D−1A相乘符合相邻节点特征的平均值。在实践中,使用对称标准化,即

这就不仅是相邻节点的平均值,动态性会显得更有趣。把这两个小技巧结合在一起,我们最终得到了 Kipf &Welling(2016) 论文中介绍的传播规律:

其中,I 是单位矩阵,是的对角线节点的度矩阵。

总结

这个课题的研究才刚刚起步。过去几个月里已经能看到令人兴奋的成果,但我们可能才刚刚触及这些类型的表面。图神经网络将怎样应用于解决特定类型的问题,例如,对指示图或关系图的学习,以及怎样用学习的图嵌入更多任务等等。这里列举的还不是全部,我期待在不久的将来有更多人对应用和扩展感兴趣。

Graph 卷积神经网络:概述、样例及最新进展的更多相关文章

  1. PHPCMS中GET标签概述、 get 标签语法、get 标签创建工具、get 调用本系统演示样例、get 调用其它系统演示样例

    一.get 标签概述 通俗来讲,get 标签是Phpcms定义的能直接调用数据库里面内容的简单化.友好化代码,她可调用本系统和外部数据,仅仅有你对SQL有一定的了解,她就是你的绝世好剑!也就是适合熟悉 ...

  2. Pytorch_第十篇_卷积神经网络(CNN)概述

    卷积神经网络(CNN)概述 Introduce 卷积神经网络(convolutional neural networks),简称CNN.卷积神经网络相比于人工神经网络而言更适合于图像识别.语音识别等任 ...

  3. 吴裕雄 python 神经网络——TensorFlow TFRecord样例程序

    import numpy as np import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_dat ...

  4. 2020JAVA最新应对各种OOM代码样例及解决办法

    引言 作者:黄青石 链接:https://www.cnblogs.com/huangqingshi/p/13336648.html?utm_source=tuicool&utm_medium= ...

  5. 基于 SoC 的卷积神经网络车牌识别系统设计(1)概述

    NOTES: 这是第三届全国大学生集成电路创新创业大赛 - Arm 杯 - 片上系统设计挑战赛(本人指导的一个比赛).主要划分为以下的 Top5 重点.难点.亮点.热点以及创新点:1.通过 Arm C ...

  6. tensorflow学习笔记——图像识别与卷积神经网络

    无论是之前学习的MNIST数据集还是Cifar数据集,相比真实环境下的图像识别问题,有两个最大的问题,一是现实生活中的图片分辨率要远高于32*32,而且图像的分辨率也不会是固定的.二是现实生活中的物体 ...

  7. Caffe(卷积神经网络框架)介绍

    Caffe(卷积神经网络框架)Caffe,全称Convolution Architecture For Feature Extraction caffe是一个清晰,可读性高,快速的深度学习框架.作者是 ...

  8. 深度学习之卷积神经网络(CNN)的应用-验证码的生成与识别

    验证码的生成与识别 本文系作者原创,转载请注明出处:https://www.cnblogs.com/further-further-further/p/10755361.html 目录 1.验证码的制 ...

  9. TensorFlow最佳实践样例

    以下代码摘自<Tensor Flow:实战Google深度学习框架> 本套代码是在 http://www.cnblogs.com/shanlizi/p/9033330.html 基础上进行 ...

随机推荐

  1. bzoj 3673 可持久化并查集

    本质上是维护两个可持久化数组,用可持久化线段树维护. /************************************************************** Problem: ...

  2. 20172308《Java软件结构与数据结构》第一周学习总结

    教材学习内容总结 第 1 章 概述 软件质量的特征:正确性.可靠性.健壮性.可用性.可维护性.可重用性(别人写的组件自己可以拿过来用).可移植性.运行效率 数据结构:计算机存储.组织数据的方式 程序 ...

  3. git 用户名和密码保存

    git config --global credential.helper store 输入一次后,后续不再需要输入用户名密码

  4. LPC-Link2 CMSIS-DAP firmware source

    LPC-Link2 CMSIS-DAP firmware source Hi, I'm using the CMSIS-DAP firmware with the LPC-Link2. I'd lik ...

  5. mexHttpBinding协议 【发布元数据终结点】

    我们需要知道很多东西才能使用微软通信基础架构(WCF)来开发应用程序.尽管这本书已经试着囊括普通开发人员需要了解的WCF所有内容,也还是有一些内容没有讨论到.附录的主要目的是填充这些罅隙. 发布元数据 ...

  6. 大数据以及Hadoop相关概念介绍

    一.大数据的基本概念 1.1.什么是大数据 大数据指的就是要处理的数据是TB级别以上的数据.大数据是以TB级别起步的.在计算机当中,存放到硬盘上面的文件都会占用一定的存储空间,例如: 文件占用的存储空 ...

  7. AES加解密算法在Android中的应用及Android4.2以上版本调用问题

     from://http://blog.csdn.net/xinzheng_wang/article/details/9159969 AES加解密算法在Android中的应用及Android4.2以上 ...

  8. 商业web漏扫神器——appscan篇

      版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/dongfei2033/article/details/78472507 很快,已经到了三大商业漏 ...

  9. VisualStudio:让 XML 支持智能提示

    将 XSD 文件拷贝到 VS 下的指定目录,我的电脑上的目录为:C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\Packages ...

  10. python测试开发django-17.admin后台管理

    前言 通常一个网站开发,需要有个后台管理功能,比如用后台管理发布文章,添加用户之类的操作.django的admin后台管理主要可以实现以下功能 基于admin模块,可以实现类似数据库客户端的功能,对数 ...