原始图卷积
核心思想:借助傅里叶变换,将原始信号X变换到频域,在频域上乘一个信号,再做傅里叶逆变换回到时域。
卷积公式:
g
θ
∗
x
=
U
g
θ
U
T
x
g\theta*x = Ug\theta U^Tx
gθ∗x=UgθUTx
其中:
gθ就是在频域中的一个filter,也称为为卷积核。
U是图的拉普拉斯矩阵L的特征向量矩阵。
拉普拉斯矩阵:
L
=
I
N
−
D
−
1
2
A
D
−
1
2
=
U
Δ
U
T
L=I_N-D^{-\frac{1}{2}}AD^{-\frac{1}{2}}=U\Delta U^T
L=IN−D−21AD−21=UΔUT
可以简单理解为,对拉普拉斯矩阵L进行了特征分解,得到特征值组成的对角矩阵Δ和特征向量组成的矩阵U
存在的问题:
对于拉普拉斯矩阵进行特征分解的计算过程非常复杂,如果图的规模较大,顶点的个数多时,会带来巨大的计算开销。
快速图卷积
核心思想:在原始图卷积的基础上,利用切比雪夫多项式进行K阶逼近这个时域的卷积核。
切比雪夫多项式:
T
0
(
x
)
=
1
;
T_0(x)=1;
T0(x)=1;
T
1
(
x
)
=
x
;
T_1(x)=x;
T1(x)=x;
T
k
(
x
)
=
2
x
T
k
−
1
(
x
)
−
T
k
−
1
(
x
)
T_k(x)=2xT_{k-1}(x)-T_{k-1}(x)
Tk(x)=2xTk−1(x)−Tk−1(x)
利用切比雪夫多项式近似逼近卷积核
g
θ
∗
x
≈
∑
k
=
0
K
θ
k
T
k
(
L
~
)
x
g\theta *x \approx \sum_{k=0}^{K}\theta _kT_k(\tilde L)x
gθ∗x≈k=0∑KθkTk(L~)x
其中:
L
~
=
2
λ
m
a
x
L
−
I
N
\tilde L = \frac {2}{\lambda _{max}}L-I_N
L~=λmax2L−IN
是拉普拉斯矩阵L中最大的特征值
总结:
这时候的图卷积将需要的参数降到了K个,并且不需要进行拉普拉斯矩阵的特征分解,很大程度上降低了计算难度
线性图卷积
核心思想:快速图卷积中,K的次数表示的是顶点受到距离中央顶点K步以内的顶点的影响。当K=1时,则只在乎顶点与其相邻顶点之间的影响。
假设
L
~
=
2
λ
m
a
x
L
−
I
N
≈
2
\tilde L = \frac {2} {\lambda _{max}} L-I_N \approx 2
L~=λmax2L−IN≈2
那么原始图卷积中提到的卷积公式就可以近似为:
g
θ
∗
x
=
∑
k
=
0
K
θ
k
T
k
(
L
~
)
x
=
θ
0
x
+
θ
1
(
L
−
I
N
)
x
=
θ
0
x
−
θ
1
D
−
1
2
A
D
−
1
2
x
g\theta *x=\sum_{k=0}^{K} \theta _kT_k(\tilde L)x=\theta_0x+\theta _1(L-I_N)x = \theta _0x-\theta _1D^{-\frac{1}{2}}AD^{-\frac{1}{2}}x
gθ∗x=k=0∑KθkTk(L~)x=θ0x+θ1(L−IN)x=θ0x−θ1D−21AD−21x
将上式联立拉普拉斯矩阵的特征分解公式:
L
=
I
N
−
D
−
1
2
A
D
−
1
2
=
U
Δ
U
T
L = I_N-D^{-\frac{1}{2}}AD^{-\frac{1}{2}}=U\Delta U^T
L=IN−D−21AD−21=UΔUT
并令
θ
=
θ
0
=
−
θ
1
\theta = \theta_0=-\theta _1
θ=θ0=−θ1
可以得到
g
θ
∗
x
≈
θ
(
I
N
+
D
−
1
2
A
D
−
1
2
)
x
g\theta *x \approx \theta(I_N+D^{-\frac{1}{2}}AD^{-\frac{1}{2}})x
gθ∗x≈θ(IN+D−21AD−21)x
归一化
I
N
+
D
−
1
2
A
D
−
1
2
→
D
~
−
1
2
A
~
D
~
1
2
I_N + D^{-\frac{1}{2}}AD^{-\frac{1}{2}} \rightarrow \tilde D^{-\frac{1}{2}}\tilde A \tilde D^{\frac {1}{2}}
IN+D−21AD−21→D~−21A~D~21
A
~
=
A
+
I
N
\tilde A = A + I_N
A~=A+IN
D
~
i
i
=
∑
j
A
~
i
j
\tilde D_{ii} = \sum_j \tilde A_{ij}
D~ii=j∑A~ij
可以得到
g
θ
∗
x
≈
(
D
~
−
1
2
A
~
D
~
1
2
)
X
θ
g \theta*x \approx (\tilde D^{-\frac{1}{2}}\tilde A \tilde D^{\frac {1}{2}})X\theta
gθ∗x≈(D~−21A~D~21)Xθ
在神经网络模型之中,就可以表示为:
H
(
l
+
1
)
=
σ
(
D
~
−
1
2
A
~
D
~
1
2
H
(
l
)
W
(
l
)
)
H^{(l+1)} = \sigma (\tilde D^{-\frac{1}{2}}\tilde A \tilde D^{\frac {1}{2}} H^{(l)}W^{(l)})
H(l+1)=σ(D~−21A~D~21H(l)W(l))