图卷积(2)——谱域图卷积(1)
卷积
F [ f 1 ( t ) ⋆ f 2 ( t ) ] = F 1 ( w ) ⋅ F 2 ( w ) f 1 ( t ) ⋆ f 2 ( t ) = F − 1 [ F 1 ( w ) ⋅ F 2 ( w ) ] \begin{aligned} \mathcal{F}\left[f_{1}(t) \star f_{2}(t)\right]&=F_{1}(w) \cdot F_{2}(w) \\ f_{1}(t) \star f_{2}(t)&=\mathcal{F}^{-1}\left[F_{1}(w) \cdot F_{2}(w)\right] \end{aligned} F[f1(t)⋆f2(t)]f1(t)⋆f2(t)=F1(w)⋅F2(w)=F−1[F1(w)⋅F2(w)]
上述两个公式可以用以描述卷积操作,其中,
f
1
(
t
)
f_{1}(t)
f1(t)表示空域(或时域)上的信号,
f
2
(
t
)
f_{2}(t)
f2(t)表示空域上的卷积核,
F
1
(
t
)
F_{1}(t)
F1(t)表示频域上的信号,
F
2
(
t
)
F_{2}(t)
F2(t)表示频域上的卷积核,
F
\mathcal{F}
F表示傅里叶变换,那
F
−
1
\mathcal{F}^{-1}
F−1表示的便是傅里叶反变换,
⋆
\star
⋆为卷积,
⋅
\cdot
⋅为乘积。卷积操作的意义其实就是,先将空域上的信号转换到频域上,再将相乘后的结果从频域再转换到空域上。
傅里叶变换的公式为
x
(
t
)
=
1
n
∑
w
=
0
n
−
1
e
i
2
π
n
t
w
X
(
w
)
x(t)=\frac{1}{n} \sum_{w=0}^{n-1} e^{i \frac{2 \pi}{n} t w} X(w)
x(t)=n1∑w=0n−1ein2πtwX(w),而在一张图中的卷积,需要的当然是图傅里叶变换:
x
(
i
)
=
∑
l
=
1
n
x
^
(
λ
l
)
u
l
(
i
)
x(i)=\sum_{l=1}^{n} \hat{x}\left(\lambda_{l}\right) u_{l}(i)
x(i)=l=1∑nx^(λl)ul(i)
拉普拉斯矩阵
拉普拉斯矩阵的定义及性质
图卷积中的图多为无向图(
G
=
(
V
,
E
,
W
)
\mathcal{G}=(\mathcal{V}, \mathcal{E}, W)
G=(V,E,W),
∣
V
∣
=
n
|\mathcal{V}|=n
∣V∣=n),其邻接矩阵
W
∈
R
n
×
n
W \in \mathbb{R}^{n \times n}
W∈Rn×n,度矩阵
D
∈
R
n
×
n
D \in \mathbb{R}^{n \times n}
D∈Rn×n,
D
i
i
=
∑
j
W
i
j
D_{i i}=\sum_{j} W_{i j}
Dii=∑jWij,所以拉普拉斯矩阵
L
L
L的定义为:
L
=
D
−
W
L = D-W
L=D−W
L
L
L是一个对称半正定矩阵。其证明结果如下(线性代数知识):
f
T
L
f
=
f
T
D
f
−
f
T
W
f
=
∑
i
=
1
n
d
i
f
i
2
−
∑
i
,
j
=
1
n
f
i
f
j
W
i
j
=
1
2
(
∑
i
=
1
n
d
i
f
i
2
−
2
∑
i
,
j
=
1
n
f
i
f
j
W
i
j
+
∑
j
=
1
n
d
j
f
j
2
)
=
1
2
(
∑
i
,
j
=
1
n
W
i
j
(
f
i
−
f
j
)
2
)
≥
0
\begin{aligned} f^{T} L f&=f^{T} D f-f^{T} W f \\&=\sum_{i=1}^{n} d_{i} f_{i}^{2}-\sum_{i, j=1}^{n} f_{i} f_{j} W_{i j} \\ &=\frac{1}{2}\left(\sum_{i=1}^{n} d_{i} f_{i}^{2}-2 \sum_{i, j=1}^{n} f_{i} f_{j} W_{i j}+\sum_{j=1}^{n} d_{j} f_{j}^{2}\right) \\ &=\frac{1}{2}\left(\sum_{i, j=1}^{n} W_{i j}\left(f_{i}-f_{j}\right)^{2}\right) \geq 0 \end{aligned}
fTLf=fTDf−fTWf=i=1∑ndifi2−i,j=1∑nfifjWij=21(i=1∑ndifi2−2i,j=1∑nfifjWij+j=1∑ndjfj2)=21(i,j=1∑nWij(fi−fj)2)≥0
所以拉普拉斯矩阵有以下性质:
- n n n阶对称矩阵一定有 n n n个线性无关的特征向量, L L L的 n n n个特征向量的线性无关的,所以它们是 n n n维空间的一组基。
- 对称矩阵的不同特征值对应的特征向量相互正交,这些特征向量构成的矩阵为正交矩阵
- 实对称矩阵的特征向量一定是实向量
- 半正定矩阵的特征值一定非负
- 由1和2还可以得出, L L L的 n n n个特征向量是n维空间的一组标准正交基。
拉普拉斯矩阵是图上的一种拉普拉斯算子
此部分内容可以不看,直接记住上述结论即可。
拉普拉斯算子的定义为梯度的散度,
△
f
=
∇
⋅
(
∇
f
)
=
div
(
grad
(
f
)
)
\triangle f=\nabla \cdot(\nabla f)=\operatorname{div}(\operatorname{grad}(f))
△f=∇⋅(∇f)=div(grad(f)),在n维的欧几里得空间中,可以直接地认为拉普拉斯算子是一个二阶微分算子
△
f
=
∑
i
∂
2
f
∂
x
i
2
\triangle f=\sum_{i} \frac{\partial^{2} f}{\partial x_{i}^{2}}
△f=∑i∂xi2∂2f。
上述均是连续函数的情况,而对于欧式空间中的离散函数来说,其二阶导数定义为:
∂
f
∂
x
=
f
′
(
x
)
=
f
(
x
+
1
)
−
f
(
x
)
∂
2
f
∂
x
2
=
f
′
′
(
x
)
=
f
′
(
x
+
1
)
−
f
′
(
x
)
=
f
(
x
+
1
)
+
f
(
x
−
1
)
−
2
f
(
x
)
\begin{aligned} \frac{\partial f}{\partial x}&=f^{\prime}(x)=f(x+1)-f(x) \\ \frac{\partial^{2} f}{\partial x^{2}}&=f^{\prime \prime}(x)=f^{\prime}(x+1)-f^{\prime}(x) \\ &=f(x+1)+f(x-1)-2 f(x) \end{aligned}
∂x∂f∂x2∂2f=f′(x)=f(x+1)−f(x)=f′′(x)=f′(x+1)−f′(x)=f(x+1)+f(x−1)−2f(x)
类似的,对于二维函数
f
(
x
,
y
)
f(x,y)
f(x,y)(例如图像),其两个变量的拉普拉斯算子可以写成:
Δ
f
=
∂
2
f
∂
x
2
+
∂
2
f
∂
y
2
=
f
(
x
+
1
,
y
)
+
f
(
x
−
1
,
y
)
+
f
(
x
,
y
−
1
)
+
f
(
x
,
y
+
1
)
−
4
f
(
x
,
y
)
\begin{array}{c} \Delta f=\frac{\partial^{2} f}{\partial x^{2}}+\frac{\partial^{2} f}{\partial y^{2}} \\ =f(x+1, y)+f(x-1, y)+f(x, y-1)+f(x, y+1)-4 f(x, y) \end{array}
Δf=∂x2∂2f+∂y2∂2f=f(x+1,y)+f(x−1,y)+f(x,y−1)+f(x,y+1)−4f(x,y)
从上述公式可以看出,这种情况下的拉普拉斯算子相当于中心节点和周围结点的插值的求和,这点可以类似地推理到图上,所以图上的拉普拉斯算子定义为(其中
f
=
(
f
1
,
f
2
,
⋯
f
n
)
f=\left(f_{1}, f_{2}, \cdots f_{n}\right)
f=(f1,f2,⋯fn),代表
n
n
n个节点上每个节点的信号):
Δ
f
i
=
∑
(
i
,
j
)
∈
E
(
f
i
−
f
j
)
\Delta f_{i}=\sum_{(i, j) \in \mathcal{E}}\left(f_{i}-f_{j}\right)
Δfi=(i,j)∈E∑(fi−fj)
当图中的边有权重时,拉普拉斯算子写成:
Δ
f
i
=
∑
(
i
,
j
)
⊂
ε
W
i
j
(
f
i
−
f
j
)
\Delta f_{i}=\sum_{(i, j) \subset \varepsilon} W_{i j}\left(f_{i}-f_{j}\right)
Δfi=(i,j)⊂ε∑Wij(fi−fj)
可以理解为,中心节点
i
i
i依次减去周围节点,乘以权重之后,再求和。将上述公式继续推导:
Δ
f
i
=
∑
(
i
,
j
)
∈
ε
W
i
j
(
f
i
−
f
j
)
=
∑
j
=
1
n
W
i
j
(
f
i
−
f
j
)
=
D
i
j
f
i
−
∑
j
=
1
n
W
i
j
f
j
\begin{aligned} \Delta f_{i}&=\sum_{(i, j) \in \varepsilon} W_{i j}\left(f_{i}-f_{j}\right) \\ &=\sum_{j=1}^{n} W_{i j}\left(f_{i}-f_{j}\right)\\&=D_{i j} f_{i}-\sum_{j=1}^{n} W_{i j} f_{j} \end{aligned}
Δfi=(i,j)∈ε∑Wij(fi−fj)=j=1∑nWij(fi−fj)=Dijfi−j=1∑nWijfj
那么,对于
n
n
n个节点来说,
Δ
f
=
g
θ
=
(
Δ
f
1
⋮
Δ
f
n
)
=
(
D
11
f
1
−
∑
j
=
1
n
W
1
j
f
j
⋮
D
n
n
f
n
−
∑
j
=
1
n
W
n
j
f
j
)
=
(
D
11
⋱
D
n
n
)
f
−
W
f
=
D
f
−
W
f
=
L
f
\begin{aligned} \Delta f&=g_{\theta}=\left(\begin{array}{c} \Delta f_{1} \\ \vdots \\ \Delta f_{n} \end{array}\right)=\left(\begin{array}{c} D_{11} f_{1}-\sum_{j=1}^{n} W_{1 j} f_{j} \\ \vdots \\ D_{n n} f_{n}-\sum_{j=1}^{n} W_{n j} f_{j} \end{array}\right) \\ &=\left(\begin{array}{ccc} D_{11} & & \\ & \ddots & D_{n n} \end{array}\right) f-W f=D f-W f=L f \end{aligned}
Δf=gθ=⎝⎜⎛Δf1⋮Δfn⎠⎟⎞=⎝⎜⎛D11f1−∑j=1nW1jfj⋮Dnnfn−∑j=1nWnjfj⎠⎟⎞=(D11⋱Dnn)f−Wf=Df−Wf=Lf
可以看出
Δ
f
=
L
f
\Delta f=Lf
Δf=Lf,所以拉普拉斯矩阵是图上的一种拉普拉斯算子。严谨的证明可以见文章Discrete Regularization on Weighted Graph for Image and Mesh Filtering。