Learning Convolutional Neural Networks for Graphs

2018-01-17  21:41:57

【Introduction】

这篇 paper 是发表在 ICML 2016 的:http://jmlr.org/proceedings/papers/v48/niepert16.pdf

上图展示了传统 CNN 在 image 上进行卷积操作的工作流程。(a)就是通过滑动窗口的形式,利用3*3 的卷积核在 image 上进行滑动,来感知以某一个像素点为中心的局部图像区域(local image patch);(b)感受野所创建的 node sequence,以及由超参数所决定的感受野的形状。

本文将 CNN 拓展到大规模的基于 graph 的学习问题当中,主要考虑如下两类问题:

1. 给定一组 graphs,学习一个函数,使之可以在 unseen graphs 用于 classification 或者 regression problem。

The nodes of any two graphs are not necessarily in correspondence. For instance, each graph of the collection could model a chemical compound and the output could be a function mapping unseen compounds to their level of activity against cancer cells.

2. 给定一个大型的 graph,学习 graph 的表示,使其可以用于推理不可见的 graph 属性,例如:node types 或者 missing edges。

本文提出一种学习表示的框架来进行 有向图 和 无向图的分类。这个图可能拥有多个离散和连续属性的 nodes 和 edges,可能包含多种类型的 edges。与传统CNN 相比,我们从 input graphs 中获得 locally connected neighborhoods。这些近邻 可以有效的产生,并且作为卷积结构的感受野,允许该框架学习有效的 graph representation。

For numerous graph collections a problem-specific ordering (spatial, temporal, or otherwise) is missing and the nodes of the graphs are not in correspondence. In these instances, one has to solve two problems:

  (i) Determining the node sequences for which neighborhood graphs are created;

  (ii) computing a normalization of neighborhood graphs, that is, a unique mapping from a graph representation into a vector space representation.

而本文所提出的 graph representation 的方法,很好的解决了上述两个问题。具体的来说,可以分为如下几个步骤:

  1. 对于每一个输入的 graph,首先确定节点及其次序;(For each input graph, it first determines nodes (and their order) for which neighborhood graphs are created. )

  2. 对于每一个节点,包含 k 个节点的近邻 被提取并且进行归一化,即,将其唯一的映射到固定长度的线性序列;归一化的近邻 可以看做是一个节点的感受野;(For each of these nodes, a neighborhood consisting of exactly k nodes is extracted and normalized, that is, it is uniquely mapped to a space with a fixed linear order. The normalized neighborhood serves as the receptive field for a node under consideration.)

  3. 最后,特征学习成分,例如 卷积、全连接层 被组合起来作用于归一化的 graphs。(Finally, feature learning components such as convolutional and dense layers are combined with the normalized neighborhood graphs as the CNN’s receptive fields. )


【流程】下面具体介绍一下构建卷积分片的步骤以及最后的卷积结构:

  1. 节点序列选择:为了对图中所有的节点进行标号排序,本文引入了图标号函数,将图中的节点集合根据向心性(节点的度、中心度等)映射为有序的节点序列。从该序列中根据一定的间隔s隔段选取w个节点构成最终的节点序列。

  2. 邻居节点收集:对于上一步获得的节点序列中的每一个节点,利用广度优化搜索扩展邻居节点,和源节点一起构成一个k大小的邻域集合。

  3. 子图规范化:对于一个邻域集合的规划化过程如下图所示。对邻域集合中的个节点按照标号函数k进行排序,得到接受域。那么,对于节点的属性,k个节点属性值构成了一个输入通道,对于边的属性,k^2个属性值也构成了一个输入通道。我们可以分别用一维的卷积层来处理这两种输入通道(对于节点属性卷积层长度为k,对于边属性卷积层长度为k^2)


Reference:

1. 知乎博客:https://zhuanlan.zhihu.com/p/27587371

2. 对应的 PDF:http://www.matlog.net/icml2016_slides.pdf

