Learning Convolutional Neural Network for Graphs

利用CNN处理图

Convolutional Neural Network for Graphs

1 Introduction

本文旨在于应用卷积神经网络处理基于图的学习问题,考虑以下两个问题:

  1. 给出图,实现图的分类和回归问题。
  2. 给出一个大型图,学习图的表征,用于预测点的类型和缺少的边

与CNN相似,首先规定一个感受野。将图像视作结点代表像素的网格图,卷积过程可以看作按照结点序列遍历图的过程,并生成对应结点的固定大小(与设定的感受野大小一致)的邻域图。邻域图用于学习每个像素点的特征值。
(图片隐含空间顺序,由上到下,由左至右。因此生成邻域图的结点序列是已知的)

过程:

  1. 首先构建 locally connected neighborhoods (设置感受野)
    这些neighborhoods生成效率很高,被用作卷积计算中的receptive fields 感受野/卷积核,学习图的特征
  2. 结点序列顺序生成每个结点的neighborhood graphs 邻域图

图片自带空间属性,图没有这类排布属性(例如空间,时间等)& nodes not in correspondence
for numerous graph collections a problem-specific ordering (spatial, temporal, or otherwise) is missing and the nodes of the graphs are not in correspondence

因此,需要解决两个问题:

  1. 确定卷积核读取的节点的顺序
  2. 确定卷积核内各节点运算的顺序,使得具有相似结构位置的节点也具有相似卷积运算的顺序

本文提出的方法:PATCHY-SAN

优点:

  1. 高效,可并行,适用于大型图
  2. 特征可视化,提供图的结构特征可视化
    network motifs 网络中频繁出现的局部连接模式
  3. 不需要进行特征工程(feature engineering)即可学习 application dependent的特征

本文贡献:
1. 图的标准化/归一化/正则化问题的定义及其计算
2. garph labeling方式的比较
3. CNN由图像向图的推广方法:PATCHY-SAN

2 Related Work

  1. skew spectrum kernel

  2. kernels based on graphlets

  3. kernels based on fixed-sized subgraphs

  4. Weisfeiler-Lehman (WL) kernels : only support discrete features and use memory linear in the number of training examples at test time.

  5. Deep graph kernels

  6. graph invariant kernels

  7. compare graphs based on the existence or count of small substructures such as shortest paths, graphlets, subtrees

  8. graph invariants

    PATCHY-SAN:
    从图数据中学习子结构,不受预先设置的motifs(固定大小的子图)的限制
    graph kernels训练复杂度:最少为图的数量的二次 O ( ∣ G ∣ 2 ) O(|G|^2) O(G2)
    针对大型图,PATCHY-SAN方法将复杂度限制到了线性 O ( ∣ G ∣ ) O(|G|) O(G)

  9. GNN。GNN是一种在图上应用循环神经网络(RNN)的结构。通过应用RNN传播结点的特征,直到到达平衡点(fixed point).输出的结点特征被用于解决分类和回归问题.GNN仅支持离散的标签(labels),perform
    as many backpropagation operations as there are edges and nodes in the graph per learning iteration

3 Background

3.1 卷积神经网络 Convolutional Neural Network

经典的CNN包括:卷积层+全连接层

卷积层用于提取输入图象局部位置的通用特征

CNN通过将图象与学习到的卷积核进行内积,以张量的形式输出(张量的深度(channels) = 卷积核的个数)

3.2 图 Graphs

图$ G = {V,E}$
点集$ V = {v_1,…v_n}$
边集$ E \subseteq V \times V$ (笛卡尔积)
设共有 n n n个结点, m m m条边

每个图可以通过一个大小为 n × n n\times n n×n 邻 接 矩 阵 邻接矩阵 A$表示
结点和边的属性通过赋值来表示

d ( u , v ) d(u,v) d(u,v)描述结点 u , v u,v u,v之间的距离(最短路径)
N 1 ( v ) N_1(v) N1(v)是结点的1-neighborhood,即所有的结点都与 v v v相邻

1 Labeling and Node Partitions
PATCHY-SAN采用图标签算法(graph labelings)给结点排序
标签算法:Weisfeiler-Lehman algorithm

graph labeling function: l : V → S l : V \to S l:VS

排序(涂色)函数: r : V → { 1 , . . . , ∣ V ∣ } r: V \to \{1,...,|V|\} r:V{1,...,V}

2 Isomorphism and Canonicalization
同构与规范化
图的规范化:NAUTY

4 Learning CNNs for Arbitrary Graphs

  1. 决定生成邻域图的结点顺序
  2. 图向向量的映射:使得邻域图上的结点位置信息能通过向量对应表示出来

PATCHY-SAN(SELECT-ASSEMBLE-NORMALIZE)

  1. SELECT:选择固定长度结点序列
  2. ASSEMBLE:根据结点序列为每个结点生成固定大小的邻域(neighborhood graphs)
  3. NORMALIZE:规范化提取出的邻域图
  4. 将上述过程中生成的邻域图输入CNN,提取邻域特征

4.1 Node Sequence Selection 结点序列生成

包括:每个输入图的结点序列 & 感受野的结点序列

