GNN_Learing

文档说明:

​ 我本身的研究方向就是利用GNN(图神经网络 Graph neural network)解决软件运维问题/产业链风险问题的,这篇文章就主要是偏向于技术报告似的学习文章,同时也包含一些相关的实验作为支撑。本文章主要以供应链来为例进行说明GNN在供应链等现实实例上面的具体应用方法。

图神经网络

简介

​ 首先就是图无处不在;现实世界中的物体通常用它们与其他事物的联系来定义。一组物体以及它们之间的联系自然地表示为图。我们在这里先明确一下,本文章所提到所有的图(Graph)不是指的 “图像(image)” 中的图,图表示一组实体(节点)之间的关系(边)。【A graph represents the relations (edges) between a collection of entities (nodes).】一个标准的图包括(V,E,U),其中V代表Vertex(节点),E代表Edge(边),U代表Global attributes(全局属性)。如下图(image)中显示的就是一个典型的图:

image-20241215160506512

​ 图中的信息可以通过顶点(Vertex)嵌入或者边(Edge)嵌入等方式来利用图存储信息。全局(或主节点)嵌入。图分为有向图和无向图。

​ 目前的研究方向中除了经典的图数据对象,还有例如图像可以化为图【Images as graphs】、文本作为图【Text as graphs】 等等一些意想不到的更为广泛的应用。

典型问题

​ 我们已经描述了一些图的简单介绍,但我们在这些数据上想执行哪些任务呢?在图上,有三种一般的预测任务类型:图级别、节点级别和边级别。

  1. 在图级任务中,我们预测整个图的一个属性。
  2. 对于节点级任务,我们预测图中每个节点的某些属性。
  3. 对于边级任务,我们想要预测图中边的属性或存在性。

​ 对于上述描述的三个预测级别问题(图级别、节点级别和边级别),我们将展示所有这些问题都可以使用单个模型类别,即 GNN 来解决。但首先,让我们在下一章节【GNN在供应链中的应用】为每个问题提供具体的例子。

机器学习中使用图面临的挑战

​ 那么,我们如何使用神经网络来解决这些不同的图任务呢?第一步是考虑我们如何表示图以与神经网络兼容。

​ 机器学习模型通常以矩形或网格状数组作为输入。因此,如何将它们表示为与深度学习兼容的格式并不直观。图有四种类型的信息,我们可能会想要使用它们来进行预测:节点、边、全局上下文和连通性。前三种相对简单:例如,使用节点,我们可以形成一个节点特征矩阵 $N$ ,通过为每个节点分配一个索引 $i$ 并将特征 $node_i$存储在 $N$ 中。虽然这些矩阵具有可变数量的示例,但它们可以无需任何特殊技术进行处理。

​ 然而,表示图的连接性更为复杂。最明显的选择可能是使用邻接矩阵,因为这种表示很容易张量化。然而,这种表示有几个缺点。从示例数据集表中,我们看到图中节点的数量可以达到数百万,每个节点的边数可能高度可变。通常,这会导致非常稀疏的邻接矩阵,这会导致空间效率低下。

​ 另一个问题是,存在许多可以编码相同连接的邻接矩阵,并且无法保证这些不同的矩阵在深度神经网络中会产生相同的结果(也就是说,它们不是排列不变的)。

​ 一种优雅且内存高效的稀疏矩阵表示方法是作为邻接表。这些描述了节点之间的边连接性,例如在邻接表的第 k 个条目中,边 $e_k$ 之间的连接性用元组(i,j)表示。由于我们预计边的数量远低于邻接矩阵的条目数量 $\left( n_{\text{nodes}}^2 \right)$,我们避免了在图的不连通部分进行计算和存储。

应注意,该图使用每个节点/边/全局的标量值,但大多数实际张量表示具有每个图属性的向量。我们将处理的节点张量大小为 $\left[ n_{\text{n}odes} \right]$ ,而不是 $[n_{\text{nodes}}, node_{\text{dim}}]$ 大小的节点张量。其他图属性也是如此。

