Graph Structure Learning
博主以前整理过一些Graph的文章,背景前略,但虽然现在GNN系统很流行,但其实大多数GNN方法对图结构的质量是有要求的,通常需要一个完美的图结构来学习信息嵌入。
即,真的不是万物都可Graph的。比如图结构中的错误,误连,缺失或者拓扑不平衡都会导致噪声在图中传播,会极大地影响到效果,比如药物,社交等场景应用中。然而,图中噪声的普遍性却代表着,我们需要学习关于真实世界问题更鲁棒的表示。因此图结构学习(Graph Structure Learning, GSL)的目的就是旨在共同学习优化的图结构及其表示。本篇博文整理2篇,2021年的综述论文《Deep Graph Structure Learning for Robust Representations: A Survey》和IJCAI 2022的《A Survey on Graph Structure Learning: Progress and Opportunities》。
Deep Graph Structure Learning for Robust Representations: A Survey
图形结构学习(GSL)的一般范式如上图。即
- 从一个原始的图结构开始。通过一个结构建模模块对图的结构进行细化/优化,也是GSL里面比较重要的模块了。
- 然后再输入到一般的gnn中,其中获得节点嵌入来计算学习目标函数。
- 其中GNNs和结构建模模块中的参数将交替(或联合)更新,直到满足预设的停止条件。
即分别对应着三个小模块:structure modeling, message propagation, and learning objectives。
- structure modeling。现有一般对图结构进行细化的方法有三种1 Metric learning;2 Probabilistic modeling;3 Direct optimization。
- message propagation。这里一般根据任务来设置模型。原始图结构为A*,进过gnn的传播之后表示为Z*。这三种后面再详细说明。
- learning objectives。由两个部分组成,task即根据不同的任务设置,如节点分类的交叉熵和链路预测的贝叶斯个性化排序损失。reg用来正则化学习到的图结构,以满足一些先验的拓扑约束,如稀疏性和低秩性质。 L = L t a s k ( Z ∗ , Y ) + λ L r e g ( A ∗ , A ) L=L_{task}(Z^*,Y)+\lambda L_{reg}(A^*,A) L=Ltask(Z∗,Y)+λLreg(A∗,A)