Algorithm 1 SELNODESEQ: Select Node Sequence
input:graph labeling算法l,图G = (V,E),步长s,宽度w,感受野k
V_sort =  由图标注程序所生成的V中的第一个元素w
i=1,j=1
while j<w do
    if i<= |V_sort| then
        f = RECEPTIVEFIELD(V_sort[i])
    else
        f = ZERORECEPTIVEFILD()
    apply f to each input channel
    i=i+s,j=j+1

结点通过标签算法Weisfeiler-Lehman algorithm排序 -> 结点序列
按结点序列访问结点,以步长 s s s遍历所有结点
在每个被访问的结点上生成感受野,直到生成 w w w个感受野
(若结点个数小于 w w w,则用0补全)

4.2 Neighborhood Assembly

广度优先搜索(BFS)

Algorithm 2 NEIGHASSEMB: Neighborhood Assembly
input: 结点v,感受野大小k
output: v结点的邻居结点

N = [v]
L = [v]
while |N| < k and |L| > 0 do
    L = Union( N_1(v) ) # 与结点v相邻的结点求并集,广度优先搜索
    N= Union( N , L )
    # |N|可能小于k
return 点集N
Algorithm 3 RECEPTIVEFIELD: Create Receptive Field

input:结点v,图标签程序l,感受野大小k

N = NEIGHASSEMB(v,k) # 调用,求得v得邻域点集
G_norm = NORMALIZEGRAPH(N,v,l,k) # 调用,求得规范化后的邻域图
return G_norm

4.3 Graph Normalization

对邻域图上的结点排序:找到能够与图最优的标签方法
主要思想:当且仅当两个不同图的节点在图中的结构相似时,将其分配到相应邻接矩阵中相似的相对位置。

Problem 1 (Optimal graph normalization)

G G G为有 k k k个结点的违背标记的图, l l l为单射图标签函数, d G d_G dG为图 G G G的距离测度, d A d_A dA k × k k \times k k×k矩阵的距离测度

l ^ = arg min ⁡ l E G [ ∣ d A ( A l ( G ) , A l ( G ′ ) ) − d G ( G , G ′ ) ∣ ] \hat{l} = \argmin_l \mathbb{E}_G [|d_A(A^l(G),A^l(G')) - d_G(G,G')|] l^=largminEG[dA(Al(G),Al(G))dG(G,G)]

Theorem 1. Optimal graph normalization is NP-hard
Proof: 通过子图同构归约

Theorem 2.
θ ^ l : = ∑ i = 1 N d A ( A l ( G i ) , A l ( G ′ ) ) / N \hat{\theta}_l := \sum_{i=1}^N d_A(A^l(G_i),A^l(G'))/N θ^l:=i=1NdA(Al(Gi),Al(G))/N
θ l : = E G [ ∣ d A ( A l ( G ) , A l ( G ′ ) ) − d G ( G , G ′ ) ∣ ] \theta_l := \mathbb{E}_G[|d_A(A^l(G),A^l(G')) - d_G(G,G')|] θl:=EG[dA(Al(G),Al(G))dG(G,G)]
d A ⩾ d G d_A \geqslant d_G dAdG,那么当且仅当 θ l 1 < θ l 2 \theta_{l_1} < \theta_{l_2} θl1<θl2时,$\mathbb{E}G[\hat{\theta}{l1}] < \mathbb{E}G[\hat{\theta}{l_2}] $

以非监督的方式比较不同的标签算法:比较估计量
标签算法的选择: 选择 θ ^ l \hat{\theta}_l θ^l值小的标签算法

由于大部分标签算法都是非单射函数,因此采用NAUTY算法打破相同标签结点的限制

Algorithm 4 NORMALIZEGRAPH: Graph Normalization

input: 图G中结点的子集U,结点v,图标签算法l,感受野大小k
output:结点v的感受野

compute ranking r of U using l 
# ∀u, w ∈ U : d(u, v) < d(w, v) ⇒ r(u) < r(w)
if |U| >k then
    N = top k vertices in U according to r
    compute ranking r of N using l
    # ∀u, w ∈ N : d(u, v) < d(w, v) ⇒ r(u) < r(w)
else if |V| < k then
    N = U and k - |U| dummy nodes
else 
    N = U
为点集N构造子图G[N]
规范化G[N],respecting the prior coloring r
return G[N]

将用于图像处理的CNN与PATCHY-SAN联系起来:
Theorem 3. 给出一张图片的像素序列。在CNN的第一层,应用感受大小为 ( 2 m − 1 ) 2 (2m-1)^2 (2m1)2,步长为 s s s, padding = 0, 1-WL范式的PATCHY-SAN算法
Proof:如果输入的图是一个网格,那么,1-WL规范化的感受野是一个有着唯一结点顺序的网格图

4.4 Convolutional Architecture

a v a_v av为结点属性的数量
a e a_e ae为边的属性的数量

对每一个输入的图 G G G,对结点和边的感受野进行标准化,生成张量 ( w , k , a v ) (w,k,a_v) (w,k,av) ( w , k , k , a e ) (w,k,k,a_e) (w,k,k,ae)

张量可以被reshape为 ( w k , a v ) (wk,a_v) (wk,av) ( w k 2 , a e ) (wk^2,a_e) (wk2,ae)
其中, a v , a e a_v,a_e av,ae为输入的通道数

经过reshape后,可以输入到步长和感受野分别为 k k k k 2 k^2 k2的1维卷积层中

5 Complexity and Implementation

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值