图神经网路入门(1)

图神经网络入门(1)

本文主要介绍图神经网路背景和必须的数学知识。下一部分会介绍模型和应用。

1.为什么会出现GCN(图卷积神经网络)

普通卷积网络都是研究的具备欧几里得领域的数据,例如规则的正方形,语音等。

1.1平移不变性 translation invariance

无论这只猫怎么平移,扭曲,最终识别出来都是一只猫,输入怎么变形输出都是一只猫,网络的层次越深,这个特性越明显。

1.2平移可变性 translation variance:

针对目标检测,比如一只猫从左侧移到右侧,检测出的猫的坐标会变化就称之为平移可变性。卷积神经网络的卷积核(kernal)总会造成最终的输出的map减小,而在原始上的小偏移不可避免的会被缩小,忽视。想象一下一个没戴眼镜的近视眼看远处的物体。会发现聚焦的物品比较清楚,但是周围的及其模糊,这就类似于卷积最后的结果。(之所以会变小是因为filter层,也叫做kernal)

CNN的卷积本质上就是一种离散的卷积,一个共用参数的过滤器(Kernal),通过计算加和得到结果。

1.3非欧式空间的卷积:

例如:图,还有流体。无法选择一个确定大小的卷积核来适应整个图。

1.3.1特征如下:
  1. 节点特征:每个节点具有自己的特征,例如特征向量
  2. 结构特征:点与点之间的结构特征,主要体现在边上。
  3. 核心思想:边的信息,点的信息融合产生新的信息

2.两种图卷积方式,也是主要研究方向:

2.1基于空间域的方法(Spatial domain)

基于空间域的方法直接用在每个结点的连接关系上,和传统的卷积神经网络比较像:代表作有Message Passing Neural Networks(MPNN),GraphSage,Diffusion Convolution Neural networks(DCNN),PATCHY-SAN等

2.2频谱方法(spectral domain)

主要的基础知识是图谱理论来实现拓扑图上的卷积操作。整个研究的时间进程来看,首先研究GSP(Graph signal processing)的学者们定义了图上的傅里叶转换,进而定义了图上的卷积操作,最后和深度学习结合提出了图卷积网络。

2.3什么是谱图理论

可以参考维基百科https://en.wikipedia.org/wiki/Spectral_graph_theory

简单概括:就是借助拉普拉斯矩阵的特征值和特征向量来研究图的性质

2.4:why 拉普拉斯矩阵?

这是个难点:要理解需要有坚实的数学基础:包括但是不限于矩阵分析和谱图理论

过程包括:

(1) 定义图上的傅里叶变换

(2) 定义图上的卷积

3.谱图理论

3.1什么是拉普拉斯矩阵

A是图的邻接矩阵,D是度矩阵。拉普拉斯矩阵(Laplacian矩阵)

L=D-A

注意:频域卷积的前提是无向图,这样L才是对称矩阵
3.2常用的几种拉普拉斯矩阵
3.2.1普通拉普拉斯矩阵

L=D-A

