学习笔记 2022 综述 | 自动图机器学习,阐述 AGML 方法、库与方向

2022-06-25 11:10:35 浏览数 (1)

文章目录

  • 一、摘要、关键词
  • 二、引言
  • 三、AutoGL 总结
    • 1. AutoGL Dataset
    • 2. Auto Feature Engineering
    • 3. Neural Architecture Search
    • 4. ModelTraining
    • 5. Hyper-Parameter Optimization
    • 6. AutoGL Solver
  • 四、AutoGL 未来方向
  • 五、总结

一、摘要、关键词

图机器学习在学术界和工业界都得到了广泛的研究。然而,随着图学习的研究热潮和大量新兴方法和技术的涌现,针对不同的图相关任务,人工设计最优的机器学习算法变得越来越困难。为了应对这一挑战,以发现不同图相关任务/数据的最佳超参数和神经网络架构配置为目标的自动化图机器学习正日益受到研究界的关注。论文广泛讨论自动化图机器学习方法,主要涵盖用于图机器学习的超参数优化(HPO)和神经网络架构搜索(NAS)。简要概述了分别为图机器学习和自动化机器学习设计的现有库,并进一步深入介绍了他们贡献的世界上第一个用于自动化图机器学习的开源库 AutoGL。最后分享了对自动化图机器学习未来研究方向的见解。该论文是对自动化图机器学习的 Approaches, Libraries and Directions 的首次系统而全面的讨论。

关键词:图机器学习、图神经网络、自动化机器学习、神经网络架构搜索、超参数优化

二、引言

Graph data 在日常生活中无处不在。可以使用 graphs 来模拟实体之间的复杂关系和依赖,从蛋白质中的小分子和物理模拟中的粒子到大型国家电网和全球航空公司。因此,图机器学习长期以来一直是学术界和工业界的重要研究方向 [1]。特别是,网络嵌入 [2]、[3]、[4]、[5] 和图神经网络(GNN)[6]、[7]、[8] 在过去十年中引起了越来越多的关注。它们成功应用于推荐系统 [9]、[10]、欺诈检测 [11]、生物信息学 [12]、[13]、物理模拟 [14]、交通预测 [15]、[16]、知识表示 [17] 、药物再利用 [18]、[19] 和 Covid-19 的大流行预测 [20]。

尽管图机器学习算法很受欢迎,但现有研究在很大程度上依赖于手动超参数调整和网络架构设计来实现最佳性能,当出现大量用于各种图相关任务的模型时,需要付出代价高昂的人力。以 GNN 为例,仅 2021 年一年,就在顶级机器学习和数据挖掘会议上发表了至少 100 个新的通用架构,更不用说针对特定任务设计的跨学科研究了。如果在为目标任务设计最佳算法时坚持手动试错范式,则不可避免地需要越来越多的人力物力。另一方面,自动化机器学习(AutoML)已被广泛研究,以减少人类在开发和部署机器学习模型方面的工作量 [21]、[22]。完整的 AutoML 管道有可能使机器学习的每个步骤自动化,包括自动数据收集和清洗自动特征工程以及自动模型选择和优化等。由于深度学习模型的普及,超参数优化 (HPO) [23 ]、[24]、[25]、[26] 和神经架构搜索 (NAS) [27]、[28] 得到了最广泛的研究。AutoML 在计算机视觉 [32]、[33] 等领域几乎没有人工指导,却已经达到了人类水平的性能 [29]、[30]、[31]。

自动化图机器学习结合了 AutoML 和图机器学习的优势,自然成为进一步提升图学习模型性能的一个很有前景的研究方向,引起了越来越多的社区关注。论文系统地概述了自动图机器学习的方法,介绍了相关的 public libraries 以及作者开发的 AutoGL,并分享了对图机器学习挑战和未来研究方向的见解。

