CN112311578B - 基于深度强化学习的vnf调度方法及装置 - Google Patents
基于深度强化学习的vnf调度方法及装置 Download PDFInfo
- Publication number
- CN112311578B CN112311578B CN201910704763.7A CN201910704763A CN112311578B CN 112311578 B CN112311578 B CN 112311578B CN 201910704763 A CN201910704763 A CN 201910704763A CN 112311578 B CN112311578 B CN 112311578B
- Authority
- CN
- China
- Prior art keywords
- state data
- action
- vnf
- network
- scheduling
- 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.)
- Active
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/08—Configuration management of networks or network elements
- H04L41/0896—Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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
-
- 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/08—Configuration management of networks or network elements
- H04L41/0893—Assignment of logical groups to network elements
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种基于深度强化学习的VNF调度方法及装置。其中,方法包括:收集VNF对应的历史状态数据;基于历史状态数据对深度强化学习神经网络进行模型训练,得到深度强化调度模型;获取待调度VNF的实时状态数据,并将实时状态数据输入至深度强化调度模型中,得到待调度VNF对应的伸缩动作;基于伸缩动作对待调度VNF进行调度处理。基于本发明提供的方案,VNFM能够根据VNF的实时状态数据来对VNF自动的增加或删减,实现了VNF弹性伸缩调度,提高了调度的精准性,减少了调度所需时间,克服了人工制定策略费时费力、容易出错,以及当业务发生变化时也无法及时调整策略的问题,也避免了对业务产生影响。
Description
技术领域
本发明涉及通信技术领域,具体涉及一种基于深度强化学习的VNF调度方法及装置。
背景技术
现有技术中VNFM能从VNF或EMS或VIM获取弹性策略中定义的弹性指标(性能或告警),并根据人工定义弹性策略的阈值,触发VNF实例的自动弹性。VNFM告知NFVO要对VNF进行扩缩容,接口中包括JobID,在自动弹性过程中,VNFM能根据NFVO的请求,返回操作的状态。VNFM根据弹性需要的虚拟资源,向NFVO请求操作虚拟资源的权限。判定是否需要扩缩容策略如图1所示,根据设定的采样间隔采样workload,在监控周期内,每次采样结果超过扩容水线阈值时,判定需要扩容;每次采样结果低于缩容水线阈值时,判定需要缩容。
现有NFV网络中VNF弹性扩缩容策略需要依靠专家经验,对各项KPI简单设置扩缩容阈值来实现。但此种一刀切的方式忽略了VNF的网元业务的变化,已不适用于在NFV这种复杂的网元环境下应用,并且容易导致频繁扩缩容,从而影响业务的感知;另外人工制定策略费时费力、容易出错,当业务发生变化时也无法及时调整策略。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的基于深度强化学习的VNF调度方法及装置。
根据本发明的一个方面,提供了一种基于深度强化学习的VNF调度方法,包括:
收集VNF对应的历史状态数据;
基于历史状态数据对深度强化学习神经网络进行模型训练,得到深度强化调度模型;
获取待调度VNF的实时状态数据,并将实时状态数据输入至深度强化调度模型中,得到待调度VNF对应的伸缩动作;
基于伸缩动作对待调度VNF进行调度处理。
根据本发明的另一方面,提供了一种基于深度强化学习的VNF调度装置,包括:
收集模块,适于收集VNF对应的历史状态数据;
训练模块,适于基于历史状态数据对深度强化学习神经网络进行模型训练,得到深度强化调度模型;
伸缩动作确定模块,适于获取待调度VNF的实时状态数据,并将实时状态数据输入至深度强化调度模型中,得到待调度VNF对应的伸缩动作;
调度处理模块,适于基于伸缩动作对待调度VNF进行调度处理。
根据本发明的又一方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,处理器、存储器和通信接口通过通信总线完成相互间的通信;
存储器用于存放至少一可执行指令,可执行指令使处理器执行上述基于深度强化学习的VNF调度方法对应的操作。
根据本发明的再一方面,提供了一种计算机存储介质,存储介质中存储有至少一可执行指令,可执行指令使处理器执行如上述基于深度强化学习的VNF调度方法对应的操作。
根据本发明提供的方案,收集VNF对应的历史状态数据;基于历史状态数据对深度强化学习神经网络进行模型训练,得到深度强化调度模型;获取待调度VNF的实时状态数据,并将实时状态数据输入至深度强化调度模型中,得到待调度VNF对应的伸缩动作;基于伸缩动作对待调度VNF进行调度处理。基于本发明提供的方案,VNFM能够根据VNF的实时状态数据来对VNF自动的增加或删减,实现了VNF弹性伸缩调度,提高了调度的精准性,减少了调度所需时间,克服了人工制定策略费时费力、容易出错,以及当业务发生变化时也无法及时调整策略的问题,也避免了对业务产生影响。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了现有技术中判断VNF是否伸缩的示意图;
图2为NFV的结构示意图;
图3A示出了根据本发明一个实施例的基于深度强化学习的VNF调度方法的流程示意图;
图3B示出了收集历史状态数据的信令图;
图3C为Actor-Critic方法的示意图;
图3D为VNF调度示意图;
图4A为图3A实施例中的步骤S302的深度强化调度模型具体训练方法的流程示意图;
图4B为Actor网络和Critic网络的结构示意图;
图5示出了根据本发明一个实施例的基于深度强化学习的VNF调度装置的结构示意图;
图6示出了根据本发明一个实施例的电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
NFV(Network Function Virtualization,网络功能虚拟化)是指利用虚拟化技术,在标准化的通用IT设备(x86服务器、存储和交换设备)来实现各种网络设备功能。VNFM(Virtualised Network Function Manager,虚拟化的网络功能模块管理器)是NFV中用于进行虚拟化的网络功能模块生命周期管理的功能模块。VNFM实现虚拟化网元VNF的生命周期管理,包括VNFD的管理及处理,VNF实例的初始化,VNF的扩容/缩容,VNF实例的终止。
VNF(Virtualised Network Function,虚拟化网络功能)对应传统电信业务网络,每个物理网元映射为一个虚拟网元VNF,是一个纯软件实现的网元功能,能够运行在NFVI之上,对应传统物理网元功能。
如图2所示,VNFM通过C10接口与VNF交互,其中,
1)VNFM到VNF的消息:完成部署相关(非VNF应用层)的配置管理,以及VNF的自愈合等;
2)VNF到VNFM的信息:VNF加载完成信息,告知VNFM所创建的虚拟机上的业务可以提供服务;VNF的性能信息,告知VNFM用于弹性伸缩。
图3A示出了根据本发明一个实施例的基于深度强化学习的VNF调度方法的流程示意图。如图3A所示,该方法包括以下步骤:
步骤S301,收集VNF对应的历史状态数据。
具体地,由VNFM向VNF收集历史状态数据,也称为KPI数据,包括:业务负荷占用率、CPU负荷占用率、用户数量、进程内存占用率、BHSA(Busy Hour Session Attempts forsingle user,单用户忙时会话尝试)、控制块资源占用率最大值等,收集粒度为5分钟,即,间隔5分钟收集一次历史状态数据。
具体地,如图3B所示,VNFM向OMU发送查询KPI数据请求,OMU将查询KPI数据请求转发给VNF,VNF根据查询KPI数据请求收集KPI数据,并将收集的KPI数据反馈给OMU,再由OMU将KPI数据反馈给VNFM。
在本发明一种可选实施方式中,在收集VNF对应的历史状态数据之后,可以对收集的历史状态数据进行归一化处理,归一化处理是指将数据按比例缩放,使之落入一个小的特定区间,也就是说,将历史状态数据缩放至特定区间的最小值与最大值之间,通常是0与1之间,即,将历史状态数据统一映射到[0,1]的范围内,通过对历史状态数据进行归一化处理,在进行模型训练时能够提升模型的收敛速度、提升模型的精度。
具体地,可以通过公式(1)对历史状态数据进行归一化处理:
X_std=(X-Xmin)/(Xmax-Xmin)
X_scaled=X_std*(Xmax-Xmin)+Xmin 公式(1)
步骤S302,基于历史状态数据对深度强化学习神经网络进行模型训练,得到深度强化调度模型。
在本实施例中,是利用历史状态数据对深度强化学习神经网络进行模型训练,通过训练得到深度强化调度模型。下面对深度强化学习进行介绍,深度强化学习是由强化学习发展而来,其中,强化学习(reinforcement learning)是一种重要的机器学习方法,有状态(state)、动作(action)、奖励(reward)这三个要素。智能体(Agent)需要根据当前状态来采取动作,获得相应的奖励之后,再去改进这些动作,使得下次再到相同状态时,智能体能做出更优的动作。智能体的主要目标是通过在环境中执行特定的操作序列来最大化某个数字奖励。
深度强化学习即用深度神经网络去提取数据特征,训练强化学习算法模型,使得模型能够充分学习复杂外部环境的规律,并在不同的环境下做出正确的动作,并且在长期的交互中,获得较高的累计回报。
DQN(Deep Q-network)是2015年DeepMind提出的用一个深度网络代表价值函数,依据强化学习中的Q-Learning,为深度网络提供目标值,对网络不断更新直至收敛。DQN中有两个神经网络(NN),一个为参数相对固定的网络target-net,用来获取Q-目标(Q-target)的数值,另外一个为eval_net用来获取Q-评估(Q-eval)的数值。训练的数据是从记忆库中随机提取的,记忆库记录着每一个状态下的行动、奖励、和下一个状态的结果(s,a,r,s')。记忆库的大小有限,当记录满了数据之后,下一个数据会覆盖记忆库中的第一个数据。但DQN是一种基于值函数的方法,难以应对大的动作空间,特别是连续动作情况。而DDPG是基于Actor-Critic方法,在动作输出方面采用一个网络来拟合策略函数,直接输出动作,可以应对连续动作的输出及大的动作空间。
DPG(Deterministic Policy Gradient,确定性的行为策略)是由Deepmind在2014年提出,即每一步的行为通过函数μ直接获得确定的值:
at=μ(st|θμ) 公式(2)
其中,at为t时刻所选择的动作,st为t时刻环境的状态数据,θμ为权重值,该函数μ即最优行为策略。
该函数μ即最优行为策略,不再是一个需要采样的随机策略。之所以需要DPG,是因为通过Policy Gradient学习得到随机策略之后,在每一步行为时,还需要对得到的最优策略概率分布进行采样,才能获得action的具体值;而action通常是高维的向量,在高维的action空间的频繁采样,无疑是很耗费计算能力的。而DPG算法融合进actor-critic框架,结合Q-learning等传统的Q函数学习方法,经过训练得到一个确定性的最优行为策略函数。确定性策略梯度公式如下:
该公式(3)中的参数都是本领域公知的。
DDPG(Deep Deterministic Policy Gradient,深度确定性策略梯度)是将深度学习神经网络融合进DPG的策略学习方法。即把价值函数和策略函数都用神经网络来做表达。相对于DPG的核心改进是:采用神经网络作为策略函数μ和Q函数的模拟,即策略网络和Q网络;然后使用深度学习的方法来训练上述神经网络。
DDPG是基于Actor-Critic架构的深度强化学习方法。DDPG是GoogleDeepMind提出的一种使用Actor-Critic结构,但是输出的不是行为的概率,而是具体的行为,用于连续动作(continuous action)的预测。DDPG结合了之前获得成功的DQN结构,提高了ActorCritic的稳定性和收敛性。
Actor-Critic方法是一种很重要的强化学习算法,是一种时序差分方法(TDmethod),结合了基于值函数的方法和基于策略函数的方法。其中策略函数为行动者(Actor),给出动作;价值函数为评价者(Critic),评价行动者给出动作的好坏,并产生时序差分信号,来指导价值函数和策略函数的更新。将此方法与深度学习结合,则是分别用两个深度网络去代表价值函数和策略函数。Actor基于概率选择行为,Critic基于Actor的行为评判行为的得分,Actor根据Critic的评分修改选择行为,如图3C所示。
结合本应用场景,状态(state)st是t时刻VNF的KPI数据;行为(action)at是t时刻伸缩动作,属于连续动作空间(continuous actions)类型,模型选择的行为通过VNFM执行后,VNF状态由st转换为st+1;r(st,at)函数是VNF在状态st执行行为at后,返回的单步奖励值,具体的奖励函数将由VNF的状态st+1决定;Rt是从当前状态直到将来某个状态,期间所有行为所获得奖励值的加权总和。
在本发明一种可选实施方式中,可以采用以下方法对深度强化学习神经网络进行模型训练:将历史状态数据输入至行动网络,得到历史状态数据对应的伸缩动作;将历史状态数据及伸缩动作输入至评判网络,得到伸缩动作对应的奖励值;将历史状态数据、伸缩动作、奖励值及伸缩动作执行后的状态数据作为训练数据,对行动网络-评判网络进行训练。
步骤S303,获取待调度VNF的实时状态数据,并将实时状态数据输入至深度强化调度模型中,得到待调度VNF对应的伸缩动作。
VNFM从待调度VNF获取实时状态数据,然后将所获取的实时状态数据输入至步骤S302中得到的深度强化调度模型中,深度强化调度模型针对该实时状态数据输出对应的伸缩动作,该伸缩动作用于指示VNF需要进行扩容或缩容。
可选地,在获取到待调度VNF的实时状态数据后,可以先对实时状态数据进行归一化处理,将经过归一化处理的实时状态数据输入至深度强化调度模型中,得到待调度VNF对应的伸缩动作。
其中,伸缩动作包含:横向伸缩动作和/或纵向伸缩动作;横向伸缩动作包括:VNF数量的伸缩;纵向伸缩动作包含:VNF所占的CPU、内存和/或存储资源的伸缩。横向伸缩动作即通过增加虚拟机或减少虚拟机的数量来实现VNF实例的扩容或缩容,纵向伸缩即通过增大或减小虚拟机所占的CPU、内存和/或存储资源等资源来实现VNF实例的扩容或缩容。
步骤S304,基于伸缩动作对待调度VNF进行调度处理。
在本实施例中,伸缩动作步长值以百分比的形式输出,若输出结果非零则基于伸缩动作对待调度VNF进行调度处理,触发VNF的自动弹性伸缩;若输出结果为0,则不对VNF进行调度处理,如图3D所示。
以VNF数量的伸缩为例,“伸缩动作步长值”表示按VNF数量百分比扩缩容,原则如下:当前VNF数量乘以扩缩容步长值,除以100,为预扩缩容VNF的数量。扩容时向上取整,缩容时向下取整。举例说明,当前VNF数量为5,步长值为0.3,扩容时,计算预扩容VNF数量为1.5,则最终扩容2个VNF;缩容时,计算预缩容VNF数量为1.5,最终缩容1个VNF。
根据本发明上述实施例提供的方法,VNFM能够根据VNF的实时状态数据来对VNF自动的增加或删减,实现了VNF弹性伸缩调度,提高了调度的精准性,减少了调度所需时间,克服了人工制定策略费时费力、容易出错,以及当业务发生变化时也无法及时调整策略的问题,也避免了对业务产生影响。
图4A为图3A实施例中的步骤S302的深度强化调度模型具体训练方法的流程示意图。如图4A所示,该方法包括以下步骤:
从j=1开始:
步骤S401,将从历史状态数据中随机选取的任一未被选择的第j个状态数据输入至行动网络,得到对应的伸缩动作;将第j个状态数据及对应伸缩动作输入至评判网络,得到伸缩动作对应的奖励值。
在本实施例中,行动网络(Actor网络)包含动作现实网络(target_net)和动作估计网络(eval_net),这两个网络是结构相同的神经网络,只是参数更新频率不同。其中,Actor网络的输入为VNF的状态数据,输出为连续动作空间的伸缩动作。
其中,如图4B所示,Actor网络设置有:输入层,用于接收VNF的状态数据;隐藏层,其包含3个全连接层(Dense),分别设置有300、200、100个神经元,相应的激活函数均为“relu”;输出层,用于输出连续动作,包括横向伸缩动作和纵向伸缩动作两大类,横向伸缩动作指VNF数量的扩容或缩容,纵向伸缩动作指VNF所占的CPU、内存、存储资源的伸缩,其中,输出层为全连接层(Dense),设置有4个神经元,激活函数为“tanh”,对应输出4个连续的动作:VNF数量伸缩百分比、VNF所占CPU伸缩百分比、VNF所占内存伸缩百分比、VNF所占存储伸缩百分比,数值范围为-1至1,正值为扩容,负值为缩容,0为无变化;
评判网络(Critic网络)包含状态现实网络(target_net)和状态估计网络(eval_net),这两个网络是结构相同的神经网络,只是参数更新频率不同。其中,Critic网络的输入为VNF的状态数据及Actor网络所选择的伸缩动作,输出为此次伸缩动作选择的奖励值Q(s,a),通过Critic网络将Q值反馈给Actor网络,Actor网络根据Q值来选取能够获得最大收益的伸缩动作。
其中,如图4B所示,Critic网络设置有:两个输入层(输入层1及输入层2),其中一个输入层用于接收VNF的状态数据,另一个输入层用于接收对应的伸缩动作;将输入层1经过两个全连接层(Dense),分别设置有300、200个神经元,激活函数为“relu”;将输入层2经过1个全连接层(Dense),设置有200个神经元,激活函数为“relu”;然后通过合并层(merge)来合并伸缩动作和状态数据;最后紧接一个全连接层(200个神经元、激活函数为“relu”)和一个输出层(4个神经元、激活函数为“tanh”),输出Q值。
在本步骤中,将进行深度强化调度模型训练,具体地,从历史状态数据中随机选取的任一未被选择的第j个状态数据,将第j个状态数据输入至行动网络,基于上面的介绍,可知会得到第j个状态数据对应的伸缩动作;将第j个状态数据及对应伸缩动作输入至评判网络,可知会得到伸缩动作对应的奖励值。
步骤S402,将第j个状态数据、伸缩动作、奖励值、伸缩动作执行后的状态数据作为一条训练数据存储至回放存储器中,其中,伸缩动作执行后的状态数据定义为第i个状态数据。
在执行步骤S401之后,会得到第j个状态数据对应的伸缩动作、伸缩动作执行后的奖励值以及伸缩动作执行后的状态数据,将第j个状态数据、伸缩动作、奖励值、伸缩动作执行后的状态数据作为一条训练数据存储至回放存储器中,为了便于后续的描述,这里将伸缩动作执行后的状态数据定义为第i个状态数据。
步骤S403,将第i个状态数据输入至行动网络,得到对应的伸缩动作;将第i个状态数据及对应伸缩动作输入至评判网络,得到伸缩动作对应的奖励值。
步骤S404,将第i个状态数据、伸缩动作、奖励值、伸缩动作执行后的第i+1个状态数据作为一条训练数据存储至回放存储器中;将i赋值为i+1,重复执行步骤S403-步骤S404,直至回放存储器中存储的训练数据的数量大于或等于预设阈值。
步骤S403-步骤S404是训练数据的准备过程,通过将训练数据存储至回放存储器中,以便于训练时,能够从回放存储器中随机小批量选取数据来对行动网络及评判网络进行更新,而不是使用最近的训练数据,从而解决了训练数据之间相互关联的问题,大大提高模型的稳定性。
步骤S405,从回放存储器中随机选取多个训练数据计算评判网络的损失函数,利用损失函数对评判网络进行更新;基于更新后的评判网络对评判网络进行更新。
从回放存储器中随机抽取多个训练数据(si,ai,ri,si+1),设置目标函数yi为:
yi=ri+γQ′(si+1,μ′(si+1|θμ′)|θQ′)
其中yi代表目标网络,ri代表在i学习过程中的回报值,θμ'、θQ'代表目标权重,γ代表折扣因子。
根据目标函数yi更新Critic网络:具体地,通过最小化以下损失函数L来更新Critic网络。
Critic的状态估计网络的训练还是基于现实的Q值和估计的Q值的平方损失,估计的Q值是将状态数据s和动作估计网络输出的伸缩动作a输入到状态估计网络得到的,而现实的Q值根据现实的奖励值R,以及将下一时刻的状态s'和动作现实网络得到的伸缩动作a'输入到状态现实网络而得到的Q值的折现值相加得到。
在更新Critic网络后,更新Actor网络:由于a是确定性策略,即a=μ(sθ),因此通过确定性策略梯度来更新actor网络。从Critic网络得到的动作梯度乘以从Actor网络得到的参数梯度使得Actor网络朝着更有可能获取比较大的Q函数值的方向修改参数。Actor网络的目的是尽量得到一个高Q值的伸缩动作,因此Actor网络的损失可以简单的理解为得到的反馈Q值越大损失越小,得到的反馈Q值越小损失越大。
可选地,还需要更新目标网络:由于直接利用神经网络来实现Q值函数被证明是不稳定的,因此Deepmind提出使用一个目标网络,在目标网络中分别创建了Actor网络和Critic网络的副本,用来计算目标值。这些目标网络的权重通过慢慢跟踪学习过的网络来更新:
θQ′←τθQ+(1-τ)θQ′
θμ′←τθμ+(1-τ)θμ′
τ设置为非常接近1的数,这样目标网络的参数θ不会发生太大的变化。
步骤S406,将j赋值为j+1。
步骤S407,判断j是否大于n,若是,则执行步骤S408;若否,则跳转执行步骤S401。
步骤S408,深度强化调度模型训练结束。
步骤S401-步骤S405描述了一次迭代训练过程,在步骤S405结束后,将j赋值为j+1,然后判断j是否大于n,若是,则深度强化调度模型训练结束;若否,则继续下一次迭代训练过程,跳转执行步骤S401。
在本实施例中,可以设置n=1000,这里仅是举例说明,不具有任何限定作用。在训练过程中,梯度下降优化算法选择adam优化器,用于改善传统梯度下降的学习速度(optimizer='adam')。神经网络通过梯度下降,可以找到使损失函数最小的最优权重值,随着训练回合数的增加,训练误差也逐渐下降,模型逐渐收敛。训练完成后,得到深度强化调度模型。
图5示出了根据本发明一个实施例的基于深度强化学习的VNF调度装置的结构示意图。如图5所示,该装置包括:收集模块501、训练模块502、伸缩动作确定模块503、调度处理模块504。
收集模块501,适于收集VNF对应的历史状态数据;
训练模块502,适于基于历史状态数据对深度强化学习神经网络进行模型训练,得到深度强化调度模型;
伸缩动作确定模块503,适于获取待调度VNF的实时状态数据,并将实时状态数据输入至深度强化调度模型中,得到待调度VNF对应的伸缩动作;
调度处理模块504,适于基于伸缩动作对待调度VNF进行调度处理。
可选地,深度强化学习神经网络具体为:行动网络-评判网络。
可选地,训练模块进一步适于:将历史状态数据输入至行动网络,得到历史状态数据对应的伸缩动作;
将历史状态数据及伸缩动作输入至评判网络,得到伸缩动作对应的奖励值;
将历史状态数据、伸缩动作、奖励值及伸缩动作执行后的状态数据作为训练数据,对行动网络-评判网络进行训练。
可选地,训练模块进一步适于:从j=1开始:S1,将从历史状态数据中随机选取的任一未被选择的第j个状态数据输入至行动网络,得到对应的伸缩动作;将第j个状态数据及对应伸缩动作输入至评判网络,得到伸缩动作对应的奖励值;
S2,将第j个状态数据、伸缩动作、奖励值、伸缩动作执行后的状态数据作为一条训练数据存储至回放存储器中,其中,伸缩动作执行后的状态数据定义为第i个状态数据;
S3,将第i个状态数据输入至行动网络,得到对应的伸缩动作;将第i个状态数据及对应伸缩动作输入至评判网络,得到伸缩动作对应的奖励值;
S4,将第i个状态数据、伸缩动作、奖励值、伸缩动作执行后的第i+1个状态数据作为一条训练数据存储至回放存储器中;将i赋值为i+1,重复执行S3-S4,直至回放存储器中存储的训练数据的数量大于或等于预设阈值;
S5,从回放存储器中随机选取多个训练数据计算评判网络的损失函数,利用损失函数对评判网络进行更新;基于更新后的评判网络对评判网络进行更新;
S6,将j赋值为j+1;
S7,判断j是否大于n,若是,则深度强化调度模型训练结束;若否,则跳转执行S1。
可选地,装置还包括:归一化处理模块,适于对历史状态数据进行数据归一化处理。
可选地,伸缩动作包含:横向伸缩动作和/或纵向伸缩动作;
横向伸缩动作包括:VNF数量的伸缩;纵向伸缩动作包含:VNF所占的CPU、内存和/或存储资源的伸缩。
可选地,状态数据包括以下数据中的一种或多种:业务负荷占用率、CPU负荷占用率、用户数量、进程内存占用率、BHSA、控制块资源占用率最大值。
根据本发明上述实施例提供的装置,VNFM能够根据VNF的实时状态数据来对VNF自动的增加或删减,实现了VNF弹性伸缩调度,提高了调度的精准性,减少了调度所需时间,克服了人工制定策略费时费力、容易出错,以及当业务发生变化时也无法及时调整策略的问题,也避免了对业务产生影响。
本发明实施例还提供了一种非易失性计算机存储介质,所述计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的基于深度强化学习的VNF调度方法。
图6示出了根据本发明一个实施例的电子设备的结构示意图,本发明具体实施例并不对电子设备的具体实现做限定。
如图6所示,该电子设备可以包括:处理器(processor)、通信接口(Communications Interface)、存储器(memory)、以及通信总线。
其中:
处理器、通信接口、以及存储器通过通信总线完成相互间的通信。
通信接,用于与其它设备比如客户端或其它服务器等的网元通信。
处理器,用于执行程序,具体可以执行上述基于深度强化学习的VNF调度方法实施例中的相关步骤。
具体地,程序可以包括程序代码,该程序代码包括计算机操作指令。
处理器可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecificIntegrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。电子设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器,用于存放程序。存储器可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序具体可以用于使得处理器执行上述任意方法实施例中的基于深度强化学习的VNF调度方法。程序中各步骤的具体实现可以参见上述基于深度强化学习的VNF调度实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
在此提供的算法和显示不与任何特定计算机、虚拟***或者其它设备固有相关。各种通用***也可以与基于在此的示教一起使用。根据上面的描述,构造这类***所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的基于深度强化学习的VNF调度设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
Claims (6)
1.一种基于深度强化学习的VNF调度方法,包括:
收集VNF对应的历史状态数据;
基于所述历史状态数据对深度强化学习神经网络进行模型训练,得到深度强化调度模型;其中,所述深度强化学习神经网络具体为:行动网络-评判网络;
获取待调度VNF的实时状态数据,并将所述实时状态数据输入至所述深度强化调度模型中,得到所述待调度VNF对应的伸缩动作,其中,所述伸缩动作包含:横向伸缩动作和/或纵向伸缩动作;横向伸缩动作包括:VNF数量的伸缩;纵向伸缩动作包含:VNF所占的CPU、内存和/或存储资源的伸缩;
基于所述伸缩动作对待调度VNF进行调度处理;
其中,所述基于所述历史状态数据对深度强化学习神经网络进行模型训练,得到深度强化调度模型进一步包括:
从j=1开始:S1,将从所述历史状态数据中随机选取的任一未被选择的第j个状态数据输入至行动网络,得到对应的伸缩动作;将第j个状态数据及对应伸缩动作输入至评判网络,得到所述伸缩动作对应的奖励值;
S2,将第j个状态数据、伸缩动作、奖励值、伸缩动作执行后的状态数据作为一条训练数据存储至回放存储器中,其中,伸缩动作执行后的状态数据定义为第i个状态数据;
S3,将第i个状态数据输入至行动网络,得到对应的伸缩动作;将第i个状态数据及对应伸缩动作输入至评判网络,得到所述伸缩动作对应的奖励值;
S4,将第i个状态数据、伸缩动作、奖励值、伸缩动作执行后的第i+1个状态数据作为一条训练数据存储至回放存储器中;将i赋值为i+1,重复执行S3-S4,直至回放存储器中存储的训练数据的数量大于或等于预设阈值;
S5,从回放存储器中随机选取多个训练数据计算评判网络的损失函数,利用损失函数对评判网络进行更新;基于更新后的评判网络对评判网络进行更新;
S6,将j赋值为j+1;
S7,判断j是否大于n,若是,则深度强化调度模型训练结束;若否,则跳转执行S1。
2.根据权利要求1所述的方法,其中,在收集VNF对应的历史状态数据之后,所述方法还包括:对历史状态数据进行数据归一化处理。
3.根据权利要求1所述的方法,其中,状态数据包括以下数据中的一种或多种:业务负荷占用率、CPU负荷占用率、用户数量、进程内存占用率、BHSA、控制块资源占用率最大值。
4.一种基于深度强化学习的VNF调度装置,包括:
收集模块,适于收集VNF对应的历史状态数据;
训练模块,适于基于所述历史状态数据对深度强化学习神经网络进行模型训练,得到深度强化调度模型;其中,深度强化学习神经网络具体为:行动网络-评判网络;
伸缩动作确定模块,适于获取待调度VNF的实时状态数据,并将所述实时状态数据输入至所述深度强化调度模型中,得到所述待调度VNF对应的伸缩动作;其中,伸缩动作包含:横向伸缩动作和/或纵向伸缩动作;横向伸缩动作包括:VNF数量的伸缩;纵向伸缩动作包含:VNF所占的CPU、内存和/或存储资源的伸缩;
调度处理模块,适于基于所述伸缩动作对待调度VNF进行调度处理;
其中,训练模块进一步适于:从j=1开始:S1,将从历史状态数据中随机选取的任一未被选择的第j个状态数据输入至行动网络,得到对应的伸缩动作;将第j个状态数据及对应伸缩动作输入至评判网络,得到伸缩动作对应的奖励值;
S2,将第j个状态数据、伸缩动作、奖励值、伸缩动作执行后的状态数据作为一条训练数据存储至回放存储器中,其中,伸缩动作执行后的状态数据定义为第i个状态数据;
S3,将第i个状态数据输入至行动网络,得到对应的伸缩动作;将第i个状态数据及对应伸缩动作输入至评判网络,得到伸缩动作对应的奖励值;
S4,将第i个状态数据、伸缩动作、奖励值、伸缩动作执行后的第i+1个状态数据作为一条训练数据存储至回放存储器中;将i赋值为i+1,重复执行S3-S4,直至回放存储器中存储的训练数据的数量大于或等于预设阈值;
S5,从回放存储器中随机选取多个训练数据计算评判网络的损失函数,利用损失函数对评判网络进行更新;基于更新后的评判网络对评判网络进行更新;
S6,将j赋值为j+1;
S7,判断j是否大于n,若是,则深度强化调度模型训练结束;若否,则跳转执行S1。
5.一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-3中任一项所述的基于深度强化学习的VNF调度方法对应的操作。
6.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如权利要求1-3中任一项所述的基于深度强化学习的VNF调度方法对应的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910704763.7A CN112311578B (zh) | 2019-07-31 | 2019-07-31 | 基于深度强化学习的vnf调度方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910704763.7A CN112311578B (zh) | 2019-07-31 | 2019-07-31 | 基于深度强化学习的vnf调度方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112311578A CN112311578A (zh) | 2021-02-02 |
CN112311578B true CN112311578B (zh) | 2023-04-07 |
Family
ID=74485778
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910704763.7A Active CN112311578B (zh) | 2019-07-31 | 2019-07-31 | 基于深度强化学习的vnf调度方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112311578B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113420326B (zh) * | 2021-06-08 | 2022-06-21 | 浙江工业大学之江学院 | 面向深度强化学习的模型隐私保护方法和*** |
CN113408641B (zh) * | 2021-06-30 | 2024-04-26 | 北京百度网讯科技有限公司 | 资源生成模型的训练与服务资源的生成方法、装置 |
CN113810954B (zh) * | 2021-09-08 | 2023-12-29 | 国网宁夏电力有限公司信息通信公司 | 基于流量预测与深度强化学习的虚拟资源动态扩缩容方法 |
CN113886095A (zh) * | 2021-12-08 | 2022-01-04 | 北京广通优云科技股份有限公司 | 一种基于模糊推理与强化学习结合的容器内存弹性伸缩方法 |
CN114745392B (zh) * | 2022-04-29 | 2024-06-25 | 阿里云计算有限公司 | 流量调度方法 |
CN114912957A (zh) * | 2022-05-25 | 2022-08-16 | 北京奇艺世纪科技有限公司 | 一种广告指标预测方法、装置、电子设备及存储介质 |
CN116610454B (zh) * | 2023-07-17 | 2023-10-17 | 中国海洋大学 | 一种基于maddpg算法的混合式云资源弹性伸缩***及运行方法 |
CN117094376B (zh) * | 2023-10-19 | 2024-02-23 | 浪潮电子信息产业股份有限公司 | 一种任务处理方法、装置、***、设备及可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107534570A (zh) * | 2015-06-16 | 2018-01-02 | 慧与发展有限责任合伙企业 | 虚拟化网络功能监控 |
CN108881028A (zh) * | 2018-06-06 | 2018-11-23 | 北京邮电大学 | 基于深度学习实现应用感知的sdn网络资源调度方法 |
CN108965024A (zh) * | 2018-08-01 | 2018-12-07 | 重庆邮电大学 | 一种5g网络切片基于预测的虚拟网络功能调度方法 |
CN109617738A (zh) * | 2018-12-28 | 2019-04-12 | 优刻得科技股份有限公司 | 用户服务扩缩容的方法、***和非易失性存储介质 |
CN110275758A (zh) * | 2019-05-09 | 2019-09-24 | 重庆邮电大学 | 一种虚拟网络功能智能迁移方法 |
-
2019
- 2019-07-31 CN CN201910704763.7A patent/CN112311578B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107534570A (zh) * | 2015-06-16 | 2018-01-02 | 慧与发展有限责任合伙企业 | 虚拟化网络功能监控 |
CN108881028A (zh) * | 2018-06-06 | 2018-11-23 | 北京邮电大学 | 基于深度学习实现应用感知的sdn网络资源调度方法 |
CN108965024A (zh) * | 2018-08-01 | 2018-12-07 | 重庆邮电大学 | 一种5g网络切片基于预测的虚拟网络功能调度方法 |
CN109617738A (zh) * | 2018-12-28 | 2019-04-12 | 优刻得科技股份有限公司 | 用户服务扩缩容的方法、***和非易失性存储介质 |
CN110275758A (zh) * | 2019-05-09 | 2019-09-24 | 重庆邮电大学 | 一种虚拟网络功能智能迁移方法 |
Non-Patent Citations (1)
Title |
---|
Deep Reinforcement Learning - 1. DDPG原理和算法;kenneth_yu;《CSDN》;20171108;第1-6页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112311578A (zh) | 2021-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112311578B (zh) | 基于深度强化学习的vnf调度方法及装置 | |
CN112668128B (zh) | 联邦学习***中终端设备节点的选择方法及装置 | |
Jiao et al. | Toward an automated auction framework for wireless federated learning services market | |
WO2021121029A1 (zh) | 训练模型的更新方法、***、智能体、服务器及计算机可读存储介质 | |
US11809977B2 (en) | Weakly supervised reinforcement learning | |
CN113015219B (zh) | 基于策略梯度的网络资源选择方法、装置以及存储介质 | |
CN114896899B (zh) | 一种基于信息交互的多智能体分散式决策方法及*** | |
CN113762527A (zh) | 一种数据处理方法、***、存储介质及电子设备 | |
CN116257363B (zh) | 资源调度方法、装置、设备及存储介质 | |
CN114261400A (zh) | 一种自动驾驶决策方法、装置、设备和存储介质 | |
CN113962390A (zh) | 基于深度强化学习网络构建多样化搜索策略的模型的方法 | |
CN114882307A (zh) | 分类模型训练和图像特征提取方法及装置 | |
CN109063827B (zh) | 有限空间内自动拿取特定行李的方法、***、存储介质和终端 | |
US10783449B2 (en) | Continual learning in slowly-varying environments | |
CN115892067B (zh) | 目标车辆的行驶方法、装置、存储介质及电子装置 | |
CN115330556B (zh) | 充电站的信息调整模型的训练方法、装置及产品 | |
CN114613159B (zh) | 基于深度强化学习的交通信号灯控制方法、装置及设备 | |
CN116367190A (zh) | 一种面向6g移动网络的数字孪生功能虚拟化方法 | |
CN112418349A (zh) | 一种大型复杂***分布式多智能体确定性策略控制方法 | |
CN114528893A (zh) | 机器学习模型训练方法、电子设备及存储介质 | |
CN113015179A (zh) | 基于深度q网络的网络资源选择方法、装置以及存储介质 | |
CN114374608B (zh) | 切片实例备份任务调度方法、装置和电子设备 | |
CN113573264A (zh) | 基于深度强化学习的5g切片的定价处理方法及装置 | |
CN112242959A (zh) | 微服务限流控制方法、装置、设备及计算机存储介质 | |
CN118170524B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |