# GCN
# 卷积
卷积是两个函数f 和g 的数学运算,产生第三个函数h
卷积定义公式:
连续情况:
h(t)=(f∗g)(t)=def∫f(t)g(t−τ)dτ
离散情况:
h(x,y)=(f∗g)(x,y)=defm,n∑f(x−m,y−n)g(m,n)
# 定义卷积的两个方法
# 谱方法
基于傅里叶变换用卷积订立将卷积操作转化为频域中的乘法操作:
傅里叶变换:将输入信号和卷积核从时域转到频域,分别得到它们的傅里叶变换:
F(u)=F{f(x)}H(u)=F{h(x)}
频域乘法:在频域中对两个傅里叶变换结果进行逐点相乘:
G(u)=F(u)⋅H(u)
逆傅里叶变换:将乘积结果通过逆傅里叶变换转换回时域:
g(x)=F−1{G(u)}
# 空间方法
空间方法直接在信号或图像的空间域中进行卷积运算,通过滑动窗口逐点计算卷积结果。
** 翻转卷积核:** 将卷积核在空间域内翻转:h(−x)
滑动窗口:将翻转后的卷积核逐点滑动到输入信号的每一个位置
加权求和:对每一个位置上的输入信号与卷积核对应元素进行加权求和:
g(x)=(f∗h)(x)=a∑f(a)h(x−a)
对于二维图像,卷积计算也可以表示为:
g(i,j)=m∑n∑f(i−m,j−n)h(m,n)
# 图节点
# 普通图
给定一个图G=(V,E,W),X 是节点特征矩阵,那么可以定义如下:
- V 是节点集,包含n=∣V∣ 个节点
- E 是边集,表示节点之间的连接关系
- W 是Rn×n 中的加权邻接矩阵,表示节点之间边的权重
- X 是Rn×d 中的节点特征矩阵,每个节点关联d 个特征。矩阵X 的每一列是定义在节点上的一个信号。
# 图拉普拉斯
普通图拉普拉斯矩阵L 定义为:
L=D−W
其中:
- $D 是度矩阵(DegreeMatrix),是一个对角矩阵,且 D_{ii}=\sum_{j} W_{ij},表示节点 i$ 的度数,即与节点i 相连的边的权重总和。
- W 是权重邻接矩阵,其中Wij 表示节点i 和节点j 直接的边的权重
普通图拉普拉斯矩阵L 的对角元素Lii 是节点i 的度数,非对角矩阵Lij 是节点i 和节点j 之间边的负权重,如果两个节点i 和j 之间没有边,那么Lij=0
归一化图拉普拉斯矩阵 L 定义为:
L=I−D−21WD−21
- I 是单位矩阵
- D−21 是度矩阵的平方根的逆矩阵。度矩阵D 的对角元素是各节点的度数,取其平方根再取逆矩阵
# 图傅里叶变换
图傅里叶变换是一种将传统傅里叶变换推广到图结构数据的方法。在图信号处理(Graph Signal Processing)中,它用于分析和处理定义在图节点上的信号。
# 图的傅里叶基
图G 的傅里叶基是图拉普拉斯矩阵的正交归一特征向量的集合,具体步骤:
** 特征向量和特征值:** 计算拉普拉斯矩阵 L 的特征向量和特征值。设{ul}l=1n 是L 的一组正交归一特征向量,对应的特征值为\{\lambda _l \}^n_
** 拉普拉斯矩阵对角化:** 将图拉普拉斯矩阵对角化为:
L=UΛUT
其中U 是由特征向量构成的矩阵[u1,u2,...,un],Λ 是对角矩阵,对角线上的对应的特征值[λ1,λ2,...,λn].
# 图傅里叶变换
定义:图上信号x∈Rn 的图傅里叶变换定义为:
x^=UTx
这里,UT 是特征向量矩阵的转置,x 是图上的信号(每个节点上的值构成的向量),x^ 是信号的图傅里叶变换(频域表示)
逆变换:图傅里叶逆变换将频域表示的信号转换回时域表示,定义为:
x=Ux^
这里,U 是特征向量矩阵,x^ 是频域表示的信号
# 图卷积
在图信号处理(Graph Signal Processing)中,卷积操作可以通过谱域(频域)中的计算来简化。
根据卷积定理,给定输入信号 x 和滤波信号 y,图卷积∗G 可以写成:
x∗Gy=U((UTx)⊙(UTy))
- U 是图拉普拉斯矩阵L 的特征向量矩阵
- UxT 是信号x 的图傅里叶变换(频域表示)
- UyT 是滤波器y 的图傅里叶变换(频域表示)
- ⊙ 表示逐点乘积(点乘)
步骤:
- 对信号x 进行图傅里叶变换UTx
- 在频域中,对转换后的信号UxT 和滤波器UyT 进行逐点乘积,结果表示为gθUTx
- 对频域结果进行图傅里叶逆变换,得到卷积结果UgθUxT
# 逐点积
逐点乘积是指两个相同维度的矩阵或向量之间的元素对应相乘。假设有两个向量 $ a$ 和 b,其长度都为 n,则逐点乘积 $ c$ 的第 i 个元素定义为:
ci=ai∗bi
假设有两个向量a 和b:
a=[a1,a2,a3]b=[b1,b2,b3]
它们的逐点乘积c 为:
c=a⊙b=[a1⋅b1,a2⋅b2,a3⋅b3]
# 光谱图卷积神经网络
光谱图卷积神经网络(Spectral Graph Convolutional Neural Network, Spectral Graph CNN)是一种将卷积神经网络(CNN)的概念推广到图结构数据的方法。它利用图傅里叶变换在频域中进行卷积操作,从而有效地处理非欧几里得数据,如社交网络、分子结构等。以下是对图中内容的详细解释。
首先介绍光谱图卷积神经网络中第 k 层的卷积操作:
xk+1,j=h(i=1∑fkUFk,i,jUTxk,i)
其中:
- xk+1,j:第k+1 层中第j 个输出信号
- h: 激活函数
- fk 第k 层中的滤波器数量
- U:图拉普拉斯矩阵的特征向量矩阵
- Fk,i,j:第k 层中的滤波器参数
- xk,i:第 k 层中的第i 个输入信号
详细步骤
图傅里叶变换:将第 k 层中的输入信号xk,i 转到频域
x^k,i=UTxk,i
频域卷积:对转换后的信号逐点乘积:
y^k,i,j=Fk,i,jx^k,i
逆图傅里叶变换:将频域结果转换回时域:
yk,i,j=Uy^k,i,j
信号叠加和激活函数:将所有滤波结果相加,并通过激活函数得到第k+1 层的输出信号
xk+1,j=h(i=1∑fkyk,i,j)
# CNN 的缺点
- 需要拉普拉斯矩阵的特征分解(Requiring Eigen-Decomposition of Laplacian Matrix)
- 高计算成本(High Computational Cost)
- 在顶点域中不具备局部化特性(Not Localized in Vertex Domain)
# ChebyNet:通过多项式近似参数化滤波器
Parameterizing Filter via Polynomial Approximation
ChebyNet 是一种改进的光谱图卷积神经网络方法,通过多项式近似来参数化卷积滤波器,从而提高计算效率并减少参数数量。以下是对 ChebyNet 方法的详细解释:
# 背景
在传统的光谱图卷积神经网络中,卷积滤波器需要显式地使用拉普拉斯矩阵的特征分解,这导致高计算成本和参数量。ChebyNet 通过多项式近似的方法来简化这一过程。
# 多项式近似
ChebyNet 使用 Chebyshev 多项式来近似卷积滤波器。具体来说,卷积滤波器 $ g_\theta被表示为拉普拉斯矩阵特征值 \Lambda$ 的一个多项式:
gβ(Λ)=k=0∑K−1βkΛk
- βk 是多项式的系数,是需要学习的参数
- Λ 是拉普拉斯矩阵的特征值对角矩阵
# ChebyNet 的卷积操作
通过多项式近似,ChebyNet 中的图卷积操作可以写成:
x∗Gy=Ugβ(Λ)UTx=k=0∑K−1βkLkx
- $L $ 是图的拉普拉斯矩阵。
- Lk 表示拉普拉斯矩阵的 k 次幂。