利用CNN处理图
Convolutional Neural Network for Graphs
1 Introduction
本文旨在于应用卷积神经网络处理基于图的学习问题,考虑以下两个问题:
- 给出图,实现图的分类和回归问题。
- 给出一个大型图,学习图的表征,用于预测点的类型和缺少的边
与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维卷积层中