图卷积神经网络
Convolutional Neural Network for Graphs
1 Introduction
本文旨在于应用卷积神经网络处理基于图的学习问题,考虑以下两个问题:
- Graph Collections:给出一组图,实现未见图上的分类和回归问题。任意两个图的结点无需相似。例如,每组图可以表示一个化合物,输出可以是一个函数,将化合物映射到其抗癌能力的等级
 - 给出一个大型图,学习图的表征,用于预测点的类型和缺少的边
 
与CNN相似,首先规定一个感受野。将图像视作结点代表像素的网格图,卷积过程可以看作按照结点序列遍历图的过程,并生成对应结点的固定大小(与设定的感受野大小一致)的邻域图。邻域图用于学习每个像素点的特征值。
 (图片隐含空间顺序,由上到下,由左至右。因此生成邻域图的结点序列是已知的)
过程:
- 首先构建 locally connected neighborhoods (设置感受野)
这些neighborhoods生成效率很高,被用作卷积计算中的receptive fields 感受野/卷积核,学习图的特征 - 依结点序列顺序生成每个结点的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
因此,需要解决两个问题:
- 确定卷积核读取的节点的顺序
 - 确定卷积核内各节点运算的顺序,使得具有相似结构位置的节点也具有相似卷积运算的顺序
 
本文提出的方法:PATCHY-SAN
优点:
- 高效,可并行,适用于大型图
 - 特征可视化,提供图的结构特征可视化
network motifs 网络中频繁出现的局部连接模式 - 不需要进行特征工程(feature engineering)即可学习 application dependent的特征
 
本文贡献:
 1. 图的标准化/归一化/正则化问题的定义及其计算
 2. garph labeling方式的比较
 3. CNN由图像向图的推广方法:PATCHY-SAN
2 Related Work
- skew spectrum kernel
 - kernels based on graphlets
 - kernels based on fixed-sized subgraphs
 - Weisfeiler-Lehman (WL) kernels : only support discrete features and use memory linear in the number of training examples at test time.
 - Deep graph kernels
 - graph invariant kernels
 - compare graphs based on the existence or count of small substructures such as shortest paths, graphlets, subtrees
 - graph invariants
 
PATCHY-SAN:
 从图数据中学习子结构,不受预先设置的motifs(固定大小的子图)的限制
 graph kernels训练复杂度:最少为图的数量的二次
    
     
      
       
        O
       
       
        (
       
       
        ∣
       
       
        G
       
       
        
         ∣
        
        
         2
        
       
       
        )
       
      
      
       O(|G|^2)
      
     
    O(∣G∣2)
 针对大型图,PATCHY-SAN方法将复杂度限制到了线性
    
     
      
       
        O
       
       
        (
       
       
        ∣
       
       
        G
       
       
        ∣
       
       
        )
       
      
      
       O(|G|)
      
     
    O(∣G∣)
- 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:V→S
排序(涂色)函数: r : V → { 1 , . . . , ∣ V ∣ } r: V \to \{1,...,|V|\} r:V→{1,...,∣V∣}
2 Isomorphism and Canonicalization
 同构与规范化
 图的规范化:NAUTY
4 Learning CNNs for Arbitrary Graphs
- 决定生成邻域图的结点顺序
 - 图向向量的映射:使得邻域图上的结点位置信息能通过向量对应表示出来
 
PATCHY-SAN(SELECT-ASSEMBLE-NORMALIZE)
- SELECT:选择固定长度结点序列
 - ASSEMBLE:根据结点序列为每个结点生成固定大小的邻域(neighborhood graphs)
 - NORMALIZE:规范化提取出的邻域图
 - 将上述过程中生成的邻域图输入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
      
     
    dA⩾dG,那么当且仅当
    
     
      
       
        
         θ
        
        
         
          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
      
     
    (2m−1)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维卷积层中