L i j = { d i a g ( v i )  if i==j − 1  if i!=j and  V i  is adjacent to  V j 0   o t h e r w i s e L_{ij}=\left\{ \begin{aligned} diag(v_i) &\ \text{if i==j}&\\ -1& \text{ if i!=j and $V_i$ is adjacent to $V_j$}\\ 0&\ otherwise\\ \end{aligned} \right. Lij=diag(vi)10 if i==j if i!=j and Vi is adjacent to Vj otherwise

d i a g ( v i ) diag(v_i) diag(vi)表示的是 v i v_i vi这个点的度

3.2.2 对称归一化的拉普拉斯矩阵
英文名为Symmetric normalized Laplacian

L s y s = D − 1 / 2 L D − 1 / 2 = I − D − 1 / 2 L D − 1 / 2 L^{sys}=D^{-1/2}LD^{-1/2}=I-D^{-1/2}LD^{-1/2} Lsys=D1/2LD1/2=ID1/2LD1/2

其定义如下

L i j s y s = { 1   if i==j and diag( v i )!=0 − 1 d i a g ( v i ) d i a g ( v j )  if i!=j and  V i  is adjacent to  V j 0   o t h e r w i s e L_{ij}^{sys}=\left\{ \begin{aligned} 1 &\ \text{if i==j and diag($v_i$)!=0}&\\ -\frac {1}{\sqrt{diag(v_i)diag(v_j)}}& \text{ if i!=j and $V_i$ is adjacent to $V_j$}\\ 0&\ otherwise\\ \end{aligned} \right. Lijsys=1diag(vi)diag(vj) 10 if i==j and diag(vi)!=0 if i!=j and Vi is adjacent to Vj otherwise

这是大多数论文中应用的矩阵

3.2.3随机游走归一化拉普拉斯矩阵

Random walk normalized Laplacian

L i j r w = { 1   if i==j and diag( v i )!=0 − 1 d i a g ( v i )  if i!=j and  V i  is adjacent to  V j 0   o t h e r w i s e L_{ij}^{rw}=\left\{ \begin{aligned} 1 &\ \text{if i==j and diag($v_i$)!=0}&\\ -\frac {1}{diag(v_i)}& \text{ if i!=j and $V_i$ is adjacent to $V_j$}\\ 0&\ otherwise\\ \end{aligned} \right. Lijrw=1diag(vi)10 if i==j and diag(vi)!=0 if i!=j and Vi is adjacent to Vj otherwise

3.2.4广义拉普拉斯矩阵

这个实际上是博客看来的,论文中我还没见过

L i j r w = { Q i , j < 0   if i==j and diag( v i )!=0 Q i , j = 0  if i!=j and  V i  is adjacent to  V j a n y   n u m b e r   o t h e r w i s e L_{ij}^{rw}=\left\{ \begin{aligned} Q_{i,j}<0 &\ \text{if i==j and diag($v_i$)!=0}&\\ Q_{i,j}=0& \text{ if i!=j and $V_i$ is adjacent to $V_j$}\\ any\ number&\ otherwise\\ \end{aligned} \right. Lijrw=Qi,j<0Qi,j=0any number if i==j and diag(vi)!=0 if i!=j and Vi is adjacent to Vj otherwise

3.2.5 例子

见维基百科的解释,这里不方便带图,但是仍然推荐过一遍wiki的解释,非常详尽。https://en.wikipedia.org/wiki/Laplacian_matrix

3.3属性
3.3.1普通拉普拉斯矩阵

对于一个无向图G,以及其拉普拉斯矩阵L以及特征值。

λ 0 ≤ λ 1 ≤ λ 2 ≤ ⋯ ≤ λ n − 1 \lambda_0 \leq \lambda_1 \leq \lambda_2 \leq \cdots \leq \lambda_{n-1} λ0λ1λ2λn1

  1. L是对称的,这非常重要
  2. L是半正定的。这个在下面进行证明,同时拉普拉斯矩阵是对称且对角占优也证明这点。所谓对角占优就是对角线上元素的值大于等于其他所有值的绝对值相加(除对角外),一个埃尔米特对角占优矩阵是半正定的。
  3. L是一个M矩阵,即所有的非对角元素非正,但是特征值的实数部分非负
  4. L每行每列值和为0
  5. 因为性质4,所以 λ 0 = 0 \lambda_0=0 λ0=0,因为对于向量 v 0 = ( 1 , 1 , 1 , ⋯   , 1 ) v_0=(1,1,1,\cdots,1) v0=(1,1,1,,1), L v 0 = Lv_0= Lv0=0
  6. 特征值中零出现的次数就是图连通区域的个数
  7. 最小非零特征值就是图的代数连通度

这是到目前为止你们可以理解的性质,wiki百科上面还有不少性质非常推荐去看看,但是可能超出理解范围,需要学习矩阵分析。

3.4 谱分解
3.4.1谱分解定义

特征分解,又称之为谱分解,将矩阵分解为由其特征值和特征向量表示的矩阵之积的形式,并不是所有矩阵都有特征分解,只有可对角化矩阵可以进行特征分解。可对角化矩阵详见百度百科。

只有由N个线性无关的特征向量的矩阵可以实施特征分解.

具体分解方式如下: A = Q Λ Q − 1 A=Q\Lambda Q^{-1} A=QΛQ1,其中 Q Q Q N ∗ N N*N NN方阵,第i列是特征向量。 Λ \Lambda Λ是对角矩阵, Λ i i = λ i \Lambda_{ii}=\lambda_i Λii=λi

一般来说,特征向量都可以被正交单位化。

3.4.2特殊矩阵的特征分解
  1. 对称矩阵,任意N*N实对称矩阵都有N个线性无关的特征向量,所以实对称可以如下分解 A = Q Λ Q T A=Q \Lambda Q^T A=QΛQT,其中Q为正交矩阵, Q T Q = I , Q Q T = I Q^TQ=I,QQ^T=I QTQ=I,QQT=I,这样为正交矩阵。正交矩阵总属于正规矩阵,正交矩阵为特殊化的酉矩阵
  2. 正规矩阵,满足 A H A = A A H A^HA=AA^H AHA=AAH,则称之为正规矩阵.其可以分解为 A = U Λ U H A=U\Lambda U^H A=UΛUH,其中U是一个酉矩阵,进一步如果A是一个埃尔米特矩阵,则 Λ \Lambda Λ对角为实数,若A还是酉矩阵,则A的所有对角元在复平面的单位元上取得.
3.4.3拉普拉斯矩阵的谱分解

拉普拉斯矩阵是半正定矩阵,半正定矩阵本身就是对称矩阵(根据定义 一个对称矩阵 是半正定矩阵,如果它对称,且对于任何的列向量 ,都有: Z T A Z > = 0 Z^TAZ>=0 ZTAZ>=0

那么它的性质如下

对称矩阵一定有n个线性无关的特征向量

半正定矩阵特征值一定非负

对称矩阵上不同特征值对应的特征向量一定相互正交,构成正交矩阵

所以拉普拉斯矩阵一定有谱分解.

L = U Λ U − 1 = U Λ U T L=U\Lambda U^{-1}=U\Lambda U^{T} L=UΛU1=UΛUT

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zaTARVNS-1593436309662)(D:\AI讲课\L.png)]

3.5拉普拉斯算子

拉普拉斯矩阵是n维欧几里得空间的一个二阶微分算子,定义为梯度或是散度( △ f = ∇ 2 f = ∇ ∗ ∇ f \triangle f= \nabla^2 f=\nabla *\nabla f f=2f=f)

△ f = ∑ i = 1 n ∂ 2 f ∂ x i 2 \triangle f=\sum^n_{i=1} \frac {\partial^2 f }{\partial x_i^2} f=i=1nxi22f

函数f的拉普拉斯矩阵也是其海塞矩阵的迹,和上面的定义表达的是同一个意思
图神经网路入门(1)_第1张图片
拉普拉斯的物理意义是空间二阶导数,准确来说是标准梯度场的散度,可用于描述物理量的流入流出

拉普拉斯矩阵也被称之为离散的拉普拉斯算子

4.傅里叶变换

4.1 如何理解傅立叶级数公式?
4.1.1一个猜想

拉格朗日和一些数学家发现,某些周期函数可以由三角函数的和来表示,而后傅里叶猜想,任意周期函数都可以由三角函数的和表示

4.1.2分解的思路

假设 f ( x ) f(x) f(x)是一个周期为T的函数,那么如何构造一个三角函数的和,使之等于 f ( x ) f(x) f(x)

首先:常数项,比如 y = c y=c y=c这样的常数函数,就必须要加上一个常数项来表示

其次:sinx和cosx,周期函数的加减仍然是周期函数,而 f ( x ) f(x) f(x)的某些特性,例如奇函数和偶函数,都可以表示为奇函数和偶函数的某种叠加.最后是任意函数都可以分解为奇函数和偶函数的和.

f ( x ) = f ( x ) + f ( − x ) 2 + f ( x ) − f ( − x ) 2 f(x)=\frac {f(x)+f(-x)}{2}+\frac {f(x)-f(-x)}{2} f(x)=2f(x)+f(x)+2f(x)f(x)

4.1.3周期T的构造

有三角函数可知,如果由 s i n ( w x ) sin(wx) sin(wx),那么周期为 2 π w \frac {2\pi} {w} w2π,所以周期为T的三角函数为 s i n ( 2 π n x T ) sin(\frac {2\pi nx}{T}) sin(T2πnx)

那么周期为T的函数加减也仍然为T.

4.1.4振幅

显然可以通过系数调整

4.1.5 最终结果

f ( x ) = C + ∑ n = 1 ∞ ( a n c o s ( 2 π n x T + b n s i n ( 2 π n x T ) ) ) f(x)=C+\sum^{\infty}_{n=1}(a_ncos(\frac {2\pi nx}{T}+b_nsin(\frac {2\pi nx}{T}))) f(x)=C+n=1(ancos(T2πnx+bnsin(T2πnx)))

4.2另一种表示方法

e i w t e^{iwt} eiwt是在单位圆上的研究,可以看到旋转的频率,所以被认为是频域,而上面的表示方式为 s i n ( w t ) sin(wt) sin(wt)可以看到流逝的时间,称之为时域

根据欧拉公式 e i w t = c o s ( w t ) + i s i n ( w t ) e^{iwt}=cos(wt)+isin(wt) eiwt=cos(wt)+isin(wt).

4.2.1通过频域来求系数

可以通过 g ( x ) = s i n ( x ) + s i n ( 2 x ) g(x)=sin(x)+sin(2x) g(x)=sin(x)+sin(2x)来作为例子,通过上面的转化可以得到他们分别是 e i t 和 e 2 i t e^{it}和e^{2it} eite2it的虚部,所以可以通过他们的向量之和,来求系数.这里就应用到了线性代数了

  • KaTeX parse error: Expected group after '^' at position 16: \mathop{e^{it}}^̲\limits{->}和\ma…
  • 我们令 G ( t ) − > = e i t − > + e 2 i t − > \mathop{G(t)}\limits^{->}=\mathop{e^{it}}\limits^{->}+\mathop{e^{2it}}\limits^{->} G(t)>=eit>+e2it>,都是向量形式

那么实际上,g(x)就是G(x)的虚部,所谓的系数也就是在 s i n ( t ) , s i n ( 2 t ) sin(t),sin(2t) sin(t),sin(2t)下的坐标

4.2.2 如何求正交基的坐标

我们假设KaTeX parse error: Expected group after '^' at position 11: \mathop{w}^̲\limits{->}=3\m…

其中w=(1,5),u=(1,1),v=(-1,1)

显然有uv=0

所以这两个是正交基

这样就可以通过点积的方式得到v的系数(仅限于正交基)

KaTeX parse error: Expected group after '^' at position 18: …rac {\mathop{w}^̲\limits{->}\cdo…

4.2.3求sin(nt)基下的坐标

以下是一个结论

KaTeX parse error: Expected group after '^' at position 14: \mathop{f(x)}^̲\limits{->}\cdo…是函数向量的点积定义

其中 f ( x ) 和 g ( x ) f(x)和g(x) f(x)g(x)是函数向量, g ( x ) g(x) g(x)为基,T为f(x)周期

例如对于 g ( x ) = s i n ( x ) + s i n ( 2 x ) g(x)=sin(x)+sin(2x) g(x)=sin(x)+sin(2x), g ( x ) g(x) g(x)是向量, s i n ( x ) , s i n ( 2 x ) sin(x),sin(2x) sin(x),sin(2x)是基,T=2 π \pi π

4.2.4更一般的

对我们之前的假设,其中 f ( x ) f(x) f(x)周期为T,

f ( x ) = C + ∑ 0 ∞ ( a n c o s ( 2 π n x T + b n s i n ( 2 π n x T ) ) ) f(x)=C+\sum\limits^{\infty}_{0}(a_ncos(\frac {2\pi nx}{T}+b_nsin(\frac {2\pi nx}{T}))) f(x)=C+0(ancos(T2πnx+bnsin(T2πnx)))

可以改写成

f ( x ) = C ⋅ 1 + ∑ 0 ∞ ( a n c o s ( 2 π n x T + b n s i n ( 2 π n x T ) ) ) f(x)=C\cdot 1+\sum\limits^{\infty}_{0}(a_ncos(\frac {2\pi nx}{T}+b_nsin(\frac {2\pi nx}{T}))) f(x)=C1+0(ancos(T2πnx+bnsin(T2πnx)))

所以基变成了 1 , c o s ( ( 2 π n x ) T ) , s i n ( ( 2 π n x ) T ) {1,cos(\frac{(2\pi nx)}{T}),sin(\frac {(2\pi nx)}{T})} 1,cos(T(2πnx)),sin(T(2πnx))

所以可以得出 a i , b i a_i,b_i ai,bi

a n = 2 T ∫ x 0 x 0 + T f ( x ) ⋅ c o s ( 2 π n x T ) , n ∈ 0 , 1 , 2 , ⋯   , n a_n=\frac {2}{T}∫_{x_0}^{x_0+T}f(x)\cdot cos(\frac {2\pi nx}{T}),n\in{0,1,2,\cdots,n} an=T2x0x0+Tf(x)cos(T2πnx),n0,1,2,,n

b n b_n bn同理可得,但是没有 b 0 b_0 b0

4.2.5另一种表现方式

利用 e i x = c o s x + i s i n x e^{ix}=cosx+isinx eix=cosx+isinx

c o s x = e i x + e − i x 2 , s i n x = e i x − e − i x 2 i cosx=\frac {e^{ix}+e^{-ix}}{2},sinx=\frac {e^{ix}-e^{-ix}} {2i} cosx=2eix+eix,sinx=2ieixeix

于是改写如下

a n c o s ( 2 π n x T ) + b n s i n ( 2 π n x T ) = a n e i 2 π n T x + e − i 2 π n T x 2 + b n e i 2 π n T x − e − i 2 π n T x 2 i = ( a n − i b n ) 2 e i 2 π n T x + ( a n + i b n ) 2 e − i 2 π n T x a_n cos(\frac {2\pi nx}{T})+b_nsin(\frac {2\pi nx}{T})=a_n\frac {{e^{i\frac{2\pi n}{T}x}}+e^{-i\frac{2\pi n}{T}x}}{2}+b_n\frac {{e^{i\frac{2\pi n}{T}x}}-e^{-i\frac{2\pi n}{T}x}}{2i}=\frac {(a_n-ib_n)}{2}e^{i\frac{2\pi n}{T}x}+\frac {(a_n+ib_n)}{2}e^{-i\frac{2\pi n}{T}x} ancos(T2πnx)+bnsin(T2πnx)=an2eiT2πnx+eiT2πnx+bn2ieiT2πnxeiT2πnx=2(anibn)eiT2πnx+2(an+ibn)eiT2πnx

这里发现 c n 和 c − n c_n和c_{-n} cncn是共轭的,同时对 c n c_n cn c − n c_{-n} cn采用同样的公式

c − n = a − n − i b − n 2 = a n + i b n 2 c_{-n}=\frac {a_{-n}-ib_{-n}}{2}=\frac {a_n+ib_n}{2} cn=2anibn=2an+ibn

之所以这样,是因为 a n a_n an是偶函数,b_n是奇函数,这也与sinx和cosx相对应

那么把上面带入 f ( x ) = C ⋅ 1 + ∑ 0 ∞ ( a n c o s ( 2 π n x T + b n s i n ( 2 π n x T ) ) ) f(x)=C\cdot 1+\sum\limits^{\infty}_{0}(a_ncos(\frac {2\pi nx}{T}+b_nsin(\frac {2\pi nx}{T}))) f(x)=C1+0(ancos(T2πnx+bnsin(T2πnx))),便会有 f ( x ) = ∑ − ∞ ∞ c n ⋅ e i 2 π n x T f(x)=\sum\limits_{-\infty}^{\infty}c_n\cdot e^{i\frac{2\pi nx}{T} } f(x)=cneiT2πnx

注意这里有负数

又因为上面有了

a n = 2 T ∫ x 0 x 0 + T f ( x ) ⋅ c o s ( 2 π n x T ) , n ∈ 0 , 1 , 2 , ⋯   , n a_n=\frac {2}{T}∫_{x_0}^{x_0+T}f(x)\cdot cos(\frac {2\pi nx}{T}),n\in{0,1,2,\cdots,n} an=T2x0x0+Tf(x)cos(T2πnx),n0,1,2,,n

b n = 2 T ∫ x 0 x 0 + T f ( x ) ⋅ s i n ( 2 π n x T ) , n ∈ 1 , 2 , ⋯   , n b_n=\frac {2}{T}∫_{x_0}^{x_0+T}f(x)\cdot sin(\frac {2\pi nx}{T}),n\in{1,2,\cdots,n} bn=T2x0x0+Tf(x)sin(T2πnx),n1,2,,n

那么 c n = a n − i b n 2 = 2 T ∫ x 0 x 0 + T f ( x ) ⋅ c o s ( 2 π n x T ) − i 2 T ∫ x 0 x 0 + T f ( x ) ⋅ s i n ( 2 π n x T ) 2 = 1 T ∫ − T / 2 T / 2 f ( x ) e − i 2 π n x T d x c_n=\frac {a_n-ib_n}{2}=\frac {\frac {2}{T}∫_{x_0}^{x_0+T}f(x)\cdot cos(\frac {2\pi nx}{T})-i\frac {2}{T}∫_{x_0}^{x_0+T}f(x)\cdot sin(\frac {2\pi nx}{T})}{2}=\frac {1}{T}∫_{-T/2}^{T/2}f(x)e^{-i\frac{2\pi nx}{T}}dx cn=2anibn=2T2x0x0+Tf(x)cos(T2πnx)iT2x0x0+Tf(x)sin(T2πnx)=T1T/2T/2f(x)eiT2πnxdx

这里再用频率替换公式

w = 2 π T w n = w n w=\frac {2\pi}{T}\\ w_n=wn w=T2πwn=wn

所以原式等于

f ( x ) = ∑ − ∞ ∞ c n ⋅ e i 2 π n x T = ∑ − ∞ ∞ 1 T ∫ − T / 2 T / 2 f ( x ) e − i 2 π n x T d x e i 2 π n x T = ∑ − ∞ ∞ w 2 π ∫ − T / 2 T / 2 f ( x ) e − i w n x d x e i w n x f(x)=\sum\limits_{-\infty}^{\infty}c_n\cdot e^{i\frac{2\pi nx}{T} }=\sum\limits^{\infty}_{-\infty}\frac {1}{T}∫_{-T/2}^{T/2}f(x)e^{-i\frac{2\pi nx}{T}}dx e^{i\frac {2\pi nx}{T}}\\=\sum\limits^{\infty}_{-\infty}\frac {w}{2\pi}∫_{-T/2}^{T/2}f(x)e^{-iw_nx}dx e^{iw_n{x}} f(x)=cneiT2πnx=T1T/2T/2f(x)eiT2πnxdxeiT2πnx=2πwT/2T/2f(x)eiwnxdxeiwnx

现在让T-> ∞ \infty ,w-> 0 0 0

并且设 F ( w ) = ∫ − ∞ + ∞ f ( x ) e − i w x d x F(w)=∫_{−∞}^{+∞}f(x)e^{-iwx}dx F(w)=+f(x)eiwxdx

那么有 f ( x ) = ∑ − ∞ ∞ w 2 π F ( w n ) e i w n x = 1 2 π ∫ − ∞ + ∞ F ( w ) e i w x d w f(x)=\sum\limits^{\infty}_{-\infty}\frac{w}{2\pi}F(w_n)e^{iw_n{x}}\\=\frac {1}{2\pi}\int_{-\infty}^{+\infty}F(w)e^{iwx}dw f(x)=2πwF(wn)eiwnx=2π1+F(w)eiwxdw

于是最后的傅里叶变换就是 F ( w ) = ∫ − ∞ + ∞ f ( x ) e − i w x d x F(w)=∫_{−∞}^{+∞}f(x)e^{-iwx}dx F(w)=+f(x)eiwxdx

我们最后来看一下,回顾一下过程:

f(x)是一个周期函数,希望可以变成三角函数来表示,F(w)完成了这一过程,F(w)中的w并不是某个特定值,而是一个代之,他给的是一个公式,一个函数,而不是一个特定值,但是通过这个公式,把周期函数和三角函数联系在了一起,所以他被称之为傅里叶变换。更加细致的看法,他把f(x)也就是f(t)变成了f(w),从时域变成了频域。

4.2 周期性离散傅里叶变换(DFT, Discrete Fourier transform)

傅里叶变换有一下几种

1、连续时间周期信号:处理时间连续并且具有周期性的信号,其频域上离散,非周期。

2、连续时间非周期信号:处理时间连续但是不具有周期性的信号,其频域上连续,非周期。

3、离散时间非周期信号:处理时间离散,不具有周期性的信号,其频域上连续,有周期性。

4、离散时间周期信号:处理时间离散,具有周期性的信号,其频域上离散,有周期。

上面好像没有DFT,那么为什么要引入DFT呢。从形式上看,DFT与离散时间周期信号的变换非常类似,有何原因?

在数字信号处理里面,所以信号都是离散的,所以前两种用不着,计算机主要处理的是离散信号,也是后两种

X k = ∑ n = 0 N − 1 x n e − i 2 π k n N X_k=\sum\limits^{N-1}_{n=0}x_ne^{-i\frac{2\pi kn}{N}} Xk=n=0N1xneiN2πkn

其中的信号 x n x_n xn X k X_k Xk表示,这是逆变换(IDFT)

x n = 1 N ∑ k = 0 N − 1 X k e i 2 π k n N x_n=\frac{1}{N}\sum\limits^{N-1}_{k=0}X_ke^{i\frac{2\pi kn}{N}} xn=N1k=0N1XkeiN2πkn

N表示的是傅里叶变换的点数

k表示的是第k个频谱

前面的归一化系数并不重要

5.图上的傅里叶变换和卷积

傅立叶变换与拉普拉斯矩阵的关系:传统傅立叶变换的基,就是拉普拉斯矩阵的一组特征向量。

5.1 图上的傅里叶变换

这里引入图信号的定义:

图信号是和节点对应的,是节点固有的关联结构。

x = [ x 1 , x 2 , ⋯   , x n ] T x=[x_1,x_2,\cdots,x_n]^T x=[x1,x2,,xn]T

在拉普拉斯矩阵进行谱分解之后,实际上得到的n个线性无关的特征向量就是空间中的一组正交基,于是就和离散的傅里叶变换联系了起来

于是在图傅里叶变化中,傅里叶变化基, U T U^T UT为傅里叶变化基, U U U为逆傅里叶变化基,纬度则为图的点数

于是有

x k − = ∑ i = 1 N U k i T x i = < U k , x > \mathop{x_k}\limits^{-}=\sum\limits_{i=1}^NU_{ki}^Tx_i= xk=i=1NUkiTxi=<Uk,x>

x i x_i xi为每个节点特有的性质,是图信号,再有, U k U_k Uk是特征向量,再准确一点是归一后的特征向量。所以有之前的结论得到,等式左边是x在第k个傅里叶基上的系数,是一种投影。

那么所有系数的列矩阵为 x − \mathop{x}\limits^- x

很显然有结论 x = U x − x=U\mathop{x}\limits^- x=Ux

因为U每列是特征向量

所以U为逆傅里叶矩阵

若F是f的傅里叶变换,见https://blog.csdn.net/yyl424525/article/details/100058264

F = U T f F=U^Tf F=UTf

5.2 逆变换方式

f = U ⋅ F f=U\cdot F f=UF

5.3 推广到图卷积

f为图上,而g为卷积核

f ∗ g = F − 1 ( F ( f ) ⋅ F ( g ) ) f*g=F^{-1}(F(f)\cdot F(g)) fg=F1(F(f)F(g))

所以应用之前的理论有

( f ∗ g ) G = U ( ( U T g ) ⋅ ( U T ⋅ f ) ) (f*g)_G=U((U^Tg)\cdot(U^T\cdot f)) fgG=U((UTg)(UTf))

这里的 U T g 和 U T f U^Tg和U^Tf UTgUTf可以看出都是一个列向量

每个元素分别为f(1),f(2)等

论文中常常应用的Graph卷积公式也就是把上面的点乘换成了哈蒙德积

如果把 U T g U^Tg UTg看成可学习的,记为 g θ g_\theta gθ,便有

$ (f*g)G=Ug\theta U^Tf$

或者把他写成对角矩阵的形式

g θ = d i a g ( U T g ) g_\theta=diag(U^Tg) gθ=diag(UTg)

后面所有的基于spectral method的图神经网路都是基于这个来做文章的,主要集中在 g θ g_\theta gθ

Reference

https://tkipf.github.io/graph-convolutional-networks/

https://www.inference.vc/how-powerful-are-graph-convolutions-review-of-kipf-welling-2016-2/

https://blog.csdn.net/yyl424525/article/details/100058264

https://en.wikipedia.org/wiki/Laplacian_matrix

https://blog.csdn.net/yyl424525/article/details/98765291

你可能感兴趣的:(图神经网路入门(1))