主要关注两个主题:图机器学习的 HPO 和 NAS。对于 HPO,专注于如何开发可扩展的方法。对于 NAS,遵循已有研究的方法,从搜索空间搜索策略性能估计策略中比较不同的方法。简要讨论了最近的几项自动化图学习工作,这些工作在架构池、结构学习、加速器和软硬件协同设计等不同方面具有特色。此外,沿途讨论了不同的方法如何应对 AutoML 在图学习上的挑战。然后回顾与自动化图机器学习相关的库并讨论 AutoGL,这是第一个用于自动化图机器学习的专用框架和开源库。重点介绍 AutoGL 的设计原则并简要介绍其用法,这些都是专门为 AutoML on Graphs 设计的。最后但同样重要的是,论文指出了图 HPO 和图 NAS 的潜在研究方向,包括但不限于可扩展性可解释性分布外泛化鲁棒性硬件感知设计等。作者团队相信他们的论文将极大地推动图机器学习在学术界和工业界的研究和应用。

论文的其余部分内容组织:在第 2 节中,通过简要介绍图机器学习和 AutoML 的基本原理和数学公式表达,介绍了自动化图机器学习的基础和预备知识。在第 3 节全面讨论了基于 HPO 的图机器学习方法,在第 4 节全面讨论了基于 NAS 的图机器学习方法。然后,在第 5.1 节中,概述了图机器学习和自动化机器学习的相关库,并深入介绍了 AutoGL,这是作者院队开源的库,也是世界上第一个为自动化图机器学习定制的开源库。最后,在第 6 节概述了未来的研究机会,并在第 7 节总结了全文。

三、AutoGL 总结

AutoGL:强大的自动化图机器学习开源库

为填补自动化图机器学习的空白,开发了 AutoGL 框架。AutoGL 的总体框架如下图所示。

将自动化图机器学习管道归纳为五个模块:

  • 自动特征工程
  • 神经架构搜索
  • 模型训练
  • 超参数优化和自动集成

对于每个模块,都提供了大量最先进的算法标准化的基类和高级 API,以方便灵活地进行定制。AutoGL 库基于PyTorch Geometric(PyG)[94],这是一个被广泛采用的图机器学习库。AutoGL 具有以下关键特性:

  • 开源:代码和详细文档可在线获取;
  • 易于使用:AutoGL 设计为用户友好型。用户只需不到 10 行代码即可进行快速进行 AutoGL 实践;
  • 可灵活扩展:模块化设计、高级基类 API 和丰富的 AutoGL 文档允许灵活、轻松的自定义扩展。

总而言之:AutoGL 以模块化面向对象的方式设计,实现清晰的逻辑流程、简单易用和灵活的扩展。向用户公开的所有 API 都以高级方式抽象,以避免重复执行模型、算法和训练/评估协议。自动特征工程、神经架构搜索、模型训练、超参数优化和自动集成五个主要模块都考虑到了图机器学习的独特特性。接下来,详细阐述每个模块的详细设计。

1. AutoGL Dataset

介绍数据集管理。AutoGL Dataset 目前基于 PyTorch Geometric 的 Dataset,支持节点和图分类的通用基准,包括最近的 Open Graph Benchmark [118]。下表中展示了完整的数据集列表,用户还可以按照官方文档轻松自定义数据集。

具体来说,AutoGL 提供广泛采用的节点分类数据集,包括 Cora、CiteSeer、PubMed [119]、Amazon Computers、Amazon Photo、Coauthor CS、Coauthor Physics [120]、Reddit [121],以及 MUTAG [122]、 PROTEINS [123]、IMDB-B、IMDB-M、COLLAB [124] 等图分类数据集。还支持来自 Open Graph Benchmark [118] 的数据集。上表总结了支持的数据集的统计数据。

2. Auto Feature Engineering

Graph data 首先由自动特征工程模块进行处理,其中各种 nodes、edges 和 graph-level 特征可以自动添加、压缩或删除,以帮助促进之后的图学习过程。图的拓扑特征也可以被提取来更好地利用图的结构。

目前,AutoGL 支持 24 种特征工程操作,抽象为三类:生成器选择器图特征。生成器旨在基于当前节点特征和图结构创建新的节点和边特征。选择器会自动过滤和压缩特征,以确保它们紧凑且信息丰富。图特征专注于生成 graph-level 特征。

在下表中总结了支持的生成器,包括 Graphlets [125]、EigenGNN [126]、PageRank [127]、局部度数配置文件、归一化、单热度和单热节点 ID。对于选择器,支持 GBDT [128] 和 FilterConstant。还支持一种自动化特征工程方法 DeepGL [129],既可以作为生成器,也可以作为选择器。对于图特征,Netlsd [130] 和一组在 NetworkX [109] 中实现的图特征提取器被包装,例如 NxTransitivity、NxAverageClustering 等。

