CN110890985A - 虚拟网络映射方法及其模型训练方法、装置 - Google Patents
虚拟网络映射方法及其模型训练方法、装置 Download PDFInfo
- Publication number
- CN110890985A CN110890985A CN201911188536.XA CN201911188536A CN110890985A CN 110890985 A CN110890985 A CN 110890985A CN 201911188536 A CN201911188536 A CN 201911188536A CN 110890985 A CN110890985 A CN 110890985A
- Authority
- CN
- China
- Prior art keywords
- training
- model
- result
- inputting
- vector list
- 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.)
- Granted
Links
Images
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明提供了一种虚拟网络映射方法及其模型训练方法、装置,该模型训练方法包括:根据物理网络中的节点信息获取训练集,将训练集进行预处理,得到训练集中节点信息的索引信息;将已完成预处理的训练集输入至模型的编码单元中进行训练,得到第一训练结果;将第一训练结果输入至模型的解码单元中进行训练,得到第二训练结果;根据第二训练结果,使用预设的损失函数计算模型的损失值;通过损失值更新模型参数;判断损失值是否满足预设的损失阈值;如果满足,则结束训练,得到用于虚拟网络映射的模型。通过编码单元中的多个编码器以及解码单元中的多个解码器并采用强化学习算法进行训练,提升了模型对虚拟网络的映射效果。
Description
技术领域
本发明涉及人工智能领域,尤其是涉及一种虚拟网络映射方法及其模型训练方法、装置。
背景技术
网络虚拟化是在一个物理网络中模拟多个逻辑网络的技术,随着人工智能技术的发展,采用机器学习领域中的算法可实现网络虚拟化,从而解决虚拟网络映射的问题。例如使用RNN(Recurrent Neural Network,循环神经网络)对物理网络信息进行提取,并依次输出映射结果,可模拟出实际虚拟网络的映射过程。但现有模型在对物理网络中的每个节点的信息进行提取时只能串行处理,效率较低。同时现有模型中由于神经元过多,容易出现梯度消失或梯度爆炸,影响模型最终的虚拟网络映射效果。
发明内容
有鉴于此,本发明的目的在于提供一种虚拟网络映射方法及其模型训练方法、装置。通过编码单元中的多个编码器以及解码单元中的多个解码器并采用强化学习算法进行并行计算,提升了模型对虚拟网络的映射效果。
第一方面,本发明实施例提供了一种用于虚拟网络映射的模型训练方法,该方法包括:根据物理网络中的节点信息获取训练集,将训练集进行预处理,得到训练集中的节点信息的索引信息;将已完成预处理的训练集输入至模型的编码单元中进行训练,得到第一训练结果;将第一训练结果输入至模型的解码单元中进行训练,得到第二训练结果;根据第二训练结果,使用预设的损失函数计算模型的损失值;通过损失值更新模型参数;判断损失值是否满足预设的损失阈值;如果满足,则结束训练,得到用于虚拟网络映射的模型。
在一些实施方式中,模型的编码单元中包含多个编码器;将已完成预处理的训练集输入至模型的编码单元中进行训练,得到第一训练结果的步骤,包括:对模型的编码单元进行初始化,编码单元中包含多个相同的编码器;将已完成预处理的训练集输入至第一个编码器中并输出编码结果;依次将前一个编码器输出的编码结果输入后一个编码器,直至最后一个编码器输出的编码结果记为第一训练结果。
在一些实施方式中,编码器包括自注意力机制层以及前向传递层;上述将已完成预处理的训练集输入至第一个编码器并输出编码结果的步骤,包括:将已完成预处理的训练集输入至自注意力机制层,得到第一向量列表;将第一向量列表传递到前向传递层,得到第二向量列表,第二向量列表与第一向量列表的维度相同;将第二向量列表记为第一个编码器的编码结果。
在一些实施方式中,上述训练集中的数据为底层物理网络中每个物理节点的数据,包括:节点的度、节点的CPU数据以及与节点相连接的链路的带宽数据。
在一些实施方式中,模型的解码单元中包含多个解码器;将第一训练结果输入至模型的解码单元中进行训练,得到第二训练结果步骤,包括:对模型的解码单元进行初始化,解码单元中包含多个相同的解码器;将第一训练结果输入至第一个解码器并输出解码结果;依次将前一个解码器输出的解码结果以及第一训练结果输入后一个解码器,直至最后一个解码器输出的解码结果记为第二训练结果。
在一些实施方式中,上述解码器包括自注意力机制层、注意力机制层以及前向传递层;上述将第一训练结果输入至第一个解码器并输出解码结果的步骤,包括:将第一训练结果输入至自注意力机制层,得到第一向量列表;将第一向量列表传递到注意力机制层,得到第二向量列表;第二向量列表包含第一向量列表的位置信息;将第二向量列表传递到前向传递层,得到第三向量列表,第三向量列表与第一向量列表、第二向量列表的维度相同;将第三向量列表记为第一个解码器的解码结果。
在一些实施方式中,上述第二训练结果为当前虚拟请求的节点映射结果;第二训练结果中向量维度的数量表示物理网络的节点数量;第二训练结果中向量维度的状态表示节点映射到对应的物理节点上。
在一些实施方式中,上述通过损失值更新模型的参数的步骤,包括:为虚拟网络中的每个虚拟节点设立多维度的标签;采用强化学习算法更新模型参数。
第二方面,本发明实施例提供了一种用于虚拟网络映射的模型训练装置,该装置包括:数据获取模块,用于根据物理网络中的节点信息获取训练集,将训练集进行预处理,得到训练集中的节点信息的索引信息;第一训练模块,用于将已完成预处理的训练集输入至模型的编码单元中进行训练,得到第一训练结果;第二训练模块,用于将第一训练结果输入至模型的解码单元中进行训练,得到第二训练结果;损失值计算模块,用于根据第二训练结果,使用预设的损失函数计算模型的损失值;模型训练模块,用于通过损失值更新模型的参数;判断模块,用于判断损失值是否满足预设的损失阈值;模型训练完成模块,用于如果满足,则结束训练,得到用于虚拟网络映射的模型。
第三方面,本发明实施例提供了一种虚拟网络映射方法,该方法包括:获取物理网络中的节点信息;将物理网络中的节点信息输入至预先训练完成的虚拟网络映射模型,输出虚拟网络映射的结果;虚拟网络映射模型通过第一方面中的用于虚拟网络映射的模型训练方法训练得到。
本发明实施例带来了以下有益效果:本发明实施例提供了一种虚拟网络映射方法及其模型训练方法、装置,该模型训练方法包括以下步骤:根据物理网络中的节点信息获取训练集,将训练集进行预处理,得到训练集中节点信息的索引信息;将已完成预处理的训练集输入至模型的编码单元中进行训练,得到第一训练结果;将第一训练结果输入至模型的解码单元中进行训练,得到第二训练结果;根据第二训练结果,使用预设的损失函数计算模型的损失值;通过损失值更新模型参数;判断损失值是否满足预设的损失阈值;如果满足,则结束训练,得到用于虚拟网络映射的模型。通过编码单元中的多个编码器以及解码单元中的多个解码器并采用强化学习算法进行训练,提升了模型对虚拟网络的映射效果。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的用于虚拟网络映射的模型训练方法的流程图;
图2为本发明实施例提供的用于虚拟网络映射的模型训练方法中步骤S104的流程图;
图3为本发明实施例提供的用于虚拟网络映射的模型训练方法中步骤S204的流程图;
图4为本发明实施例提供的用于虚拟网络映射的模型训练方法中步骤S106的流程图;
图5为本发明实施例提供的用于虚拟网络映射的模型训练方法中步骤S404的流程图;
图6为本发明实施例提供的用于虚拟网络映射的模型训练方法中的模型结构图;
图7为本发明实施例提供的用于虚拟网络映射的模型训练方法中步骤S110的流程图;
图8为本发明实施例提供的用于虚拟网络映射的模型训练装置的结构示意图;
图9为本发明实施例提供的一种虚拟网络映射方法的流程图;
图10为本发明实施例提供的一种电子设备结构示意图。
图标:
802-数据获取模块;804-第一训练模块;806-第二训练模块;808-损失值计算模块;810-模型训练模块;812-判断模块;814-模型训练完成模块;11-处理器;12-总线;13-通信接口;14-存储器。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
随着机器学习和深度强化学习的不断发展,越来越多的人工智能算法被引入到了网络虚拟化中,用来解决虚拟网络的映射问题。但现有使用人工智能相关算法解决虚拟网络映射的过程中,往往只能串行处理数据。例如现有的使用RNN神经网络实现了对虚拟网络进行连续决策映射,在该模型中,将同一虚拟请求的节点映射过程视为时间序列问题,通过运用一个经常在自然语言处理领域中的seq2seq模型进行模拟。该模型的训练过程中,通过使用多个虚拟请求构成的训练集进行训练,并采用相关反向更新算法对网络参数进行更新,使得模型对虚拟网络的映射效果进一步提升。虽然RNN能够很好的模拟出实际虚拟网络的映射过程,但RNN只能对物理网络中每个节点的信息进行提取,导致模型运行速度较慢。同时在RNN中可能会由于神经元数量过多,导致梯度消失或者梯度爆炸,影响模型的性能。
考虑到当前深度网络模型对虚拟网络映射准确率较低的问题,本发明的目的在于提供一种虚拟网络映射方法及其模型训练方法、装置,该技术可以应用于虚拟网络映射的场景中;该技术可以采用相关的软件或硬件实现,下面通过实施例进行描述。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种用于虚拟网络映射的模型训练方法进行详细介绍。参见图1所示的一种用于虚拟网络映射的模型训练方法的流程图,包括:
步骤S102,根据物理网络中的节点信息获取训练集,将训练集进行预处理,得到训练集中节点信息的索引信息。
物理网络中的节点是一个连接点,表示一个再分发点或一个通信端点,物理网络节点能够通过通信通道发送、接收或转发信息。物理网络中节点可以是数据电路端接设备如调制解调器、集线器、桥接器或交换机等,也可以是一个数据终端设备如智能手机、打印机、路由器或电脑主机等。节点信息根据节点属性的不同而略有不同,一般节点信息包括:节点设备的MAC地址、节点的路径、节点的带宽、节点的资源消耗数据(如占用CPU资源的数据)、节点的度等信息。通过上述节点信息,选择其中一种或多种节点数据作为模型的训练集。
在进行模型训练时,通常对输入数据进行预处理的过程,来达到提升模型训练效果的目的。本实施例中将训练集进行预处理,得到训练集中节点信息的索引信息,该索引信息具有唯一性,可通过索引信息表示唯一的节点。通常可将索引信息设置为递增的非负数,也可设置为字母与数字的组合。得到的索引信息可以保存在数据库相应的关系表中,也可以保存在与模型训练有关的配置文件中。该索引信息的设置通常在模型训练开始之前,模型训练过程开始以后会调用该索引信息,此时的索引信息通常不会发生改变。
步骤S104,将已完成预处理的训练集输入至模型的编码单元中进行训练,得到第一训练结果。
模型中编码单元的作用是将已完成预处理的训练集进行编码,其中编码单元中可设置一个或多个编码层,每一个编码层中得到的结果会依次传递到下一个编码层中,直到所有编码层完成编码,得到的结果记为第一训练结果。
在第一个编码层中进行编码时,将已完成预处理的训练集输入到第一个编码层后,通过内置的Embedding嵌入层使其变成一个连续稠密的向量,这个过程可使用嵌套算法将输入的训练集中节点信息转化为向量,该向量的大小是一个超参数,通常设置为训练集中节点信息数据最长的数值。该向量包含键向量和值向量的向量机,该键向量与值向量与预处理后得到的训练集中节点信息的索引信息相对应。通过所有的编码层后完成编码步骤,将得到的向量记为第一训练结果。
在编码单元中,训练集中的节点信息在每个编码器中都有自己的路径,这些路径在Embedding嵌入层中可以实现并行计算,因此得到的第一训练结果的速度和效率均得到提升。
步骤S106,将第一训练结果输入至模型的解码单元中进行训练,得到第二训练结果。
将完成编码后得到的第一训练结果输入至解码单元开始执行解码操作,解码单元中包含一个或多个解码层,每一个解码层中得到的结果均传递到下一个解码层中,直到所有解码层完成解码操作,得到的结果记为第二训练结果。第二训练结果输出对应训练集中索引信息的节点概率分布。
在第二训练结果中,每一个节点的概率分布都是充第一训练结果中通过所有解码层得到的;下一个节点的解码过程与上一个节点类似,通过类似冒泡排序的过程实现解码结果。与此同时,可以在解码层输入中嵌入并增加位置编码,以指示每个节点的位置。
在第一个解码层进行解码时,将第一训练结果中的向量也会同时输入至该解码层中。与编码单元中可以并行处理有所不同,解码的过程并不能并行处理。
步骤S108,根据第二训练结果,使用预设的损失函数计算模型的损失值。
由于模型的参数都是随机初始化的,此时的模型由于未经过训练,其产生的概率分布是随机的,因此可以将该模型与实际输出进行比较,然后使用反向传播调整所有模型的参数,使得模型的输出更接近所需要的输出。损失函数的设置思路是通过比较概率分布的方式得以实现,可使用二者相减的思路,例如通过交叉熵或者KL散度等算法执行。
步骤S110,通过损失值更新模型参数。
模型的训练需要在足够大的训练集上训练足够的时间,所得到的效果是通过将物理网络信息输入至模型后即可得到映射结果,而每个节点映射后的效果可根据损失值来进行判断,根据判断的结果对模型进行实时更新,实现对模型的持续训练。训练后的模型参数发生变化,使得模型对虚拟网络映射的效果持续提升。
由于虚拟网络映射不是一个监督问题,其参数没有标签,因此在训练过程中需要为每一个虚拟网络节点设立一个多维度的标签,并采用强化学习中的相关算法来更新网络参数。
步骤S112,判断损失值是否满足预设的损失阈值。
模型的训练过程虽然需要在足够大的训练集上训练足够的时间,但也需要停止训练后才可使用;有的模型支持边训练边使用,但由于模型训练是一项占据大量资源的过程,因此也需要根据设定的损失阈值完成训练的过程。
损失阈值的设定是根据用户需求决定的,阈值设置越高,表明训练后的模型效果越好,但训练的时间可能会较长;反之,如果阈值设置越低,表明训练后的模型效果越差,但训练所用的时间可能较短。具体阈值的设置需要用户根据实际场景,结合时间和性能两方面的考虑自行决定。如果损失值满足预设的损失阈值,则进行步骤S114。
步骤S114,结束训练,得到用于虚拟网络映射的模型。
该预设的损失阈值可通过损失函数中得到的损失值进行判断,例如当通过损失函数计算出模型此时训练后的正确率达到或超过一定的数值,表明模型的性能达到用户的要求,此时结束模型的训练,可得到用于虚拟网络映射的模型。
在本发明实施例中的用于虚拟网络映射的模型训练方法中,根据物理网络中的节点信息获取训练集,将训练集进行预处理,得到训练集中节点信息的索引信息。将已完成预处理的训练集输入至模型的编码单元中进行训练,得到第一训练结果,该过程中可实现数据的并行计算,提升计算速度和效率。然后第一训练结果输入至模型的解码单元中进行训练,得到第二训练结果。根据第二训练结果,使用预设的损失函数计算模型的损失值,并通过损失值更新模型参数。通过判断损失值是否满足预设的损失阈值的方式最终得到用于虚拟网络映射的模型。通过编码单元中的多个编码器并行计算,可提升模型训练的效率;模型训练过程中采用强化学习算法进行训练,进一步提升了模型对虚拟网络的映射效果。
在一些实施方式中,模型的编码单元中包含多个编码器,根据使用场景通常设置6至8个编码器。在上述步骤S104中得到第一训练结果的过程还可通过以下步骤得以实现,如图2所示,包括:
步骤S202,对模型的编码单元进行初始化,编码单元中包含多个相同的编码器。
由于编码器数量较多,需要对编码单元中的编码器进行排序,排序后结果决定了编码器的执行顺序,在模型训练开始时,该顺序保持不变。
步骤S204,将已完成预处理的训练集输入至第一个编码器中并输出编码结果。
通过步骤S202对模型的编码单元进行初始化后,将已完成预处理的训练集输入至编码器中开始训练,此时的编码器的执行顺序不能发生变化。在训练开始时,将预处理的训练集中的物理网络中的节点信息输入至第一个编码器的过程中,使用嵌入算法将输入的数据转换为向量。向量的维度可根据场景需求进行设置,一般根据训练集中数据长度来确定,可设置为128、256或512维。
该步骤中输入的是预处理后的训练集数据,输出的是多维度的向量列表,输出的向量列表作为输入参数,输入至下一个编码器中进行编码。
步骤S206,依次将前一个编码器输出的编码结果输入后一个编码器。
重复步骤S206,直至最后一个编码器输出的编码结果记为第一训练结果。
与步骤S204中有所不同的是,该步骤中的编码器输入的是多维度向量列表,输出的也是同样维度的向量列表。在通过编码器依次进行编码的过程中,训练集中的节点信息在所有编码器中均有自己对应的路径,这些路径在执行嵌入算法时可实现并行计算,可提升训练速度。
在一些实施方式中,每个编码器中包括:自注意力机制层和前向传递层。其中,自注意力层可实现该编码器对每个节点信息进行编码的同时,关注其它节点信息;前向传递层中包含神经网络,可实现编码的具体过程。
在该实施方式中,步骤S204还可包括以下步骤,如图3所示:
步骤S302,将已完成预处理的训练集输入至自注意力机制层,得到第一向量列表。
编码器中输入的训练集中的数据为底层物理网络中每个物理节点的数据,包括节点的度、节点的CPU数据以及与节点相连接的链路的带宽数据。上述数据首先经过自注意力机制层,通过自注意力机制层实现对每个节点信息进行编码,编码的同时也与其它节点信息进行关联。这个过程中,通过自注意力机制层将由训练集中节点信息得到的输入向量生成为三个向量,对于每个节点而言,分别创造一个查询向量,一个键向量和一个值向量,这三个向量是通过节点嵌入过程中的嵌入向量乘以三个权重矩阵后分别创建的。该权重矩阵在训练之处时,其参数可自行设定,随着训练的执行,该权重矩阵会随之发生变化。
自注意力机制层中对虚拟网络中的节点进行得分计算,计算的结果决定给了在对该节点数据进行编码时与其它节点的关联性,分数计算的结果通过输入节点数据的键向量与该节点的查询向量的点积来计算。计算完成后的分数可根据实际情况进行缩小,例如键向量的维度为64,则计算得到的得分可除以64的平方根,即得分除以8。通过将分数缩小,可使得梯度更加稳定。
经过缩小后的分数通过softmax(归一化指数)函数得到对应的softmax的结果,该结果可使得节点数据的分数归一化,得到的分数都是正数且所有分数之和为1。该softmax结果决定了每个节点对编码当下位置的贡献,如果该节点已设置在对应位置上时,将会获得最高的softmax分数。
每一个节点对应的值向量乘以对应的softmax分数后进行加权求和,其中的权重是通过该节点的键向量与被编码节点的查询向量二者的点积并通过softmax函数后得到的。训练集经过自注意力机制层后,得到的多维度向量列表记为第一向量列表。
步骤S304,将第一向量列表传递到前向传递层,得到第二向量列表,第二向量列表与第一向量列表的维度相同。
步骤S302中得到的第一向量列表传递到前向传递层后进行编码,所得到的编码结果记为第二向量列表。该第二向量列表与第一向量列表的维度相同。
步骤S306,将第二向量列表记为第一个编码器的编码结果。
通过该实施例中提到的得到第一训练结果的过程,通过编码器中的自注意力机制层实现的相关算法,可降低训练过程中的梯度,减少了由于梯度异常造成的模型训练时的不稳定性。
在一些实施方式中,模型的解码单元中包含多个解码器,解码器的数量与编码器的数量通常设置为相同或相近的数量。在上述步骤S106中得到第二训练结果的过程还可通过以下步骤得以实现,如图4所示,包括:
步骤S402,对模型的解码单元进行初始化,解码单元中包含多个相同的解码器。
由于解码器数量较多,需要对解码单元中的解码器进行排序,排序后结果决定了解码器的执行顺序,在模型训练开始后,该顺序保持不变。
步骤S404,将第一训练结果输入至第一个解码器并输出解码结果。
通过步骤S402对模型的解码单元进行初始化后,将第一训练结果输入至解码器中开始解码,此时的解码器的执行顺序不能发生变化。解码过程的每个步骤都会输出一个输出序列的元素。
步骤S406,依次将前一个解码器输出的解码结果以及第一训练结果输入后一个解码器。
重复步骤S406,直至最后一个解码器输出的解码结果记为第二训练结果。
与编码阶段类似,第一个解码器的结果传输至下一个解码器开始解码,但与编码阶段不同的是,解码的过程还需要输入第一训练结果。
在一些实施方式中,每个解码器还包括自注意力机制层、注意力机制层以及前向传递层。该实施方式中,步骤S404还可以包括以下步骤,如图5所示:
步骤S502,将第一训练结果输入至自注意力机制层,得到第一向量列表。
在解码器中,自注意力机制层只被允许处理输出序列中更靠前的那些位置,在softmax步骤之前它会把后面的位置忽略掉。通过自注意力机制层后解码得到的向量列表记为第一向量列表。
步骤S504,将第一向量列表传递到注意力机制层,得到第二向量列表;第二向量列表包含第一向量列表的位置信息。
第一训练结果中节点数据的键向量和值向量会用于每个注意力机制层中,有助于解码器聚焦在输入序列中的合适位置,帮助解码器关注输入节点数据的相关部分,最终得到的结果记为第二向量列表,其中第二向量列表中包含有第一向量列表的位置信息。
步骤S506,将第二向量列表传递到前向传递层,得到第三向量列表,第三向量列表与第一向量列表、第二向量列表的维度相同。
与编码过程类似,步骤S504中得到的第二向量传递到向前传递层中进行解码,所得的解码结果记为第三向量列表。该第三向量列表与本实施方式中的第一向量列表以及第二向量列表的维度相同。
步骤S508,将第三向量列表记为第一个解码器的解码结果。
上述第二训练结果为当前虚拟请求的节点映射结果;第二训练结果中向量维度的数量表示物理网络的节点数量;第二训练结果中向量维度的状态表示节点映射到对应的物理节点上。在本实施方式中,编码单元输出为当前虚拟请求的节点映射结果,例如每个向量有100个维度,则表示对应的物理网络共有100个节点。哪个维度为1,就代表节点映射到哪个物理节点上。
上述实施方式中的模型结构如图6所示,图中cpu表示节点的CPU数据;deg表示节点的度;bw表示与节点相连接的链路的带宽数据。节点数据共有n个,编码单元中共有6个编码器,解码单元中共有6个解码器。节点数据依次进入编码器中进行编码,得到的结果依次输入到下一个编码器中,直到最后一个编码器完成编码,完成编码的过程,得到的结果记为第一训练结果。在这个过程的节点信息在每个编码器中均有自己的路径,可实现并行处理,因此可提升训练速度。
解码的过程,是将第一训练结果输入至解码器中,所得的结果依次输入到下一个解码器中,在下一个解码器执行的同时也输入第一训练结果,直到最后一个编码器完成编码,输出节点的概率分布数据N。
由于虚拟网络映射不是一个监督问题,它并没有标签,因此在模型训练的过程中,需要对虚拟节点的标签进行维度设定。在一些实施方式中,上述步骤S110通过损失值更新模型参数的过程,如图7所示,包括以下步骤:
步骤S702,为虚拟网络中的每个虚拟节点设立多维度的标签。
例如,每个节点向量的维度为100,即表示当前物理网络中共有100个节点,因此在模型训练的过程中,可以手动为每个虚拟节点设立一个100维度的标签。
步骤S704,采用强化学习算法更新模型参数。
该步骤中的强化学习算法,可使用Policy Gradient(策略梯度)算法、Q-learning算法,DDPG(Deep Deterministic Policy Gradient,深度确定性策略梯度)算法中的任意一种,通过强化学习的激励方式,进一步提升模型训练效果。
对应于上述用于虚拟网络映射的模型训练方法的实施例,参见图8所述的一种用于虚拟网络映射的模型训练装置,该装置设置于终端设备,包括以下模块:
数据获取模块802,用于根据物理网络中的节点信息获取训练集,将训练集进行预处理,得到训练集中节点信息的索引信息;
第一训练模块804,用于将已完成预处理的训练集输入至模型的编码单元中进行训练,得到第一训练结果;
第二训练模块806,用于将第一训练结果输入至模型的解码单元中进行训练,得到第二训练结果;
损失值计算模块808,用于根据第二训练结果,使用预设的损失函数计算模型的损失值;
模型训练模块810,用于通过损失值更新模型参数;
判断模块812,用于判断损失值是否满足预设的损失阈值;
模型训练完成模块814,用于如果满足,则结束训练,得到用于虚拟网络映射的模型。
本发明实施例所提供的一种用于虚拟网络映射的模型训练装置,其实现原理及产生的技术效果和前述用于虚拟网络映射的模型训练方法的实施例相同,为简要描述,实施例部分未提及之处,可参考前述方法实施例中相应内容。
本发明实施例还提供了一种虚拟网络映射方法,如图9所示,该方法包括:
步骤S902,获取物理网络中的节点信息;
步骤S904,将物理网络中的节点信息输入至预先训练完成的虚拟网络映射模型,输出虚拟网络映射的结果;虚拟网络映射模型通过第前述用于虚拟网络映射的模型训练方法训练得到。
本发明实施例所提供的一种虚拟网络映射方法,其实现原理及产生的技术效果和前述用于虚拟网络映射的模型训练方法的实施例相同,为简要描述,实施例部分未提及之处,可参考前述方法实施例中相应内容。
本实施例还提供一种电子设备,为该电子设备的结构示意图如图10所示,该设备包括处理器11和存储器14;其中,存储器14用于存储一条或多条计算机指令,一条或多条计算机指令被处理器执行,以实现上述用于虚拟网络映射的模型训练方法。
图10所示的服务器还包括总线12和通信接口13,处理器11、通信接口13和存储器14通过总线12连接。该服务器可以是网络边缘设备。
其中,存储器14可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。总线12可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
通信接口13用于通过网络接口与至少一个用户终端及其它网络单元连接,将封装好的IPv4报文或IPv4报文通过网络接口发送至用户终端。
处理器11可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器11中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器11可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital SignalProcessor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本公开实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本公开实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器14,处理器11读取存储器14中的信息,结合其硬件完成前述实施例的方法的步骤。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、设备和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,设备或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以用软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种用于虚拟网络映射的模型训练方法,其特征在于,所述方法包括:
根据物理网络中的节点信息获取训练集,将所述训练集进行预处理,得到所述训练集中的所述节点信息的索引信息;
将已完成预处理的所述训练集输入至所述模型的编码单元中进行训练,得到第一训练结果;
将所述第一训练结果输入至所述模型的解码单元中进行训练,得到第二训练结果;
根据所述第二训练结果,使用预设的损失函数计算所述模型的损失值;通过所述损失值更新所述模型的参数;
判断所述损失值是否满足预设的损失阈值;
如果满足,则结束训练,得到用于虚拟网络映射的模型。
2.根据权利要求1所述的方法,其特征在于,所述模型的编码单元中包含多个编码器;
所述将已完成预处理的所述训练集输入至所述模型的编码单元中进行训练,得到第一训练结果的步骤,包括:
对所述模型的编码单元进行初始化,所述编码单元中包含多个相同的编码器;
将已完成预处理的所述训练集输入至第一个编码器中并输出编码结果;
依次将前一个编码器输出的编码结果输入后一个编码器,直至最后一个编码器输出的编码结果记为所述第一训练结果。
3.根据权利要求2所述的方法,其特征在于,所述编码器包括自注意力机制层以及前向传递层;
所述将已完成预处理的所述训练集输入至第一个编码器并输出编码结果的步骤,包括:
将已完成预处理的所述训练集输入至所述自注意力机制层,得到第一向量列表;
将所述第一向量列表传递到所述前向传递层,得到第二向量列表,所述第二向量列表与所述第一向量列表的维度相同;
将所述第二向量列表记为所述第一个编码器的编码结果。
4.根据权利要求3所述的方法,其特征在于,所述训练集中的数据为底层物理网络中每个物理节点的数据,包括:节点的度、节点的CPU数据以及与节点相连接的链路的带宽数据。
5.根据权利要求1所述的方法,其特征在于,所述模型的解码单元中包含多个解码器;
所述将所述第一训练结果输入至所述模型的解码单元中进行训练,得到第二训练结果步骤,包括:
对所述模型的解码单元进行初始化,所述解码单元中包含多个相同的解码器;
将所述第一训练结果输入至第一个解码器并输出解码结果;
依次将前一个解码器输出的解码结果以及所述第一训练结果输入后一个解码器,直至最后一个解码器输出的解码结果记为第二训练结果。
6.根据权利要求5所述的方法,其特征在于,所述解码器包括自注意力机制层、注意力机制层以及前向传递层;
所述将所述第一训练结果输入至第一个解码器并输出解码结果的步骤,包括:
将第一训练结果输入至所述自注意力机制层,得到第一向量列表;
将所述第一向量列表传递到所述注意力机制层,得到第二向量列表;所述第二向量列表包含所述第一向量列表的位置信息;
将所述第二向量列表传递到所述前向传递层,得到第三向量列表,所述第三向量列表与所述第一向量列表、所述第二向量列表的维度相同;
将所述第三向量列表记为所述第一个解码器的解码结果。
7.根据权利要求1所述的方法,其特征在于,所述第二训练结果为当前虚拟请求的节点映射结果;所述第二训练结果中向量维度的数量表示物理网络的节点数量;所述第二训练结果中向量维度的状态表示节点映射到对应的物理节点上。
8.根据权利要求1所述的方法,其特征在于,所述通过所述损失值更新所述模型的参数的步骤,包括:
为所述虚拟网络中的每个虚拟节点设立多维度的标签;
采用强化学习算法更新所述模型的参数。
9.一种用于虚拟网络映射的模型训练装置,其特征在于,所述装置包括:
数据获取模块,用于根据物理网络中的节点信息获取训练集,将所述训练集进行预处理,得到所述训练集中的所述节点信息的索引信息;
第一训练模块,用于将已完成预处理的所述训练集输入至所述模型的编码单元中进行训练,得到第一训练结果;
第二训练模块,用于将所述第一训练结果输入至所述模型的解码单元中进行训练,得到第二训练结果;
损失值计算模块,用于根据所述第二训练结果,使用预设的损失函数计算所述模型的损失值;
模型训练模块,用于通过所述损失值更新所述模型的参数;
判断模块,用于判断所述损失值是否满足预设的损失阈值;
模型训练完成模块,用于如果满足,则结束训练,得到用于虚拟网络映射的模型。
10.一种虚拟网络映射方法,其特征在于,所述方法包括:
获取物理网络中的节点信息;
将所述物理网络中的节点信息输入至预先训练完成的虚拟网络映射模型,输出所述虚拟网络映射的结果;所述虚拟网络映射模型通过权利要求1-8任一项所述的用于虚拟网络映射的模型训练方法训练得到。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911188536.XA CN110890985B (zh) | 2019-11-27 | 2019-11-27 | 虚拟网络映射方法及其模型训练方法、装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911188536.XA CN110890985B (zh) | 2019-11-27 | 2019-11-27 | 虚拟网络映射方法及其模型训练方法、装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110890985A true CN110890985A (zh) | 2020-03-17 |
CN110890985B CN110890985B (zh) | 2021-01-12 |
Family
ID=69749142
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911188536.XA Active CN110890985B (zh) | 2019-11-27 | 2019-11-27 | 虚拟网络映射方法及其模型训练方法、装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110890985B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111526055A (zh) * | 2020-04-23 | 2020-08-11 | 北京邮电大学 | 路由规划方法、装置及电子设备 |
CN112818387A (zh) * | 2021-01-22 | 2021-05-18 | 百度在线网络技术(北京)有限公司 | 模型参数调整的方法、设备、存储介质及程序产品 |
CN113837349A (zh) * | 2020-06-24 | 2021-12-24 | 华为技术有限公司 | 一种多任务学习方法及装置 |
CN115412401A (zh) * | 2022-08-26 | 2022-11-29 | 京东科技信息技术有限公司 | 训练虚拟网络嵌入模型及虚拟网络嵌入的方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107239823A (zh) * | 2016-08-12 | 2017-10-10 | 北京深鉴科技有限公司 | 一种用于实现稀疏神经网络的装置和方法 |
US20180144248A1 (en) * | 2016-11-18 | 2018-05-24 | Salesforce.Com, Inc. | SENTINEL LONG SHORT-TERM MEMORY (Sn-LSTM) |
CN108111335A (zh) * | 2017-12-04 | 2018-06-01 | 华中科技大学 | 一种调度和链接虚拟网络功能的方法及系统 |
US20190184561A1 (en) * | 2017-12-15 | 2019-06-20 | The Regents Of The University Of California | Machine Learning based Fixed-Time Optimal Path Generation |
CN110503206A (zh) * | 2019-08-09 | 2019-11-26 | 阿里巴巴集团控股有限公司 | 一种预测模型更新方法、装置、设备及可读介质 |
-
2019
- 2019-11-27 CN CN201911188536.XA patent/CN110890985B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107239823A (zh) * | 2016-08-12 | 2017-10-10 | 北京深鉴科技有限公司 | 一种用于实现稀疏神经网络的装置和方法 |
US20180144248A1 (en) * | 2016-11-18 | 2018-05-24 | Salesforce.Com, Inc. | SENTINEL LONG SHORT-TERM MEMORY (Sn-LSTM) |
CN108111335A (zh) * | 2017-12-04 | 2018-06-01 | 华中科技大学 | 一种调度和链接虚拟网络功能的方法及系统 |
US20190184561A1 (en) * | 2017-12-15 | 2019-06-20 | The Regents Of The University Of California | Machine Learning based Fixed-Time Optimal Path Generation |
CN110503206A (zh) * | 2019-08-09 | 2019-11-26 | 阿里巴巴集团控股有限公司 | 一种预测模型更新方法、装置、设备及可读介质 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111526055A (zh) * | 2020-04-23 | 2020-08-11 | 北京邮电大学 | 路由规划方法、装置及电子设备 |
CN113837349A (zh) * | 2020-06-24 | 2021-12-24 | 华为技术有限公司 | 一种多任务学习方法及装置 |
CN112818387A (zh) * | 2021-01-22 | 2021-05-18 | 百度在线网络技术(北京)有限公司 | 模型参数调整的方法、设备、存储介质及程序产品 |
WO2022156159A1 (zh) * | 2021-01-22 | 2022-07-28 | 百度在线网络技术(北京)有限公司 | 模型参数调整的方法、设备、存储介质及程序产品 |
CN112818387B (zh) * | 2021-01-22 | 2024-07-23 | 百度在线网络技术(北京)有限公司 | 模型参数调整的方法、设备、存储介质及程序产品 |
CN115412401A (zh) * | 2022-08-26 | 2022-11-29 | 京东科技信息技术有限公司 | 训练虚拟网络嵌入模型及虚拟网络嵌入的方法和装置 |
CN115412401B (zh) * | 2022-08-26 | 2024-04-19 | 京东科技信息技术有限公司 | 训练虚拟网络嵌入模型及虚拟网络嵌入的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110890985B (zh) | 2021-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110890985B (zh) | 虚拟网络映射方法及其模型训练方法、装置 | |
CN111310439B (zh) | 一种基于深度特征变维机制的智能语义匹配方法和装置 | |
CN109656878B (zh) | 健康档案数据生成方法及装置 | |
CN110362683A (zh) | 一种基于递归神经网络的信息隐写方法、装置及存储介质 | |
CN111563161B (zh) | 一种语句识别方法、语句识别装置及智能设备 | |
CN113011529A (zh) | 文本分类模型的训练方法、装置、设备及可读存储介质 | |
CN109766259B (zh) | 一种基于复合蜕变关系的分类器测试方法及系统 | |
CN111914950A (zh) | 基于深度对偶变分哈希的无监督跨模态检索模型训练方法 | |
CN115170906A (zh) | 量子图像生成模型训练方法、图像生成方法及相关装置 | |
CN113726545A (zh) | 基于知识增强生成对抗网络的网络流量生成方法及装置 | |
CN114781654A (zh) | 联邦迁移学习方法、装置、计算机设备及介质 | |
CN112000948B (zh) | 基于序列生成对抗神经网络的口令强度评估方法 | |
CN112528650B (zh) | 一种Bert模型预训练方法、系统及计算机设备 | |
CN115994321A (zh) | 对象分类方法及相关装置 | |
CN115049852B (zh) | 一种轴承故障诊断方法、装置、存储介质及电子设备 | |
CN116468966A (zh) | 基于特征图压缩的神经网络推理加速方法及装置 | |
CN112365576B (zh) | 庄园组件位置的推荐方法、装置及服务器 | |
CN113747480B (zh) | 5g切片故障的处理方法、装置及计算设备 | |
CN113630127A (zh) | 一种基于遗传算法的快速极化码构造方法、装置和设备 | |
CN112100453B (zh) | 一种字符串分布统计方法、系统、设备及计算机存储介质 | |
CN112764807A (zh) | 基于多尺度ast和特征融合的代码摘要生成方法及系统 | |
CN111143641A (zh) | 深度学习模型的训练方法、装置及电子设备 | |
CN112235397A (zh) | 应用于互联网通信的大数据传输处理方法及云计算中心 | |
CN116798052B (zh) | 文本识别模型的训练方法和装置、存储介质及电子设备 | |
CN110362580A (zh) | 一种bim建筑工程数据检索优化归类方法及其系统 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |