读论文,发现看论文最重要的是推导,因此写了这篇文章,记录重要的推导过程(个人人为的)(持续更新)
SGC以及最常见优化的推到
邻接矩阵归一化:
A
~
=
D
~
−
1
/
2
A
~
D
~
−
1
/
2
\tilde{A}=\tilde{D}^{-1/2}\tilde{A}\tilde{D}^{-1/2}
A~=D~−1/2A~D~−1/2
对应::
A
=
I
n
+
D
−
1
/
2
A
D
−
1
/
2
A = I_{n} + D^{-1/2}AD^{-1/2}
A=In+D−1/2AD−1/2
是低通过滤器,
L
=
I
n
−
D
−
1
/
2
A
D
−
1
/
2
L = I_{n} -D^{-1/2}AD^{-1/2}
L=In−D−1/2AD−1/2
相应的是高通滤波器
参考:https://blog.csdn.net/qq_51392112/article/details/129105003
A的特征值范围是[-1,1],L的特征值范围为:[0,2]
由于图附近的信号应该是平滑的,我们有如下的定义光滑信号:
min
H
∥
H
−
X
∥
F
2
+
s
Tr
(
H
⊤
L
H
)
(1)
\min_H\|H-X\|_F^2+s\operatorname{Tr}\left(\mathrm{H}^\top\mathrm{LH}\right)\tag{1}
Hmin∥H−X∥F2+sTr(H⊤LH)(1)
其中,
O
r
e
g
=
1
2
∑
i
,
j
n
A
~
i
,
j
∥
H
i
−
H
j
∥
2
=
t
r
(
H
T
L
~
H
)
(2)
O_{reg}=\frac12\sum_{i,j}^n\tilde{\mathbf{A}}_{i,j}\|\mathbf{H}_i-\mathbf{H}_j\|^2=tr(\mathbf{H}^T\tilde{\mathbf{L}}\mathbf{H})\tag{2}
Oreg=21i,j∑nA~i,j∥Hi−Hj∥2=tr(HTL~H)(2)
(如上公式基于图相邻的节点应该是平滑的,因此当i和j有连边的时候,
H
i
−
H
j
H_{i}-H_{j}
Hi−Hj应该尽可能的小)
推导如下图:
由公式1求导后得:
H
=
(
I
+
s
L
)
−
1
X
H=(I+sL)^{-1}X
H=(I+sL)−1X
泰勒公式展开(一阶)得:
H
=
(
I
−
s
L
)
X
H=(I-sL)X
H=(I−sL)X
m阶为:
H
=
(
I
−
s
L
)
m
X
H=(I-sL)^{m}X
H=(I−sL)mX
卷积核 来自大佬SivilTaram
卷积概念
卷积是定义在两个函数(f和g)上的数学操作.f和g上的卷积可以写为
f
∗
g
f*g
f∗g.数学定义如下:
(
f
∗
g
)
(
t
)
=
∫
−
∞
∞
f
(
τ
)
g
(
t
−
τ
)
(
连续形式
)
(f*g)(t)=\int_{-\infty}^\infty f(\tau)g(t-\tau)(\text{连续形式})
(f∗g)(t)=∫−∞∞f(τ)g(t−τ)(连续形式)
(
f
∗
g
)
(
t
)
=
∑
τ
=
−
∞
∞
f
(
τ
)
g
(
t
−
τ
)
(
离散形式
)
(f*g)(t)=\sum_{\tau=-\infty}^\infty f(\tau)g(t-\tau)(\text{离散形式})
(f∗g)(t)=τ=−∞∑∞f(τ)g(t−τ)(离散形式)
我们可以参考如下去理解:
假如有两个骰子f,g,f(1)表示f朝上一面为1的概率.同时抛两个筛子1次,它们正面朝上数字为4的概率为:
- f上1,g上3
- f上2,g上2
- f上3,g上1
即:
∑ τ = 1 3 f ( τ ) g ( 4 − τ ) \sum_{\tau=1}^3f(\tau)g(4-\tau) τ=1∑3f(τ)g(4−τ)
在图领域,g可以看做深度学习中的核(kernel),也就对应滤波器.f可以对应深度学习中的特征. ( f ∗ g ) (f*g) (f∗g)就可以对应对f的加权求和
空间卷积
消息传递函数:
h
v
l
+
1
=
U
l
+
1
(
h
v
,
∑
u
∈
n
e
[
v
]
M
l
+
1
(
h
v
l
,
h
u
l
,
x
v
u
)
)
\mathbf{h}_v^{l+1}=U_{l+1}(\mathbf{h}_v,\sum_{u\in ne[v]}M_{l+1}(\mathbf{h}_v^l,\mathbf{h}_u^l,\mathbf{x}_{vu}))
hvl+1=Ul+1(hv,u∈ne[v]∑Ml+1(hvl,hul,xvu))
傅里叶变换(Fourier Transform)
(
f
∗
g
)
(
t
)
=
F
−
1
[
F
[
f
(
t
)
]
⊙
F
[
g
(
t
)
]
]
(f*g)(t)=F^{-1}[F[f(t)]\odot F[g(t)]]
(f∗g)(t)=F−1[F[f(t)]⊙F[g(t)]]
F
−
1
F^{-1}
F−1是傅里叶逆变换,
⊙
\odot
⊙指的是两个矩阵的逐点乘积(hadamard积)
简单来说就是,如果要算 f𝑓 与 g𝑔 的卷积,可以先将它们通过傅里叶变换变换到频域中,将两个函数在频域中相乘,然后再通过傅里叶逆变换转换出来,就可以得到 𝑓 与 𝑔 的卷积结果。
傅里叶变换后生成的
f
^
(
t
)
=
∫
f
(
x
)
e
x
p
−
2
π
i
x
t
d
x
\hat{f}\left(t\right)=\int f(x)\mathrm{exp}^{-2\pi ixt}dx
f^(t)=∫f(x)exp−2πixtdx
exp
−
2
π
i
x
t
\exp^{-2\pi ixt}
exp−2πixt相当于拉普拉斯算子
△
\triangle
△的广义特征函数
Δ
e
x
p
−
2
π
i
x
t
=
∂
2
∂
t
2
e
x
p
−
2
π
i
x
t
=
−
4
π
2
x
2
e
x
p
−
2
π
i
x
t
\Delta\mathrm{exp}^{-2\pi ixt}=\frac{\partial^2}{\partial t^2}\mathrm{exp}^{-2\pi ixt}=-4\pi^2x^2\mathrm{exp}^{-2\pi ixt}
Δexp−2πixt=∂t2∂2exp−2πixt=−4π2x2exp−2πixt
这意味着,傅里叶变换将
f
(
t
)
f(t)
f(t)映射到了
{
exp
−
2
π
i
x
t
}
\{\exp^{-2\pi ixt}\}
{exp−2πixt}为基的空间中
图上卷积
L
=
U
Λ
U
T
L=U\Lambda U^T
L=UΛUT
U
=
(
u
1
,
u
2
,
⋯
,
u
n
)
U=(u_1,u_2,\cdots,u_n)
U=(u1,u2,⋯,un)
Λ
=
[
λ
1
…
0
…
…
…
0
…
λ
n
]
\Lambda=\begin{bmatrix}\lambda_1&\ldots&0\\\\\ldots&\ldots&\ldots\\0&\ldots&\lambda_n\end{bmatrix}
Λ=
λ1…0………0…λn
结合上面的卷积和傅里叶变换的公式,图上卷积公式(即傅里叶变换):
f
^
(
t
)
=
∑
n
=
1
N
f
(
n
)
u
t
(
n
)
\hat{f}\left(t\right)=\sum_{n=1}^Nf(n)u_t(n)
f^(t)=n=1∑Nf(n)ut(n)
如果整个图上N个节点一起做卷积,就可以得到整张图的卷积:
f
^
=
[
f
^
(
1
)
…
f
^
(
N
)
]
=
U
T
f
\hat{f}=\begin{bmatrix}\hat{f}\left(1\right)\\\ldots\\\hat{f}\left(N\right)\end{bmatrix}=U^Tf
f^=
f^(1)…f^(N)
=UTf
我们将图上卷积公式代入卷积公式中:
(
f
∗
G
g
)
=
U
(
U
T
f
⊙
U
T
g
)
=
U
(
U
T
g
⊙
U
T
f
)
(f*_Gg)=U(U^Tf\odot U^Tg)=U(U^Tg\odot U^Tf)
(f∗Gg)=U(UTf⊙UTg)=U(UTg⊙UTf)
如果把
U
T
g
U^{T}g
UTg整体看做可学习的卷积核,这里我们把它写作
g
θ
g_{\theta}
gθ,最终图上的卷积公式:
o
=
(
f
∗
G
g
)
θ
=
U
g
θ
U
T
f
o=(f*_Gg)_\theta=Ug_\theta U^Tf
o=(f∗Gg)θ=UgθUTf
附录部分
常见矩阵求导法则:
∂
t
r
(
A
B
)
∂
A
=
B
T
\frac{\partial tr(AB)}{\partial A} = B^T
∂A∂tr(AB)=BT
∂
t
r
(
A
X
B
)
∂
X
=
(
B
A
)
T
=
A
T
B
T
\frac{\partial tr(AXB)}{\partial X} = (BA)^T = A^TB^T
∂X∂tr(AXB)=(BA)T=ATBT
∂
t
r
(
X
T
X
)
∂
X
=
2
X
\frac{\partial tr(X^TX)}{\partial X} = 2X
∂X∂tr(XTX)=2X
tr
(
A
)
=
tr
(
A
T
)
\operatorname{tr}(A)=\operatorname{tr}(A^T)
tr(A)=tr(AT)