改善图形神经网络,提升GNN性能的三个技巧
GNN 提供了一种在图结构化数据上使用深度学习技术的方法。图结构数据无处不在:从化学(例如分子图)到社交媒体(例如社交网络)以及金融投资(例如 VC 投资网络),GNN 在各种任务中显示出最先进的性能¹ ²。
在我的以前的一个实践:在投资者、初创公司和个人组成的投资网络上预测初创公司未来的融资轮次,其基线随机森林模型已经相当强大(AUC = 0.69)。但是GNN 模型(AUC = 0.66)一直落后于基线模型的性能,并且增加层数和隐藏维度并没有帮助。所以我开始研究,发现 GNN 并不简单。
为了解决这个问题,本文总结了一些技巧来提高 GNN 模型的性能。
什么是 GNN?
在讨论如何改进 GNN 之前,让我们快速回顾一下它们的工作原理。假设我们有一个简单的图表,如下所示:
图
图包含节点(i、j 和 k)和连接这些节点的边(e)。此外,图还包括每个节点(X1,...)和可能的每条边(黑色)的节点特征。目标节点以黄色着色,其 1 跳邻居为蓝色,2 跳邻居以绿色表示。包括不同类型节点的图称为“异构”图,就像上面的例子一样。
消息传递
步骤 0 中节点的嵌入只是由其自身的特征向量(由特征 X1、X2……组成)。为了获得新的 (l + 1) 节点嵌入 h,对于目标节点 i(黄色),需要从其相邻节点 j(蓝色)中提取所有嵌入,提取其自身的表示以及潜在的边缘特征e(黑色)并聚合该信息。这具体步骤参考下面的公式。但是,目前大多数著名的 GNN 架构都没有使用边缘特征⁵。在提取特征之后就可以将这些新的节点嵌入用于各种任务,例如节点分类、链接预测或图分类。
GNN 的问题
许多最近跨领域的研究发现 GNN 模型没有提供预期的性能⁵ ⁶ ⁷。当研究人员将它们与更简单的基于树的基线模型进行比较时,GNN 甚至无法超越基线的模型,例如我们上面提到的随机森林。
一些研究人员对 GNN 有时表现不佳提供了理论解释⁸。根据他们的实验,GNN 只进行特征去噪,无法学习非线性流形。因此他们主张将 GNN 视为图学习模型的一种机制(例如,用于特征去噪),而不是他们自己的完整的端到端模型。
为了解决这些问题并提升 GNN,本文总结了 3 个主要技巧/想法:
- 在 GNN 中利用边缘特征
- GNN 的自我监督预训练
- 分离前置和下游任务
完整文章
https://www.overfit.cn/post/bfaf84ba0c204ad08689016a79130dd5