Amazon Neptune ML 中的模型和模型训练 - Amazon Neptune
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Amazon Neptune ML 中的模型和模型训练

Neptune ML 使用图形神经网络 (GNN) 为各种机器学习任务创建模型。图神经网络已被证明能够在图表机器学习任务中获得最先进的结果,并且擅长从图表结构化数据中提取信息模式。

Neptune ML 中的图形神经网络(GNN)

图形神经网络 (GNN) 属于神经网络系列,这些神经网络通过考虑附近节点的结构和特征来计算节点表示形式。GNN 补充了其他不适合图表数据的传统机器学习和神经网络方法。

GNN 用于解决机器学习任务,例如节点分类和回归(预测节点的属性)、边缘分类和回归(预测边缘属性)或链接预测(预测图表中的两个节点是否应连接)。

一般来说,将 GNN 用于机器学习任务涉及两个阶段:

  • 一个编码阶段,GNN 在其中为图表中的每个节点计算一个 d 维向量。这些向量也被称为代表要么嵌入.

  • 一个解码阶段,它根据编码的表示做出预测。

对于节点分类和回归,节点表示法直接用于分类和回归任务。对于边缘分类和回归,边上事件节点的节点表示法用作分类或回归的输入。对于链接预测,通过使用一对节点表示法和边类型表示法来计算边似然得分。

这些区域有:深图库 (DGL)有助于为这些任务对 GNN 进行有效的定义和培训。

在消息传递的表述下,不同的 GNN 模型统一起来了。在此视图中,图表中节点的表示法是使用该节点的邻居表示法(消息)以及该节点的初始表示法来计算的。在 NeptuneML 中,节点的初始表示形式来自从节点属性中提取的要素,或者是可以学习的,并取决于节点的身份。

Neptune ML 还提供了连接节点要素和可学习节点表示法的选项,以作为原始节点表示法。

对于 Neptune ML 中涉及带有节点属性的图形的各种任务,我们使用关系图卷积网络(R-GCN)) 来执行编码阶段。R-GCN 是一种 GNN 架构,非常适合具有多个节点和边缘类型(这些类型称为异构图)的图形。

R-GCN 网络由固定数量的图层组成,一个接一个堆叠。R-GCN 的每一层都使用其可学习的模型参数来聚合来自节点的直接 1 跳邻域的信息。由于后续图层使用上一个图层的输出表示法作为输入,因此影响节点最终嵌入的图表邻域的半径取决于图层的数量(num-layer),R-GCN 网络。

例如,这意味着双层网络使用来自距离 2 跳的节点的信息。

要了解有关 GNN 的更多信息,请参阅关于图形神经网络的综合调查. 有关深度图表库 (DGL) 的更多信息,请访问 DGL网页. 有关将 DGL 与 GNN 结合使用的实践教程,请参阅使用深度图库学习图形神经网络.

训练图神经网络

在机器学习中,获取模型以学习如何对任务做出良好预测的过程称为模型训练。通常通过指定要优化的特定目标以及用于执行此优化的算法来执行此操作。

这个过程用于训练 GNN,以便学习下游任务的良好陈述。我们为该任务创建了一个客观功能,在模型训练过程中最小化。例如,对于节点分类,我们使用CrossentropyOse作为目标,惩罚错误分类,对于节点回归,我们最大限度地减少Mean Square 错误.

目标通常是一个损失函数,它采用特定数据点的模型预测,并将其与该数据点的地面真相值进行比较。它返回损失值,它显示了模型的预测距离有多远。培训过程的目标是尽量减少损失,并确保模型预测接近实际情况。

用于训练过程的深度学习的优化算法通常是梯度下降的变体。在 Neptune ML 中,我们使用亚当,这代表自适应梯度下降算法.

虽然模型训练过程试图确保学习的模型参数接近目标功能的最低限度,但模型的整体性能也取决于模型的超参数,这是训练算法没有学习的模型设置。例如,学习的节点表示形式的维度,num-hidden,是影响模型性能的超参数。因此,在机器学习中,通常执行超参数优化 (HPO) 来选择合适的超参数。

Neptune ML 使用 SageMaker 超参数调整作业启动多个具有不同超参数配置的模型训练实例,以尝试为一系列超参数设置找到最佳模型。请参阅在 Neptune ML 中自定义模型超参数配置

在 Neptune ML 中嵌入模型的知识图

知识图 (KG) 是对不同实体(节点)及其关系(边缘)的信息进行编码的图形。在 Neptune ML 中,默认情况下,当图形不包含节点属性时,只包含与其他节点的关系时,应用知识图嵌入模型来执行链接预测。尽管如此,具有可学习嵌入的 R-GCN 模型也可用于这些图表,方法是将模型类型指定为"rgcn",知识图嵌入模型更简单,旨在有效学习大规模知识图表的表示形式。

在链接预测任务中使用知识图嵌入模型来预测完成三重结果的节点或关系(h, r, t)哪里h是源节点,r是关系类型并且t是目标节点。

在 Neptune ML 中实现的知识图嵌入模型是distmulttransE, 和rotatE. 要详细了解知识图表嵌入模型,请参阅DGL-KE.

在 Neptune ML 中训练自定义模型

Neptune ML 允许您针对特定场景定义和实施自己的自定义模型。请参阅Neptune ML 中的自定义模型了解有关如何实现自定义模型以及如何使用 Neptune ML 基础设施训练模型的信息。