最简单的图神经网络:

​ 使用向量代替标量,我们现在可以构建一个 GNN 了。我们将从最简单的 GNN 架构开始,其中一个我们为所有图属性(节点、边、全局)学习新的嵌入,但我们还没有使用图的连接性。

​ 该 GNN 在每个图的组件上使用一个单独的多层感知器(MLP);我们称这为 GNN 层。对于每个节点向量,我们应用 MLP 并得到一个学习的节点向量。对于每个边,我们学习一个边的嵌入,并且对于全局上下文向量,我们学习整个图的单一嵌入。

image-20241215170814254

一个简单 GNN 的单层。图是输入,每个组件(V,E,U)通过 MLP 更新以生成新的图。每个函数下标表示 GNN 模型第 n 层不同图属性的独立函数。

​ 和其他的神经网络模块或者层的常见情况一样,我们可以将这些图神经网络堆叠在一起。

​ 因为图神经网络(GNN)不会更新输入图的连接性,所以我们可以用与输入图相同的邻接表和相同数量的特征向量来描述 GNN 的输出图。但是,输出图具有更新的嵌入,因为 GNN 已经更新了每个节点、边和全局上下文表示。

​ 现在我们可以构建一个简单的 GNN 模型,并通过在图的不同部分之间路由信息来进行二元预测。这种池化技术将作为构建更复杂 GNN 模型的基石。如果我们有新的图属性,我们只需定义如何从一个属性传递信息到另一个属性。

GNN在供应链中的应用

供应链与GNN

​ 供应链是一个动态的组织网络,这些组织参与各种过程和活动,通过上下游的链接为消费者生产以产品和服务形式的价值,涉及信息、商品和资金在其各个阶段的持续流动。由于供应链由复杂网络中的相互连接实体组成,它涉及复杂的相互依赖和决策过程。此外,现代供应链产生大量数据,实体之间的关系和依赖需要复杂的模型来捕捉。使用计算方法解决供应链问题的潜在好处包括提高协调性、高效物流和有效的供应链解决方案。

image-20241216134516991

图1:供应链作为相互连接的公司、产品、分销商和客户的图。

​ GNN在研究领域用于知识图谱推理和异常检测。它们的优势在于有效地捕捉非欧几里得数据中的依赖关系,使它们适用于涉及连接实体的任务。与供应链相连,GNNs 可以实现对供应链中复杂关系和依赖关系的建模,促进销售预测、生产计划、风险评估和揭示潜在风险等任务。 通过利用图神经网络方法,可以优化供应链运营,增强风险管理,并通过从图数据中提取相关信息和推断多种类型的隐藏关系风险来改善决策过程。

​ 生产计划在供应链管理中起着关键作用,通过预测未来产品或服务需求,帮助组织优化库存水平、生产计划和资源配置。需求预测的准确性对公司收入有重大影响,促使人们探索各种深度学习和机器学习模型。虽然传统模型已显示出潜力,但图神经网络(GNNs)在模拟供应链中固有的网络结构方面具有独特优势,例如全球贸易流动或社交网络,如图 1 所示。尽管在供应链中关于 GNNs 的研究有限,但最近的研究已经证明了它们在隐藏链接预测等任务中的实用性,以减轻风险和揭示隐藏的依赖关系。 然而,仍存在几个挑战:缺乏针对 GNN 在供应链应用中的全面概念基础和特定公式,研究人员往往缺乏对 GNN 在此领域可以解决的多样化任务的意识。此外,公开可用数据集和适当基准的稀缺阻碍了对供应链中 GNN 模型进行彻底评估和发展的工作。这些差距强调了详细方法和稳健数据集对于推进 GNN 在供应链优化中的研究和实际应用的重要性。