还提供了方便的 wrappers,支持 PyTorch Geometric [94] 和 NetworkX [109] 中的特征工程操作。如果方法不适合实际任务,可以通过继承类 BaseGenerator、BaseSelector 和 BaseGraph 或 BaseFeatureEngineer 轻松自定义特征工程方法。

3. Neural Architecture Search

在 AutoGL 中,神经架构搜索 (NAS) 旨在自动构建图神经网络。将使用各种 NAS 方法搜索最佳 GNN 模型以适应当前数据集。在 Neural Architecture Search 模块中,开发了 Algorithm、GNNSpace 和 Estimator 子模块以进一步解决搜索问题。GNNSpace 定义了整个搜索以确定接下来应该评估哪些架构,Estimator 用于推导目标架构的性能。

AutoGL 支持各种 NAS 模型,包括为图数据指定的算法,如 AutoNE [39] 和 AutoGR [40] 以及随机搜索 [23]、Tree Parzen Estimator [24] 等通用算法。用户可以通过自定义 HPO 算法 从 BaseHPOptimizer 类继承。

4. ModelTraining

该模块通过模型训练器两个功能子模块处理图机器学习任务的训练评估过程。模型通过定义可学习参数和前向传递来处理图机器学习模型(例如 GNN)的构建。Trainer 控制给定模型的优化过程。常见的优化方法被打包为高级 API,以提供简洁明了的接口。还支持图相关任务中更高级的训练控制和正则化方法,例如早停权重衰减

模型训练模块支持节点级graph-level 任务,例如节点分类和图分类。支持常用的节点分类模型如 GCN [43]、GAT [131] 和 GraphSAGE [121]、GIN [132],以及池化方法如 Top-K Pooling [133]。用户可以通过继承 BaseModel 类快速实现自己的图模型,并通过继承 BaseTrainer 添加自定义任务或优化方法。

5. Hyper-Parameter Optimization

超参数优化(HPO)模块旨在自动搜索指定模型和训练过程的最佳超参数,包括但不限于架构超参数,如层数、节点表示的维度、 dropout 率、激活函数和训练超参数,例如学习率、权重衰减、epoch 数。 超参数、它们的类型(例如,整数、数字或分类)和可行范围可以轻松设置。

AutoGL 支持各种 HPO 算法,包括为 Graph data 指定的算法,如 AutoNE [39] 和 AutoGR [40],以及通用算法,如随机搜索 [23],树 Parzen 估计器 [24] 等。用户可以通过从 BaseHPOptimizer 类继承来定制 HPO 算法。

该模块可以自动集成优化后的单个模型,形成更强大的最终模型。目前采用了两种集成方法:votingstacking。Voting 是一种简单而强大的集成方法,可以直接平均各个模型的输出。Stacking 训练另一个元模型来组合模型的输出。AutoGL 支持通用线性模型 (GLM)和梯度提升机(GBM)作为元模型。

6. AutoGL Solver

在前面提到的模块之上,提供了另一个高级 API Solver 来控制整个自动化图机器学习管道。在 Solver 中,将五个模块系统地集成在一起,形成最终的模型。Solver 接收特征工程模块、模型列表、HPO 模块和集成模块作为初始化参数,以构建自动图学习管道。给定数据集和任务,Solver 首先执行自动特征工程以清理和扩充输入数据,然后使用模型训练和 HPO 模块优化所有给定模型。最后,优化后的最佳模型将由 Auto Ensemble 模块组合形成最终模型。

Solver 还提供 AutoGL 管道的全局控制。例如,可以明确设置时间预算以限制最大时间成本,并且可以从普通数据集拆分或交叉验证中选择训练/评估协议。

四、AutoGL 未来方向

已经展示了 AutoGL 这样一个用于自动化图机器学习的库,它是开源的、易于使用的、可灵活扩展的。作者团队计划在短时间内支持以下功能:

  • 支持 large-scale graphs;
  • 处理更多图相关任务,例如异构图(heterogeneous graphs)和时空图(spatial-temporal);
  • 支持更多的 graph library backends,例如 Deep Graph Library[95]。