【论文笔记】Learning Convolutional Neural Networks for Graphs的更多相关文章

  1. 论文笔记——Factorized Convolutional Neural Networks

    1. 论文思想 将3D卷积分解为spatial convolution in each channel and linear projection across channels. (spatial ...

  2. 论文解读二代GCN《Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering》

    Paper Information Title:Convolutional Neural Networks on Graphs with Fast Localized Spectral Filteri ...

  3. Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering

    Defferrard, Michaël, Xavier Bresson, and Pierre Vandergheynst. "Convolutional neural networks o ...

  4. 论文笔记:Diffusion-Convolutional Neural Networks (传播-卷积神经网络)

    Diffusion-Convolutional Neural Networks (传播-卷积神经网络)2018-04-09 21:59:02 1. Abstract: 我们提出传播-卷积神经网络(DC ...

  5. 论文笔记(1)-Dropout-Improving neural networks by preventing co-adaptation of feature detectors

    Improving neural networks by preventing co-adaptation of feature detectors 是Hinton在2012年6月份发表的,从这篇文章 ...

  6. 【论文笔记】Progressive Neural Networks 渐进式神经网络

    Progressive NN Progressive NN是第一篇我看到的deepmind做这个问题的.思路就是说我不能忘记第一个任务的网络,同时又能使用第一个任务的网络来做第二个任务. 为了不忘记之 ...

  7. 论文笔记—Flattened convolution neural networks for feedforward acceleration

    1. 论文思想 一维滤过器.将三维卷积分解成三个一维卷积.convolution across channels(lateral), vertical and horizontal direction ...

  8. 读convolutional Neural Networks Applied to House Numbers Digit Classification 的收获。

    本文以下内容来自读论文以后认为有价值的地方,论文来自:convolutional Neural Networks Applied to House Numbers Digit Classificati ...

  9. 论文笔记之:Learning Multi-Domain Convolutional Neural Networks for Visual Tracking

    Learning Multi-Domain Convolutional Neural Networks for Visual Tracking CVPR 2016 本文提出了一种新的CNN 框架来处理 ...

随机推荐

  1. 集合List

    //数组 存值长度固定,类型固定 //集合 长度不固定,类型也可以不固定 List<int> list = new List<int>(); //list.Add(78); ; ...

  2. 使用SpringAOP获取一次请求流经方法的调用次数和调用耗时

    引语 作为工程师,不能仅仅满足于实现了现有的功能逻辑,还必须深入认识系统.一次请求,流经了哪些方法,执行了多少次DB操作,访问了多少次文件操作,调用多少次API操作,总共有多少次IO操作,多少CPU操 ...

  3. 设计模式之模板方法模式:实现可扩展性设计(Java示例)

    概述 在实际开发中,常常会遇到一项基本功能需要支撑不同业务的情况.比如订单发货,有普通的整包发货,有分销单的发货,采购单的发货,有多商品的整包或拆包发货等.要想支持这些业务的发货,显然不能在一个通用流 ...

  4. 设计模式之Bridge(桥接)(转)

    Bridge定义 : 将抽象和行为划分开来,各自独立,但能动态的结合. 为什么使用? 通常,当一个抽象类或接口有多个具体实现(concrete subclass),这些concrete之间关系可能有以 ...

  5. MapReduce的map个数调节 与 Hadoop的FileInputFormat的任务切分原理

    在对日志等大表数据进行处理的时候需要人为地设置任务的map数,防止因map数过小导致集群资源被耗光.可根据大表的数据量大小设置每个split的大小. 例如设置每个split为500M: set map ...

  6. Kali linux创建和删除用户

    #创建用户 图形界面如此友好,直接点用户——添加用户——设置密码即可,如果切换帐号,同样点用户——切换用户——输入密码即可. #删除用户的指令比较复杂一些,这里我们找到了特别好的资源,简明有效. ht ...

  7. Errors occurred during the build. Errors running builder 'Validation' on pro

    选择项目-->右键-->Properties-->Builders   右面有四个选项,把Validation前面勾去掉

  8. Eloquent JavaScript #01# values

    When action grows unprofitable, gather information; when information grows unprofitable, sleep.      ...

  9. Solr创建核的方法

    Solr创建核的方法,简单粗暴 就是进入到solrhome中进行复制粘贴这个collection2 然后进入到conf中,修改一下name 然后从新启动tomcat

  10. apache编译安装php后需要注意以下配置

    安装后, 编辑apache配置文件 vi /usr/local/apache2/conf/httpd.conf 可以看到 LoadModule php7_module modules/libphp7. ...