图神经网络(一)图信号处理与图卷积神经网络(1)矩阵乘法的三种方式
图信号处理(Graph Signal Processing,GSP) 1是离散信号处理(Discrete Signal Processing,DSP)理论在图信号领域的应用,其通过对傅里叶变换、滤波等信号处理基本概念的迁移,来研究对图信号的压缩、变换、重构等信号处理的基础任务。
图信号处理与图卷机模型密不可分:一方面,理解图信号处理对于了解图卷机模型的定义和演变有十分重要的帮助;一方面,图信号处理也为图卷机模型的理论研究提供了十分实用的工具。
本章的脉络十分自然,我们将看到图信号处理的基本理论是如何延伸到图卷积神经网络中去的,首先,我们给出了图信号的基本定义,紧接着介绍图傅里叶变换,并由此引出图信号频率的定义。然后,我们介绍图信号上的滤波操作,紧接着介绍卷积滤波与图卷积模型的关系。其中还穿插了比较重要的两部分内容:一是对图信号的频域与空域的理解;二是对图信号处理的频域与空域的理解 2。
1.1 矩阵乘法的三种方式
由于本章的公式以矩阵乘法为主,为了帮助大家更好地理解公式的推导过程,我们介绍下矩阵乘法的其他两种计算方式。
设两个矩阵
A
∈
R
K
×
M
A∈R^{K×M}
A∈RK×M,
B
∈
R
M
×
P
B∈R^{M×P}
B∈RM×P,对于
C
=
A
B
C=AB
C=AB,我们有如下3种计算方式:
(1) 内积视角:将
A
A
A视作一个行向量矩阵,将
B
B
B视作一个列向量矩阵,则:
C
i
j
=
A
i
,
:
B
:
,
j
C_{ij}=A_{i,:} B_{:,j}
Cij=Ai,:B:,j (2) 行向量视角:将
B
B
B视作一个行向量矩阵,将
A
A
A视作系数矩阵,则:
C
i
,
:
=
∑
m
M
A
i
m
B
m
,
:
C_{i,:}=∑_m^MA_{im} B_{m,:}
Ci,:=m∑MAimBm,: (3) 列向量视角:将
A
A
A视作一个列向量矩阵,将
B
B
B视作系数矩阵,则:
C
:
,
j
=
∑
m
M
B
m
j
A
:
,
m
C_{:,j}=∑_m^MB_{mj} A_{:,m}
C:,j=m∑MBmjA:,m
举例来说,设
A
=
[
1
−
1
2
0
2
1
]
A=\begin{bmatrix}1&-1&2\\0&2&1\end{bmatrix}
A=[10−1221],
B
=
[
2
0
−
1
1
0
−
1
]
B=\begin{bmatrix}2&0\\-1&1\\0&-1\end{bmatrix}
B=⎣⎡2−1001−1⎦⎤,则:
如果用内积视角计算,可得
C
=
[
3
−
3
−
2
1
]
C=\begin{bmatrix}3&-3\\-2&1\end{bmatrix}
C=[3−2−31]
如果用行视角进行计算,我们以
C
C
C的第一行计算过程为例:
[
3
−
3
]
=
[
1
−
1
2
]
[
2
0
−
1
1
0
−
1
]
=
1
[
2
0
]
+
(
−
1
)
[
−
1
1
]
+
2
[
0
−
1
]
=
[
2
0
]
+
[
1
−
1
]
+
[
0
−
2
]
=
[
3
−
3
]
\begin{aligned}\begin{bmatrix}3&-3\end{bmatrix}&=\begin{bmatrix}1&-1&2\end{bmatrix}\begin{bmatrix}2&0\\-1&1\\0&-1\end{bmatrix}\\ &=1\begin{bmatrix}2&0\end{bmatrix}+(-1)\begin{bmatrix}-1&1\end{bmatrix}+2\begin{bmatrix}0&-1\end{bmatrix}\\ &=\begin{bmatrix}2&0\end{bmatrix}+\begin{bmatrix}1&-1\end{bmatrix}+\begin{bmatrix}0&-2\end{bmatrix}\\ &=\begin{bmatrix}3&-3\end{bmatrix}\end{aligned}
[3−3]=[1−12]⎣⎡2−1001−1⎦⎤=1[20]+(−1)[−11]+2[0−1]=[20]+[1−1]+[0−2]=[3−3]
如果用列视角进行计算,我们以
C
C
C的第一列计算过程为例:
[
3
−
2
]
=
[
1
−
1
2
0
2
1
]
[
2
−
1
0
]
=
2
[
1
0
]
+
(
−
1
)
[
−
1
2
]
+
0
[
2
1
]
=
[
2
0
]
+
[
1
−
2
]
+
[
0
0
]
=
[
3
−
2
]
\begin{aligned}\begin{bmatrix}3\\-2\end{bmatrix}&=\begin{bmatrix}1&-1&2\\0&2&1\end{bmatrix}\begin{bmatrix}2\\-1\\0\end{bmatrix}\\ &=2\begin{bmatrix}1\\0\end{bmatrix}+(-1)\begin{bmatrix}-1\\2\end{bmatrix}+0\begin{bmatrix}2\\1\end{bmatrix}\\ &=\begin{bmatrix}2\\0\end{bmatrix}+\begin{bmatrix}1\\-2\end{bmatrix}+\begin{bmatrix}0\\0\end{bmatrix}\\ &=\begin{bmatrix}3\\-2\end{bmatrix}\end{aligned}
[3−2]=[10−1221]⎣⎡2−10⎦⎤=2[10]+(−1)[−12]+0[21]=[20]+[1−2]+[00]=[3−2]
上述两种新的矩阵计算视角除了对理解本章的公式推导大有益处之外,行视角的计算方式对理解空域图卷积的计算逻辑与意义也将有很大帮助。