目前,无线传感器网络(WSN)中的流量正以极快的速度增长,消耗越来越多的网络资源。这无疑会影响 WSN 的传输性能。良好高效的路由技术是解决这一问题的关键技术之一。受限于动态网络状态,传统路由技术面临性能下降、学习能力不足等问题。相比之下,具有决策和在线学习能力的深度强化学习(DRL)在面对路由优化问题时效果更好。DRL 可以通过强化学习机制和深度神经网络在线或离线学习路由策略。然而,现有的基于 DRL 的路由模型使用全连接神经网络或卷积神经网络,无法学习网络拓扑信息。这将导致之前训练好的路由模型在面对新网络时失效。因此,在WSN节点可能出现故障,导致拓扑变化的背景下,本文将图神经网络(GNN)与DRL相结合,提出了GRL-NET智能路由算法。该算法使用 GNN 代替传统的神经网络构建 DRL Agent 在 GNN 的帮助下,GRL-NET 不仅可以从网络拓扑的角度学习网络拓扑、流量和路由之间的复杂关系,而且可以运行在一个网络拓扑中,以前从未出现过。为了评估 GRL-NET 的效果,在不同的流量强度下进行了几组实验。实验结果表明,GRL-NET不仅可以学习到最佳的路由策略,而且在从未见过的网络拓扑中也能保持良好的效果。
线传感器网络(WSN)是由部署在特定区域的大量能量有限的传感器节点组成,是一种自治的多跳自组织网络系统[1]。目前,WSN具有良好的应用,应用前景,例如物联网、环境监测和超越5G(B5G)。WSN 的一个重要特点是每个节点的能量有限。并且受限于布置位置,一旦节点布置好,将难以通过二次人工干预®来补充能量。在越来越大的流量压力下,WSN将面临节点耗能大的问题。为了克服 WSN 中的这些限制,良好且高效的路由技术非常重要。通过路由优化,可以降低节点的能耗和网络负担。
目前,无线网络中的路由算法已被广泛研究。在传统的无线网络路由研究中,算法通常是基于候选簇设计的。例如,算法 SOAR 使用期望传输计数(ETX)作为路由度量,并在源节点和宿节点之间选择候选节点集并设置路由优先级。GeRaf算法根据地理位置信息选择候选转发节点集,并以节点到汇聚节点的距离作为路由度量。对于某个节点,当邻居节点与汇聚节点的距离小于邻居节点与汇聚节点的距离时,选择该邻居节点作为候选节点。这种路由算法虽然可以有效提高无线网络的传输性能,但也面临着路由漏洞的威胁。考虑到网络状态的复杂性和动态变化,这些算法缺乏相应的自学习和动态调整能力。此外,一些传统的自我启发式智能算法(如蚁群算法和粒子群优化算法)已被尝试用于解决无线网络的路由优化问题。虽然这些算法可以从环境中学习一些知识,但它们存在收敛速度慢和局部最优解等问题。传统无线网络路由算法存在的问题会对网络性能产生一定的影响。为这些问题找到切实可行的解决方案具有重要意义。
近年来,机器学习技术发展迅速,被广泛用于解决实际问题。其中,深度强化学习(DRL)在马尔可夫决策过程(MDP)的控制决策问题中表现良好[8]。通过分析路由优化问题可以发现,它的未来状态只取决于当前状态。这是一个典型的马尔可夫决策过程。在此背景下,研究人员将DRL作为解决路由优化问题的关键,进行了大量研究。Sendra首先提出了一种基于Deep Q Network(DQN)[9]的智能路由算法。它可以通过神经网络学习最佳的路由策略。在后续研究中,研究人员对动作表示和DRL Agent算法进行了优化,实现了全局、实时的智能路由控制。
然而,众所周知,WSN 中节点的能量是有限的。一旦一个或多个节点由于能量耗尽而失效,网络拓扑结构就会发生变化。一些文献表明,当网络拓扑发生变化时,现有的基于 DRL 的路由算法无法正常工作[13]。造成这种现象的原因可以认为是路由优化场景中的图结构(例如网络拓扑)。目前,基于 DRL 的路由算法使用标准的神经网络(例如卷积神经网络、全连接神经网络)来构建 Agent[14]。这些传统的深度学习模型虽然在欧几里得空间数据(语言、图像、视频等)上取得了不错的效果,但在处理非欧几里得空间数据(如化学结构、计算机网络)方面存在一定的局限性。这意味着 DRL 在处理路由优化问题时无法学习拓扑信息。
幸运的是,随着 GNN 的引入,与图结构相关的问题得到了很好的解决[15]。通过使用 GNN 对图结构进行建模,我们可以了解图元素之间的关系以及其中的潜在规则。因此,考虑到WSN节点可能出现的故障导致拓扑结构的变化,本文将GNN与DRL相结合,提出了GRL-NET智能路由算法。与传统的无线网络路由算法相比,GRL-NET具有以下两个优势:
本文其余部分安排如下:
第二部分描述GRL-NET背后的原理。
第三部分介绍了如何构建GRL-NET。
第四部分介绍了对比实验和结果分析。
第五部分对全文进行总结并展望未来得研究方向。
在本文中,我们提出了 GRL-NET,它是一种基于 DRL 和 GNN 的路由算法。GRL-NET 以 DRL 作为其运行框架。然而,为了突破传统 DRL 算法的局限,GRL-NET 使用 GNN 在 DRL 中构建 Agent。因此,本节分为两部分。首先,我们谈谈DRL的工作原理,如何使用DRL解决路由优化问题及其缺陷。其次,我们将描述 GNN 在路由场景中的工作原理。
DRL作为机器学习的一个重要分支,有别于有监督学习和无监督学习,它与环境交互学习[16]。与传统的强化学习方法不同,DRL 使用深度神经网络(DNN)代替表格,并以函数逼近的方式表达策略。这样,DRL就可以避免传统基于表的强化学习在面对复杂的实际问题时所面临的维度灾难问题。。
尽管经过训练的 DRL Agent 可以显着改善路由优化问题。但是,DRL代理无法在前所未有的网络拓扑中有效工作。通过分析 DRL Agent 的结构,我们可以找到造成这种现象的原因。以经典的DQN为例,其Agent在端到端传输路由问题中的神经网络模型结构如图1所示。该模型将网络链路质量矩阵作为网络状态,输入到神经网络中。神经网络的隐藏层由两层全连接网络和激活函数组成。最后,模型输出端到端传输的多条候选路径对应的Q值。根据Q值,可以通过-greedy策略选择一条候选路径作为端到端的传输路径。一般来说,这种方法是有效的。但需要注意的是,模型的输入和维度是由实际的网络规模(如网络拓扑的大小)决定的。一旦训练完成,模型输入和输出的维度就固定了。因此,当面对不同尺度的网络时,模型很可能会接收到尺寸异常的输入。虽然我们可以通过切割或填充来改变输入维度,但它会破坏矩阵中潜在的拓扑信息。即使新的网络规模相同,输入数据的维度也不需要改变。然而,计算机网络的本质是图。现有的利用神经网络处理状态矩阵的方法无法学习到图结构中的信息。这将限制 DRL 在新网络中的性能。总之,虽然 DRL 在路由优化方面表现不错。但缺乏关系推理和图结构泛化能力,无法在新的网络环境下有效运行。
GNN是一种基于深度学习处理地图域信息的方法。由于 GNN 可以学习节点之间的关系,因此在不同的图结构中具有泛化能力。使用 GNN 学习时,我们不仅可以处理与图节点相关的问题,还可以预测节点之间的关系。目前,有许多不同的 GNN 模型。最常用的一种是消息传递网络(MPNN)。在网络路由场景中,MPNN的结构如图2所示:
MPNN 的运行过程包括聚合和更新。在聚合阶段,对于时刻 t 的节点 v,MPNN 执行公式 1 和公式 2。
在总时间步t,对每个节点连续重复上述两个步骤。最后,根据 Banach 不动点定理,我们可以得到每个节点的特征。在此基础上,利用节点特征可以实现很多不同类型的任务(如节点分类和流量预测)。
比较 GNN 与传统的神经网络比较,我们可以发现不同之处。传统的神经网络擅长处理图片和语言等结构良好的数据。在这方面,GNN 可以很好地处理图等不规则数据,并充分利用图结构信息。这就是我们选择 GNN 来构建 DRL Agent 以提高其泛化能力的原因。
通常,当使用 DRL 进行路线优化时,网络可以建模为图 G = (V, E)。V代表网络中的节点集,E代表网络中的边集。然而,无线网络中没有明确的拓扑结构。因此,需要在源节点和汇节点之间建立拓扑。目前,在无线网络中建立拓扑的方法有很多种。在本文中,我们选择基于前向区域的方法来构建无线网络中的多径树形拓扑。结果如图 3 所示。通过这种方法可以得到网络拓扑:
在传统的 DRL 计算过程中,网络状态以流量矩阵或链路容量矩阵的形式表示。但是这种表示方式不能让Agent学习拓扑信息,不符合MPNN的设计理念。因此,在本文中,网络状态表示为s = (edge_index, x) ,edge_index 是一个维度为 2 * E 的矩阵。E 是网络中的链接数。edge_index 中每一列的两个元素表示网络中存在由这两个节点组成的链接。X 是一个维度为 N * L 的矩阵。N 是网络中的节点数,L 是每个节点的特征向量长度。X 存储网络节点的特征向量集。DRL Agent 的学习目标是根据 edge_index 和 X 给出源节点到汇节点的传输路径。下面对 GRL-NET 的描述将基于 s = (edge_index, x)。
在这一部分中,我们将描述 GRL-NET 如何基于 GNN 构建 DRL Agent。一般来说,DRL Agent在路由优化中的路径选择方法可以分为显式和隐式两种。随着网络规模的增长,显式路径选择会导致收敛困难。因此,本文选择隐式路径选择方法。我们使用一组链接权重来表示代理的动作。然后我们可以通过 Dijkstra 算法找到源节点和汇节点之间的路径。显然,在隐式路径选择方法下,DRL Agent 的动作空间是连续的。因此,DRL-NET 选择深度确定性策略梯度(DDPG)来构建agent。
DDPG是一种连续动作下的无模型策略算法。它基于actor-critic框架。在具体实现中,DDPG Agent 由 Actor 网络和 Critic 网络组成。Actor网络的作用是根据网络状态给予动作(链接权重)其结构如图4所示:网络状态 在Actor网络中,节点特征向量由背景流、剩余能量、节点度和流大小组成。使用基于 MPNN 的 GNN 作为隐藏层。在步骤 t 中聚合和更新节点状态。最后,通过聚合节点的特征,可以得到每条链路的权重作为Actor网络的输出。
Critic 网络的功能是评估 Actor 网络在网络状态 S 下给出的动作。其网络结构如图 5 所示。Ctitic 网络的输入与 Actor 网络的输入几乎相同。但是,为了同时表示网络状态S和Actor网络的路由结果,节点特征向量由背景流量、剩余能量、节点度、流量大小、是否为传输节点等组成。隐藏层的运行方式与 Actor 网络相同。最后,收集所有节点的特征以获得Q值。另外,在Agent学习过程中,DDPG采用经验回放机制,延迟更新。通过这种方法,Agent 可以更好地学习连续动作空间中的路由策略。
基于上述 Actor 和 Critic 网络,我们可以构建 DDPG Agent。在DRL的优化框架下,DRL-NET的优化过程如下。在初始阶段,需要根据源节点和会聚建筑物建立多路径树形拓扑。在训练阶段,Agent 会经历几次史诗。在每个场景开始时,环境都会给出初始状态 s 。Actor网络根据状态给出相应的动作a。根据动作,并将其发送到网络环境执行。环境给出相应的反馈奖励 r 并转移到下一跳状态 s‘。这样就可以得到样本(s,a,r,s’)并存储在经验池中。然后,需要更新代理。当经验池的大小足够时,我们通过批量采样更新 Actor 和 Critic 网络。经过迭代,Agent 终于可以学习到最优的路由策略。
随着 GNN 的应用,我们使用 PyTorch Geometric 来实现 GRL-NET。Actor网络的隐藏层由两层GNN组成。为了防止过拟合,隐藏层增加了一层Dropout。激活函数选择 Selu 和 Sigmoid。Critic 网络的隐藏层结构和激活函数与 Actor 网络相同。
在网络环境设置方面,我们在无线网络中构建了如图6所示的拓扑。每个节点都有有限的能量和随机产生的转发延迟。从源节点到汇节点的流量是根据泊松分布随机生成的。在训练开始时,我们将 Agent 的探索率设置为 0.3,以生成随机动作。随着训练,探索率逐渐降低。但需要注意的是,勘探率不会完全为零。这样,可以保留 Agent 对环境的探索。
本实验以能耗为优化目标,评估 GRL-NET 在训练过程中的性能。实验结果如图 7 所示。在图 7 中,横坐标是训练集,纵坐标是集的平均能量消耗。通过观察图 7 可以发现,随着训练,episode 中消耗的能量逐渐减少。最后,实结果收敛到一个低的点。
这说明DRL-NET能够有效降低无线网络中的传输能耗,具有良好的收敛性。
本实验评估了 GRL-NET 在新网络拓扑下的泛化能力。我们将经过训练的 GRL-NET 放入一个新的网络拓扑中并观察其收敛性。作为比较,可以在此拓扑中放置另一个未经训练的 GRL-NET。通过这种方式,我们可以比较 GRL-NET 在新的网络拓扑下的性能
结果如图 8 所示。从图 8 可以看出,经过训练的 GRL-NET 在开始时可以获得较低的传输能耗。而且,它可以更快地收敛。这表明 GRL-NET 具有良好的收敛性。即使在全新的网络拓扑中,GRL-NET 仍然可以有效运行,无需大量训练。
在本文中,为了更好地实现WSN中的路由,我们提出了基于GNN和DRL的GRL-NET路由优化算法。实验表明,GRL-NET不仅可以根据优化目标实现学习策略,而且具有良好的泛化能力。
在后续研究中,我们将进一步探索 GRL-NET 的潜力。目前,GRL-NET 可以实现单目标优化。在此基础上,我们希望 GRL-NET 可以优化多个目标。这样可以更好地满足未来无线网络对路由算法性能的要求。