动机:
高效处理大规模网络。(上亿节点)
ProNE整体可分为两部分,第一部分对无向图结构的邻接矩阵做稀疏矩阵分解。作者定义了如下损失函数最大化节点 r 和邻居 c 的共现频率p,同时最小化负采样邻居概率:
最小化loss的充分条件是loss对 r
i
_i
i
T
^T
T c
j
_j
j 的偏导数为0,可得节点 r 和邻居 c 的的距离公式并构造距离矩阵
对距离矩阵 M 做t-SVD(truncated Singular Value Decomposition)并取最后top-d的奇异值和对应向量作为这一部分的节点embedding表示,为了效率,作者用randomized t-SVD加速运算。
第二部分利用高阶Cheeger不等式(higher-order Cheeger’s inequality),上一步仅利用了每个节点的局部邻居,这里借鉴GCN中spectrum方法的思路设计了传播策略(propagation strategy),目的是获取图结构中的局部平滑(localized smoothing)信息和全局聚类(global clustering)信息,而Cheeger不等式为我们解释了图结构谱方法的特征值与局部平滑(localized smoothing)信息和全局聚类(global clustering)信息之间的关系。
首先,GCN部分的引文中其实介绍了,图Fourier变换实际上是一次图Fourier变换加一次逆变换,这个过程可以理解为:先由拉普拉斯矩阵的特征向量组 U 将 X 映射到对应向量空间,用特征值lambda_k 缩放 X ,再被逆变换处理;然后,在图分割理论(graph partition)中有一个 k-way Cheeger 常量 \rho_{G}(k) ,这个常量越小表示图的划分越好,直观的表述大概是"子图聚合程度越高,该常量对应越小,相对的划分就越好";最后我们通过高阶Cheeger不等式将拉普拉斯矩阵的特征值和这个常量联系起来
上式表明Cheeger 常量对应着特征值的上下界,更小的常量对应更小的特征值,也对应着更内聚(clustering)的子图,反之对应更大的特征值,此时图结构中的子图更为平滑(smoothing);因此,在这部分里,作者设计了一个函数 g 用于控制特征值的取值范围,此时的图Fourier变换为
最后,再参照GCN中利用切比雪夫多项式近似计算 L
−
^-
− 即可,整个过程可以看作限制特征值范围的GCN,注意最后为保证正交性,还需要对Embedding结果做一次SVD。
我们知道通常对于大规模图结构,Graph Embedding在效率上的价值更为明显,ProNE在效率方面比Deepwalk、LINE、node2vec都要出色,文中的时间对比表明,在5个常见的GNN数据集上(PPI、Wiki、BlogCatalog、DBLP、Youtube),ProNE比效率最好的LINE快大概9-50倍;我们用150w节点,1亿条边的稀疏矩阵做文本知识学习,默认参数(128维向量,迭代10次)耗时大概1小时以内