图神经网络学习笔记(1)——图信号与图傅里叶变换

本文参考书目为《深入浅出图神经网络:GNN原理解析》

什么是图数据?

在计算机科学中,图数据是一种十分常见的数据结构(参考离散数学、数据结构等学科)。从数据角度出发,图被广泛用以描述、建模关系型数据,例如:社交网络、交通网络等。数学上,图由顶点(Vertex)及连接顶点的边(Edge)构成,即图可以表示为顶点和边的集合,记为G=(V,E),其中V为顶点集,E为边集。图的一些概念,如:邻接矩阵、度、连通性、有向(无向)等在此不做详细介绍。

图信号与图拉普拉斯矩阵

与离散时间信号不同,图信号定义在节点上,节点存在固有的关联结构,图数据处理(Graph Signal Processing, GSP)在考虑节点上信号强度的同时,还应考虑图节点之间的拓扑关系(即图上节点之间的关联)。
以下给出图信号定义:给定图G=(V,E),V为节点集合,长度为N,图信号是一种描述V→R的映射,向量表示:
对应下标节点上的信号强度
每个x代表对应下标的节点上的信号强度,如下图所示。
定义在节点上的图信号
介绍完图信号,要介绍一个研究图结构性质十分重要的工具——拉普拉斯矩阵。
图的拉普拉斯矩阵定义如下:(图源:百度百科)

