- 《深入浅出图神经网络》的笔记,包含笔记
- 拉普拉斯矩阵与拉普拉斯算子的关系,拉普拉斯矩阵可以反映图信号的局部平滑度, Δ x = L x \Delta x=Lx Δx=Lx
- 图信号的总变差是一个标量,刻画了图信号的全局平滑度
- 傅里叶变换,复变函数与积分变换(华中科技大学)-傅里叶变换
- 图傅里叶变换(这个讲了为什么要投影到拉普拉斯矩阵的特征向量上) 是将图信号投影(内积的几何意义)到每个傅里叶基上,可以拿到傅里叶系数,这部分可以看《深入浅出图神经网络》。对比而言,1.图傅里叶变换是将图信号 x x x分解到傅里叶基(拉普拉斯矩阵的特征向量是特征空间中的一组完备基向量)上,而傅里叶变换是将函数分解到无数个正弦波上;2.图傅里叶变换分解之后总变差可以分解为特征值的傅里叶系数加权和,图傅里叶变换后特征值等价是傅里叶变换后正弦波的频率,特征值越大,对应傅里叶基变换越快,频率越高,傅里叶基等价是对应频率正弦波的成分多少
这里提到的图位移算子不太理解,可以去看看提到的文献[3][4],图滤波器的拉普拉斯矩阵多项式展开也不太理解
- 图滤波器是对图信号的频谱中各个频率分量( λ k \lambda_k λk)的强度( x ~ k \tilde x_k x~k)的强度+±-的操作,空域上看是通过对一阶子图的多步迭代来完成,频域上看是将图信号转换到频域,调节强度再转回空域,整个转换过程有明确公式指导
为什么 H x ~ 1 H_{\tilde x_1} Hx~1显然是一个图位移算子?
- 两个图信号 x 1 , x 2 x_1,x_2 x1,x2的卷积等价于图的滤波操作 x 1 ∗ x 2 = H x ~ 1 x 2 x_1*x_2=H_{\tilde x_1}x_2 x1∗x2=Hx~1x2
- GCN层是 X ′ = σ ( L ~ s y m X W ) X'=\sigma(\tilde L_{sym}XW) X′=σ(L~symXW), L ~ s y m \tilde L_{sym} L~sym是一阶子图的滤波器,卷积局部连接(一层卷积共用一套参数 W W W, L ~ s y m \tilde L_{sym} L~sym只是用于邻居的聚合,没有学习参数),权值共享。 X W XW XW是对节点属性的学习, L ~ s y m ( X W ) \tilde L_{sym}(XW) L~sym(XW)是对图结构信息的学习,将图的表示学习和任务学习以及结构信息和属性信息一起进行端对端的优化
L ~ s y m = ( D + I ) − 1 2 ( A + I ) ( D + I ) − 1 2 = D ~ A ~ D ~ \tilde L_{sym}=(D+I)^{-\frac{1}{2}}(A+I)(D+I)^{-\frac{1}{2}}=\tilde D\tilde A\tilde D L~sym=(D+I)−21(A+I)(D+I)−21=D~A~D~( D ~ i i = ∑ j A ~ i j \tilde D_{ii}=\sum_j \tilde A_{ij} D~ii=∑jA~ij),这里不理解为什么符号这么用,对 A ~ \tilde A A~的归一化,但却记做字母 L ~ s y m \tilde L_{sym} L~sym,实际上 L ~ s y m \tilde L_{sym} L~sym和 L s y m L_{sym} Lsym好像关系不大( L s y m = D − 1 2 L D − 1 2 L_{sym}=D^{-\frac{1}{2}}LD^{-\frac{1}{2}} Lsym=D−21LD−21),另外, A + I A+I A+I相当于对每个节点进行了自连接,每个节点的度加1
- 过平滑问题:
- 频域角度看: L ~ s y m = V ( I − Λ ~ ) V T \tilde L_{sym}=V(I-\tilde \Lambda)V^T L~sym=V(I−Λ~)VT,其中 Λ \Lambda Λ是特征值 λ ~ \tilde \lambda λ~在 [ 0 , 2 ) [0,2) [0,2)的对角阵, L ~ s y m \tilde L_{sym} L~sym的频率响应函数是 p ( λ ) = 1 − λ ~ p(\lambda)=1-\tilde \lambda p(λ)=1−λ~,对频谱每个信号不断连乘小于1的数使得频率不断变小而产生过平滑,这样节点的表示向量,即图信号会趋于一致
- 空域角度看:每个节点的信息通过不断聚合一阶子图,每个节点的感受野(聚合半径)不断扩大,当感受野扩大到全图时,每个节点都相当于收敛到全图节点,这与节点是无关的,因此大大降低局部网络结构的多样性
- 解决过平滑可以用跳跃连接的聚合过程和重新分配权重的方法
- GraphSAGE从两个方面改进GCN:训练方式改为以节点为中心的mini batch,聚合邻居的方法改变(max),这样适合做归纳学习,对于新出现的节点数据,只需要遍历得到
k
k
k阶子图就可以代入预测而不需要重新迭代,使得工业应用价值提高
- 子图的节点数指数增长,大规模图数据无法计算,算法设置超参数 S k S_k Sk,每个节点在第 k k k层采样的一阶邻居数不能超过 S k S_k Sk,采样方法可以是均匀采样或根据实际情况选择其他方法
- 聚合邻居的方法应该满足下面的条件,可以是加和算子或聚合算子:
- 对节点数量自适应,即对于任意的 n n n个节点, A g g ( v 1 , v 2 , … , v n ) Agg(v_1,v_2,\dots,v_n) Agg(v1,v2,…,vn),无论 n n n取多少,输出 A g g ( v 1 , v 2 , … , v n ) Agg(v_1,v_2,\dots,v_n) Agg(v1,v2,…,vn)的维度都恒定
- 聚合方法有排列不变性,如这篇文章中提到的,对于任意两个排列顺序, A g g ( v 1 , v 2 , … , v n ) = A g g ( v 2 , v n , … , v 1 ) Agg(v_1,v_2,\dots,v_n)=Agg(v_2,v_n,\dots,v_1) Agg(v1,v2,…,vn)=Agg(v2,vn,…,v1)
- GAT层将query设为当前中心节点的特征向量,key-value是一阶邻居的特征向量,计算中心节点和一阶邻居的相似度 e i j e_{ij} eij,再都用 s o f t m a x softmax softmax归一化到 [ 0 , 1 ] [0,1] [0,1]内记作 α i j \alpha_{ij} αij,当前节点的新特征就是 h i ′ = σ ( ∑ v j ∈ N ( v i ) α i j W h i ) h'_i=\sigma(\sum_{v_{j}\in N(v_i)}\alpha_{ij}Wh_i) hi′=σ(∑vj∈N(vi)αijWhi),GAT也能进行归纳学习
书中提到GCN的权重矩阵 M M M是拉普拉斯矩阵,就是说 L ~ s y m = A ~ ⊙ M = A ~ ⊙ L \tilde L_{sym}=\tilde A\odot M=\tilde A\odot L L~sym=A~⊙M=A~⊙L ?
- 聚合方式会影响GNN的表达能力,对于计算图相同的两个节点,GNN保证聚合函数是单射才能有好的区分能力,GIN用MLP拟合单射聚合函数,理论上是表达能力最好的GNN
- RGCN针对异构图同时聚合邻居和关系 h i ( l + 1 ) = σ ( ∑ r ∈ R ∑ v j ∈ N v i r 1 c i , r W r l h j ( l ) + W o ( l ) h i ( l ) ) h_{i}^{(l+1)}=\sigma(\sum_{r\in R}\sum_{v_j\in N_{v_i}^{r}}\frac{1}{c_{i,r}}W_r^{l}h_{j}^{(l)}+W_o^{(l)}h_{i}^{(l)}) hi(l+1)=σ(∑r∈R∑vj∈Nvirci,r1Wrlhj(l)+Wo(l)hi(l)),对一阶邻居而言,先对每个关系 r r r分类聚合(每种关系 r r r每层 l l l设置独立参数 W r ( l ) W_r^{(l)} Wr(l)),再进行自连接和最终聚合。为了避免关系 r r r太多而产生 W r W_r Wr的过拟合,可以对其基分解控制科学系参数
- MPNN通过消息函数M和更新函数U一般化总结多种GNN模型,消息传递图神经网络模型通用框架——MPNN论文解读,读出机制对所有输入一次性聚合得到图的全局表达,损失了图的结构信息,最后一步将所有节点同等对待仅适合小图数据和迭代轮数较大的情况,在工程层面也较容易实现。利用结构信息的图分类是基于层次池化的图分类
- NLNN是对注意力机制的一般化总结
- GN是更一般的总结,围绕节点,边,图的状态更新,设计三个更新函数三个聚合函数
- GCN和CNN的区别,GCN与CNN,很大的差异是GCN不考虑节点的空间信息,而CNN会考虑(空间信息是像素在图上的位置),这样考虑位置信息可以使CNN能利用翻转旋转等操作做数据增强,考虑空间信息的GCN也有增益
- 图表示学习的主要目标正将图数据转化成低维稠密的向量化表示,同时确保图数据的某些性质在向量空间中也能够得到对应。从方法上来说,可以分为基于分解的方法、基于随机游走的方法,以及基于深度学习的方法,它们各有优劣(还有传统的特征工程方法,标签传播等)。基于GNN的无监督学习主体在于损失函数的设计,可以基于重构损失或者对比损失
- GNN有三个优势:图数据拟合能力,推理能力,与知识图谱结合可以将先验知识注入学习系统,可以应用到3D视觉,基于社交网络的推荐系统,视觉推理