可扩展性:AutoML 已成功应用于各种图场景,但是,对于大规模图的可扩展性,仍有许多未来方向值得进一步研究。 一方面,虽然针对大规模图机器学习的HPO已经在文献中进行了初步探索。模型中使用的贝叶斯优化效率有限。因此,探索如何降低计算成本以实现快速超参数优化将是有趣且具有挑战性的。另一方面,尽管涉及大规模图的应用在现实世界中非常普遍,但用于图机器学习的 NAS 的可扩展性却很少引起研究人员的关注,这为进一步探索留下了很大的空间。

可解释性:现有的自动化图机器学习方法主要基于黑盒优化。例如,不清楚为什么某些 NAS 模型可以比其他模型表现更好,NAS 算法的可解释性仍然缺乏系统的研究工作。关于图机器学习的可解释性 [135],以及通过超参数重要性去相关的可解释图超参数优化 [40],已经有一些初步研究。然而,对自动图机器学习的可解释性进行更深入的研究仍然非常重要。

分布外泛化:当应用于新的图数据集和任务时,仍然需要大量的人力来构建特定于任务的图 HPO 配置和图 NAS 框架,例如空间和算法。当前图 HPO 配置和 NAS 框架的泛化是有限的,特别是训练和测试数据来自不同的分布 [136]。 研究能够处理连续快速变化的任务的图 HPO 和图 NAS 算法的分布外泛化能力将是一个有前途的方向。

鲁棒性:由于 AutoML 在图上的许多应用都是对风险敏感的,例如金融和医疗保健,因此模型的鲁棒性对于实际使用是必不可少的。 尽管存在一些关于图机​​器学习的鲁棒性[137]的初步研究,但尚未探索如何将这些技术推广到自动图机器学习中。

AutoML 的图模型:目前主要关注如何将 AutoML 方法扩展到图。另一个方向,即使用图来帮助 AutoML,也是可行和有前景的。例如,我们可以将神经网络建模为 有向无环图(DAG) 以分析其结构 [138]、[93] 或采用 GNN 来促进 NAS [90]、[139]、[140]、[141]。最终希望图和 AutoML 形成更紧密的联系并进一步促进彼此。

硬件感知模型:为了进一步提高自动化图机器学习的可扩展性,硬件感知模型可能是关键的一步,尤其是在真实的工业环境中。硬件感知图模型 [142] 和硬件感知 AutoML 模型 [143]、[144]、[145] 都已被研究,但集成这些技术仍处于早期阶段,并面临重大挑战。

综合评估协议:目前,大多数 AutoML 图都在小型传统基准上进行测试,例如三个引文图,即 Cora、CiteSeer 和 PubMed [119]。然而,这些基准已被认为不足以比较不同的图机器学习模型 [146],更不用说图上的 AutoML。需要更全面的评估协议,例如,在最近提出的图机器学习基准 [37]、[147] 上,或者需要类似于 NAS-bench 系列 [148] 的新的专用图 AutoML 基准。

五、总结

下面的工作流程图显示了 AutoGL 的整体框架

AutoGL 已在一些基准数据集上测试节点分类和图分类表现优异(主要想展示 AutoGL 及其主要功能模块的用法,而不是旨在在基准测试中达到新的最先进水平或比较不同的算法):

这篇论文讨论了自动化机器学习(AutoML)和图机器学习方法。深入阐述了如何开发图超参数优化(HPO)和图神经结构搜索(NAS)来促进实现自动化图机器学习。进而介绍了 AutoGL,这是作者团队开发的用于自动化图机器学习的专用框架和开源库。最后但同样重要的是,指出了自动化图机器学习的挑战,并提出了值得进一步研究的有前景的方向。

更详细的介绍,推荐学习论文及其引用文献、Github 项目和官方文档:

  • Wang X, Zhang Z, Zhu W. Automated Graph Machine Learning: Approaches, Libraries and Directions[J]. arXiv preprint arXiv:2201.01288, 2022.
  • AutoGL Github | An autoML framework & toolkit for machine learning on graphs.
  • AutoGL 详细官方文档

0 人点赞