图的拉普拉斯矩阵定义
由定义知,A为图的邻接矩阵,D为对角矩阵是图的度矩阵,单一节点上定义如下:
对应下标为i的节点v的度
元素级别定义如下(下两张图源:图信号处理学习笔记(1):图信号基本知识及其变换
图拉普拉斯元素级别定义
也可以对拉普拉斯矩阵元素进行标准化:
标准化拉普拉斯矩阵元素
拉普拉斯矩阵就简要介绍到此,附上百度百科拉普拉斯矩阵定义及性质链接拉普拉斯矩阵_百度百科

拉普拉斯算子

拉普拉斯矩阵定义来源于拉普拉斯算子,该算子是n维欧式空间中的一个二阶微分算子,定义为梯度的散度(图源百度百科):
拉普拉斯算子定义
给出一阶离散函数导数计算公式(图源:拉普拉斯算子
在这里插入图片描述
将该算子作用域退化到离散二维图像空间,就是边缘检测算子,示例见下图:
离散二维图像空间
原理如下:二维离散拉普拉斯算子计算过程
在图信号中,拉普拉斯算子描述了中心节点与邻居节点之间的信号差异。
结论:拉普拉斯矩阵就是图上的拉普拉斯算子,或者说是离散的拉普拉斯算子。拉普拉斯矩阵与拉普拉斯算子的关系

傅里叶变换

传统的傅里叶变换将信号从时域空间转化到了频域空间,表示能将满足一定条件的某个函数表示成三角函数(正弦和/或余弦函数)或者它们的积分的线性组合。(图源:傅里叶变换有什么用?_百度知道
傅里叶变化图示
傅里叶变换公式及逆傅里叶变换公式如下图所示:
傅里叶变换
以声音信号为例,对输入的声音信号进行傅里叶变换,将其转化到频域中,则可以在频域中对不同特征频率的声音信号进行不同的处理,如提高频率、降噪等操作。
举个比较好理解的例子,电脑、智能手机上都不乏有声音处理软件,通过你输入的声音信号,电脑和智能手机通过其强大的计算能力在极短时间内把你的声音做傅里叶变换,把特定频段频率增加,就可以很轻松地完成男声到女声的转变。网络一线牵,“珍惜”这段缘。
傅里叶变换也广泛应用于数字图像处理,这里就不展开了。

图傅里叶变换

类比傅里叶变化,图傅里叶变换对于图信号的处理,也体现在将其从空域转化到频域。
由于图的拉普拉斯矩阵L是实对称矩阵,都可以被正交对角化,即:
拉普拉斯矩阵正交对角化
式中V是一个N阶正交矩阵,即:
正交矩阵
V中N个元素表示L的N个特征向量,由于V是正交矩阵,所以其N个特性向量彼此线性无关,λ是特征值组成的矩阵,且特征值矩阵中的元素升序排列,即:
特征值升序排列
由此定义图傅里叶变换(Graph Fourier Transform, GFT):对于任意一个图G上的信号x,其傅里叶变换为:
图傅里叶变换
特征向量为傅里叶基,等式左侧是x在第k个傅里叶基上的傅里叶系数,本质上,傅里叶系数是图信号在傅里叶基上的投影,衡量了二者之间的相似度。矩阵形式计算所有傅里叶系数公式如下:
矩阵计算形式图傅里叶变换
类比于逆傅里叶变换,给出逆图傅里叶变换(Inverse Graph Fourier Transform, IGFT):
逆图傅里叶变换

图傅里叶变换与图信号频率之间的关系

用以描述各条边上信号的差值进行加和,刻画图信号整体平滑度的标量称之为总变差,表达式如下:
图信号总变差
根据图傅里叶变换表达式改写总变差表达式,如下:
傅里叶变换改写的总变差表达式
由表达式可知,总变差与特征值之间存在非常直接的线性关系,总变差是所有特征值的一个线性组合,其权重是图信号所对应的傅里叶系数的平方。总变差衡量图信号整体平滑度,可将特征值等价于频率,特征值越低,频率越低,相近节点信号趋于一致;频率越高,相近节点上信号差异越大。
图信号所有傅里叶系数合称图信号的频谱。

本文为《深入浅出图神经网络:GNN原理解析》的一篇学习笔记,书中出现的一些概念、定义,不是特别明白的就参考了各方资料(百度百科、CSDN博客、知乎等),仅作为学习分享。

后续还会继续分享图神经网络相关内容,欢迎各位批评指正。

### 回答1: 对于你的第一个问题,我可以回答:2D傅里叶变换可以通过两次1D傅里叶变换来实现,其中一次是对行进行变换,另一次是对列进行变换。这种方法被称为“行列变换”或“分步法”(separable method),具有较好的计算效率。 ### 回答2: 像的2D傅里叶变换和两次1D傅里叶变换之间存在一定的关系。 首先,傅里叶变换是一种将时域信号转换到频域的数学工具。对于二维像,可以将其看作是一个二维的时域信号。2D傅里叶变换能够将这个像从时域转换到频域。在频域中,我们可以看到像中不同频率的成分。 而两次1D傅里叶变换则是将该二维像分别在水平和垂直方向进行傅里叶变换。也就是说,首先将像的各行进行1D傅里叶变换,得到每一行的频谱。接着,再将得到的频谱的各列进行1D傅里叶变换,得到最终的频谱。 那么,二维像的2D傅里叶变换与两次1D傅里叶变换之间的关系是什么呢?实际上,这两种变换是等价的。即先在水平方向进行1D傅里叶变换,再在垂直方向进行1D傅里叶变换,结果与直接进行2D傅里叶变换所得到的频谱完全一致。 这个等价性可以通过傅里叶变换的性质来证明:傅里叶变换具有可分离性。也就是说,对于二维信号,先对其进行水平方向的变换,再对得到的结果进行垂直方向的变换,与直接进行2D变换所得到的结果是相同的。 因此,在实际应用中,我们常常使用两次1D傅里叶变换来代替二维傅里叶变换。这是因为进行两次1D变换的计算量较小,速度较快,同时得到的结果与2D变换完全一致。 ### 回答3: 像的2D傅里叶变换和两次1D傅里叶变换之间的关系可以通过理解傅里叶变换的可分离性来解释。 傅里叶变换的可分离性是指对于一个二维函数,可以先对每一行进行一维的傅里叶变换,再对每一列进行一维的傅里叶变换,得到的结果和直接对整个二维函数进行二维傅里叶变换得到的结果是一样的。 换句话说,对于一个二维像,先对每一行进行一维的傅里叶变换,得到一个新的二维像。再对这个新的二维像的每一列进行一维的傅里叶变换,最终得到的结果和直接对原始二维像进行二维傅里叶变换得到的结果是相同的。 这个可分离性的性质使得二维傅里叶变换可以通过两次一维的傅里叶变换来实现,从而减少计算量和时间复杂度。 在实际应用中,对于一个二维像,在进行二维傅里叶变换之前,可以先对像的每一行进行一维的傅里叶变换,然后再对每一列进行一维的傅里叶变换。这样就可以利用可分离性的性质,将二维傅里叶变换分解为两次一维傅里叶变换进行计算,从而提高计算效率。 综上所述,像的2D傅里叶变换和两次1D傅里叶变换之间的关系就是二维傅里叶变换可以通过对像的每一行进行一维傅里叶变换,再对每一列进行一维傅里叶变换来实现。
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值