GCN模型的扩展和应用中,哪些模型依赖于拉普拉斯矩阵?

关注者
47
被浏览
25,343
登录后你可以
不限量看优质回答私信答主深度交流精彩内容一键收藏

需要用到的拉普拉斯矩阵的GCN的模型扩展如下:

Edge-embedding边嵌入扩展方向:神经关系推断 NRI。

关系数据扩展方向:RGCN,CompGCN。

推荐系统方向,KGCN,基于知识图谱的推荐系统(KG+GCN)。
自注意力方向,Monet,EGCN。
图像方向,基于动态骨骼的动作识别方法ST-GCN(时空图卷积网络模型)。

GCN属于GNN的一类,是采用卷积操作的图神经网络。这种方法属于一类采用图卷积的神经网络,可以应用于图嵌入的方法中。

三者的关系可以用下图来表示:

这里重点介绍作为GCN基础的图嵌入中所用到的拉普拉斯矩阵。

Graph 存在于各种各样的现实场景中,如社交网络social network,引文网络 citation network,知识图谱 knowledge graph 等。大多数现有的图分析方法都遭受很高的计算代价和空间成本,而 graph embedding 提供了一种有效的方法来解决图分析问题。具体而言 graph embedding 将图映射到保留了图信息的低维空间。
论文 《A Comprehensive Survey of Graph Embedding:Problems, Techniques and Applications》 研究了现有的 graph embedding 方法,对这些 graph embedding 方法技术做了全面的综述。其中,矩阵分解主要用于两种场景:嵌入由非关系数据构成的图的顶点 embedding,这是拉普拉斯特征图的典型应用场景;嵌入同质图。

图拉普拉斯特征图分解的思想是:图拉普拉斯特征图分解保留的图属性为成对顶点相似性,因此如果两个相距较远的顶点(通过 embedding 距离衡量)的相似度较大,则给予较大的惩罚。假设embedding的维度为一维,即将每个顶点映射为一个整数。基于上述洞察insight,则最优化embedding为:

其中:

  • y_i 为顶点 v_i 的一维 embedding\vec{\bold{y}} 为所有顶点一维embedding 组成的 embedding 向量。
  • W_{i,j } 为顶点v_i,v_j之间的成对相似性, \bold{W} 为图中顶点之间的相似度矩阵。通常选择 \bold W 为图的邻接矩阵(无权图)或者带权重的邻接矩阵(带权图)。
  • \bold L = \bold D - \bold W 为图拉普拉斯矩阵,其中 \bold D = ding(D_i) 为对角矩阵, D_i = \sum_{j \ne i} {W_{i,j}} 为其对角线元素。


在图分析任务中也用到拉普拉斯矩阵。图分析大致分为以下四类:顶点分类、链接预测、聚类、可视化。

  • 顶点分类目标是基于网络结构以及部分标记顶点来预测剩余顶点的标签。
  • 链接预测目标是预测缺失的链接、或未来可能发生的链接。
  • 聚类目标是寻找相似顶点的集合,并将它们聚在一起。
  • 可视化目标是洞察网络结构。
  • 基于分解的方法以矩阵形式表示顶点之间的连接,然后将该矩阵分解从而获得顶点 embedding。用于表示连接的矩阵可以为顶点邻接矩阵、图拉普拉斯矩阵、顶点转移概率矩阵、Katz 相似度矩阵。
    矩阵分解的方法因矩阵属性而异。如果获得的矩阵是半正定的(例如,图拉普拉斯矩阵),则可以使用特征值分解 eigenvalue decomposition。对于非结构化矩阵 unstructured matrices,可以使用梯度下降法在线性时间内获得 embedding

Laplacian Eigenmaps :拉普拉斯特征图Laplacian Eigenmaps 旨在当 W_{i,j } 较高时两个顶点的 embedding 距离较近。具体而言,其目标函数为:

\mathcal{L} (\bold Y) = \frac1{2} \sum_{i,j} W_{i,j} \| \vec{\bold y_i} - \vec{\bold y_j} \|_2 ^2 = tr(\bold Y^T \bold L \bold Y)
可以看到当 \bold Y = 0 即全零矩阵时,目标函数最小。因此为了消除这种平凡解,而增加约束条件 \bold Y^T \bold D \bold Y = \bold I ,以及 \sum_i \bold{\vec y_i} = \bold{\vec 0} 。即:
min \space \mathcal{L} (\bold Y) = \frac1{2} \sum_{i,j} W_{i,j} \| \vec{\bold y_i} - \vec{\bold y_j} \|_2 ^2 = min \space tr(\bold Y^T \bold L \bold Y) s.t. \bold Y^T \bold D \bold Y = \bold I, \sum_i \bold{\vec y_i} = \bold{\vec 0}
上述最优化问题的解为归一化的图拉普拉斯矩阵 \bold L_{norm} = \bold D^{-1/2} \bold L D^{-1/2} 的d个最小的特征值对应的特征向量 。

graphwave采用另一种非常不同的方法来捕获结构角色,它依赖于谱图小波 spectral graph wavelet 以及 heat kernel 技术。

简而言之,令 \bold L = \bold D - \bold A 为图拉普拉斯矩阵, \bold D 为图的 degree 矩阵, \bold A 为图的邻接矩阵。令 \bold U\bold L 的特征向量eigenvector组成的矩阵 eigenvector matrix,对应的特征值eigenvalues{\lambda_1, ..., \lambda_{|\nu|}}

定义 heat kernelg(\lambda) = e^{-s \lambda} ,s为预定义的 scale 超参数。

对于每个顶点 v_igraphwave 使用 \bold Ug(\lambda) 计算一个向量 \psi_{v_i} 来代表顶点 v_i 的结构角色: \psi_{v_i} = \bold U \bold G \bold U^\top \bold{ \vec v_i}
其中, \bold G = diag(g(\lambda_1),...,g(\lambda_{|\nu|}))g(\lambda) 所组成的对角矩阵。

\bold{ \vec v_i} 为独热indicator向量,表示 v_i 对应于拉普拉斯矩阵 \bold L 中的那一行

graphwave 表明这些 \psi_{v_i} 隐式地和拓扑统计量相关,如 v_idegree 。选择一个合适的 scale \bold sgraphwave 能够有效地捕获有关图中顶点角色的结构信息。

参考文献:

图卷积网络(GCN)简单理解_外婆家的大灰狼-CSDN博客

Graph Embedding & GNN 综述和其它 http://huaxiaozhuan.com/深度学习/chapters/11_GNN3.html