D. 深度学习 — 图神经网络
概述
- 任务分类
- 分类
- 链接预测
- 聚类
- 图生成
- 可视化
图嵌入
- 概述
- 真实的图(网络)往往是高维、难以处理的,20世纪初,研究人员发明了图形嵌入算法,作为降维技术的一部分。
- 挑战
- 属性选择
- 节点的“良好”向量表示应保留图的结构和单个节点之间的连接。第一个挑战是选择嵌入应该保留的图形属性。考虑到图中所定义的距离度量和属性过多,这种选择可能很困难,性能可能取决于实际的应用场景。
- 可扩展性
- 大多数真实网络都很大,包含大量节点和边。嵌入方法应具有可扩展性,能够处理大型图。定义一个可扩展的模型具有挑战性,尤其是当该模型旨在保持网络的全局属性时。
- 嵌入的维数
- 实际嵌入时很难找到表示的最佳维数。例如,较高的维数可能会提高重建精度,但具有较高的时间和空间复杂性。较低的维度虽然时间、空间复杂度低,但无疑会损失很多图中原有的信息。
- 属性选择
- 算法
- 基于因子分解的方法
- 局部线性嵌入(LLE)
- 概述
- LLE关注于降维时保持样本局部的线性特征,由于LLE在降维时保持了样本的局部特征,它广泛的用于图像图像识别,高维数据可视化等领域。
- 目标
- 我们有一块卷起来的布,我们希望将其展开到一个二维平面,我们希望展开后的布能够在局部保持布结构的特征,其实也就是将其展开的过程,就想两个人将其拉开一样。
- 在局部保持布结构的特征,或者说数据特征的方法有很多种,不同的保持方法对应不同的流形算法:比如说
- 等距映射(ISOMAP)算法在降维后希望保持样本之间的测地距离而不是欧式距离,因为测地距离更能反映样本之间在流形中的真实距离。
- 问题
- 等距映射算法有一个问题就是他要找所有样本全局的最优解,当数据量很大,样本维度很高时,计算非常的耗时
- 解决思路
- LLE通过放弃所有样本全局最优的降维,只是通过保证局部最优来降维。同时假设样本集在局部是满足线性关系的,进一步减少的降维的计算量。
- 问题
- 等距映射(ISOMAP)算法在降维后希望保持样本之间的测地距离而不是欧式距离,因为测地距离更能反映样本之间在流形中的真实距离。
- 核心思想
- 概述
- 拉普拉斯特征映射(LE)
- 拉普拉斯特征映射是一种基于图的降维算法,它希望相互间有关系的点(在图中相连的点)在降维后的空间中尽可能的靠近,从而在降维后仍能保持原有的数据结构。
- 柯西图嵌入(Cauchy graph embedding)
- 拉普拉斯特征映射对嵌入节点之间的距离使用二次方的惩罚函数
- Structure Preserving Embedding (SPE)
- Structure Preserving Embedding (SPE)是另一种扩展拉普拉斯特征映射的方法。SPE的目标是精确地重建输入图。嵌入被存储为一个正的半离散核矩阵K,并定义了一个连接算法G,该算法用来从K重构出原来的图形。
- Graph Factorization (GF)
- GraRep
- HOPE
- 局部线性嵌入(LLE)
- 基于随机游走的方法
- DeepWalk
- DeepWalk方法受到word2vec的启发,首先选择某一特定点为起始点,做随机游走得到点的序列,然后将这个得到的序列视为句子,用word2vec来学习,得到该点的表示向量。DeepWalk通过随机游走去可以获图中点的局部上下文信息,因此学到的表示向量反映的是该点在图中的局部结构,两个点在图中共有的邻近点(或者高阶邻近点)越多,则对应的两个向量之间的距离就越短。
- node2vec
- 与DeepWalk相似,node2vec通过最大化随机游走得到的序列中的节点出现的概率来保持节点之间的高阶邻近性。与DeepWalk的最大区别在于,node2vec采用有偏随机游走,在广度优先(bfs)和深度优先(dfs)图搜索之间进行权衡,从而产生比DeepWalk更高质量和更多信息量的嵌入。
- Hierarchical representation learning for networks (HARP)
- 问题
- DeepWalk和node2vec随机初始化节点嵌入以训练模型。由于它们的目标函数是非凸的,这种初始化很可能陷入局部最优。
- 解决思路
- HARP引入了一种策略,通过更好的权重初始化来改进解决方案并避免局部最优。为此,HARP通过使用图形粗化聚合层次结构上一层中的节点来创建节点的层次结构。然后,它生成最粗糙的图的嵌入,并用所学到的嵌入初始化精炼图的节点嵌入(层次结构中的一个)。它通过层次结构传播这种嵌入,以获得原始图形的嵌入。因此,可以将HARP与基于随机行走的方法(如DeepWalk和node2vec)结合使用,以获得更好的优化函数解。
- 问题
- Walklets
- Walklets将显式建模与随机游走的思想结合起来。该模型通过跳过图中的某些节点来修改DeepWalk中使用的随机游走策略。
- DeepWalk
- 基于深度学习的方法
- Structural deep network embedding (SDNE)
- SDNE建议使用深度自动编码器来保持一阶和二阶网络邻近度。它通过联合优化这两个近似值来实现这一点。该方法利用高度非线性函数来获得嵌入。模型由两部分组成:
- 无监督:包括一个自动编码器,目的是寻找一个可以重构其邻域的节点的嵌入。
- 监督:基于拉普拉斯特征映射,当相似顶点在嵌入空间中彼此映射得很远时,该特征映射会受到惩罚。
- SDNE建议使用深度自动编码器来保持一阶和二阶网络邻近度。它通过联合优化这两个近似值来实现这一点。该方法利用高度非线性函数来获得嵌入。模型由两部分组成:
- Deep neural networks for learning graph representations (DNGR)
- DNGR结合了随机游走和深度自动编码器。该模型由3部分组成:随机游走、正点互信息(PPMI)计算和叠加去噪自编码器。
- Graph convolutional networks (GCN)
- Variational graph auto-encoders (VGAE)
- Structural deep network embedding (SDNE)
- 基于因子分解的方法
图神经网络
- 算法分类
- Spatial-based
- Aggregate:用 neighbor feature update 下一层的 hidden state
- Readout:把所有 nodes 的 feature 集合起来代表整个graph
- Spectral-based
- Spatial-based
- 图卷积网络
- 图注意力网络
- 图自编码器
- 图生成网络
- 图时空网络