图卷积网络基础知识
论文:SEMI-SUPERVISED CLASSIFICATION WITH
GRAPH CONVOLUTIONAL NETWORKS
论文地址:https://arxiv.org/pdf/1609.02907.pdf
Reference: https://zhuanlan.zhihu.com/p/107162772
GCN的网络结构
一个
N
N
N
D
D
D的矩阵
X
X
X作为输入,其中
N
N
N表示nodes的个数,
D
D
D是输入特征的维度;输出
Z
Z
Z是一个
N
N
N
F
F
F的矩阵,
F
F
F是输出特征的维度。
层级传导
定义简单的f函数,作为基础的网络层
表示将图的邻接矩阵与隐藏层相乘,经过
W
W
W的线性变换,再经过
σ
\sigma
σ的激活函数。
而
A
H
AH
AH代表什么含义?
假设输入层
x
i
=
[
i
,
i
,
i
,
i
]
x_i=[i,i,i,i]
xi=[i,i,i,i], 我们不难得出,
x
1
′
=
x
2
+
x
5
x'_1 = x_2+x_5
x1′=x2+x5, 因为node1和node2与node5相连。其他的以此类推(见下图)
这样的问题是,
A
H
AH
AH会丢失原本这个node的信息, 只保留与之相邻的node信息,解决方案是,对每个节点手动增加一条self-loop 到每一个节点,用
A
^
=
A
+
I
\hat{A} = A + I
A^=A+I来代替
A
A
A.
其次,为了避免每层越乘越大的问题,取归一化的
A
A
A,即让每一行的和为1,
A
′
=
D
−
1
A
A' = D^{-1}A
A′=D−1A,
D
D
D是度矩阵(degree matrix), 实际运用中我们采用的是对称的normalization
A
′
=
D
−
1
/
2
A
D
−
1
/
2
A' = D^{-1/2}AD^{-1/2}
A′=D−1/2AD−1/2. 最终得到:
其中
A
^
=
A
+
I
\hat{A} = A + I
A^=A+I,
D
^
\hat{D}
D^是
A
^
\hat{A}
A^的度矩阵。