CN116743595A - 基于机器学习的快速虚拟网络映射方法、介质及电子设备 - Google Patents
基于机器学习的快速虚拟网络映射方法、介质及电子设备 Download PDFInfo
- Publication number
- CN116743595A CN116743595A CN202310588779.2A CN202310588779A CN116743595A CN 116743595 A CN116743595 A CN 116743595A CN 202310588779 A CN202310588779 A CN 202310588779A CN 116743595 A CN116743595 A CN 116743595A
- Authority
- CN
- China
- Prior art keywords
- network
- node
- virtual network
- mapping
- nodes
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000013507 mapping Methods 0.000 title claims abstract description 101
- 238000000034 method Methods 0.000 title claims abstract description 73
- 238000010801 machine learning Methods 0.000 title claims abstract description 29
- 238000013528 artificial neural network Methods 0.000 claims abstract description 68
- 238000012549 training Methods 0.000 claims abstract description 55
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 31
- 230000002787 reinforcement Effects 0.000 claims abstract description 28
- 230000006870 function Effects 0.000 claims description 44
- 230000009471 action Effects 0.000 claims description 40
- 230000008569 process Effects 0.000 claims description 25
- 238000005070 sampling Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 10
- 238000003860 storage Methods 0.000 claims description 10
- 230000002776 aggregation Effects 0.000 claims description 9
- 238000004220 aggregation Methods 0.000 claims description 9
- 238000010276 construction Methods 0.000 claims description 9
- 238000000354 decomposition reaction Methods 0.000 claims description 9
- 238000005457 optimization Methods 0.000 claims description 9
- 238000011176 pooling Methods 0.000 claims description 9
- 230000008901 benefit Effects 0.000 claims description 8
- 238000012546 transfer Methods 0.000 claims description 8
- 238000009826 distribution Methods 0.000 claims description 7
- 238000012163 sequencing technique Methods 0.000 claims description 6
- 230000007774 longterm Effects 0.000 abstract description 7
- 230000006872 improvement Effects 0.000 abstract description 4
- 238000005295 random walk Methods 0.000 abstract description 4
- 238000013461 design Methods 0.000 description 9
- 238000012360 testing method Methods 0.000 description 5
- 238000012512 characterization method Methods 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000009499 grossing Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/16—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using machine learning or artificial intelligence
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于机器学习的快速虚拟网络映射方法、介质及电子设备。本发明利用神经网络代替启发式算法中图的随机游走,利用单步求解器代替逐步求解器,实现求解速度的大幅提升。单步求解相对于现有强化学习的自回归求解范式,可大幅减少网络的前向调用,降低求解复杂度。本发明在对启发式算法模仿监督训练的基础上,在排序‑搜索的求解范式中通过强化学习实现端到端的学习,能够显著提升虚拟网络映射问题的多个指标,使得框架更加灵活。本发明考虑了序贯决策问题中前后问题对与资源占用的影响,提出基于全局强化学习的学习算法,能够提升长期的总体求解指标。
Description
技术领域
本发明属于虚拟网络映射领域,具体涉及一种基于机器学习的快速虚拟网络映射方法、介质及电子设备。
背景技术
随着网络和云计算的快速发展,网络虚拟化技术已经被广泛接受和部署在工业界实际业务中,例如云计算平台、大数据管理等。为了支持对于所需请求的服务持续服务,互联网服务提供商将提供一个物理实体网络来容纳多个虚拟网络来实现服务。具体来说,物理网络的节点通常表示服务器CPU/内存等可用资源,边表示它们之间传输带宽/时间延迟。虚拟网络的节点、边类似地表示用户对于网络的计算、传输等服务需求。
网络虚拟化技术的核心问题即虚拟网络映射问题(Virtual Network EmbeddingProblem,下简称为VNEP),是一个NP-困难的组合优化问题。虚拟网络映射的目的是有效地把请求的虚拟网络嵌入物理网络,成为其子网络(即虚拟网络的节点映射至物理网络的节点,虚拟网络的边映射为物理网络中相应的路径)。虚拟的节点(例如CPU/内存)和边(例如带宽/延迟)的特定需求需要由物理网络中的可用资源满足。
传统的虚拟网络映射算法一般采用基于排序的启发式算法,预先制定某个排序指标,对虚拟网络和物理网络的进行排序,再依照排序分数用由大至小的方法完成点的映射,完成点的映射之后,采用最短路径算法算完成边的映射。此类方法主要区别在于排序指标设计的不同。然而,手工制定的排序指标对于动态变化的虚拟网络需求和物理网络资源可能不是最优的,从而限制了映射成功率等指标的提升。此外,采用元启发式和线性优化的方法的求解时间较长,不能满足在线场景下即时响应、快速求解的需求。
近年来,一些方法提出了基于机器学习和强化学习的方法,一般把单个虚拟网络问题的求解看作逐个的点的匹配,并把每一步作为强化学习的一次动作实现。整个求解器是按自回归方式在整个搜索空间中生成的,这导致求解过程较慢,在大规模问题上缺乏可扩展性。
综上所述,现有技术的缺点如下:
(1)现有求解成功率最高的元启发式算法的求解速度较慢,无法满足在线求解的需求。
(2)启发式算法采用固定策略求解,在环境或者虚拟网络需求的分布发生变化时,不能较好地自动调整策略。
(3)现有的强化学习方法通常采用自回归方式生成点的映射,需要多次网络调用,复杂度较高,求解时间远高于启发式算法。
(4)现有的机器学习求解器只考虑了单独问题实例的求解,忽视了在连续决策问题中,不同的实例前后之间对于资源占用的影响。
如何解决上述现有技术中的缺点,是目前亟待解决的技术问题。
发明内容
本发明的目的在于解决上述现有技术中的缺点,并提供一种基于机器学习的快速虚拟网络映射方法、介质及电子设备。
本发明所采用的具体技术方案如下:
第一方面,本发明提供了一种基于机器学习的快速虚拟网络映射方法,其包括:
S1、针对需要进行映射的物理网络Gs和虚拟网络Gv,获取各自的网络状态并提取网络的节点特征;
S2、利用图神经网络分别在虚拟网络和物理网络中进行消息传播,通过迭代地进行消息聚合和特征更新,最终输出每个网络中各节点被选择进行映射的概率得分;分别对虚拟网络和物理网络中的节点根据概率得分从高到低的顺序进行排序;
S3、对虚拟网络和物理网络分别构建广度优先搜索(BFS)树,搜索树的根节点为网络内节点排序最靠前的节点,搜索树中每层节点的搜索顺序依照S2中的节点排序;基于构建得到的广度优先搜索树,将虚拟网络Gv中的节点和边整体映射至物理网络Gs。
作为上述第一方面的优选,所述S1中,物理网络Gs和虚拟网络Gv的输入节点特征构建方法如下:
S11、将可用CPU资源和最大CPU资源作为节点原始特征,将节点对应的边的总带宽作为边特征,将节点的度作为图拓扑特征,由三种特征拼接形成网络节点特征X;
S12、将网络节点特征X输入向量分解机中,并将向量分解机的输出特征FM(X)拼接到网络节点特征X上,形成初始节点特征h0。
作为上述第一方面的优选,所述图神经网络以初始节点特征h0作为原始输入,采用GraphSage算法在图上逐层传递消息,最后一层输出的节点特征经过Softmax后生成一维概率分布,作为各节点被选择进行映射的概率得分。
作为上述第一方面的优选,所述图神经网络和广度优先搜索树共同构成实现虚拟网络映射的单步求解器,其中图神经网络用于进行节点排序,而广度优先搜索树用于通过搜索进行映射,通过预先经过训练的单步求解器整体求解物理网络Gs和虚拟网络Gv之间所有节点和边的映射关系。
作为上述第一方面的优选,所述图神经网络预先通过预训练-微调两阶段进行训练;在预训练阶段,通过最小化图神经网络输出的节点概率得分预测值和监督值之间的误差,对图神经网络进行训练;在微调阶段,以完成预训练阶段的图神经网络作为策略网络,通过强化学习算法基于全局的奖励函数进一步对图神经网络进行端到端训练。
作为上述第一方面的优选,所述图神经网络在预训练阶段由启发式求解器提供监督信号,所采用的损失为图神经网络输出的节点概率得分预测值与启发式求解器输出的节点概率得分预测值之间的均方误差。
作为上述第一方面的优选,所述图神经网络在微调阶段的训练方法如下:
A1)、构建用于进行端到端学习的强化学习框架,其中:状态空间Φ中,状态为当前物理网络的可用资源和当前虚拟网络的请求资源;动作空间A中,单个动作将虚拟网络完全映射到物理网络;状态转移函数为Pr(φ′,a,φ)=Pr(φt+1=φ′∣at=a,φt=φ),其中at为t时刻的动作,φt为t时刻的状态,φ和φ′分别为动作执行前后的两个状态;通过策略网络对每个可能的动作的得分,在执行一个动作后或一个运行中的虚拟网络事件结束后,状态将进行相应地更新;奖励函数R由状态和动作决定,每个动作的奖励是虚拟网络映射后的收益与成本之比;
以完成预训练-微调两阶段训练后的图神经网络作为策略网络π(θ),由策略网络π(θ)生成物理网络Gs和虚拟网络Gv中每个节点的概率得分;然后针对物理网络Gs和虚拟网络Gv分别进行有序采样形成节点序列,在采样时先采样网络中概率得分最高的节点以及其概率得分记录于节点序列中的第1个节点,然后再对网络内剩余节点的概率得分重新进行Softmax后,将网络中概率得分最高的节点以及其Softmax后的概率得分记录于节点序列中的第2个节点,不断迭代直至得到整条节点序列以及各节点的概率得分;最后,通过按照所述S3,通过构建广度优先搜索(BFS)树,将虚拟网络Gv中的节点和边整体映射至物理网络Gs,整个映射动作的概率由映射过程中每个虚拟网络节点的概率得分依次相乘得到;通过价值网络Vθ(φ)预测当前状态后的长期回报,其中价值函数为虚拟网络的所有节点概率得分池化值和物理网络的所有节点概率得分池化值之和,且用于计算价值函数的节点概率得分由另一个图神经网络生成;
A2)、通过近端策略优化算法,对所构建的强化学习框架进行学习,从而对作为策略网络的图神经网络进行微调。
作为上述第一方面的优选,所述S3中,根据广度优先搜索树进行虚拟网络Gv和物理网络Gs之间映射的方法如下:
S31、从虚拟网络Gv的广度优先搜索树上采样一个节点其中树中每个节点被采样的概率由其对应的概率得分决定;
S32、将物理网络Gs中尚未被映射的节点作为节点的候选物理网络节点列表若节点是广度优先搜索树的根节点,则将节点映射至中满足容量约束条件的概率得分最高的节点;若节点不是广度优先搜索树的根节点,则以中概率得分最高的节点作为根节点并按照指定的最大搜索跳数建立子树,将节点映射至子树中满足容量约束条件的概率得分最高的节点,同时将节点和已映射节点中相连的虚拟网络边映射到物理网络的边;
S33、不断重复S31和S32,直至整个虚拟网络均映射至物理网络中。
第二方面,本发明提供了一种计算机可读存储介质,所述存储介质上存储有计算机程序,当所述计算机程序被处理器执行时,实现如上述第一方面任一项方案所述的基于机器学习的快速虚拟网络映射方法。
第二方面,本发明提供了一种计算机电子设备,其包括存储器和处理器;
所述存储器,用于存储计算机程序;
所述处理器,用于当执行所述计算机程序时,实现如上述第一方面任一项方案所述的基于机器学习的快速虚拟网络映射方法。
本发明相对于现有技术而言,具有以下有益效果:
1.本发明提出快速的虚拟网络映射算法,利用神经网络代替启发式算法中图的随机游走,利用单步求解器代替逐步求解器,实现求解速度的大幅提升。单步求解相对于现有强化学习的自回归求解范式,可大幅减少网络的前项调用,降低求解复杂度。
2.本发明在对启发式算法模仿监督训练的基础上,在排序-搜索的求解范式中通过强化学习实现端到端的学习,能够显著提升虚拟网络映射问题的多个指标,使得框架更加灵活。
3.本发明考虑了序贯决策问题中前后问题对与资源占用的影响,提出基于全局强化学习的学习算法,能够提升长期的总体求解指标。
附图说明
图1为基于机器学习的快速虚拟网络映射方法的步骤流程图;
图2为图神经网络的预训练-微调两阶段训练方式示意图;
图3为全局奖励学习的具体流程示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似改进,因此本发明不受下面公开的具体实施例的限制。本发明各个实施例中的技术特征在没有相互冲突的前提下,均可进行相应组合。
如图1所示,在本发明的一个较佳实施例中,提供了一种基于机器学习的快速虚拟网络映射方法,其包括以下步骤:
S1、针对需要进行映射的物理网络Gs和虚拟网络Gv,获取各自的网络状态并提取网络的节点特征。
在本发明的实施例中,上述步骤S1中,物理网络Gs和虚拟网络Gv的输入节点特征构建方法如下:
S11、将可用CPU资源和最大CPU资源作为节点原始特征,将节点对应的边的总带宽作为边特征,将节点的度作为图拓扑特征,由三种特征拼接形成网络节点特征X;
S12、将网络节点特征X输入向量分解机中,并将向量分解机的输出特征FM(X)拼接到网络节点特征X上,形成初始节点特征h0。
S2、利用图神经网络分别在虚拟网络和物理网络中进行消息传播,通过迭代地进行消息聚合和特征更新,最终输出每个网络中各节点被选择进行映射的概率得分;分别对虚拟网络和物理网络中的节点根据概率得分从高到低的顺序进行排序。
在本发明的实施例中,上述图神经网络以初始节点特征h0作为原始输入,采用GraphSage算法在图上逐层传递消息,最后一层输出的节点特征经过Softmax后生成一维概率分布,作为各节点被选择进行映射的概率得分。
需要说明的是,上述图神经网络在用于进行实际的推理任务前,需要预先通过预训练-微调两阶段进行训练;在预训练阶段,通过最小化图神经网络输出的节点概率得分预测值和监督值之间的误差,对图神经网络进行训练;在微调阶段,以完成预训练阶段的图神经网络作为策略网络,通过强化学习算法基于全局的奖励函数进一步对图神经网络进行端到端训练。
在本发明的实施例中,上述图神经网络在预训练阶段由启发式求解器提供监督信号,所采用的损失为图神经网络输出的节点概率得分预测值与启发式求解器输出的节点概率得分预测值之间的均方误差。
在本发明的实施例中,上述图神经网络在微调阶段的训练方法如下:
A1)、构建用于进行端到端学习的强化学习框架,其中:状态空间Φ中,状态为当前物理网络的可用资源和当前虚拟网络的请求资源;动作空间中,单个动作将虚拟网络完全映射到物理网络;状态转移函数为Pr(φ′,a,φ)=Pr(φt+1=φ′∣at=a,φt=φ),其中at为t时刻的动作,φt为t时刻的状态,φ和φ′分别为动作执行前后的两个状态;通过策略网络对每个可能的动作的得分,在执行一个动作后或一个运行中的虚拟网络事件结束后,状态将进行相应地更新;奖励函数R由状态和动作决定,每个动作的奖励是虚拟网络映射后的收益与成本之比;
以完成预训练-微调两阶段训练后的图神经网络作为策略网络π(θ),由策略网络π(θ)生成物理网络Gs和虚拟网络Gv中每个节点的概率得分;然后针对物理网络Gs和虚拟网络Gv分别进行有序采样形成节点序列,在采样时先采样网络中概率得分最高的节点以及其概率得分记录于节点序列中的第1个节点,然后再对网络内剩余节点的概率得分重新进行Softmax后,将网络中概率得分最高的节点以及其Softmax后的概率得分记录于节点序列中的第2个节点,不断迭代直至得到整条节点序列以及各节点的概率得分;最后,通过按照所述S3,通过构建广度优先搜索(BFS)树,将虚拟网络Gv中的节点和边整体映射至物理网络Gs,整个映射动作的概率由映射过程中每个虚拟网络节点的概率得分依次相乘得到;通过价值网络Vθ(φ)预测当前状态后的长期回报,其中价值函数为虚拟网络的所有节点概率得分池化值和物理网络的所有节点概率得分池化值之和,且用于计算价值函数的节点概率得分由另一个图神经网络生成;
A2)、通过近端策略优化算法,对所构建的强化学习框架进行学习,从而对作为策略网络的图神经网络进行微调。
S3、对虚拟网络和物理网络分别构建广度优先搜索(BFS)树,搜索树的根节点为网络内节点排序最靠前的节点,搜索树中每层节点的搜索顺序依照S2中的节点排序;基于构建得到的广度优先搜索树,将虚拟网络Gv中的节点和边整体映射至物理网络Gs。
在本发明的实施例中,上述步骤S3中,根据广度优先搜索树进行虚拟网络Gv和物理网络Gs之间映射的方法如下:
S31、从虚拟网络Gv的广度优先搜索树上采样一个节点其中树中每个节点被采样的概率由其对应的概率得分决定;
S32、将物理网络Gs中尚未被映射的节点作为节点的候选物理网络节点列表若节点是广度优先搜索树的根节点,则将节点映射至中满足容量约束条件的概率得分最高的节点;若节点不是广度优先搜索树的根节点,则以中概率得分最高的节点作为根节点并按照指定的最大搜索跳数建立子树,将节点映射至子树中满足容量约束条件的概率得分最高的节点,同时将节点和已映射节点中相连的虚拟网络边映射到物理网络的边;
S33、不断重复S31和S32,直至整个虚拟网络均映射至物理网络中。
需要说明的是,上述图神经网络和广度优先搜索树共同构成实现虚拟网络映射的单步求解器,其中图神经网络用于进行节点排序,而广度优先搜索树用于通过搜索进行映射,通过预先经过训练的单步求解器整体求解物理网络Gs和虚拟网络Gv之间所有节点和边的映射关系。但上述S1~S3所描述的基于机器学习的快速虚拟网络映射方法,是在实际进行映射任务或者测试任务时的过程,其直接根据图神经网络输出的得分进行排序并运行BFS搜索,得到一个可行解,而在训练过程中参照A1和A2步骤所示,其并非是直接直接根据分数排序并运行BFS搜索的,而是基于一种采样机制通过采样进行排序并运行BFS搜索。
综上,本发明的上述技术方案,针对虚拟网络映射问题设计了上述单步求解器,并提出了模仿-微调两阶段训练范式,提升了求解器模型容量和灵活性,降低了训练的难度。而且本发明基于可学习的排序和搜索,根据样例的分布端到端学习网络参数,在提升接受率、收益等多个核心指标的同时,实现求解速度的提升。本发明在强化学习过程中,对于每个问题实例,采用单步求解器求解;在序贯场景下,可进一步通过全局的奖励函数,对长期的总体评价指标得到优化。
下面通过一个具体实施例来进一步展示基于上述S1~S3所描述的基于机器学习的快速虚拟网络映射方法以及A1~A2所描述的预训练-微调两阶段训练过程。
实施例
本实施例中,上述由图神经网络和广度优先搜索树共同构成的单步求解器,遵循了常用的排序-搜索范式,其中:排序指分别对虚拟网络节点和物理网络节点得到分数及排序,搜索是指依据节点排序通过广度优先搜索(BFS)在等对节点和边进行映射。前者通过图神经网络完成,后者依照经典的图算法完成。本发明设计的单步求解器,比现有的强化学习的求解器的逐点映射相比,可以大幅提升求解速度。同时,端到端训练的另一个好处是它可以优化跨实例的多个步骤的整体性能,尤其是当总指标在序贯决策中受到前后多个问题实例影响,我们的框架可以将序贯的长期目标作为训练目标。
下面分别描述本实施例中上述单步求解器的训练方式以及实际应用时的过程。
一、单步求解器的两阶段训练
本实施例中,针对由图神经网络和BFS树共同构成的单步求解器提出了预训练-微调两阶段的训练过程,以得到一个可以部署的VNEP求解器。在预训练阶段,通过最小化图神经网络的预测和现有启发式求解器监督之间的误差。在微调阶段,通过强化学习算法用于指导预训练的图神经网络模块,以有关收益、成本等的最终奖励为目标,进行整个框架的端到端训练。以下将详细阐述该训练过程中的两个阶段,即预训练阶段和微调阶段,如图2所示。
步骤1:基于图神经网络的单步求解器的预训练阶段
相比于在原始特征上直接排序,拓扑相关的图表示方法可以提高基于排序的VNEP求解器的成功率。在本实施例中,通过设计图神经网络实现了VNEP的节点排序。由于图神经网络具有可学参数,能够根据最终学习目标端到端地调整学习到的参数,比随机游走算法更具表现力;并且借助GPU,可以显著提升推理速度。
步骤1.1:提取网络中的节点特征,由如下子步骤组成:
步骤1.1.1:构建节点原始特征,由可用CPU资源和最大CPU资源组成步骤1.1.2:构建边特征,即连接相应节点的边的总带宽
步骤1.1.3:构建图拓扑特征,由节点度组成。
步骤1.1.4:输入节点特征X由节点、边、图拓扑三种特征拼接而成。
步骤1.1.5:建模不同特征类型之间的交互关系,使用向量分解机(FactorizationMachine,即FM)构建一个额外的特征并将其拼接到到初始节点表征上,得到初始节点特征,即h0=[X,FM(X)]
其中向量分解机(FM)的计算方式为:
其中w和v为向量分解机中可学习的特征交互参数,X:,i,X:,j分别为所有节点的第i和第j维特征。
步骤1.2:搭建神经网络得到节点的拓扑感知排序,由如下子步骤组成:
步骤1.2.1:采用GraphSage算法在图上传递消息:假定节点v在第k层的特征表示为图神经网络通过迭代的消息聚合、特征更新步骤完成:
消息聚合步骤:
其中,表示节点v经过信息聚合后,在第k层的表征向量,表示节点v的邻居节点,AGGREGATE(为一个聚合函数,如求和、平均、最大等函数。
特征更新步骤:
其中Wk为第k层的参数矩阵,CONCAT(表示向量拼接函数,和分别表示节点v在前一层(k-1层)的表征,以及消息聚合步骤中对于节点v聚合得到的向量,σ为激活函数,如relu函数等。
步骤1.2.2:得到每个节点映射的概率:
经过K层如上消息传递,最后一层的输出1维的预测分数,最后的分数通过对最后一层表示的Softmax操作得到,表示选择每个点进行映射的概率得分。
步骤1.2.3:构建监督学习目标,为GNN节点概率得分和来自现有VNEP求解器(本实施例中可采用RW-BFS求解器提供监督信号)概率得分hG之间的均方误差,均方误差计算公式如下:
其中M表示训练集样本的个数,θ为GNN中所有可训练参数的集合。
步骤1.3:节点表征的局部平滑
在VNEP求解器中的一个合理的先验是,当两个拓扑相近的虚拟网络节点在被映射到实体网络时,它们在实体网络中也应该相互接近。这种先验有助于提高收益-成本率,因为在实体网络上映射的节点越接近(即路径越短),总成本也越低。因此在本实施例基于GNN的学习方案中,这种先验本质是指在虚拟网络和实体网络中都保留了嵌入空间中的局部拓扑。
步骤1.3.1:设计局部平滑的能量函数,即狄利克雷能量如下:
其中ai,j是邻接矩阵A的第(i,j)个元素,即节点i和节点j之间的边的权重;L是图的拉普拉斯矩阵L=I-D-1/2AD-1/2,其中D∈Rn×n是节点度数矩阵,di是节点i的节点度数。hi和hj分别代表节点i和节点j的节点得分。
步骤1.3.2:在损失函数中狄利克雷能量项添加步骤1.3.1的能量函数项。
狄利克雷能量越低,节点及其邻居间的信号越平滑。优化添加了此能量函数的约束,可实现打分函数以至求解的局部性。
步骤1.4:设计预训练阶段Lpre(θ)的损失函数,进行监督训练。
给定一个基准的启发式求解器,损失函数由上述的节点分数均方误差损失,和加权的平滑项,对于虚拟网络(VN)和物理网络(SN)的总和:
其中分别为如步骤1.2.3中所示公式计算的对于实体网络和虚拟网络的均方误差(参数的上标s和v分别代表物理网络和虚拟网络,下同),而后2项损失项分别为如步骤1.3.1中所示公式计算的对于实体网络和虚拟网络的狄利克雷能量;μ为超参数,用于前两者的平衡均方误差损失项和和后两者的狄利克雷能量项。
基于上述总损失函数Lpre(θ)对图神经网络进行监督训练后,即可完成第一阶段的预训练。
步骤2:基于全局收益的单步求解器的强化学习微调阶段
在上述第一阶段监督预训练的基础上,本实施例进一步采用强化学习进行端到端的学习,依照最终奖励探索更好的求解策略。
步骤2.1构建强化学习框架
考虑VNEP的贯序决策过程,本发明提出的求解过程可以建模为一个马尔科夫决策过程(MDP)。和现有的基于强化学习的VNEP求解器的状态为虚拟网络实例内的一个节点不同,本发明的MDP的状态建立在整个虚拟网络实例。
强化学习框架中各个子模块的构建步骤为:
步骤2.1.1:构建状态表征Φ。状态由当前的物理网络和当前的虚拟网络实例决定,即物理网络的可用资源和虚拟网络的请求资源。
步骤2.1.2:构建动作空间与现有的RL求解器的动作为映射单个节点不同,我们提出单个动作将虚拟网络完全映射到物理网络,动作的概率由物理网络节点和虚拟网络节点的排序相关。
步骤2.1.3:设计状态转移函数Pr(φ′,a,φ)=Pr(φt+1=φ′∣at=a,φt=φ)。其中at为t时刻的动作,φt为t时刻的状态,φ和φ′分别为动作执行前后的两个状态。通过策略函数对每个可能的动作的得分,并执行一个动作(映射)后或一个运行中的虚拟网络事件结束后,状态(物理网络的可用资源)将相应地更新。
步骤2.1.4:设计奖励函数,由状态和动作决定,即R:本实施例中指定每个动作的奖励是虚拟网络映射后的收益与成本之比。此外,也可支持多目标优化,以多个评估指标的加权和实现,可以将功效和能耗效率加入整体性能的度量。
步骤2.2:设计强化学习所需的网络
步骤2.2.1:构建策略网络。本实施例中步骤1.2针对虚拟网络和物理网络构建的图神经网络(GNN模型),可以直接作为策略网络π(θ)。
步骤2.2.2:依据策略打分选择动作,完成一个实例的求解,期限该过程在训练和测试阶段的做法不同,如图2所示,上述预训练阶段的节点排序方式是一种概率排序,而测试或推理阶段的排序则直接是贪婪排序。各自的步骤分别如下:
步骤2.2.2.1:在训练过程中,以图中节点的概率得分作为采样概率对两个GNN模型中的节点分别进行采样,过程如下:
1):首先根据采样概率采样一个节点,并将其视为排名1。
2):对于剩余的节点,我们对其得分再次运行Softmax,选择排名2。
3):重复步骤2),一直到得到物理网络和虚拟网络中所有节点的排名结束,按照排名将物理网络Gs和虚拟网络Gv中的节点进行排序形成有序的节点序列,根据该排序可构建BFS树。需要注意的是,由于部分节点的概率得分经过了再次的Softmax,因此此时节点序列中记录的这些节点的概率得分是经过Softmax后的概率得分。
4):通过运行BFS搜索,得到一个实现两个网络间映射的整体可行解,可以直接实现物理网络Gs和虚拟网络Gv之间节点和边的映射。
5):BFS搜索过程中每一次映射形成一个以虚拟节点得分表征的概率值,将整个动作中所有映射的概率值相乘成为动作概率。
步骤2.2.2.2:在测试过程中,直接根据图神经网络输出的概率得分的排序,并运行BFS搜索,得到一个可行解,实现映射。
上述步骤2.2.2.1和步骤2.2.2.2中,运行BFS搜索得到可行解的过程,将在后续进行详细描述。
步骤2.2.3:构建价值网络(critic)Vθ(φ),用于预测当前状态后的长期回报。价值网络由虚拟网络和物理网络共同确定。
步骤2.2.3.1:构建和步骤1.2中结构相同的另一个图神经网络,以获得虚拟网络和物理网络的节点得分zs。
步骤2.2.3.2:设计价值函数,为虚拟网络得分和物理网络得分之和:
池化函数Pool(如求和池化、平均值池化等)用于给定每个节点得分,输出整个网络的打分值。
步骤2.3:执行强化学习算法完成求解器微调
本实施例中设计近端策略优化(PPO)算法基于全局奖励来学习跨实例策略,如图3所示,步骤如下:
步骤2.3.1:设计优势函数
其中,为t时刻的优势函数,γ为折扣因子。该优势函数融合了多个步骤的奖励,并对多个连续的实例求解器在T步求解轨迹联合优化。这种设计能够捕捉请求实例之间的关系,并实现全局的推理。
步骤2.3.2:设计裁切的代理损失函数为:
其中∈是裁切系数,是新策略和旧策略的概率比值,CLIP函数用于限制ρ(θ)的范围。
步骤2.3.3:设计价值函数损失,即预测值函数Vθ(φ)和目标值Vt targ(即真实累计回报)的平方误差损失,如下:
步骤2.3.4:设计最终的微调(finetune,缩写ftn)损失函数,为裁切代价函数损失和价值损失的总和:
其中cV表示批判者损失的权重,为步骤2.3.2中的代理损失函数,为步骤2.3.3的价值函数损失。
步骤2.3.5:通过PPO算法,估计解的梯度,对步骤2.3.4的损失优化,从而在强化学习框架下实现对图神经网络的微调。
二、单步求解器的测试及实际应用
在完成上述单步求解器的两阶段训练后,给定实体网络Gs,虚拟网络的问题实例,该单步求解器的推理过程包含以下步骤:
步骤A、针对需要进行映射的物理网络Gs和虚拟网络Gv,获取当前时间最新的网络状态,并参照前述两阶段训练过程中的步骤1.1提取网络中的节点特征。
步骤B、使用图神经网络(Graph Neural Network,GNN)分别在虚拟网络和物理网络中进行消息传播通过迭代地进行消息聚合和特征更新,最终输出每个网络中各节点被选择进行映射的概率得分;分别对虚拟网络和物理网络中的节点根据概率得分从高到低的顺序进行排序。
步骤C、对虚拟网络和物理网络,分别构建广度优先搜索(BFS)树,搜索树的根节点为网络内节点排序最靠前的节点,搜索树中每层节点的搜索顺序依照前一步步骤B中的节点排序。
步骤D、基于构建得到的广度优先搜索树,通过运行BFS搜索将虚拟网络Gv中的节点和边整体映射至物理网络Gs。BFS搜索以如下方式运行:
步骤D1、从虚拟网络Gv的BFS树上采样一个节点其中树中每个节点被采样的概率由其对应的概率得分决定;
步骤D2、对当前采样到的节点执行以下D2.1~D2.4过程,完成该节点的映射:
步骤D2.1、获取物理网络Gs中尚未被映射的节点,作为节点的候选物理网络节点列表
步骤D2.2、判断节点在虚拟网络Gv的BFS树上的节点类型,如果是虚拟网络Gv的BFS树的根节点,将映射到中满足容量约束条件的概率得分最高的节点映射成功后跳转至映射下一个节点从步骤D1开始;如果不是根节点,则执行步骤D2.3和步骤D2.4,以中概率得分最高的节点作为根节点并按照指定的最大搜索跳数建立子树,将节点映射至子树中满足容量约束条件的概率得分最高的节点,同时将节点和已映射节点中相连的虚拟网络边映射到物理网络的边:
步骤D2.3、初始化搜索跳数k=1。
步骤D2.4、判断搜索跳数k与最大跳数(Max_Hop)的相对大小,当k不小于Max_Hop则终止搜索,当k小于Max_Hop时,进行以下循环:
步骤D2.4.1、以中概率得分最高的节点作为根节点并按照当前搜索跳数k建立BFS子树,对于的BFS子树中的每一个节点按概率得分排序从高到低进行以下判断:若符合所有容量约束,则将映射到同时将新的节点和已映射节点中相连的虚拟网络边映射到物理网络的边,结束循环并跳转至映射下一个节点若不符合所有容量约束则继续对BFS子树中下一个节点进行判断。
步骤D2.4.2、若映射此虚拟节点不成功,跳数k的值增加1,直至k=Max_Hop或找到映射的物理网络节点为止。
步骤D3、不断循环执行步骤D1至步骤D2,若遍历过所有虚拟网络节点后,上述映射均成功,则整体的解返回成功;若某一个映射点失败,或者映射点完成但映射边失败,则整体的解返回失败。
综上,本发明提出的快速的虚拟网络映射算法,利用神经网络代替启发式算法中图的随机游走,利用单步求解器代替逐步求解器,实现求解速度的大幅提升。
需要说明的是,上述实施例中提供的基于机器学习的快速虚拟网络映射方法,本质上可以以一种程序处理流程的形式存在。因此同样的,基于同一发明构思,本发明的另一较佳实施例中还提供了与上述实施例提供的基于机器学习的快速虚拟网络映射方法对应的一种计算机电子设备,其包括存储器和处理器;
所述存储器,用于存储计算机程序;
所述处理器,用于当执行所述计算机程序时,实现如前述所述的基于机器学习的快速虚拟网络映射方法。
同样的,基于同一发明构思,本发明的另一较佳实施例中还提供了与上述实施例提供的基于机器学习的快速虚拟网络映射方法对应的一种计算机可读存储介质,所述存储介质上存储有计算机程序,当所述计算机程序被处理器执行时,实现如前述基于机器学习的快速虚拟网络映射方法。
可以理解的是,上述存储器、存储介质的形式可以包括随机存取存储器(RandomAccess Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。同时存储介质还可以是U盘、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。当然,随着云服务器的广泛应用,上述软件程序也可以搭载于云平台上,提供相应的服务,因此计算机可读存储介质并不限于本地硬件的形式。
可以理解的是,上述的处理器可以是通用处理器,包括中央处理器(CentralProcessing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
另外需要说明的是,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本申请所提供的各实施例中,所述的装置和方法中对于步骤或者模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或步骤可以结合或者可以集成到一起,一个模块或者步骤亦可进行拆分。
此外,上述的存储器中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
以上所述的实施例只是本发明的一种较佳的方案,然其并非用以限制本发明。有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型。因此凡采取等同替换或等效变换的方式所获得的技术方案,均落在本发明的保护范围内。
Claims (10)
1.一种基于机器学习的快速虚拟网络映射方法,其特征在于,包括:
S1、针对需要进行映射的物理网络和虚拟网络,获取各自的网络状态并提取网络的节点特征;
S2、利用图神经网络分别在虚拟网络和物理网络中进行消息传播,通过迭代地进行消息聚合和特征更新,最终输出每个网络中各节点被选择进行映射的概率得分;分别对虚拟网络和物理网络中的节点根据概率得分从高到低的顺序进行排序;
S3、对虚拟网络和物理网络分别构建广度优先搜索树,搜索树的根节点为网络内节点排序最靠前的节点,搜索树中每层节点的搜索顺序依照S2中的节点排序;基于构建得到的广度优先搜索树,将虚拟网络中的节点和边整体映射至物理网络。
2.如权利要求1所述的基于机器学习的快速虚拟网络映射方法,其特征在于,所述S1中,物理网络Gs和虚拟网络Gv的输入节点特征构建方法如下:
S11、将可用CPU资源和最大CPU资源作为节点原始特征,将节点对应的边的总带宽作为边特征,将节点的度作为图拓扑特征,由三种特征拼接形成网络节点特征X;
S12、将网络节点特征X输入向量分解机中,并将向量分解机的输出特征FM(X)拼接到网络节点特征X上,形成初始节点特征h0。
3.如权利要求2所述的基于机器学习的快速虚拟网络映射方法,其特征在于,所述图神经网络以初始节点特征h0作为原始输入,采用GraphSage算法在图上逐层传递消息,最后一层输出的节点特征经过Softmax后生成一维概率分布,作为各节点被选择进行映射的概率得分。
4.如权利要求1所述的基于机器学习的快速虚拟网络映射方法,其特征在于,所述图神经网络和广度优先搜索树共同构成实现虚拟网络映射的单步求解器,其中图神经网络用于进行节点排序,而广度优先搜索树用于通过搜索进行映射,通过预先经过训练的单步求解器整体求解物理网络Cs和虚拟网络Gv之间所有节点和边的映射关系。
5.如权利要求1所述的基于机器学习的快速虚拟网络映射方法,其特征在于,所述图神经网络预先通过预训练-微调两阶段进行训练;在预训练阶段,通过最小化图神经网络输出的节点概率得分预测值和监督值之间的误差,对图神经网络进行训练;在微调阶段,以完成预训练阶段的图神经网络作为策略网络,通过强化学习算法基于全局的奖励函数进一步对图神经网络进行端到端训练。
6.如权利要求5所述的基于机器学习的快速虚拟网络映射方法,其特征在于,所述图神经网络在预训练阶段由启发式求解器提供监督信号,所采用的损失为图神经网络输出的节点概率得分预测值与启发式求解器输出的节点概率得分预测值之间的均方误差。
7.如权利要求5所述的基于机器学习的快速虚拟网络映射方法,其特征在于,所述图神经网络在微调阶段的训练方法如下:
A1)、构建用于进行端到端学习的强化学习框架,其中:状态空间Φ中,状态为当前物理网络的可用资源和当前虚拟网络的请求资源;动作空间中,单个动作将虚拟网络完全映射到物理网络;状态转移函数为Pr(φ′,a,φ)=Pr(φt+1=φ′∣at=a,φt=φ),其中at为t时刻的动作,φt为t时刻的状态,φ和φ′分别为动作执行前后的两个状态;通过策略网络对每个可能的动作的得分,在执行一个动作后或一个运行中的虚拟网络事件结束后,状态将进行相应地更新;奖励函数R由状态和动作决定,每个动作的奖励是虚拟网络映射后的收益与成本之比;
以完成预训练-微调两阶段训练后的图神经网络作为策略网络π(θ),由策略网络π(θ)生成物理网络Gs和虚拟网络Gv中每个节点的概率得分;然后针对物理网络Gs和虚拟网络Gv分别进行有序采样形成节点序列,在采样时先采样网络中概率得分最高的节点以及其概率得分记录于节点序列中的第1个节点,然后再对网络内剩余节点的概率得分重新进行Softmax后,将网络中概率得分最高的节点以及其Softmax后的概率得分记录于节点序列中的第2个节点,不断迭代直至得到整条节点序列以及各节点的概率得分;最后,通过按照所述S3,通过构建广度优先搜索(BFS)树,将虚拟网络Gv中的节点和边整体映射至物理网络Gs,整个映射动作的概率由映射过程中每个虚拟网络节点的概率得分依次相乘得到;通过价值网络Vθ(φ)预测当前状态后的长期回报,其中价值函数为虚拟网络的所有节点概率得分池化值和物理网络的所有节点概率得分池化值之和,且用于计算价值函数的节点概率得分由另一个图神经网络生成;
A2)、通过近端策略优化算法,对所构建的强化学习框架进行学习,从而对作为策略网络的图神经网络进行微调。
8.如权利要求1所述的基于机器学习的快速虚拟网络映射方法,其特征在于,所述S3中,根据广度优先搜索树进行虚拟网络Gv和物理网络Gs之间映射的方法如下:
S31、从虚拟网络Gv的广度优先搜索树上采样一个节点其中树中每个节点被采样的概率由其对应的概率得分决定;
S32、将物理网络Gs中尚未被映射的节点作为节点的候选物理网络节点列表若节点是广度优先搜索树的根节点,则将节点映射至中满足容量约束条件的概率得分最高的节点;若节点不是广度优先搜索树的根节点,则以Nj s中概率得分最高的节点作为根节点并按照指定的最大搜索跳数建立子树,将节点映射至子树中满足容量约束条件的概率得分最高的节点,同时将节点和已映射节点中相连的虚拟网络边映射到物理网络的边;
S33、不断重复S31和S32,直至整个虚拟网络均映射至物理网络中。
9.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,当所述计算机程序被处理器执行时,实现如权利要求1~8任一项所述的基于机器学习的快速虚拟网络映射方法。
10.一种计算机电子设备,其特征在于,包括存储器和处理器;
所述存储器,用于存储计算机程序;
所述处理器,用于当执行所述计算机程序时,实现如权利要求1~8任一项所述的基于机器学习的快速虚拟网络映射方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310588779.2A CN116743595A (zh) | 2023-05-23 | 2023-05-23 | 基于机器学习的快速虚拟网络映射方法、介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310588779.2A CN116743595A (zh) | 2023-05-23 | 2023-05-23 | 基于机器学习的快速虚拟网络映射方法、介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116743595A true CN116743595A (zh) | 2023-09-12 |
Family
ID=87900277
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310588779.2A Pending CN116743595A (zh) | 2023-05-23 | 2023-05-23 | 基于机器学习的快速虚拟网络映射方法、介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116743595A (zh) |
-
2023
- 2023-05-23 CN CN202310588779.2A patent/CN116743595A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7417724B2 (ja) | コールドチェーン配送経路の決定方法、装置、サーバおよび記憶媒体 | |
WO2021254114A1 (zh) | 构建多任务学习模型的方法、装置、电子设备及存储介质 | |
CN115659281B (zh) | 一种自适应加速算子融合的方法及装置 | |
CN110428046B (zh) | 神经网络结构的获取方法及装置、存储介质 | |
Thar et al. | A deep learning model generation framework for virtualized multi-access edge cache management | |
CN111406264A (zh) | 神经架构搜索 | |
CN113098714A (zh) | 一种基于深度强化学习的低时延网络切片的方法 | |
CN112631717A (zh) | 基于异步强化学习的网络服务功能链动态部署系统及方法 | |
CN115066694A (zh) | 计算图优化 | |
CN113132232B (zh) | 一种能量路由优化方法 | |
CN110119399B (zh) | 基于机器学习的业务流程优化方法 | |
CN110148039A (zh) | 一种众智网络智能数体需求匹配策略优化方法及系统 | |
CN112463337B (zh) | 一种用于移动边缘计算环境下的工作流任务迁移方法 | |
Wang et al. | Context-aware deep model compression for edge cloud computing | |
CN115905687A (zh) | 基于元学习图神经网络面向冷启动的推荐系统及方法 | |
CN115022231B (zh) | 一种基于深度强化学习的最优路径规划的方法和系统 | |
CN112436992A (zh) | 基于图卷积网络的虚拟网络映射方法及装置 | |
CN116868202A (zh) | 一种数据处理方法、装置、设备及介质 | |
CN115222046A (zh) | 神经网络结构搜索方法、装置、电子设备及存储介质 | |
Foa et al. | Solving the vehicle routing problem with deep reinforcement learning | |
CN115001978B (zh) | 一种基于强化学习模型的云租户虚拟网络智能映射方法 | |
CN111935005A (zh) | 数据传输方法、装置、处理设备及介质 | |
CN116974249A (zh) | 柔性作业车间调度方法和柔性作业车间调度装置 | |
CN115150335B (zh) | 一种基于深度强化学习的最优流量分割的方法和系统 | |
CN116743595A (zh) | 基于机器学习的快速虚拟网络映射方法、介质及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |