1 GNN 的架构设计
- 层内(Intra-layer)设计:核心过程信息的转换和聚合
- 层间(Inter-layer)设计:预处理层主要是对节点特征的编码,后处理层主要是对节点嵌入的推理和转换;跳过连接(skip-connection)有助于改善深度 GNN 的性能
- 学习配置(Learning configuration)对性能影响很大,还容易被忽视
经验总结:
- GNN 的可能设计结构非常多,因此设计空间的研究很重要
- GNN 很难优化,也经常容易欠拟合;训练的 epochs 越多越好
- Sum 是表现最好的聚合函数,推荐使用 Adam 优化器(更稳健)
- GNN 的最佳层数、batch_siez 和学习率很难确定,高度依赖于任务
2 GNN 的任务空间
理解 GNN 的任务,才能找到最佳的可跨任务迁移的 GNN 模型
- 定义任务的相似度:模型的性能排名相似的任务被认为是相似的
- 任务相似度的计算成本低,只需 12 个锚定模型就可以取得较好的计算近似
- 任务的聚类结果呈现两个分组,Group1(左上的红色聚类小区域)中的任务更依赖特征信息;Group2(右下的红色聚类大区域)中的任务更依赖结构信息
- GNN 任务空间信息丰富,相似的任务具有相似的最佳 GNN 架构
给定新任务,可以根据其与现有任务的相似度,推荐最佳的架构设计
3 GNN 的设计评价
定义评价目标:BatchNorm 是否通常对 GNN 有用?
定义评价过程:
- 随机采样模型与任务的配置信息,并控制实验变量 BatchNorm
- 按照 BatchNorm=True/False 分组,并计算模型的预测性能排序
- 计算不同组的排名均值,或绘制不同组的排名分布,得出结论
评价的最终结果(BatchNorm=True 时,排名更靠前):
4 图模型的预训练
图模型的预训练能改善数据标签稀缺的问题,并提高应用的泛化性
一个幼稚的策略:对相关标签进行多任务的有监督预训练
- 该策略对下游任务的性能提升有限,并可能导致负迁移(Negative transfer)
一个合理的策略:自监督学习,对节点属性进行掩码预测
- 该策略能使得 GNN 模型捕获局部和全局结构中的特定领域知识
- 上表显示,经过自监督预训练的 GNN 模型的表现(AUROC)明显更优