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. 变量part2

    一 变量值具有三个特征:  1. id:变量值的唯一编号,内存地址不同id则不同  2. type:类型  3. value(值) #name='xia' #print(id(name)) #age= ...

  2. Sitecore CMS中创建模板

    如何在Sitecore CMS中创建模板. 在/sitecore/templates选择应创建模板的文件夹中. 注意:在多站点项目中,通常会在模板所属的网站名称的/sitecore/templates ...

  3. 【2017-03-20】HTML框架,标题栏插入小图标,锚点,插入音频视频,滚动效果

    一.html框架   iframe 在网页中嵌入一个别的网页 1.格式: <iframe  src="链接地址" width="" height=&quo ...

  4. Python使用闭包结合配置自动生成函数

    背景 在构建测试用例集时,常常需要编写一些函数,这些函数接受基本相同的参数,仅有一个参数有所差异,并且处理模式也非常相同.可以使用Python闭包来定义模板函数,然后通过参数调节来自动化生产不同的函数 ...

  5. Linux下实现免密登录

    过程如下: 1.Linux下生成密钥 通过命令”ssh-keygen -t rsa“ 2.1 通过ssh-copy-id的方式 命令: ssh-copy-id -i ~/.ssh/id_rsa.put ...

  6. 大数据和hadoop有什么关系?

    本文资料来自百度文库相关文档 Hadoop,Spark和Storm是目前最重要的三大分布式计算系统,Hadoop常用于离线的复杂的大数据处理,Spark常用于离线的快速的大数据处理,而Storm常用于 ...

  7. golang学习笔记6 beego项目路由设置

    golang学习笔记5 beego项目路由设置 前面我们已经创建了 beego 项目,而且我们也看到它已经运行起来了,那么是如何运行起来的呢?让我们从入口文件先分析起来吧: package main ...

  8. vue组件通信之任意级组件之间的通信

    <div id="app"> <comp1></comp1> <comp2></comp2> </div> ...

  9. Matlab基础部分1

  10. linux系统Centos环境下搭建SVN服务器及权限配置

    linux系统Centos环境下如何搭建SVN服务器以及svnserve.conf.authz.passwd配置文件详细介绍   至于svn的概念,这里就不做详细阐述了,可以自行百度.简单来讲就是一个 ...