GCN数学原理

笔记参考GCN的数学原理

目录

1.GCN基础知识
2.谱图理论
3.傅里叶变换
4.图卷积

1. GCN基础知识

1.1 graph vs image
  • graph:由点和边组成,可以表示任意的事物与事物之间的关系。
  • image:graph在欧式空间表示事物与事物之间的关系。每个像素点看成一个节点(有rgb三个纬度的特征),像素与像素之间的相邻关系作为边。例如一个 3 ∗ 3 3*3 33的image可以建立为如下的graph(如果加入对角线相邻)
    在这里插入图片描述
  • image与graph关系:image实质上是graph在欧式空间上的一个特例,graph是泛化的image。
1.2 GNN

GNN是专门用于处理图数据的神经网络架构

  • 应用场景:有很多场景都可以用graph建模。

    • 文本分类中,可以将文本和词作为节点,其包含关系作为边,建立文档与词的关系图以解决问题。
    • 社交网络中,用户为节点,用户之间的好友关系作为边,建立社交关系图
  • 数学表达
    H ( l + 1 ) = f ( A , H ( l ) ) H^{(l+1)}=f(A,H^{(l)}) H(l+1)=f(A,H(l))
    A A A表示邻接矩阵; H ( l ) H^{(l)} H(l)第l层的输入特征, H ( l + 1 ) H^{(l+1)} H(l+1)表示第l层的输出特征; f f f表示一种graph层次的映射(聚合)

  • GNN模型:对 f f f的设计,不同的 f f f对应不同的GNN架构

1.3 GCN

H ( l + 1 ) = D ~ − 1 2 A ~ D ~ − 1 2 H ( l ) W H^{(l+1)}=\widetilde{D}^{-\frac{1}{2}}\widetilde{A}\widetilde{D}^{-\frac{1}{2}}H^{(l)}W H(l+1)=D 21A D 21H(l)W
ps:只考虑无向简单图(无自环和重边)

  • 参数解释
    A A A表示邻接矩阵
    A ~ \widetilde{A} A 表示有自连的邻接矩阵,即 A ~ = A + I \widetilde{A}=A+I A =A+I
    $D $表示度矩阵(对角矩阵:只有主对角线上元素有值,其值表示对应节点的度,即邻居的个数)
    D ~ \widetilde{D} D 表示自连矩阵的度矩阵, D ~ = D + I \widetilde{D}=D+I D =D+I
    在这里插入图片描述
  • 理解
    (1)邻接矩阵加入自环
    (2)对称归一化,
    (3)最终得到的矩阵对输入特征进行聚合

2. 谱图理论

2.1 线代基础
  • 特征值与特征向量: A x = λ x Ax=\lambda x Ax=λx λ \lambda λ是矩阵 A A A的特征值, x x x是特征值对应的特征向量
  • 实对称矩阵性质:有n个特征值,对应n个相互正交的特征向量。即 A = u Λ u T A=u\Lambda u^T A=uΛuT,且 u u T = I uu^T=I uuT=I
  • 半正定矩阵: λ i ≥ 0 \lambda_ i\geq0 λi0
  • 二次型定义: x x x对于矩阵 A A A的二次型为 x T A x x^TAx xTAx
  • 瑞丽商: q = x T A x x T x q=\frac{x^TAx}{x^Tx} q=xTxxTAx。若 x x x A A A的特征向量,则 q = λ q=\lambda q=λ
2.2 谱图理论
  • 相关矩阵
    A A A的拉普拉斯矩阵: L = D − A L=D-A L=DA
    L L L的对称规范化: L s y m = D − 1 2 L D − 1 2 L_{sym}=D^{-\frac{1}{2}}L{D}^{-\frac{1}{2}} Lsym=D21LD21
  • 矩阵性质
    L L L L s y m L_{sym} Lsym都是实对称阵且都是半正定的,此外 L s y m L_{sym} Lsym的特征值的范围在[0,2]
  • 证明
    瑞丽商大于等于0,构造中间矩阵G,公式打起来过于繁琐,证明过程见视频。

3. 傅里叶变换

研究同一个事物在不同的域之间的不同视角
详细讲解傅里叶变换之掐死教程

3.1 Example

同一个事物在不同的基上的表达

  • example1:利用傅里叶变换再频率域的操作可以简化问题。例如一段男女混杂的声音,在频率域可以很好地区分和去除。
  • example2:多项式的傅里叶变换。将系数作为基的多项式转换为点对作为基的多项式。
