文章概述
作者指出现如今GCN和其变体模型好多遵从如下范式:
H
l
+
1
=
σ
(
S
H
k
W
k
+
1
)
(1)
H^{l + 1} = \sigma(SH^{k}W^{k + 1}) \tag{1}
Hl+1=σ(SHkWk+1)(1)
其中
σ
\sigma
σ表示非线性变换,例如RELU,矩阵
S
S
S表示包含图结构信息的各种矩阵变体,例如
D
−
1
/
2
A
D
−
1
/
2
D^{-1/2}AD^{-1/2}
D−1/2AD−1/2,而
W
k
+
1
W^{k + 1}
Wk+1表示第
k
+
1
k + 1
k+1层的可学习的权重矩阵。但这种范式的GCN模型复杂度通常比较高且计算成本也高,在大图上通常束手无策。为此,作者针对现有的GCN及其变体进行了简化,其具体措施是:
- 去除层与层间的非线性变换;
- 扁平(collapsing)连续层间的权重矩阵。
作者将他们提出的模型命名为SGC(Simple Graph Convolution),实验表明尽管进行了简化,但是SGC在许多任务上都的性能都与现有的GCN模型相当甚至更好,此外SGC的运算速度有的极大的提升。
SGC框架
符号表
在具体介绍之前,先摆出论文中使用到的符号
符号 | 说明 |
---|---|
G = ( V , A ) \mathcal{G}=(\mathcal{V},A) G=(V,A) | 图 |
A A A | 对称的邻接矩阵 |
d i d_i di | 结点 i i i的度 |
D D D | 度矩阵, D = diag ( d 1 , . . . , d n ) D=\text{diag}(d_1,...,d_n) D=diag(d1,...,dn) |
X ∈ R n × d X \in \mathbb{R}^{n \times d} X∈Rn×d | 结点的特征矩阵,其中 n n n表示图中的结点数, d d d表示特征的维数 |
y i ∈ { 0 , 1 } C y_i \in \{0,1\}^{C} yi∈{0,1}C | 结点 i i i的标签,one-hot码, C C C为类别数 |
H ( k ) H^{(k)} H(k) | GCNs第 k k k层的结点表示,其中 H ( 0 ) = X H^{(0)} = X H(0)=X |
GCNs模型简介
GCNs模型的模式通常为== K K K个图卷积层+ 1 1 1个分类层==(也可能不是分类,取决于下游任务是什么)。对于GCNs的每个卷积层,结点表示的更新分为三个阶段:
- 特征传播
- 线性变换
- 非线性激活
特征传播阶段,每个结点都会聚合其邻居的消息并结合自身的结点特征表示来生成自身新的结点表示,即:
h
‾
i
(
k
)
←
1
d
i
+
1
h
i
(
k
−
1
)
+
∑
j
=
1
n
a
i
j
(
d
i
+
1
)
(
d
j
+
1
)
h
j
(
k
−
1
)
(2)
\overline{\mathbf{h}}_{i}^{(k)} \leftarrow \frac{1}{d_{i}+1} \mathbf{h}_{i}^{(k-1)}+\sum_{j=1}^{n} \frac{a_{i j}}{\sqrt{\left(d_{i}+1\right)\left(d_{j}+1\right)}} \mathbf{h}_{j}^{(k-1)} \tag{2}
hi(k)←di+11hi(k−1)+j=1∑n(di+1)(dj+1)aijhj(k−1)(2)
上述公式写成矩阵形式可表示为:
S
=
D
~
−
1
2
A
~
D
~
−
1
2
H
‾
(
k
)
←
S
H
(
k
−
1
)
(3)
\mathrm{S}=\tilde{\mathrm{D}}^{-\frac{1}{2}} \tilde{\mathrm{A}} \tilde{\mathrm{D}}^{-\frac{1}{2}} \\ \overline{\mathbf{H}}^{(k)} \leftarrow \mathrm{SH}^{(k-1)} \tag{3}
S=D~−21A~D~−21H(k)←SH(k−1)(3)
其中
A
~
=
A
+
I
\tilde{\mathbf{A}}=\mathbf{A}+\mathbf{I}
A~=A+I,
D
~
\tilde{\mathbf{D}}
D~为矩阵
A
~
\tilde{\mathbf{A}}
A~的度矩阵。
然后,便是线性变换(乘以权重矩阵
W
W
W)和非线性激活阶段(应用非线性激活函数如RELU),
H
(
k
)
←
ReLU
(
H
‾
(
k
)
Θ
(
k
)
)
(4)
\mathbf{H}^{(k)} \leftarrow \operatorname{ReLU}\left(\overline{\mathbf{H}}^{(k)} \Theta^{(k)}\right) \tag{4}
H(k)←ReLU(H(k)Θ(k))(4)
经过多个上述的图卷积层后,便可利用最终得到的结点表示进行分类任务了,即:
Y
^
G
C
N
=
softmax
(
S
H
(
K
−
1
)
Θ
(
K
)
)
(5)
\hat{\mathrm{Y}}_{\mathrm{GCN}}=\operatorname{softmax}\left(\mathrm{SH}^{(K-1)} \Theta^{(K)}\right) \tag{5}
Y^GCN=softmax(SH(K−1)Θ(K))(5)
对图卷积的简化
线性化(Linearization): 作者删除了图卷积中的非线性激活操作,因此整个GCN模型可以表示为:
Y
^
=
softmax
(
S
…
S
S
X
Θ
(
1
)
Θ
(
2
)
…
Θ
(
K
)
)
(6)
\hat{\mathrm{Y}}=\operatorname{softmax}\left(\mathrm{S} \ldots \mathrm{SSX} \Theta^{(1)} \Theta^{(2)} \ldots \Theta^{(K)}\right) \tag{6}
Y^=softmax(S…SSXΘ(1)Θ(2)…Θ(K))(6)
为了简化符号,作者用
S
K
\mathbf{S}^{K}
SK表示
S
\mathbf{S}
S的
K
K
K次幂,并用
Θ
\Theta
Θ表示
Θ
(
1
)
Θ
(
2
)
…
Θ
(
K
)
\Theta^{(1)} \Theta^{(2)} \ldots \Theta^{(K)}
Θ(1)Θ(2)…Θ(K),然后模型可以简写为:
Y
^
S
G
C
=
softmax
(
S
K
X
Θ
)
(7)
\hat{\mathbf{Y}}_{\mathrm{SGC}}=\operatorname{softmax}\left(\mathbf{S}^{K} \mathbf{X} \Theta\right) \tag{7}
Y^SGC=softmax(SKXΘ)(7)
上述模型其实可以看成先对故进行
K
K
K轮消息传播(
S
K
X
\mathbf{S}^{K} \mathbf{X}
SKX),然后对经过
K
K
K轮传播后的结点的特征进行传统的softmax回归,这便是作者提出的SGC模型,该模型的结构图以及与传统的GCNs的对比如下:
Θ ( 1 ) Θ ( 2 ) … Θ ( K ) \Theta^{(1)} \Theta^{(2)} \ldots \Theta^{(K)} Θ(1)Θ(2)…Θ(K)虽然乘了很多个权重矩阵,其实还是线性的,因此可以扁平化为单个权重矩阵。
谱(Spectral)分析
GCN图卷积公式的谱图推导
作者介绍了如何根据谱图理论得到GCN中的图卷积公式,假设
x
∈
R
n
x \in \mathbb{R}^{n}
x∈Rn是图的顶点上定义的信号,则图上的傅里叶变换可以定义为:
x
^
=
U
⊤
x
(8)
\hat{\mathrm{x}}=\mathrm{U}^{\top} \mathrm{x} \tag{8}
x^=U⊤x(8)
则信号
x
x
x和滤波器
g
g
g间的卷积操作可以定义为:
g
∗
x
=
U
(
(
U
⊤
g
)
⊙
(
U
⊤
x
)
)
=
U
G
^
U
⊤
x
(9)
\mathrm{g} * \mathrm{x}=\mathrm{U}\left(\left(\mathbf{U}^{\top} \mathrm{g}\right) \odot\left(\mathbf{U}^{\top} \mathrm{x}\right)\right)=\mathbf{U} \hat{\mathbf{G}} \mathbf{U}^{\top} \mathrm{x} \tag{9}
g∗x=U((U⊤g)⊙(U⊤x))=UG^U⊤x(9)
当公式(9)的计算复杂度比较高,因此引入切比雪夫多项式来降低计算的复杂度,即:
U
G
^
U
⊤
x
≈
∑
i
=
0
k
θ
i
Δ
i
x
=
U
(
∑
i
=
0
k
θ
i
Λ
i
)
U
⊤
x
(10)
\mathrm{U} \hat{\mathbf{G}} \mathbf{U}^{\top} \mathbf{x} \approx \sum_{i=0}^{k} \theta_{i} \Delta^{i} \mathbf{x}=\mathbf{U}\left(\sum_{i=0}^{k} \theta_{i} \Lambda^{i}\right) \mathbf{U}^{\top} \mathbf{x} \tag{10}
UG^U⊤x≈i=0∑kθiΔix=U(i=0∑kθiΛi)U⊤x(10)
而Kipf & Welling (2017)提出的GCN模型中直接取
k
=
1
k=1
k=1,即图卷积的近似公式为:
g
∗
x
=
θ
(
I
+
D
−
1
/
2
A
D
−
1
/
2
)
x
(11)
\mathrm{g} * \mathrm{x}=\theta\left(\mathbf{I}+\mathrm{D}^{-1 / 2} \mathrm{AD}^{-1 / 2}\right) \mathrm{x} \tag{11}
g∗x=θ(I+D−1/2AD−1/2)x(11)
Kipf & Welling (2017)还使用了一个**重正则化(renormalization)**的技巧,即用
D
~
−
1
/
2
A
~
D
~
−
1
/
2
\tilde{\mathbf{D}}^{-1 / 2} \tilde{\mathbf{A}} \tilde{\mathbf{D}}^{-1 / 2}
D~−1/2A~D~−1/2来代替
I
+
D
−
1
/
2
A
D
−
1
/
2
\mathbf{I}+\mathbf{D}^{-1 / 2} \mathbf{A D}^{-1 / 2}
I+D−1/2AD−1/2,其中
A
~
=
A
+
I
\tilde{\mathbf{A}}=\mathbf{A}+\mathbf{I}
A~=A+I。
SGC和低通滤波器
作者论文中的定理1指出,添加自环后,正则化后的图拉普拉斯矩阵的最大特征值会变小,即添加自循环有效缩减了图的谱域,在该缩放的谱域上,SGC充当了一个低通滤波器,在图上生成平滑的特征。因此,邻居结点倾向于共享相似性的表示。
实验
作者在Cora、Citeseer、Pubmed和Reddit数据集上进行了半监督结点分类任务(semi-supervised node classification),这几个数据集的特征为:
在三个论文引用网络上的性能如下:
在Reddit数据集上与其他模型的F1 score对比结果如下:
另外作者还展示了在Pubmed和Reddit数据集上的训练时间与性能:
从实验结果可以看出来,SGC虽然对模型进行了简化,但是其性能相比于其它SOTA来说还是差不多的,与此同时,SGC的训练时间大幅度降低。