GCN--Learning Convolutional Neural Networks for Graphs

这篇论文是在属于空间域上的图卷积
一篇入门的博客介绍文章:
https://www.leiphone.com/news/201706/ppA1Hr0M0fLqm7OP.html

Learning Convolutional Neural Networks for Graphs

  • abstract
  • introduction
  • Related Work
  • Background
  • Learning CNNs for Arbitrary Graphs
    • Node Sequence Selection
    • Neighborhood Assembly
    • Graph Normalization
    • Convolutional Architecture
  • Complexity and Implementation
  • Experiments
  • 总结

abstract

通过提取局部联通域,提出了一种学习任意图的卷积神经网络的框架。

introduction

  • 方法可用于给一组图进行分类和回归,也就是区分两个图。
  • 给定一个大图,方法可以可用于推断不可见图属性(如节点类型和缺失的边)的图表示。
  • 将图建立成cnn可以处理的形状。
  • 由于cnn中像素是排列好的,nlp中语句和单词的顺序是排列好的,所以用cnn核卷积方便,但graph的排列不同,所以要完成的任务有:
    (1)确定邻域图被创建的节点序列
    (2)邻域图的规范化计算,从图形表示到向量空间表示的唯一映射。
  • 论文方法 PATCHY-SAN的过程:
    (1)找出用来确定邻域的顶点,要排序
    (2)找出这些顶点的邻域,要排序
    (3)cnn
    过程如图:GCN--Learning Convolutional Neural Networks for Graphs_第1张图片

Related Work

一些使用核的机器学习算法

Background

  • Convolutional Neural Networks
  • Graphs
  • Labeling and Node Partitions
    labeling function f:v->s 也就是顶点集合v映射成一个顺序集s
    ranking function r:V → {1, …, |V |};r(u) < r(v) if and only if l(u) > l(v)
  • Isomorphism and Canonicalization

Learning CNNs for Arbitrary Graphs

方法可以分成四个步骤

  1. 从图中选出固定长度序列的点 Node Sequence Selection
  2. 给这些点选出固定大小的邻居 Neighborhood Assembly
  3. 对选出的邻居图进行规范化 Graph Normalization
  4. 使用cnn对上述创造的图进行学习 Convolutional Architecture

Node Sequence Selection

GCN--Learning Convolutional Neural Networks for Graphs_第2张图片
这个算法1使用了下面的算法2

Neighborhood Assembly

GCN--Learning Convolutional Neural Networks for Graphs_第3张图片
其实就是bfs找k个邻居

Graph Normalization

对邻居图进行规范化,也就是对邻居节点进行排序
在这里插入图片描述
红色为当前点,绿色为当前点的距离1的邻居,米黄色是距离2的邻居,对邻居进行排序。

排序方法:
GCN--Learning Convolutional Neural Networks for Graphs_第4张图片
GCN--Learning Convolutional Neural Networks for Graphs_第5张图片
如何建立L和R函数?
GCN--Learning Convolutional Neural Networks for Graphs_第6张图片
对于两个图,我们为了找出一个label的方法,目的就是为了让label出的两个图的邻接矩阵的距离和这两个图的距离最相似。也就是dA(两个图的label后的邻接矩阵距离)-dG(两个图的距离)最小。
能够创造A的前提是有一个L函数,也就是label函数。建立label函数是一个NPhard问题,作者使用了一个理论建立这个L函数:
GCN--Learning Convolutional Neural Networks for Graphs_第7张图片
也就是找出能够使 对一些列图的任意两个图使用L函数求距离后 的平均数最小的L。

Convolutional Architecture

就是对上述建立的结构进行卷积

Complexity and Implementation

PATCHY-SAN has a worst-case complexity of O(N w(f (n, m) + n log(n) + exp(k))) for computing the receptive fields for N graphs.
不在证明

Experiments

可用来做图分类

总结

我认为本篇论问的核心就是如何选择顶点的邻域,对其排序,对其求出邻居点的rank值。也就是核心是labeling和ranking的方法。

你可能感兴趣的:(图计算)