​ 近年来,图神经网络(GNN)的进步提高了需求预测和运营弹性,从而实现了更高效和自适应的供应链管理。图表示学习通过揭示供应链网络中的隐藏依赖关系并建立在之前的 GNN 链接预测研究的基础上,进一步提高了链接预测。这些发展突出了机器学习在优化需求预测和生产计划方面的有效性。显著的贡献包括基于 GNN 的隐藏链接预测以减轻风险以及将 GNN 与知识图谱推理相结合以识别潜在风险和提取见解。

​ 图神经网络已被应用于供应商推荐,通过分析网络数据在供应链中断期间建议替代供应商。分层可迁移图神经网络简化了复杂的供应链,并使用基于中心性的知识迁移模块进行风险评估。图神经网络还提高了基于供应链数据的行业分类精度,并在供应链金融的欺诈检测和解释中使用了异构图神经网络,利用多视角信息。

​ 图可以分为不同类型,包括同构图,其中所有节点和边都是同一类型,以及异构图,涉及多种类型的节点和边。每种类型都针对特定的应用进行定制,具体取决于所表示的结构和关系。同构图适用于更简单的关系,例如社交网络,其中节点代表人物,边代表友谊。然而,异构图具有多种类型的节点和边,可以捕捉更复杂的交互,如以节点代表员工、部门和项目的商业网络。超图通过允许超边连接超过两个节点来进一步扩展这种复杂性,这对于建模多方交互很有用。为不同类型的图设计的不同类型的 GNN 可以用于供应链应用。

​ 图神经网络可以分为三种主要类型:卷积型、注意力型和消息传递型。

  • ​ 在供应链分析中,卷积图神经网络可用于需求预测和库存优化等任务,其中各种实体(例如,供应商和分销商)之间的关系相对均匀。这种方法简单直接且计算效率高,使其适用于大规模图。然而,它往往忽略了不同邻居的重要性差异,可能导致在某些关系中比其他关系更重要的情况下性能不佳。在供应链分析中,卷积图神经网络可用于需求预测和库存优化等任务,其中各种实体(例如,供应商和分销商)之间的关系相对均匀。

  • ​ 注意力图神经网络通过引入可学习的自注意力机制,为不同的邻居分配不同的重要性,从而解决了卷积图神经网络(GNNs)的局限性。在这种类型中,交互是隐式的。这种方法允许模型专注于更相关的连接,从而提高预测准确性。缺点是计算成本和复杂性的增加。在供应链分析中,注意力图神经网络(Attentional GNNs)特别适用于异常检测和风险管理,能够优先考虑关键关系的能力可以导致更准确的见解。

  • 消息传递图神经网络采用更灵活的方法,允许在边之间传递任意消息。这相当于在边之间计算任意向量(消息)。这种方法高度表达性,能够捕捉图中复杂的依赖关系。然而,它可能计算密集,并且可能需要大量的训练数据才能实现良好的性能。在供应链分析中,消息传递图神经网络可以应用于生产预测和动态路由,其中建模复杂交互的能力至关重要。

​ 另一个有趣且有效的用于供应链分析的 GNN 模型是时序图神经网络(Temporal GNN)。时序 GNN 通过引入时间维度扩展了传统的 GNN,使它们能够模拟动态图,其中关系和特征随时间变化。时序 GNN 的一般方程可以表示为:

image-20241216142645029

​ $𝐡v^{(t)}$表示节点 v 在时间 t 的隐藏状态, 𝒩⁢(v) 表示 v 的邻居, $𝐀{u⁢v}^{(t)}$ 是时间邻接矩阵, $𝐖^{(t)}$ 和 $𝐁^{(t)}$ 是可学习的权重矩阵, σ 是激活函数。时间图神经网络对于建模动态系统至关重要,在这些系统中,关系和特征随时间演变。在供应链分析中,它们能够预测时间依赖现象,如需求波动、运输延误和库存水平。通过捕捉时间模式,这些模型有助于洞察未来趋势,帮助企业优化运营并预测中断。