3.2 Graph 的傅里叶变换
  • 区别于image
    image不需要进行傅里叶变换,而可以直接在空间域做卷积。是因为image具有较为规则的拓扑结构,因此可以使用一种特定形状的kernel作为卷积核。
  • graph做傅里叶变换的必要性
    graph具有任意形状的拓扑结构,每个节点拥有不同数量的邻居,无法在空间域给定一个特定形状的kernel作为卷积核,因此在空间域去做图的卷积是十分困难的。,借助傅里叶变换,可以在频率域对graph轻易地做卷积(在频率域对graph做卷积很容易)。卷积之后进行逆变换到空间域
  • graph的傅里叶变换: L x Lx Lx
    在这里插入图片描述
    • 等式左边:这里假设 x x x是n个节点,每个节点的特征纬度为1。如果将拉普拉斯矩阵和 x x x相乘得到的结果便是每一个节点聚合其邻居节点之后的表征。
    • 等式右边:而这个操作的本质是拉普拉斯变换, U T U^T UT是一个正交阵,x与一个正交阵相乘意味着空间基底的交换。所以对公式 U Λ U T x U\Lambda U^Tx UΛUTx从右往左看, L x Lx Lx实质上是先将x变换基底,然后对每个纬度进行放缩,最后用逆变换变换到原来的空间。
    • 小结:在新的域( U T U^T UT)中,只需要对其进行放缩操作就可以实现对graph聚合邻居的效果。可见在新的域中,卷积是一个相对容易的操作。
    • 存在问题:但是由于分解特征值和特征向量的复杂度很大( O ( n 2 ) O(n^2) O(n2)),对于较大规模的graph无法计算,因此GCN则是傅里叶变换再特征值分解上做了一些限制,推导出一种不需要做特征值分解复杂度在 O ( n l o g n ) O(nlogn) O(nlogn)方法

4. 图卷积

假设邻接矩阵 A A A经过函数 F F F之后可以得到一个关于graph性质较好的矩阵,例如拉普拉斯矩阵等,即 F ( A ) = U Λ U T F(A)=U\Lambda U^T F(A)=UΛUT

  • 图卷积操作定义
    在这里插入图片描述
    x经过傅里叶变换到频率域中,在频率域中经过操作 g θ ( λ ) g_\theta(\lambda) gθ(λ)(需要学习的函数),然后通过逆变换返回空间域。

  • 对函数的限制
    为了简化计算(避免计算特征值和特征向量),假设 g θ ( λ ) g_\theta(\lambda) gθ(λ)是关于 λ \lambda λ的多项式,即
    在这里插入图片描述
    因为 U Λ U T k = U Λ k U T {U\Lambda U^T}^k=U\Lambda ^kU^T UΛUTk=UΛkUT,所以有
    在这里插入图片描述

  • 切比雪夫多项式
    在实际操作中,并不是用系数的方式拟合 g θ ( λ ) g_\theta(\lambda) gθ(λ),因为随着n的增大,会出现梯度消失/爆炸的问题。所以使用的是切比雪夫多项式,因为具有下图第二个公式的性质,不存在梯度消失/爆照,随着n的增大,在数值上有摆动的趋势;但是其自变量必须在[-1,1]区间内
    在这里插入图片描述
    即要满足特征值在[-1,1]之间,由于 L s y m L_sym Lsym的特征值在[0,2]范围内,所以 L s y m − I L_sym-I LsymI可以满足条件,即 F ( A ) = L s y m − I F(A)=L_sym-I F(A)=LsymI(特征值在[-1,1]的实对称阵),得到的卷积的定义为:
    在这里插入图片描述

  • 一阶近似
    为了避免计算矩阵的k次方,GCN做了一阶近似,即将上述卷积的k仅仅遍历到1(令 K = 1 K=1 K=1),不考虑二阶以上的遍历,得到下式
    在这里插入图片描述
    在这里插入图片描述

  • 使用正则化及trick

    • θ 0 \theta_0 θ0 θ 1 \theta_1 θ1共享参数,令 θ 1 = − θ 0 \theta_1=-\theta_0 θ1=θ0,得到下式
      在这里插入图片描述
    • renormalize trick:将 I I I加到 A A A中(没有原因,但是效果很好,也可以进一步简化计算)得到GCN的最终公式
      在这里插入图片描述
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值