​ 时空图神经网络,作为时间图神经网络的一个子集,结合了空间和时间信息,使它们在供应链分析中特别强大。这些模型不仅能捕捉实体之间不断变化的关系,还能捕捉它们的时空依赖性。在供应链中,时空图神经网络可以显著提高诸如需求预测、动态路线优化和实时库存管理任务的预测准确性。利用空间和时间动态,这些模型能够实现更明智的决策,从而提高供应链运营的效率和弹性。

​ 供应链由众多相互连接的组件组成,包括生产设施、产品和原材料。一个行业中存在各种生产设施,每个设施负责生产不同类型的产品或不同库存单位的产品。每个组件,无论是不同的生产设施还是同一生产设施内的不同产品组,都可以表示为图中的一个节点。此图形模型中的连接(边)表示节点之间的关系。同一组内的产品或在同一设施生产的产品由于共同因素(如生产能力、原材料需求和需求趋势)而共享连接。此外,由于共享资源、生产依赖性或物流联系,生产设施之间也可能相互关联。通过采用基于图的方法,可以系统地分析这些复杂关系。这种图形表示允许整合每个节点的各种数据属性,包括需求、生产能力、销售指标,从而实现对供应链网络的全面分析。

image-20241216144207246

图 2:同构图中的供应链问题表述。方框代表各种产品类型,颜色表示不同的组别。它们根据产品组和生产设施紧密排列。不同的关系连接表示共享的原材料需求、产品间的相互依赖以及其他影响。

​ 为了说明概念,考虑一家薯片制造公司。这家公司运营两个生产基地,生产四种类型的薯片:普通薯片、三角形薯片、环形薯片和条状薯片,如图 2 所示,每种薯片用不同的颜色表示。每种薯片都有各种包装尺寸,如 30 克、50 克和 100 克,图中的不同盒子表示。在这个图形模型中,连接表示薯片、设施和生产过程之间的关系。例如,同一组的产品或在同一设施生产的产品由于共同因素(如生产能力、原材料需求和需求趋势)而共享连接。如果某薯片组的日生产能力限制为 500 公斤,增加 500 克包装的生产可能需要减少 30 克包装的产量,这表明了内部组之间的依赖性。此外,如果一台机器一次只能生产一种口味,那么在同一天生产多种口味会因为更换时间而效率低下。 如果一个设施专注于特定类型的芯片,在同一设施内生产不同类型可能会导致效率低下。这些相互依赖关系如图 2 所示,在同一设施内以连接的形式呈现。设施间也存在关系,其中在一个设施中生产特定类型的芯片可能会影响另一个设施的生产能力。产品组之间共享的原料可以创造依赖关系,其中一个组的生产会影响另一个组。

​ 通过利用基于图的方法,这些复杂关系可以系统性地进行分析。图神经网络利用这种结构化表示来增强生产预测和规划,为供应链管理挑战提供全面解决方案。将供应链问题表述为图,使得供应链元素之间复杂关系的可视化和分析成为可能。图 3 展示了表示供应链网络的异构图。它包括产品(米色)、工厂(青色)和存储位置(紫色)的节点,以及表示这些实体之间关系的边。实线表示产品和工厂之间的连接,而虚线表示产品和存储位置之间的链接,展示了供应链内部的复杂性和相互依赖性。

image-20241216144356771

图 3:使用 SCG 数据集的异构图示例。产品、工厂和存储位置是节点,它们之间的关系是边。

实验部分:

这里采用了SCG数据集:该数据集可在 GitHub 上公开获取,网址为 https://github.com/CIOL-SUST/SCG ,遵循 LGPL-2.1 许可证。

数据集中的图。数据集包含同构(见图 4 中的示例)和异构(见图 3 中的示例)格式的图,节点特征包含四个时间数据点。图的构建、实现、特征选择以及不同图属性的使用取决于具体的应用和需求。在本文中,我们简要描述了这些方面。

image-20241216145745216

图4(a)在这里,节点是子组产品,工厂是边。颜色表示不同类型的节点和边。

image-20241216145815587

图4(b)在这里,节点包括产品和存储位置,边表示它们之间的关系。颜色表示不同类型节点和边的不同。

图 4:使用 SCG 数据集的均匀图示例。

数据集统计信息

Edge Classes Edge Count
Total Edge Types 62
Total Unique Edges 684
Class (Group) 5
Count (Group) 188
Class (Sub-group) 19
Count (Sub-group) 52
Class (Plant) 25
Count (Plant) 1647
Class (Storage) 13
Count (Storage) 3046

​ 在 SCG 中,节点对应不同的产品,而边代表连接这些产品的各种联系:同一产品组或子组,同一工厂或存储位置。

​ 在时间数据中,节点特征包括生产、销售订单、分销商的交付和工厂问题。我们有两种模式的所有时间数据:生产单位数量(例如:500 个单位)和生产总重量(例如:10 公吨)。

时间特征的定义:

  • 生产,考虑销售订单、客户需求、车辆装载率和交付紧迫性的产品产出量。这个数量通常以单位或公吨来衡量。例如,在一定时间内可能生产了 500 个单位或 10 公吨的产品。
  • 销售订单表示分销商要求的数量,待财务部门批准。它反映了整体产品需求。例如,销售订单可能表明要求 300 个单位或 6 公吨。
  • 发货给分销商表示与订单相符的派送产品,对公司收入有显著影响。例如,发货数据可能显示已向分销商发送了 450 个单位或 9 公吨。
  • 工厂问题涵盖从制造设施发出的所有产品,其中一部分发往分销商,其余的送往仓储仓库。例如,工厂问题报告可能显示已发出 700 个单位或 14 公吨,其中 500 个单位发往分销商,剩余的 200 个单位送往仓库。

异常检测:

​ 为了异常检测,我们以销售订单作为动态时间节点特征,应用具有均方误差损失的模型来识别时间序列数据中的异常。在特定时间段内,图中数据波动增加被视为异常,并需要与公司沟通。这是一种监督方法;遵循 GDN。在模型中,PCA 是一种统计模型;ANN、AE和 LSTM-VAE是基于深度学习的模型;GANF和 GDN是基于 GNN 的时间异常检测模型。在异构任务中,我们利用销售订单数据作为动态时间节点特征。在特定时间段内,图中显著的数据波动被标记为异常,需要与公司沟通。Ad-EHG和 HRGCN是这里的异构 GNN 模型。

Models and Type Model (k) Anomaly Det. Hm (l) Anomaly Det. Ht
Precision Recall Precision Recall
Statistical PCA 31.33% 27.34% 27.24% 28.43%
Deep Learning ANN 55.24% 47.75% 53.43% 49.24%
Deep Learning AE 75.78% 71.78% 71.22% 69.32%
Deep Learning LSTM-VAE 91.87% 86.58% 89.23% 87.24%
GNN-based GANFHm/Ad-EHGHt 85.45% 76.33% 90.34% 89.13%
GNN-based GDNHm/HRGCNHt 94.15% 87.76% 92.43% 89.34%

Hm: Homgeneous Graph modelling ( 同构图建模 ),Ht: Heterogeneous Graph modelling ( 异构图建模 ),Det. = Detection 检测

​ 在上表中显示,在实验中,基于图模型的得分始终高于其他模型。实验进行了多次,并取平均值。

​ 异常检测涉及识别时间序列中与预期模式不符的偏差。在本任务中,表中显示,在精确度和召回率方面,LSTM-VAE 和 GDN 处于领先地位,突显了它们在定位异常方面的有效性。GANF 模型也表现出强劲的性能,强调了基于 GNN 的方法在异常检测中的潜力。

​ 在异构异常检测中,目标是检测动态异构图中与预期模式不符的偏差。表中突出显示,基于 GNN 的 HRGCN和 Ad-EHG实现了更高的精确度和召回率,展示了它们在识别异常和突出基于 GNN 的异常检测方法潜力方面的有效性。